Skip to main content

work-on-issue

Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow.

Source facts

Repository
openenv/OpenEnv
Last source activity
February 7, 2026 at 00:23
Detected SKILL.md language
English
Stars
2,808
Forks
499

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
work-on-issue
description
Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow.
# /work-on-issue Start focused work on a GitHub issue using TDD workflow. ## EXECUTE THESE STEPS NOW When this skill is invoked, you MUST execute these steps immediately. Do NOT just describe what will happen - actually do it. ### Step 1: Parse Issue Number Extract the issue number from `$ARGUMENTS`: - Remove `#` prefix if present - The issue number is: **$ARGUMENTS** ### Step 2: Spawn Issue Worker Agent Use 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. ### Step 3: Create Worktree After receiving requirements, run this command: ```bash .claude/scripts/worktree-create.sh issue-<NUMBER>-<short-description> ``` Where `<short-description>` is 2-3 words from the goal (e.g., `add-mcp-tools`). ### Step 4: Activate TDD Enforcement Activate TDD enforcement in the new worktree. This uses `tdd-state.sh`'s direct-execution mode so it works in a single Bash call: ```bash 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. ### Step 5: Create Todos 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>" ... ``` ### Step 6: Begin TDD Cycle Immediately invoke `/write-tests` for the first todo. DO NOT stop and wait for user input. Start the TDD cycle now. --- ## When to Use - Starting work on a GitHub issue - You want TDD enforcement (opt-in via this skill) - You want isolated work (no branch switching) ## When NOT to Use - Quick exploration (just stay in main repo) - Already in a worktree for this issue - Issue doesn't exist in GitHub ## Workflow Overview ``` /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 ``` ## Important This skill runs in the MAIN conversation context (not forked) because it needs to: 1. Spawn the issue-worker agent and receive its results 2. Run worktree-create.sh script 3. Create todos that persist in the conversation 4. Invoke /write-tests to continue the workflow The issue-worker agent runs in a forked context and returns requirements.
View on GitHub