implement-spec
Use when the user wants the result of /to-spec and /to-tickets implemented in code.
Skill by HexSleeves
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/hexsleeves-implement-spec
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/implement-spec
What's inside
- Skill name
implement-spec- Description
- Use when the user wants the result of /to-spec and /to-tickets implemented in code.
- License
- MIT
- Metadata
- upstream: mattpocock/skills
- Instructions
- 37 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
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 and record its base commit. Open a draft PR only when the user asked for one, 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. Otherwise the PR opens at step 8.
4. Use **implementer subagents** to implement each ticket, each in its own worktree on its own branch. Each prompt names the integration branch and its base commit, because isolated worktrees start from the default branch. Per-ticket gates are typecheck, lint and the tests in the files the ticket touched, plus `test:pg` only when it changes SQL or stored data; the full suites run once on the integration head in step 8, because on a linear graph per-ticket full suites add up serially. Implementers that do run full local test suites run at most two at a time on one workstation (through a host lock such as `heavy` where one exists), and each commits its slice before the next starts: a harness restart kills background subagents and their uncommitted work. 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;
- before each commit, reads each touched package's `lint` script in package.json and runs every command in it (through `./node_modules/.bin/<tool>` in a linked worktree), checking an exit status per command; a workaround for one broken check is not the list of checks;
- merges the integration branch tip into its own branch before reporting done
- runs the typecheck the brief names, which is `tsc -p <tsconfig> --noEmit` for each referenced config, never `tsc -b` or a bare `tsc --noEmit` on a solution tsconfig (`files: []` checks nothing); where worktrees link `node_modules` from the main checkout, incremental output and workspace links resolve to another branch's state, so it counts as unproven until the CI image build confirms it
- reproduces any intermittent failure in a test file the branch touched by running the touched files together in one process, in each order, before calling it pre-existing or flaky (a shared mock under `isolate: false` leaks this way)
5. Once an **implementer subagent** completes, verify `git merge-base --is-ancestor <base> <branch>`, then merge its work to the integration branch. When the ticket tip descends from the integration branch, fast-forward it yourself; use a **merger subagent** only when the merge has conflicts to resolve.
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. A frontier ticket that depends on a precondition a still-running sibling changes (auth required, a signature, a shared data shape) stacks on that sibling's branch instead of the integration branch.
7. Once all tickets are complete, call the Skill tool with `code-review` on the integration branch. Start it earlier, on the merged prefix, as soon as the remaining frontier is one small ticket, and review that ticket's diff in the fix round. Fix all issues raised by the code review in a single **implementer subagent**.
8. Read the repo's CI entry point (its CI workflow, `make ci` or the equivalent) and run each of its steps locally, or list the ones skipped and why. This is where the full test suites run, once, on the integration head; done means they pass. A containerised target that mounts the checkout fails from a worktree, whose `.git` file points outside the mount: run it from a `git clone --branch <integration>`, and delete the clone through the same container user. A PR that closes several tickets writes one closing keyword per ticket ("Closes #1. Closes #2."); confirm with `gh pr view --json closingIssuesReferences`. Then, if a draft PR exists, mark it ready for review; otherwise open the PR, or resolve each ticket the way the issue tracker closes work, and report the integration branch. For a product with a user-facing UI, the done report says whether visual design was done and shows one screenshot.
9. Clean up all **implementer subagent** worktrees. Delete a ticket branch only after `git merge-base --is-ancestor <branch> <integration>` succeeds, then with `git branch -D` (`-d` refuses branches merged by squash or rebase).From HexSleeves/skills, MIT.
More from HexSleeves/skills
- 0.570score
merged
HexSleeves
Use when a pull request has merged and the local repo should be cleaned up for the next piece of work, whether the user says so, runs /merged, or…
SkillAFreshness: AClaude Code +9 - 0.570score
improve
shadcn
Use when the user wants an audit, improvement opportunities, roadmap advice, or an implementation handoff from a read-only senior-advisor survey of a codebase.
SkillAFreshness: AClaude Code +9 - 0.570score
create-verification-skill
HexSleeves
Use when a project has no scripted way to launch and drive its app like a user, or the user runs /create-verification-skill.
SkillAFreshness: AClaude Code +9 - 0.570score
why
HexSleeves
Use when asking why code or a system works the way it does, why a choice was made, or for regressions, postmortems, and data-backed thresholds.
SkillAFreshness: AClaude Code +9 - 0.570score
diagnosing-bugs
HexSleeves
Use when the user says "diagnose"/"debug this", or reports a hard bug, a flaky or intermittent failure, or a performance regression (something broken…
SkillAFreshness: AClaude Code +9 - 0.570score
task-observer
Eoghan Henn and contributors
Monitors task execution for skill improvement opportunities.
SkillAFreshness: AClaude Code +9 - 0.565score
code-review
HexSleeves
Use when a branch is ready for its PR, or the user asks to review a branch, a PR, work-in-progress changes, or the changes "since X".
SkillAFreshness: AClaude Code +9 - 0.565score
no-comments
HexSleeves
Use when the user wants scoped code comments reviewed, accepted findings fixed, or claimed constraints encoded as enforceable checks.
SkillAFreshness: AClaude Code +9 - 0.565score
maintain-verification-skill
HexSleeves
Use when a project's verification skill or feature map may be out of date, or the user runs /maintain-verification-skill.
SkillAFreshness: AClaude Code +9 - 0.559score
gh-axi
HexSleeves
Use when a task touches GitHub: issues, PRs, stacked PRs, CI runs, workflows, releases, Projects, secrets and variables, gists, or search.
SkillAFreshness: AClaude Code +9 - 0.539score
no-ai-slop
HexSleeves
Use when the user wants a draft edited to read clearer, more direct, more opinionated, or less AI-sounding, wants AI-slop patterns flagged without a rewrite…
SkillAFreshness: AClaude Code +9 - 0.539score
council
HexSleeves
Use when the user asks to consult the council, wants several models to sign off on a PR, branch, or plan before it merges or ships, or says to merge "once…
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 24, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/HexSleeves/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from HexSleeves
- 0.570score
create-verification-skill
HexSleeves
Use when a project has no scripted way to launch and drive its app like a user, or the user runs /create-verification-skill.
SkillAFreshness: AClaude Code +9 - 0.570score
merged
HexSleeves
Use when a pull request has merged and the local repo should be cleaned up for the next piece of work, whether the user says so, runs /merged, or…
SkillAFreshness: AClaude Code +9 - 0.570score
diagnosing-bugs
HexSleeves
Use when the user says "diagnose"/"debug this", or reports a hard bug, a flaky or intermittent failure, or a performance regression (something broken…
SkillAFreshness: AClaude Code +9 - 0.570score
why
HexSleeves
Use when asking why code or a system works the way it does, why a choice was made, or for regressions, postmortems, and data-backed thresholds.
SkillAFreshness: AClaude Code +9 - 0.565score
code-review
HexSleeves
Use when a branch is ready for its PR, or the user asks to review a branch, a PR, work-in-progress changes, or the changes "since X".
SkillAFreshness: AClaude Code +9 - 0.565score
maintain-verification-skill
HexSleeves
Use when a project's verification skill or feature map may be out of date, or the user runs /maintain-verification-skill.
SkillAFreshness: AClaude Code +9
Cite this page
implement-spec skill. Agent Mart. https://agentmart.dev/skills/hexsleeves-implement-spec (last updated 2026-10-24)