Skip to content

Add issue-runner skill — autonomous sprint orchestrator#46

Merged
kirich1409 merged 7 commits intomainfrom
chore/issue-runner
Apr 13, 2026
Merged

Add issue-runner skill — autonomous sprint orchestrator#46
kirich1409 merged 7 commits intomainfrom
chore/issue-runner

Conversation

@kirich1409
Copy link
Copy Markdown
Contributor

What changed

New project-local skill .claude/skills/issue-runner/SKILL.md — an autonomous orchestrator that drives GitHub Issues through the full implementation pipeline without manual intervention.

Why / motivation

The project has 30 decomposed tasks across 5 waves. Running them one by one manually is slow. This skill lets Claude work as a PM: reads the board, assigns issues to subagents, moves cards through statuses (Todo → In Progress → Review → Done), and creates PRs — all autonomously.

How it works

  1. Reads open issues from the board (GraphQL, includes item IDs for status updates)
  2. Groups by wave label, sorts by complexity within each wave
  3. Checks dependencies between issues before scheduling
  4. Launches parallel subagents per wave (one agent per issue)
  5. Each agent: worktree → pipeline (S/M/L) → quality loop → PR with "Closes #N"
  6. Orchestrator moves board cards as status changes (In Progress → Review → Done)
  7. After each wave: summary report + pause for user to redirect

Board integration

Uses the project's GraphQL IDs (hardcoded for this repo):

  • Project: PVT_kwDOA59kY84BUaDa
  • Status field + option IDs for all four columns

How to test

  • Run /issue-runner in a Claude Code session in this repo
  • Verify board items move to In Progress when agents start
  • Verify PR body contains "Closes #N"
  • Verify board moves to Review after PR is created

🤖 Generated with Claude Code

@kirich1409 kirich1409 added the documentation Improvements or additions to documentation label Apr 13, 2026
Copilot AI review requested due to automatic review settings April 13, 2026 10:24
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new project-local Claude skill (/issue-runner) intended to autonomously orchestrate the repo’s GitHub Project #2 workflow by reading issues from the board, spawning per-issue agents, updating board statuses, and driving each issue through implementation and PR creation.

Changes:

  • Introduces a new .claude/skills/issue-runner/SKILL.md defining board GraphQL constants, wave/complexity scheduling, dependency checks, and per-issue agent instructions.
  • Documents board status update mutations/queries and a local state-file format under swarm-report/.
  • Specifies an end-to-end “quality loop” and PR creation convention (Closes #N) for per-issue agents.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
kirich1409 and others added 2 commits April 13, 2026 14:15
- blocked → blocker (matches actual CLAUDE.md label set)
- swift-engineer/swiftui-developer → developer-workflow:swiftui-developer plugin agent
- code-reviewer → developer-workflow:code-reviewer plugin agent
- Concrete xcodebuild build/test commands (project, scheme, destination, CODE_SIGNING_ALLOWED)
- Add cargo fmt --check step before clippy (matches CI order)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Complexity and Wave moved from labels to dedicated project fields.
Epics (issueType=Feature) now tracked separately — skip during queue build.
Per-issue agent prompt updated to show Complexity/Wave/Epic from fields.
Model selection updated to match new field values (S/M/L, not labels).
Dependencies still parsed from ## Dependencies section in issue body.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 13, 2026 11:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md
GitHub Relations (blocked_by/blocking) are set via the standard
Relationships field in the project board. The authoritative source
is issue_dependencies_summary.blocked_by from the REST API —
no need to parse ## Dependencies text in issue body.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@kirich1409 kirich1409 self-assigned this Apr 13, 2026
…lugin agents

- Remove disable-model-invocation: true — the explicit-only trigger is
  already conveyed in the description; the flag was confusing alongside
  the model-selection section for subagents
- Add note that developer-workflow:* agents come from the globally
  installed plugin, not per-project .claude/agents/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 13, 2026 12:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md Outdated
Comment thread .claude/skills/issue-runner/SKILL.md
- Add labels to board GraphQL query so blocker label can be checked
- Skip BLOCKED items in agent launch (not just mark them — was ambiguous)
- Move cards to In Progress only for ready items; revert on agent start failure
- Add refresh query for hardcoded project field IDs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
Comment thread .claude/skills/issue-runner/SKILL.md
- Clarify board constant label: org-level ProjectV2, not repo-scoped
- Add pageInfo pagination to board items query (supports >100 items)
- Add mkdir -p .worktree in Phase 0 (git worktree add needs parent dir)
- Add gh/git/cargo/xcodebuild/swiftlint to settings.json permissions
  so issue-runner can run autonomously without per-command prompts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@kirich1409 kirich1409 merged commit 0bb1313 into main Apr 13, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants