Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Implements GitHub or GitLab issues via parallel subagents with review gates between task batches. Use when resolving multi-step issues end-to-end.
.claude/skills/athola-do-issue/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 154% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 72% | 0% |
sanctum:pr-prep)Retrieves issue content from the detected git platform (GitHub, GitLab, or Bitbucket) and uses subagent-driven-development to systematically address requirements, executing tasks in parallel where dependencies allow.
Platform detection is automatic via the leyline:git-platform SessionStart hook. Check session context for git_platform: to determine which CLI to use.
| Phase | Description | Module | |-------|-------------|--------| | 1. Discovery | Parse input, fetch issues, extract requirements | issue-discovery | | 2. Planning | Analyze dependencies, create task breakdown | task-planning | | 3. Execution | Dispatch parallel subagents for independent tasks | parallel-execution | | 4. Quality | Code review gates between task batches | quality-gates | | 5-6. Completion | Sequential tasks, final review, issue updates | completion |
do-issue:discovery-completedo-issue:tasks-planneddo-issue:parallel-batch-completedo-issue:review-passeddo-issue:sequential-completedo-issue:issues-updatedUse the platform detected in session context (git_platform:). See Skill(leyline:git-platform) for full mapping.
| Operation | GitHub (gh) | GitLab (glab) | |-----------|---------------|-----------------| | Fetch issue | gh issue view <N> --json title,body,labels,comments | glab issue view <N> | | Comment | gh issue comment <N> --body "msg" | glab issue note <N> --message "msg" | | Close | gh issue close <N> --comment "reason" | glab issue close <N> | | Search | gh issue list --search "query" | glab issue list --search "query" |
Verification: Run the command with --help flag to verify availability.
Agent teams is the default parallel execution backend for do-issue. Teammates coordinate via filesystem-based messaging, enabling real-time communication when shared files or dependencies are discovered mid-implementation.
Automatic downgrade: For single issues with --scope minor, agent teams is skipped (Task tool or inline execution is used instead). Use --no-agent-teams to force Task tool dispatch for any invocation.
Requires: Claude Code 2.1.32+, tmux, CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1. If prerequisites are missing, silently falls back to Task tool dispatch.
yaml# Agent teams configuration fix_issue: agent_teams: enabled: true # on by default; --no-agent-teams to disable max_teammates: 4 # limit concurrent workers model: sonnet # teammate model (lead uses current model) auto_downgrade: true # skip agent teams for --scope minor
See modules/parallel-execution.md for detailed agent teams patterns.
yamlfix_issue: parallel_execution: true max_parallel_subagents: 3 review_between_batches: true auto_close_issues: false commit_per_task: true
Verification: Run the command with --help flag to verify availability.
do-issue:discovery-completethrough do-issue:issues-updated) are created before execution starts and each marked complete when its phase finishes
gh forGitHub, glab for GitLab) as detected in session context
per-issue PRs are created
pass before the next batch is dispatched
to the PR after it is ready for review
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | fail→pass | 3,485 | 1,725 | -51% | 1 | 1 | 0% | 603 | 1,532 | +154% | 0 | 0 | — |
case-01 | fail→fail | 5,222 | 9,267 | +77% | 1 | 1 | 0% | 245 | 1,831 | +647% | 0 | 0 | — |
case-02 | fail→fail | 8,086 | 11,707 | +45% | 1 | 1 | 0% | 1,266 | 1,871 | +48% | 0 | 0 | — |
case-03 | fail→fail | 7,359 | 7,419 | +1% | 1 | 1 | 0% | 445 | 1,627 | +266% | 0 | 0 | — |
case-04 | pass→pass | 6,986 | 2,692 | -61% | 1 | 1 | 0% | 1,041 | 1,730 | +66% | 0 | 0 | — |
case-05 | pass→pass | 3,406 | 2,092 | -39% | 1 | 1 | 0% | 511 | 1,584 | +210% | 0 | 0 | — |
case-06 | pass→pass | 5,600 | 4,008 | -28% | 1 | 1 | 0% | 998 | 1,906 | +91% | 0 | 0 | — |
case-08 | pass→pass | 4,504 | 2,183 | -52% | 1 | 1 | 0% | 750 | 1,664 | +122% | 0 | 0 | — |
case-09 | pass→pass | 5,835 | 2,945 | -50% | 1 | 1 | 0% | 912 | 1,653 | +81% | 0 | 0 | — |
case-10 | fail→pass | 10,627 | 5,140 | -52% | 1 | 1 | 0% | 1,914 | 2,248 | +17% | 0 | 0 | — |
case-11 | fail→pass | 17,964 | 2,034 | -89% | 1 | 1 | 0% | 1,443 | 1,579 | +9% | 0 | 0 | — |
case-12 | fail→pass | 11,704 | 3,493 | -70% | 1 | 1 | 0% | 1,719 | 1,906 | +11% | 0 | 0 | — |
case-13 | pass→pass | 15,950 | 1,889 | -88% | 1 | 1 | 0% | 2,452 | 1,580 | -36% | 0 | 0 | — |
case-14 | fail→pass | 9,177 | 7,148 | -22% | 1 | 1 | 0% | 1,472 | 2,530 | +72% | 0 | 0 | — |
case-15 | pass→pass | 6,355 | 3,076 | -52% | 1 | 1 | 0% | 1,049 | 1,831 | +75% | 0 | 0 | — |
case-16 | pass→pass | 11,212 | 7,248 | -35% | 1 | 1 | 0% | 1,883 | 2,461 | +31% | 0 | 0 | — |
case-17 | pass→pass | 7,552 | 3,887 | -49% | 1 | 1 | 0% | 1,292 | 1,901 | +47% | 0 | 0 | — |
case-18 | fail→pass | 14,273 | 4,017 | -72% | 1 | 1 | 0% | 2,180 | 1,929 | -12% | 0 | 0 | — |
case-19 | pass→pass | 3,424 | 2,256 | -34% | 1 | 1 | 0% | 547 | 1,691 | +209% | 0 | 0 | — |
case-20 | pass→pass | 14,370 | 3,185 | -78% | 1 | 1 | 0% | 2,069 | 1,750 | -15% | 0 | 0 | — |
case-21 | fail→pass | 11,851 | 3,190 | -73% | 1 | 1 | 0% | 2,114 | 1,796 | -15% | 0 | 0 | — |
case-22 | fail→fail | 5,116 | 5,972 | +17% | 1 | 1 | 0% | 366 | 1,617 | +342% | 0 | 0 | — |
case-23 | pass→pass | 10,434 | 10,520 | +1% | 1 | 1 | 0% | 1,590 | 2,906 | +83% | 0 | 0 | — |
case-24 | pass→fail | 4,117 | 2,485 | -40% | 1 | 1 | 0% | 604 | 1,706 | +182% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 24 cases were attempted, and 21 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +25 percentage points is the difference between those two pass rates over the 21 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.