implement-spec — Claude Code skill: what it does, how to install
Implements a prepared spec from its ticket graph on one integration branch, using parallel subagents. Use it when tickets have blocking dependencies.
- Author Matt Pocock
- License MIT
- GitHub ★ 302,251
- Installs 283,700
- Updated 2026-10-22
- Source shown below
What implement-spec does
The skill takes a spec and its linked tickets, reads them as a dependency graph, and coordinates work on one integration branch. It starts implementer subagents in separate worktrees and branches for tickets at the current frontier, then uses a merger subagent to bring finished work back.
An exploration subagent can inspect code or external docs and save notes outside the repository. Implementers call tdd; after tickets are done, the skill calls code-review and assigns fixes to one implementer. An issue tracker must be set up, otherwise it asks for /setup-matt-pocock-skills.
Install it when a spec already has tickets with blocking relationships. For a single small change, this workflow is excessive.
What it helps with
- implement a spec from linked tickets
- assign unblocked tickets to parallel subagents
- merge completed branches into the integration branch
- run code review after ticket completion
- close tickets through the issue tracker
How to install implement-spec
Command from the source
/plugin marketplace add mattpocock/skillsCommand from the source
/plugin install mattpocock-skills@mattpocockCommand from the source
npx skills add mattpocock/skills --skill implement-spec -a claude-codeWith the Skills CLI (Vercel)
npx skills add mattpocock/skills --skill implement-spec -a claude-codeManually
~/.claude/skills/implement-spec/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/implement-spec/
Manually
.agents/skills/implement-spec/SKILL.mdFor all projects use ~/.agents/skills/
Manually
.cursor/skills/implement-spec/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
GitHub CLI (gh ≥ 2.90)
gh skill install mattpocock/skills implement-specManually
.github/skills/implement-spec/SKILL.mdGemini CLI
gemini skills install https://github.com/mattpocock/skills --path skills/engineering/implement-specManually
.devin/skills/implement-spec/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
How to use it: example prompts
- Implement this spec and all linked tickets.
- Start with tickets that have no blockers.
- After the tickets are done, run `code-review` on the integration branch.
Source text
SKILL.md · MIT
--- name: implement-spec description: "Implement the result of /to-spec and /to-tickets in code." disable-model-invocation: true --- You have been provided a spec. This spec should have tickets associated with it, describing how to implement the spec. The issue tracker should have been provided to you. If not, tell the user to run `/setup-matt-pocock-skills`. The goal is the entire spec implemented on a single **integration branch**, with every ticket resolved the way the issue tracker closes work. The tickets are not a list of steps. They are a **task graph** with blocking relationships between them. This means there is always a **frontier** of tickets which are ready to be grabbed. Communication to and from subagents should be sparse. Communicate primarily through **context pointers**: to the spec, tickets, research notes, and previous commits. Don't duplicate information already available via pointers. **Implementer subagents** should be run in the background where possible for maximum concurrency. ## Steps 1. Read the spec and tickets to understand the task graph. 2. (optional) Use an **exploration subagent** to conduct any exploration required by the tickets - relevant codebase files or external documentation. Ensure the exploration subagent can save files - it should save its markdown notes in a directory outside the repo, accessible by all future subagents. This lets **implementer subagents** focus on implementation rather than exploration. 3. Create the integration branch. If the issue tracker closes work through PRs, or the user asks for one, open a draft PR after the first merge in step 5 (a branch with no commits ahead of main can't open one), marked as closing the spec and tickets. 4. Use **implementer subagents** to implement each ticket, each in its own worktree on its own branch. Each implementer subagent: - confirms its worktree is based on the integration branch before starting, and resets onto it if not; - calls the Skill tool with `tdd` to build the ticket; - merges the integration branch tip into its own branch before reporting done 5. Once an **implementer subagent** completes, merge its work to the integration branch with a **merger subagent**. 6. If this changes the **frontier** of available tickets, kick off more **implementer subagents** to work on the new tickets. This allows for maximum concurrency. 7. Once all tickets are complete, call the Skill tool with `code-review` on the integration branch. Fix all issues raised by the code review in a single **implementer subagent**. 8. If a draft PR exists, mark it ready for review. Otherwise, resolve each ticket the way the issue tracker closes work, and report the integration branch. 9. Clean up all **implementer subagent** worktrees.
© Matt Pocock · MIT · mattpocock/skills
Questions about implement-spec
How do I install implement-spec in Claude Code?
In Claude Code, run /plugin marketplace add mattpocock/skills, then /plugin install mattpocock-skills@mattpocock.
What does implement-spec do?
The skill implements a spec through linked tickets, follows their dependencies, and gathers the work on an integration branch. It uses implementer and merger subagents for the work.
Does implement-spec need an issue tracker?
Yes. The skill needs an issue tracker to work with and close tickets. If it is not set up, the skill asks you to run /setup-matt-pocock-skills.