implement
Skill5 starsChanged 10 days agoMITView on GitHub
Implement one work item end to end, or every ticket of a spec in one run: scope and claim it when trackable, TDD at chosen seams, commit, review, verify, resolve it, and open a PR when asked.
191 other projects use a version of this.
Adopted by
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- dz114879/skillstheir own version, 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/quivrtheir own version, first seen Nov 8, 2026
- miklschmidt/archboardtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use setup-ts-deep-modules, ask-matt and 3 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
Other versions191 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 191
- mattpocock/skills★ 309ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- foambubble/foam★ 17ksame name
- formbricks/formbricks★ 13ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- fallow-rs/fallow★ 5.3ksame name
- withcoral/coral★ 4.9ksame name
- bestofjs/bestofjs★ 3.1ksame name
181 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 repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architecture-satisfactionSkill
- autopilotSkill
- browser-testSkill
- chatter-scoutSkill
- closeoutSkill
- codebase-designSkill
- code-reviewSkill
- code-smells-auditSkill
- commitSkill
- dependency-auditSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- fix-ci-failuresSkill
- fix-github-issuesSkill
- fix-nightwatch-issuesSkill
- fix-posthog-issuesSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- harness-toolsSkill
- housekeeperSkill
- implement-specSkill
- improve-codebase-architectureSkill
- laravel-herd-worktreesSkill
- panelSkill
- prototypeSkill
- prSkill
- prune-testsSkill
- releaseSkill
- repository-cleanupSkill
- researchSkill
- resolve-review-commentsSkill
- resolving-merge-conflictsSkill
- retroSkill
- run-afterSkill
- scratch-cleanupSkill
- scratch-statusSkill
- setupSkill
- sweepSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triage-github-prSkill
- triageSkill
- ui-designSkill
- upgrade-planSkill
- verifySkill
- wait-whatSkill
- wayfinderSkill
- which-skillSkill
- wizardSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
6 rules. 0 are common, 3 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Verify identifiers before using them: route names, config keys, enum values, icon names, and package APIs.
- Distinctive: line 43
If the item is already claimed or in progress, stop.
- Very specific: line 45
After claiming, or after scoping conversation-only work, record the output of git rev-parse HEAD as immutable base_sha.
- Very specific: line 85
Run the verify skill. A product failure returns to steps 3–6 before verification runs again.
- Distinctive: line 87
If an external dependency prevents verification, keep the committed implementation, report the exact blocker, and leave the work item open.
- Very specific: line 94
wayfinderdecision ticket: use the Wayfinding Resolve operation.
“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
Implement exactly one work item per session, test-first and verified end to end. A work item is a ticket, a spec small enough for one session, or an agreed conversation scope. The one exception is a spec run, which builds every ticket of a spec in one session.
Delivery shape first. Read references/delivery-shape.md before step 1 on every run: its questions ask whatever the request leaves unclear about how and where to build (one ticket or the whole spec; current branch, a PR, or a stack of PRs; a worktree or this checkout). Read references/spec-run.md only when the answer is a PR, a stack, or a whole spec (all, "implement all of …"), or the request changes work already delivered as a PR. When the work's branch is not the default branch, check gh pr view <branch> --json state before step 1: any PR found also sends you to its Follow-up on a delivered PR section. spec-run.md holds PR delivery, the spec run, stacked PRs, and follow-ups.
Pipeline position: wayfinder (decide) → to-spec (write the spec) → to-tickets (break it into tickets) → implement (build one ticket per session, review and verify inside).
Guardrails
- Never reset, roll back, drop, or truncate a database, or run another destructive data operation, without explicit approval. Put schema changes in new migrations; sequence live-table changes expand–contract.
- Verify identifiers before using them: route names, config keys, enum values, icon names, and package APIs. A manifest entry alone does not prove registration or use.
Stack references. Identify the stack from its manifests. If a matching file exists below, read it before step 1: it names that stack's destructive commands, formatter, test command, and worktree setup.
- Laravel (
laravel/frameworkincomposer.json):references/laravel.md
Process
1. Scope and claim the work
Classify the input and make its acceptance criteria explicit:
- Ticket: fetch its full body and comments. From its parent spec, load the Build Contract section first when present, then the headings the ticket names or the implementation reaches. Read direct blockers'
Resolutionsections for handed-forward seams; load other closed tickets and the map only on demand. Awayfinderdecision ticket is eligible only when its type istask; stop on the other types because they decide rather than build. Ataskis manual unblocking work, not code, do it yourself where you can, otherwise hand the human the precise checklist fromticket-types; get explicit approval before any destructive or irreversible step, record the resulting facts, and Resolve. It skips the seams/TDD/commit/review/verify loop (steps 2–7), which assume code changes. The ticket is the work item. - Delivery ticket (
delivery: true): the spec's last ticket, which proves the spec shipped whole. Work it perto-tickets/DELIVERY-TICKET.md: pass 1 before merge, pass 2 after deploy (aready-for-humandelivery ticket is waiting for pass 2). It skips steps 2–5; steps 6–8 run per that file. - Spec: fetch its full body and comments. If it holds more than one independently deliverable ticket or cannot fit one session, it needs tickets: with its
tickets/published, the scope question picks the next ticket or a spec run; with none, stop and tell the user to runto-tickets. A spec that fits one session is itself the work item. - Conversation: restate the scope and behavior criteria in a few lines. It has no tracker claim or resolution.
Work items are markdown files under .scratch/: there is no external tracker. When launch context already identifies the selected file, its status, and blockers, revalidate those exact files rather than rereading the tracker layout. Otherwise read the layout once through .agents/issue-tracker.md (written by /setup). If it's missing, try docs/agents/issue-tracker.md (legacy), then the setup skill's seed. Confirm every direct blocker is closed through the item's blocked-by frontmatter, and stop before claiming if any remain open. Then claim before building:
- On a ticket from
to-tickets, or a directly implemented spec, set its frontmatterstatus: in-progressandclaimed-by:to a session-unique value, then re-read to confirm you won the claim (compare-after-write, see the tracker's Working in parallel rules). A spec built directly is claimed exactly like a ticket; it is the file you build from, not a parent to leave alone. - On a
wayfinderdecision ticket, use the Wayfinding Claim operation (claimed-by).
A ticket or spec is trackable: its frontmatter status is the state of record. Some repos also keep a ledger or prose summary of efforts in their tracker doc; update it when the repo asks, but it never replaces the frontmatter write. Building in a linked worktree changes nothing: write and commit the frontmatter there, and it reaches the main checkout when the branch merges.
If the item is already claimed or in progress, stop; treat the claim as stale only when its work is visibly committed or clearly abandoned.
After claiming, or after scoping conversation-only work, record the output of git rev-parse HEAD as immutable base_sha. Use that exact SHA for review and for proving failures pre-existing.
Finish this step only when the work fits one session, its acceptance criteria are explicit, every trackable item is claimed with blockers closed, and base_sha is recorded.
2. Choose the seams
Use the ranking and selection rules in the tdd skill's Seams: where tests go section. Reuse seams already recorded in the spec; otherwise choose them yourself and state the choice: one line per seam naming what it catches and what it misses, no approval round. Seam placement is test structure, which grilling's What still earns a question hands to you, and the rules are the single source of truth. Ask only on a genuine fork the rules rank equally where the two placements would make materially different work.
Finish this step when every acceptance criterion has a seam.
3. TDD loop
Run the tdd skill at the chosen seams. Discover the repository's focused-test and static-analysis commands from its scripts and existing usage; filter every test run during the loop to the single test or file covering the change (--filter=<test name> or the exact test file path, never neighboring or demo suites in the same directory), and run static analysis regularly when configured. If the user explicitly asks to skip tests in this session, honor that for the rest of the session and note it in step 8.
Finish the loop only when every acceptance criterion is covered at a chosen seam, every focused test passes (when the user asked to skip tests, the last focused result stands instead), and configured static analysis is green.
4. Format and commit a reviewable checkpoint
Run the repository's configured formatter on the paths you touched only (Pint, Prettier, Black, gofmt: whatever it configures), so a parallel session's uncommitted files stay as they are. Check git status --porcelain, stage only work-item files by explicit path, and leave foreign changes unstaged. Changes under .claude/agent-memory/ are always yours too, whoever wrote them: they are the notes of agents with memory: project, not a parallel session's work in progress, so they ride along in your commit (git add -- .claude/agent-memory). Commit to the current branch (PR delivery created it before step 1); this step creates no branch or worktree. Record the paths you touched; review scopes to them (next step), so a parallel session's commits on the same branch neither get staged here nor reviewed there.
Finish this step with every work-item change committed, every foreign change untouched, and the checkpoint commit SHA recorded.
5. Review
Run the code-review skill against base_sha, scoped to the work-item paths you recorded (so concurrent commits on the shared branch stay out of the range). Resolve every actionable finding through the tdd loop, rerun affected focused checks and static analysis, format, stage explicit paths, and commit the fixes. Re-run code-review after each fix commit as a re-review, passing the previous round's findings and head. Two review rounds is the budget. When the second still has BLOCKING or MAJOR findings, fix those in one more round without asking, its re-review covering only them; list whatever is left for the user with the commit each round reviewed. A PR body carries each finding left open as a Left open: line.
code-review's Correctness axis hunts bugs and failure modes; its BLOCKING and MAJOR findings are actionable like any other. A fix that adds a mechanism (job, lock, claim, retry) is new surface, so the re-review after that fix commit covers it. Whatever this step misses goes to the PR's review bots, one round per push.
Finish this step only when review reports no unresolved actionable findings (or the round budget is spent and the rest are listed) and every work-item change is committed.
6. Run the final automated checks
Skip the full-suite question when the repo's rules or the user's saved preferences already settle it (CI runs the suite, or "do not run the full suite unless asked"), and follow that answer. Otherwise ask once (as a structured question (harness-tools), otherwise a plain question in chat) whether to run the full test suite as the final automated gate. If the answer is no, skip the full run (the focused tests from step 3 stand as the automated evidence) and record the skip so step 8 reports it plainly.
When approved, run the repository's documented full-suite command: its AGENTS.md or CLAUDE.md, package scripts (composer.json, package.json, a Makefile), or CI workflow names it; fall back to the stack's default test runner only when none does. A run that can outlast the foreground limit goes to the background (Bash run_in_background where available). Then end the turn with no reply and let its completion notification wake you; a check-in that only says it is still running costs the user a turn. Fix failures caused by the work. Prove an unrelated failure pre-existing against base_sha, then note it plainly instead of expanding scope.
Any code fix returns to steps 3–5 before this gate runs again. Finish this step when the full run was skipped (declined, or settled by rules or preferences), or when every caused check passes and every remaining failure has base-SHA evidence.
7. Verify end to end
Run the verify skill. A product failure returns to steps 3–6 before verification runs again. Successful verification is required to resolve a trackable work item.
If an external dependency prevents verification, keep the committed implementation, report the exact blocker, and leave the work item open. Mark nothing verified on inference alone.
8. Close the loop
After successful verification, record what was built, any justified deviation, verification evidence, the implementation commit SHA or SHAs, and any public seam a direct successor should reuse; check off every satisfied acceptance criterion. This Resolution is the successor handoff, so keep the seam and evidence concrete without retelling the parent spec. Resolve the work item according to its branch:
- Ticket, or a directly implemented spec: set its frontmatter
status: closedand append## Resolution. Writeclosedexactly, never an invented value such asbuiltordone. A delivery ticket with after-deploy steps left goes toready-for-humaninstead, per its file. wayfinderdecision ticket: use the Wayfinding Resolve operation.- Conversation: report the result without touching any file under
.scratch/.
Leave every parent open; a ticket never closes its spec, and implement never touches the map (the map was already closed by to-spec, or by a spec-less to-tickets, when the spec or tickets were written). A spec is complete when every ticket in its tickets/ is closed; a derived state you report, not a status you write onto the spec. When the spec itself was the one-session work item, close that spec directly. Keep the resolution write out of code commits: if .scratch/ is tracked, commit it separately; never fold it into an implementation commit. Resolution text cites the implementation commits, never its own closure commit.
For trackable work, re-read the markdown file after writing it and verify its frontmatter reads status: closed with a ## Resolution section.
Finish when the implementation commits and any separate resolution commit are recorded and the tracker's final state is verified, or the conversation-only result is reported. Then stop; the next work item is a new implement run, never a continuation of this one.
When you're done
Print the end-of-session block using the frame in wayfinder/references/pipeline-end-block.md. For a trackable work item with a parent, check the markdown tracker for the remaining frontier before writing the block, don't guess at what's left.
---
Pipeline: decide → spec → tickets → **build** (4 of 4)
Done: <what now works, the work-item ref if any, commit(s), verification state>
Next:
• <condition> → /<skill> <ref>Stage-specific Next conditions (only those that apply, most likely first):
- A PR is open and review bots are still running →
/resolve-review-comments <PR>once they post; name the PR and the worktree path - A stack of PRs is open →
/triage-github-pr <every PR, bottom-up>to land it bottom-up with merge commits - More frontier tickets on the parent spec →
/implement <next frontier ticket>(resume your own claimed-but-unfinished ticket first if you stopped mid-work), or/implement <spec path> allto build the rest in one run, or/implement-spec <spec path>to build them in parallel; name it and how many remain - Every ticket on the spec is closed → nothing to run; say the spec is complete and name anything deferred out of scope
- Only the delivery ticket is open, at
ready-for-human→ deploy, then/implement <delivery ticket>for its after-deploy steps; list them - After-deploy items wait on a time →
/implement <delivery ticket>after that UTC time; name the items, and offer to schedule it per the end block's rule 7 - Remaining tickets are all blocked →
/implement <the blocker>first, or/grill-meif the blocker is a decision - The build exposed a decision nobody made →
/grill-meon it, then re-run/to-specif the spec is now wrong - Verification is externally blocked → keep the work item open and name the exact unblock condition
- Stopped mid-work → say what passes, what is committed or uncommitted, the claim state, and the next red test to write; resume that ticket next session before taking a fresh one, or Release it to hand it back to the frontier
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.

