executing-tickets-with-subagents
Installation
SKILL.md
Executing tickets with subagents
Overview
The main conversation only orchestrates. Every edit, review, and QA pass runs in a dispatched subagent. Durable state lives on disk and GitHub. Compaction cannot reach either place, so the run survives it.
Select the run branch
- Unattended. When the user explicitly says they are stepping away and asks work to continue, read
${CLAUDE_SKILL_DIR}/references/unattended-scheduler.mdin full before the first dispatch. Its scheduling, transition, update, and handoff contract applies even to one task. Use the phases below only when the work is also a bundled GitHub ticket. - Bundled ticket. Use the phases below for the ticket's intake, waves, and endgame.
Record the selected branch in the ledger before dispatching work. That is the gate.
Phase 0: Intake
- Resume check. When a ledger exists for this ticket, read it before anything else and execute its NEXT ACTION. The ledger is the only source of run state. Conversation memory is not. Reconcile all four trackers before the next wave: the todo list, the checklist comment, the harness tasks, and the ledger.
- Fetch the full issue thread. Read
${CLAUDE_SKILL_DIR}/../audit-ticket/references/ticket-evidence.mdin full and the authenticated, fail-fast image-download guidance in${CLAUDE_SKILL_DIR}/../audit-ticket/SKILL.md, then fetch structured issue JSON withgh issue view <n> --json number,title,body,author,createdAt,updatedAt,state,assignees,url,comments. Build the source map from the issue body and every comment'sbody,author,createdAt, andurl. Download every attached image with authentication and an HTTP-error exit, check that exit before opening the file, and actually read each successful image. Record a failed download asimage <i> unavailable. Never open or hash its error body as image evidence. Comments routinely override or extend the original body, and an unread comment is a spec you do not have. - Research the codebase. Verify claims against the code before bringing questions to the user.