From sprint-worker
Batch-process GitHub issues using parallel agents. Use when the user wants to automate implementation of a set of issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sprint-worker:sprint-workerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Batch-process GitHub issues using parallel agents. The user provides a list of issue numbers, and agents implement each one — creating draft PRs, self-reviewing, and reporting results.
Batch-process GitHub issues using parallel agents. The user provides a list of issue numbers, and agents implement each one — creating draft PRs, self-reviewing, and reporting results.
Verify GitHub CLI is authenticated:
gh auth status 2>&1
If authentication fails, tell the user to run gh auth login and re-invoke /sprint-worker.
GITHUB_USER=$(gh api user --jq '.login')
If the user provided issue numbers as arguments (e.g., /sprint-worker 8601 8590 8575), use those directly.
If no arguments were provided, use AskUserQuestion to ask:
Which issue numbers should I work on? (space or comma-separated, e.g.
8601, 8590, 8575)
Parse the response into a list of issue numbers (strip # prefixes if present).
For each issue number, get type and metadata:
gh api "/repos/oncarrot/app/issues/<N>" --jq '{
number,
title,
type: .type.name,
labels: [.labels[].name],
pull_request: .pull_request
}'
Include issues with type: Story, Task, or Bug.
Exclude issues that:
.pull_request is non-null)🤖 AI-Completed label🤝 AI-Assisted labelReport any excluded issues and the reason to the user.
Display a table of eligible issues to the user:
| ID | Type | Title | Points |
|---|---|---|---|
| 8601 | Bug | fix(editor): ... | 2 |
| 8590 | Story | feat(preview): ... | 3 |
Use AskUserQuestion to ask:
If no eligible issues remain after filtering, report that and stop.
TeamCreate with team_name: "sprint-worker"
For each confirmed issue, create a task via TaskCreate with:
Implement #<N>: <title>Implementing #<N>For each issue (up to concurrency limit), spawn a general-purpose Task agent:
Task with:
subagent_type: "general-purpose"
team_name: "sprint-worker"
name: "worker-<N>"
prompt: <full agent prompt from Phase 3>
TaskList and idle notificationsEach spawned worker agent receives this prompt (with ISSUE_NUMBER, GITHUB_USER, and ISSUE_TITLE interpolated):
You are a sprint worker agent implementing GitHub issue #ISSUE_NUMBER for the Carrot WordPress application.
Your goal: Implement the issue, create a draft PR, self-review, and report back.
Read these files to understand coding standards and architecture:
AGENTS.mdAGENTS_ORG.mdARCHITECTURE.mdISSUE_STANDARDS.mdgh issue view ISSUE_NUMBER
Verify the issue has these required sections (per ISSUE_STANDARDS.md):
## Summary## Acceptance Criteria or ## Definition of Done with - [ ] items## Scope Boundary with "Out of scope" itemsIf the issue is underspecified (missing 2+ required sections): message the team lead explaining what's missing, mark your task as completed with a skip note, and stop. Do NOT guess at requirements.
## Code Location and ## Files to ModifyDetermine the minimal set of changes that satisfy ALL acceptance criteria while staying within the scope boundary. Do not touch anything listed as "Out of scope".
Determine branch name from issue type:
fix/ISSUE_NUMBER-<slug>feat/ISSUE_NUMBER-<slug>chore/ISSUE_NUMBER-<slug>Where <slug> is a short kebab-case summary (max 5 words) derived from the title.
First check if the branch already exists:
git branch -a | grep ISSUE_NUMBER
If it exists, append -v2, -v3, etc.
Create and switch to the branch from master:
git checkout -b <branch-name> master
Make focused changes following project standards:
Run linters and fix any errors:
# PHP files changed
dcr --no-deps web ./vendor/bin/phpcs <changed-php-files>
# JS/TS files changed
npx prettier --check <changed-js-ts-files>
npx prettier --write <changed-js-ts-files> # auto-fix if needed
Use conventional commit format: type(scope): #ISSUE_NUMBER description
Stage specific files only (never git add -A or git add .):
git add <specific-files>
git commit -m "$(cat <<'EOF'
type(scope): #ISSUE_NUMBER description
Co-Authored-By: Claude Opus 4.6 <[email protected]>
EOF
)"
git push -u origin <branch-name>
Create draft PR:
gh pr create --draft \
--assignee GITHUB_USER \
--label "🤖 AI-Completed" \
--title "type(scope): #ISSUE_NUMBER short description" \
--body "$(cat <<'PREOF'
## Summary
<1-3 bullet points describing what changed and why>
Closes #ISSUE_NUMBER
## Test plan
- [ ] <specific verification steps from acceptance criteria>
- [ ] Linters pass (`dcr --no-deps web ./vendor/bin/phpcs`, `npx prettier --check`)
- [ ] No regressions on [specific areas]
🤖 Generated with [Claude Code](https://claude.com/claude-code)
PREOF
)"
Review your own diff:
gh pr diff
Check for:
If the self-review reveals problems:
Make an additional commit fixing the issues
Push the fix
Add a PR comment explaining what was reconsidered:
gh pr comment --body "$(cat <<'EOF'
**Self-review fix:** [description of what was caught and corrected]
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Send a message to the team lead with:
Then mark your task as completed via TaskUpdate.
After all agents complete (or fail):
Display a results table:
| # | Type | Title | Result | PR | Notes |
|---|---|---|---|---|---|
| 8601 | Bug | fix(editor): ... | ✅ Done | #8650 | Self-review caught XSS |
| 8590 | Story | feat(preview): ... | ⏭️ Skipped | Missing acceptance criteria | |
| 8575 | Task | chore(cleanup): ... | ❌ Failed | Lint errors unfixable |
List any items needing attention:
Send shutdown requests to all workers via SendMessage:
SendMessage with type: "shutdown_request" to each worker
TeamDelete
| Scenario | Action |
|---|---|
| Agent fails mid-implementation | Don't push broken branches. Delete remote branch if already pushed (git push origin --delete <branch>). Report failure with error details. |
| Branch already exists | Append -v2, -v3 suffix and retry. |
| Rate limiting from GitHub API | Wait 60s, retry once. If still failing, report and move on. |
| Issue not found (404) | Report the invalid issue number to the user and skip it. |
| Issue is underspecified | Skip with clear message about what sections are missing. |
| Lint errors unfixable | Report the specific errors. Do not push code that fails linting. |
| No eligible issues after filtering | Report cleanly and stop — no team creation needed. |
npx claudepluginhub kellymears/agents --plugin sprint-workerGrooms all open GitHub issues with subagents for clarity then loops implementation: branch, research, swarm code, test, commit, merge PRs until backlog cleared.
Resolves GitHub issues via triage, root cause analysis, TDD implementation, branch management, testing, and CI/CD-compliant pull requests. Takes issue ID/URL.
Processes GitHub issues via TDD workflow on main branch: interactive selection, auto-prioritization, label filtering, conflict detection, and parallel task execution.