Agent skill · Code Review & Quality

gh-issues

Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]

nexu95,528★ · +2,037/wk · 5 repos on radarProfile →
claude-codecodexMIT
Install
npx skills add nexu-io/nexu --skill gh-issues --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 33 KB
Bundled scripts: none
Path: apps/desktop/static/bundled-skills/gh-issues/SKILL.md
Open the folder on GitHub →
Where it comes from
Source: nexu-io/nexu
Stars: 3,239
Language: TypeScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Orchestrates automated handling of GitHub issues by fetching issues from a repository, then spawning sub-agents to implement fixes and open PRs, and finally monitoring PR reviews. Supports optional fork mode, various filters (labels, milestone, assignee), and modes for watch polling, cron execution, and dry-run. Uses curl with the GitHub REST API and requires a GH_TOKEN for authentication. Stores derived values such as SOURCE_REPO, PUSH_REPO, and FORK_MODE for later phases.

How it works

  • Phase 1: Parses the /gh-issues arguments to identify SOURCE_REPO, PUSH_REPO, FORK_MODE, and filters like --label, --limit, --milestone, --assignee, --state, and --watch. Determines PUSH_REPO and FORK_MODE based on --fork. Respects --reviews-only and --cron to adjust flow.
  • Phase 2: Fetches issues via the GitHub REST API using curl with Authorization: Bearer $GH_TOKEN and Accept: application/vnd.github+json. Applies filters (labels, milestone, assignee). Excludes pull requests from results. In watch mode, excludes already processed issues. Handles authentication errors and empty results with explicit messages.
  • Phase 3: Presents a markdown table of the fetched issues and, if in fork mode, notes fork behavior. Honors --dry-run (display only) and --yes (auto-process). Otherwise prompts user for confirmation to process all, specific numbers, or cancel.
  • Phase 4: Pre-flight checks including dirty tree warning, current base branch, remote reachability, GH_TOKEN validity, PR existence checks for issues, in-progress branch checks on the push/fork repo, and claim-based in-progress tracking. Reports and halts on failures or skip conditions with explicit messages.
  • Phase 5: Spawns sub-agents in parallel (normal mode) or sequentially (cron mode). In cron, uses a cursor and claims-file-based in-progress tracking to avoid duplicates. On spawning, records claims and reports immediate status like "Spawned fix agent for #{N} — will create PR when complete" and exits.
  • Sub-agent task prompt: Constructs a detailed, templated prompt containing repository details, issue data, and configuration (base branch, notification channel) for each issue. Emphasizes not to use the gh CLI and to rely solely on curl for GitHub operations.

When to use it

  • When you want automated triage and fixing of GitHub issues with optional fork-based PR workflows.
  • When you need repeated polling (watch) or scheduled cron-based processing with concurrency limits.
  • When you require explicit authentication handling and clear user-facing error messages for authentication or remote issues.

What it can touch

  • GitHub via REST API calls using curl with a Bearer token (GH_TOKEN).
  • Repositories (SOURCE_REPO, PUSH_REPO) for fetching issues, creating PRs, and checking branches/PRs.
  • Local git state for pre-flight checks (dirty work tree, current branch, remotes).
  • Local files for claims and cursor tracking: /data/.clawdbot/gh-issues-claims.json, /data/.clawdbot/gh-issues-cursor-<SOURCE_REPO_SLUG>.json.
  • Optional notification channel (Telegram) for final PR summaries.

Caveats

  • Requires GitHub authentication via GH_TOKEN and access to the GitHub REST API; errors are surfaced explicitly (401/403 handling).
  • Excludes pull requests from issue results; only issues are processed unless a PR is created by sub-agents.
  • Cron mode and watch mode introduce stateful behavior via claims and cursor files; misconfiguration may lead to skipped items or duplicates.
  • No gh CLI usage is allowed; all actions are performed through curl-based API calls.
  • Behavior depends on correct interpretation of milestone titles (requires an additional API lookup if a title is provided).
From the SKILL.md

# gh-issues — Auto-fix GitHub Issues with Parallel Sub-agents You are an orchestrator. Follow these 6 phases exactly. Do not skip phases. IMPORTANT — No `gh` CLI dependency. This skill uses curl + the GitHub REST API exclusively. The GH_TOKEN env var is already injected by OpenClaw. Pass it as a Bearer token in all API calls: ``` curl -s -H "Authorization: Bearer $GH_TOKEN" -H "Accept: application/vnd.github+json" ... ``` --- ## Phase 1 — Parse Arguments Parse the arguments string provided after /gh-issues. Positional: - owner/repo — optional. This is the source repo to fetch issues from. If omitted, detect from the current git remote: `git remote get-url origin` Extract owner/repo from the URL (handles both HTTPS and SSH formats). - HTTPS: https://github.com/owner/repo.git → owner/repo - SSH: git@github.com:owner/repo.git → owner/repo If not in a git repo or no remote found, stop with an error asking the user to specify owner/repo. Flags (all optional): | Flag | Default | Description | |------|---------|-------------| | --label | _(none)_ | Filter by label (e.g. bug, `enhancement`) | | --limit | 10 | Max issues to fetch per poll | | --milestone | _(none)_ | Filter by milestone tit

What's inside
Steps it walks through
  1. Phase 1 — Parse Arguments
  2. Phase 2 — Fetch Issues
  3. Phase 3 — Present & Confirm
  4. Phase 4 — Pre-flight Checks
  5. Phase 5 — Spawn Sub-agents (Parallel)
  6. Sub-agent Task Prompt
  7. Spawn configuration per sub-agent:
  8. Timeout Handling
  9. Results Collection
  10. Phase 6 — PR Review Handler
  11. Step 6.1 — Discover PRs to Monitor
  12. Step 6.2 — Fetch All Review Sources
  13. Step 6.3 — Analyze Comments for Actionability
  14. Step 6.4 — Present Review Comments
More from nexu
All skills →
About this skill
What does the gh-issues skill do?

Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]

How do I install it?

Run `npx skills add nexu-io/nexu --skill gh-issues --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From nexu-io/nexu, a repository with 3,239 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going