implement
Skill20 starsChanged 51 days agoMITView on GitHub
Implement a piece of work based on a spec, tickets, or triaged issues.
191 other projects use a version of this, 64 of them edited.
Adopted by
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- dz114879/skillsedited, first seen Nov 8, 2026
- Dimon94/dveritytheir own version, first seen Nov 8, 2026
- Dimon94/skillstheir own version, first seen Nov 8, 2026
- The-Vibe-Company/quivredited, first seen Nov 8, 2026
- miklschmidt/archboardedited, first seen Nov 8, 2026
Used with
Projects with it also use setup-ts-deep-modules, ask-matt and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 43 projects that use this
GoogleSkillask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Also in 91 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 50 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 42 projects that use this
LesaniSkillwriting-beats
Shape an article as a journey of beats, choose-your-own-adventure style. The user picks a starting beat from the raw material, you write only that beat, then offer options for where to pivot next, beat by beat, until the article reaches a natural end. Use when the user has raw material and wants to assemble it as a narrative rather than an argument.
Also in 47 projects that use this
AWSSkillwizard
Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.
Also in 106 projects that use this
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 64
- mattpocock/skills★ 309k18% same
- QuivrHQ/quivr★ 40k26% same
- The-Vibe-Company/quivr★ 40k26% same
- formbricks/formbricks★ 13k18% same
- ArcReel/ArcReel★ 6.3k18% same
- withcoral/coral★ 4.9k18% same
- bestofjs/bestofjs★ 3.1k26% same
- moeru-ai/xsai★ 66726% same
- aws/graph-explorer★ 49026% same
- biersoeckli/QuickStack★ 36518% same
54 more not listed
Wrote their own version · 127
- foambubble/foam★ 17ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- fallow-rs/fallow★ 5.3ksame name
- meta-pytorch/OpenEnv★ 2.8ksame name
- huggingface/OpenEnv★ 2.8ksame name
- oxsecurity/megalinter★ 2.6ksame name
- pymc-labs/pymc-marketing★ 1.3ksame name
- adobe/S3Mock★ 1.2ksame name
- nodetool-ai/nodetool★ 615same name
- stevesolun/ctx★ 583same name
117 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository41 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ask-supermattSkill
- babysit-prSkill
- codebase-designSkill
- code-reviewSkill
- commitSkill
- dependency-vettingSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- fix-findingsSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- ideateSkill
- implement-specSkill
- improve-architectureSkill
- improve-file-structureSkill
- improve-testsSkill
- jurySkill
- orchestrateSkill
- prototypeSkill
- prSkill
- qaSkill
- recover-ciSkill
- refactorSkill
- researchSkill
- resolving-merge-conflictsSkill
- retroSkill
- setup-supermatt-skillsSkill
- ship-prSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- what-would-you-doSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
9 rules. 0 are common, 4 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 13
Treat ## Parent as an actual Markdown section, not a quoted example or a mention elsewhere.
- Distinctive: line 19
When the issue is a pull request, check out its head branch first, and push your commits back to it.
- Distinctive: line 21
Before you start, record the current commit with git rev-parse HEAD, and on the default branch create a branch named by the repo's …
- Very specific: line 23
Before changing data contracts, state transitions, shared mutable state, or retryable effects, load codebase-design through the host's …
- Very specific: line 29
Commit each finished slice to the current branch, so the work lands as small commits instead of one commit that carries the whole ticket.
- Distinctive: line 39
When the work is a refactor, or when a review fix only restructures code, keep behavior the same:
- Very specific: line 41
If the code has no tests, pin its current behavior first: load and follow the tdd skill through the host's skill mechanism and write the …
- Very specific: line 42
Commit the structural change as refactor:, and leave test files alone in it, except for a mechanical rename or move.
- Distinctive: line 44
When a step goes red, revert it and take a smaller step.
“Common” is measured: kept by at least 6 in 10 of the 171 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Implement the work described by the user in the spec or tickets. Read docs/agents/issue-tracker.md and docs/agents/triage-labels.md first. If either is missing or unreadable, stop and tell the user to run /setup-supermatt-skills in Claude linked installs or Cursor, /supermatt:setup-supermatt-skills from the Claude plugin, $setup-supermatt-skills in Codex, or /skill:setup-supermatt-skills in OMP. Resume only after both required docs exist and have been read. Fetch each ticket you are given with the tracker's Read an issue operation and read it in full. A parent you are asked to pick from is not such a ticket: see below.
When the user names a parent spec and asks for its next ticket, use the configured tracker's List children and Resolve blockers operations. A frontier ticket is an open child of that exact parent, with every blocker confirmed closed, whose state maps to the canonical ready-for-agent role in triage-labels.md: a label on hosted trackers, a Status: value locally. Do not require a numeric blocker count or interpret missing information as zero. For a custom tracker without these named operations, enumerate children from its documented read/list operations and explicit parent links, then read every declared blocker; stop if those operations cannot establish complete membership or blocker state. An incomplete listing stops selection; an unreadable, malformed, or unresolved child's eligibility is blocked and must be reported, not guessed.
Treat ## Parent as an actual Markdown section, not a quoted example or a mention elsewhere. It must identify one unambiguous parent; resolve links to canonical identity and report conflicts with native parentage rather than choosing a convenient match.
Choose the eligible child with the lowest ticket number. A ticket with no code left, because every criterion is already on the default branch or only a human step such as a release remains, is not frontier: name it and what it waits on, then take the next one. With no frontier ticket left, say so, report blocked or unknown candidates, and stop. Name the ticket you picked before you start. When a ticket names a parent, read only the parent's sections the ticket points to or the work needs, with the tracker's Read a section operation where it has one. An assigned migration-map row requires reading the parent's authoritative ## Migration map section before implementation. With no spec or issue, the decisions settled in this conversation are the spec: write them to a file in the OS temporary directory, so the review can check against them.
When two criteria of a ticket cannot both hold (for example, a data shape the ticket names against "no test changes"), ask the user which one wins before you write code, and post the answer on the issue with the Comment on an issue operation. A conflict resolved in silence comes back as a review finding and the same question after the work is done.
When the issue is a pull request, check out its head branch first, and push your commits back to it. If the push is refused (a fork that does not allow maintainer edits), stop and tell the user.
Before you start, record the current commit with git rev-parse HEAD, and on the default branch create a branch named by the repo's convention.
Before changing data contracts, state transitions, shared mutable state, or retryable effects, load codebase-design through the host's skill mechanism. Follow its state-contract guidance for the affected behavior.
Where possible, at pre-agreed seams, load and follow the tdd skill through the host's skill mechanism. Seams that the spec or issue names or the user explicitly confirmed are pre-agreed. Obtain confirmation for any newly reached seam, including refactor and review-fix seams, before writing tests.
Use tdd's affected-seam checks during each cycle. A finished slice is one completed behavior or fixed review finding, and can contain several cycles. Before committing it, complete the repository's full required gate. Reuse checks already green on the same relevant files, dependencies, configuration, and environment; run only the missing or invalidated checks. Chain newly run checks and the commit on their own exit statuses (&&) so a red check stops it. Run checks bare, never through an output filter, and wait for background checks to finish. A handoff or evidence report alone does not require another application build or test run; repository rules, hooks, and CI still apply.
Commit each finished slice to the current branch, so the work lands as small commits instead of one commit that carries the whole ticket. Reference each issue the work implements in each commit message (#<n>, or the file path on a local tracker).
Once every slice is committed, QA the changes since the commit you recorded in a fresh context: this context wrote them, so it shares their blind spots. Spawn one subagent that loads and follows the qa skill through the host's skill mechanism, and give it that commit as the fixed point and the spec path or issue reference as the request, without an implementation summary or suggested verdict. Include a working preview's startup command, URL, worktree, process ownership, and temporary config paths when available, so QA can verify and reuse the setup. Tell it to report back without changing repository files or filing an issue. On each later pass, pass the prior QA report, its tested commit, the fix diff, and the earlier fails with their steps; qa scopes the follow-up. Without subagents, load and follow qa yourself and state the independence gap. Fix each fail test-first by loading and following tdd, commit the fix the same way as the work, and QA again until the verdict has no fail. Name each blocked scenario and what it needs in your final message.
Then load and follow the code-review skill through the host's skill mechanism to review the changes since the commit you recorded, and give it the spec or issue as the spec. Its report ends on the verdict line, and it is not the end of this skill: continue to the next step in the same turn, working from that report. A single reader's output, such as a .peer.md file, is input to the review, not a finding to fix.
Fix every verified finding the review reports on this branch, at every severity, and commit the fixes the same way as the work. Two kinds of finding go to the user as a question instead: one whose fix would reverse something the spec asked for, and one whose cause lies outside this repo (an agent, service, or library working as designed), so no change here removes it. Every other finding ends fixed or asked: one you judge not worth fixing (a one-caller helper, a local convention) goes to the user as a question too. Open each question with the code it concerns (file:line) and what the choice changes, then put it as options (O1, O2, ...), each with what it does and what it costs. When the reviewer proposed a fix, one option is that fix in the reviewer's own words. End the question on the option you recommend and the deciding reason, so the user can answer with a code. Once the user answers, persist each accepted decision and its reason: comment on the issue with the Comment on an issue operation when one exists; otherwise append it to the supplied spec or the named temporary review spec. Pass that updated artifact to follow-up QA and review so later sessions can read what the user already settled. Done when your final message quotes the verdict line of each review and names every finding code of each review with how it ended: the commit that fixed it, or the question that asks it.
Leave each issue you implemented open. A closed issue is what unblocks the tickets that wait on it, so it closes only once its commits are merged into the default branch. The merge step closes it through /ship-pr in Claude linked installs or Cursor, /supermatt:ship-pr from the Claude plugin, $ship-pr in Codex, or /skill:ship-pr in OMP. Tell the user the work is ready to ship only when every review axis is complete, every verified P0 and P1 finding is fixed, and every remaining verified finding is fixed or has a disposition explicitly accepted by the user. Unanswered finding questions block readiness. Issue closure still waits on the merge. A pull request stays open for a human to merge.
When the work is a refactor, or when a review fix only restructures code, keep behavior the same:
- If the code has no tests, pin its current behavior first: load and follow the
tddskill through the host's skill mechanism and write the characterization tests it describes. Commit them on their own (test:) before the refactor. - Commit the structural change as
refactor:, and leave test files alone in it, except for a mechanical rename or move. A test that has to change means behavior changed. - Tests that the design agreed are superseded by tests at a deepened interface are deleted in their own commit, not a
refactor:one, once the new tests are green. - When a step goes red, revert it and take a smaller step.
Follow-up verification
A review fix that has to change behavior (a bug or a spec gap) goes test-first: load and follow the tdd skill through the host's skill mechanism. Once such fixes are committed, run follow-up QA, then load and follow code-review on the fix commits only (since the commit before the first fix), passing the prior reports and their checked commits. Every later review round uses the previous reviewed commit as its fixed point, not the original branch base. A test-only fix uses the affected tests and independent follow-up review; it does not invalidate browser QA of unchanged runtime code. Fix what the review reports the same way before calling the work ready to ship. When the review asks for both kinds, fix the structural findings first and commit them as refactor:, then make the behavior fixes on top of that commit.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

