with one click
work-on-issue
// Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow.
// Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | work-on-issue |
| description | Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow. |
Start focused work on a GitHub issue using TDD workflow.
When this skill is invoked, you MUST execute these steps immediately. Do NOT just describe what will happen - actually do it.
Extract the issue number from $ARGUMENTS:
# prefix if presentUse the Task tool to spawn the issue-worker agent:
Task tool:
subagent_type: issue-worker
prompt: "Read GitHub issue #<NUMBER> and extract:
1. Goal - what the user wants to achieve
2. Acceptance criteria - specific testable requirements
3. Edge cases and constraints
4. Suggested PR split if complex"
Wait for the agent to return requirements.
After receiving requirements, run this command:
.claude/scripts/worktree-create.sh issue-<NUMBER>-<short-description>
Where <short-description> is 2-3 words from the goal (e.g., add-mcp-tools).
Activate TDD enforcement in the new worktree. This uses tdd-state.sh's
direct-execution mode so it works in a single Bash call:
cd .worktrees/issue-<NUMBER>-<short-description> && bash .claude/hooks/tdd-state.sh activate <NUMBER>
This writes .tdd-session.json to the worktree root, which all hooks check.
Without this step, hooks would not block direct edits.
Use TodoWrite to create a todo for EACH acceptance criterion:
TodoWrite:
todos:
- content: "Test: <acceptance criterion 1>"
status: pending
activeForm: "Testing <criterion 1>"
- content: "Test: <acceptance criterion 2>"
status: pending
activeForm: "Testing <criterion 2>"
...
Immediately invoke /write-tests for the first todo.
DO NOT stop and wait for user input. Start the TDD cycle now.
/work-on-issue #42
↓
Step 1: Parse "42" from arguments
↓
Step 2: Spawn issue-worker → get requirements
↓
Step 3: Create worktree issue-42-<name>
↓
Step 4: Activate TDD enforcement (.tdd-session.json)
↓
Step 5: Create todos from acceptance criteria
↓
Step 6: Invoke /write-tests → begin TDD cycle
This skill runs in the MAIN conversation context (not forked) because it needs to:
The issue-worker agent runs in a forked context and returns requirements.