with one click
implement-issue
// Use when given a GitHub issue number and base branch to implement end-to-end
// Use when given a GitHub issue number and base branch to implement end-to-end
Bulletproof CSS and frontend design principles from "Handcrafted CSS" by Dan Cederholm. Apply when writing CSS, HTML, Blade templates, or reviewing frontend code. CSS is king — refactor Tailwind when encountered.
Batch process GitHub issues via batch-orchestrator.sh with rate limit handling and session resumption
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Process PR based on code review - if approved, create follow-up issues, merge, close; if changes requested, re-run implement-issue
Use when adapting the generic .claude pipeline folder to a specific codebase - adjusting skills, agents, hooks, scripts, prompts, and settings for the target project's tech stack and workflows
Use when you have a written implementation plan to execute in a separate session with review checkpoints
| name | implement-issue |
| description | Use when given a GitHub issue number and base branch to implement end-to-end |
| argument-hint | [issue-number] [base-branch] |
End-to-end issue implementation via orchestrator script.
Announce at start: "Using implement-issue to run orchestrator for #$ISSUE against $BRANCH"
Arguments:
$1 — GitHub issue number (required)$2 — Base branch name (required)Immediately launch the orchestrator:
.claude/scripts/implement-issue-orchestrator.sh \
--issue $ISSUE_NUMBER \
--branch $BASE_BRANCH
Or with explicit agent override:
.claude/scripts/implement-issue-orchestrator.sh \
--issue $ISSUE_NUMBER \
--branch $BASE_BRANCH \
--agent bulletproof-frontend-developer
Each run creates its own status.json inside the log directory:
# Find the latest run's status file
jq . logs/implement-issue/issue-${ISSUE_NUMBER}-*/status.json
Watch live:
# Replace with your actual log dir path (shown at startup)
watch -n 5 'jq -c "{state,stage:.current_stage,task:.current_task,quality:.quality_iterations}" logs/implement-issue/issue-123-20260221-153045-12345/status.json'
| Stage | Agent | Description |
|---|---|---|
| setup | default | fetch, worktree, research, evaluate, plan |
| implement | per-task | execute each task from plan |
| task-review | spec-reviewer | verify task achieved goal |
| fix | per-task | address review findings (uses task's agent) |
| simplify | code-simplifier | clean up code |
| test | php-test-validator | run test suite |
| review | code-reviewer | internal code review |
| docs | phpdoc-writer | add PHPDoc blocks |
| pr | default | create/update PR |
| spec-review | spec-reviewer | verify PR achieves issue goals |
| code-review | code-reviewer | final code quality check |
| tech-docs | technical-doc-writer | assess/write/update docs in docs/{domain}/ |
| complete | default | post summary |
The plan stage selects the best agent per task from:
| Agent | Use For |
|---|---|
| laravel-backend-developer | PHP/Laravel: controllers, models, services, middleware, migrations, API, PHPUnit |
| bulletproof-frontend-developer | CSS, responsive design, Blade templates, frontend code |
| bash-script-craftsman | Shell scripts, portability, BATS tests |
| technical-doc-writer | Architecture docs, design docs, data flows, API contracts in docs/{domain}/ |
Located in .claude/scripts/schemas/implement-issue-*.json
Logs written to logs/implement-issue/issue-N-timestamp/:
orchestrator.log — main logstages/ — per-stage Claude outputcontext/ — parsed outputs (tasks.json, etc.)status.json — real-time status (primary location, no root-level status.json)| Code | Meaning |
|---|---|
| 0 | Success, PR created and approved |
| 1 | Error during a stage |
| 2 | Max iterations exceeded |
| 3 | Configuration/argument error |
All claude -p invocations in orchestrator scripts must use --no-resume to prevent
session context contamination. Without it, the CLI may resume a cached session and the model
will return "already processed" instead of following the schema prompt — causing "No structured
output" failures.
Exception: Explicit --resume $SESSION_ID after rate limit recovery is intentional and correct.
Called by handle-issues via batch-orchestrator.sh.