Start work on a GitHub issue. Extracts requirements, creates worktree, sets up TDD workflow.
npx skills add https://github.com/huggingface/OpenEnv --skill work-on-issue
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.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Modern JavaScript/TypeScript development with Bun runtime. Covers package management, bundling, testing, and migration from Node.js. Use when working with Bun, optimizing JS/TS development speed, or migrating from Node.js to Bun.
You are a dependency management expert specializing in safe, incremental upgrades of project dependencies. Plan and execute dependency updates with minimal risk, proper testing, and clear migration pa
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.
Opinionated backend development standards for Node.js + Express + TypeScript microservices. Covers layered architecture, BaseController pattern, dependency injection, Prisma repositories, Zod validation, unifiedConfig, Sentry error tracking, async safety, and testing discipline.
Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.
Take huggingface/work-on-issue from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.