mcpbeat Sign in

Work On Issue Skill for Claude

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

774 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
2474
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/huggingface/OpenEnv --skill work-on-issue

What it tells the agent to use

found in the instruction text
Task spawns other agents

The instruction itself

12 sections, as written by the author

/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:

.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:

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:

  • Spawn the issue-worker agent and receive its results
  • Run worktree-create.sh script
  • Create todos that persist in the conversation
  • Invoke /write-tests to continue the workflow

The issue-worker agent runs in a forked context and returns requirements.

Other skills for the same job

different authors, same section of the catalogue
Finishing A Development Branch
by ZhanlinCui
×7

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

1k tokens
Github Release Management
by ComeOnOliver
×3

Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management

10k tokens
Migrate To Shoehorn
by mxyhi
×2

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.

965 tokens
Bun Development
by ComeOnOliver
×2

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.

8k tokens
Framework Migration Deps Upgrade
by ComeOnOliver
×2

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

8k tokens
Debugging Strategies
by ComeOnOliver
×2

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.

6k tokens
Backend Dev Guidelines
by ComeOnOliver
×2

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.

36k tokens
Javascript Typescript Jest
by github
vendor ×1

Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.

558 tokens

How to use it

Copy the folder

Take huggingface/work-on-issue from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.