Context
- Repo: !
git remote get-url origin - Current branch: !
git branch --show-current - Working tree clean: !
git status --porcelain=v2 - Open issues: !
gh issue list --state open --json number,title,labels --limit 10 - Open PRs: !
gh pr list --state open --json number,title - Available labels: !
gh label list --json name --limit 50
Parameters
Parse these parameters from the command:
| Parameter | Description |
|-----------|-------------|
| <issue-numbers...> | One or more issue numbers to process |
| --auto | Claude selects and prioritizes issues |
| --filter <label> | Filter issues by label |
| --limit <n> | Maximum number of issues to process |
| --parallel | Process parallel groups simultaneously using Task agents |
| --labels <label1,label2> | Apply labels to created PRs (defaults to issue's labels) |
Your Task
Process GitHub issues using a TDD workflow with the main-branch development pattern.
Mode Detection
No Arguments → Interactive Mode
Use AskUserQuestion to prompt:
questions:
- header: "Issues"
question: "How would you like to select issues to work on?"
options:
- label: "Let me choose specific issues"
description: "Show issue list for manual selection"
- label: "Claude decides priority"
description: "Analyze issues and recommend which to tackle"
- label: "Filter by label"
description: "Select issues with a specific label"
For "Let me choose specific issues":
- Fetch:
gh issue list --state open --json number,title,labels,assignees - Present checkboxes with
multiSelect: true
For "Claude decides priority":
- Analyze all open issues
- Score by clarity, scope, dependencies
- Present top recommendations
For "Filter by label":
- Present label selection from available labels
- Then show matching issues for selection
Single Issue (/git:issue 123)
Process directly with standard TDD workflow.
Multiple Issues (/git:issue 123 456 789)
- Analyze all issues for conflicts and parallelization
- Group by dependencies
- Process sequentially or spawn parallel agents
Auto Mode (/git:issue --auto)
- Fetch all open issues
- Score and prioritize
- Present recommendations for approval
- Process approved issues
Issue Analysis Engine
Before processing multiple issues, analyze for:
Conflict Detection
Identify issues that cannot be worked on simultaneously:
| Conflict Type | Detection Method | |---------------|------------------| | File overlap | Issues referencing same files/components | | Logical conflicts | Opposing requirements (add vs remove) | | Dependency chains | Issue B requires Issue A resolved first |
Confidence Scoring
Score each issue's implementability:
| Factor | Weight | Criteria | |--------|--------|----------| | Clear requirements | 30% | Has acceptance criteria, specific details | | Scope definition | 25% | Bounded scope, identifiable files | | No conflicts | 20% | No overlapping work with other issues | | Test strategy clear | 15% | TDD approach is obvious | | Labels/priority | 10% | Has priority labels, milestone |
Threshold: 70%
If confidence < 70%, prompt user:
questions:
- header: "Low confidence"
question: "Issue #N has unclear requirements. How should I proceed?"
options:
- label: "Attempt anyway"
description: "Make best-effort attempt based on available info"
- label: "Ask for clarification"
description: "Request more details on the issue"
- label: "Skip this issue"
description: "Move to next issue in queue"
Parallel Work Detection
Identify issues that can be worked simultaneously:
Parallelizable when:
- Different files/components
- No shared dependencies
- Independent test suites
- No logical conflicts
Output format:
Parallel Groups:
Group 1: #123, #125 (both touch auth module - sequential)
Group 2: #124 (standalone - can run in parallel)
Group 3: #126, #127 (both touch UI - sequential)
Recommended: Run Groups 1, 2, 3 in parallel (3 agents)
Execution Workflow
Step 1: Prepare Working Directory
- Ensure clean working directory (commit or stash if needed)
- Switch to main and pull latest:
git switch main && git pull
Step 2: For Each Issue (or Parallel Group)
Standard Flow (Sequential or Single Issue)
- Fetch issue details:
gh issue view $N --json title,body,state,assignees,labels - Capture issue labels for later PR creation
- Identify requirements and acceptance criteria
- Plan the implementation approach
TDD Workflow
-
RED phase: Write failing tests first
- Create test file if needed
- Write tests that define expected behavior
- Run tests to verify they fail
-
GREEN phase: Implement fix
- Write minimal code to make tests pass
- Run tests to verify they pass
-
REFACTOR phase: Improve code quality
- Clean up implementation
- Ensure tests still pass
Commit and Push
- Stage changes:
git add -uandgit add <new-files> - Run pre-commit if configured
- Commit on main with message format:
<type>: <description>
<optional body explaining the change>
Fixes #N
- Push to remote issue branch:
git push origin main:fix/issue-$N
Create PR
Use mcp__github__create_pull_request with:
head:fix/issue-$Nbase:maintitle: From issue title withfix:prefixbody: IncludeFixes #$Nto auto-link
After PR creation, apply labels:
gh pr edit <pr-number> --add-label "<labels>"
Step 3: Parallel Execution (--parallel flag)
When --parallel is specified:
- Group issues by dependencies (from analysis)
- For each parallel group, spawn a Task agent:
Agent tool with subagent_type: "general-purpose", prompt: "Process issue #N with TDD workflow..."
- Wait for all agents to complete
- Consolidate results
Commit Message Format
Issue reference at BOTTOM:
<type>: <description>
<optional body explaining the change>
Fixes #123
Multiple issues in single commit:
fix: resolve authentication and session handling
- Add token refresh logic
- Fix session timeout detection
Fixes #123
Fixes #125
Main-Branch Development Pattern
# All work stays on main
git switch main && git pull
# ... make changes, commit on main ...
git push origin main:fix/issue-$N # Push to remote feature branch
# Create PR: head=fix/issue-$N, base=main
# Continue on main for next issue
Summary Report
After processing, report:
| Metric | Details | |--------|---------| | Issues processed | List of issue numbers | | PRs created | PR numbers with links | | Conflicts detected | Issues that were sequentialized | | Issues skipped | Low confidence or user choice |
See Also
- git-branch-pr-workflow skill for workflow patterns
- test-tier-selection skill for test strategy
- git-cli-agentic skill for optimized git commands
- gh-cli-agentic skill for optimized GitHub CLI commands