implement
Skill1 starsChanged 24 days agoMITView on GitHub
Build an approved devflow plan with implementer subagents sized to its parts, ticking off its tasks, then hand the result to review. Use when a plan in .flow/ is approved and the developer wants it built.
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 10 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
AWSSkillto-questionnaire
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
Also in 88 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
GoogleSkillto-spec
Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.
Also in 168 projects that use this
- +3 more from google
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.
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 1 is distinctive, and 6 are very specific to this project.
0
Common
Most of the 171 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Read .flow/<slug>/plan.md.
- Very specific: line 23
Keep .flow/<slug>/agents/state.json current as ${CLAUDE_PLUGIN_ROOT}/skills/run/references/state.md describes: set phase: implement, list …
- Distinctive: line 58
When a report comes back:
- Very specific: line 64
No report file, or no Status: line in it: treat it as PARTIAL.
- Very specific: line 68
After each part, re-check the tier (tiers.md): a change that grows past the plan, touches a risk path, or turns up an open decision is …
- Very specific: line 80
When the task changed no code at all (only a report, notes or data), there is nothing for the review to verify: say so in one line, add …
- Very specific: line 84
When the run skill called you, hand back to it.
“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
Build the approved plan in .flow/<slug>/plan.md. You coordinate: you decide how many implementers the parts need, write their briefs, pick the right implementer, check what comes back, and keep the parts consistent with each other. The implementers do the reading and writing of code, so your context stays free for the whole picture.
Arguments: $ARGUMENTS
References:
${CLAUDE_PLUGIN_ROOT}/skills/plan/references/tiers.md: escalation rules.${CLAUDE_PLUGIN_ROOT}/skills/implement/references/implementer.md: what an implementer does and the report it returns.
1. Load the plan
Read .flow/<slug>/plan.md. It must say Status: approved; when it does not, or there is no plan, say so and offer to run the plan skill first. Note the tier, the review depth, the parts and the model each part names.
The Build: line under Status: approved is the developer's choice of models: sonnet + opus runs each part on the model the plan names, opus runs every part on Opus. A plan kept for later has no Build: line: ask the developer before the first part, with the two Implement options and their descriptions from the plan skill's Approve step, and add the line with their answer.
Keep .flow/<slug>/agents/state.json current as ${CLAUDE_PLUGIN_ROOT}/skills/run/references/state.md describes: set phase: implement, list the parts with the model each runs on, and update each part's status, startedAt and finishedAt as it moves. When state.json has no base, record git rev-parse HEAD as it before the first part starts.
2. Schedule
Order the parts by their depends on. A be part whose contract an fe part uses always comes first. Parts run in parallel only when they depend on nothing unfinished and share no files; everything else runs one after another.
Then decide how many implementers the work needs. One implementer per part is the default for parts of real size. Small parts in the same layer that would run one after another anyway go to one implementer in one brief: a fresh agent for a few lines spends more reading its way in than building. A grouped brief runs on Opus when any of its parts does. Never split a part across implementers; when a part looks too big for one, say so and re-plan it with the developer instead.
3. Brief
For each implementer run, write .flow/<slug>/agents/implementer-<n>-brief.md, numbered in dispatch order, so that an implementer who never saw the conversation builds the right thing:
# Brief <n>: <part title, or the titles of the grouped parts>
Plan: .flow/<slug>/plan.md (part <n>, or parts <n>, <m>)
Report to: .flow/<slug>/agents/implementer-<n>-report.md
## Goal
## Tasks the parts' task checklists, copied from the plan; tick each in plan.md when done
## Acceptance criteria (from the plan, each testable)
## Start from files to change or create, and two or three existing files to follow as examples
## Facts what you or the explorers established, with path:line
## Contract for a part that depends on another: that part's report path and its Contract section
## Checks to run the project commands that cover this part
## Out of scopeGather missing facts with devflow:explorer before writing the brief, not inside it.
4. Build
Dispatch each brief to the implementer for its layer: devflow:implementer-be, devflow:implementer-fe, or devflow:implementer for anything else. Pass the brief's path, and the part's model as the Agent tool's model (sonnet or opus), always: it overrides the implementer's own model: opus, which applies only when none is passed.
Work small enough to finish without reading more code (a few lines in one file you already know) you build yourself instead: invoke the code-rules skill (and fe-rules / be-rules for its layer), follow implementer.md, tick its tasks in the plan and write its report the same way.
When a report comes back:
DONE: check that every task of its parts is ticked inplan.md, that its acceptance criteria are each backed by a test or a check, and that itsContractmatches what dependent parts expect. A task left unticked without a reason in the report makes itPARTIAL. Then continue.BLOCKED: answer the question from the plan or the project when they settle it; otherwise ask the developer. Re-dispatch the part with the answer added to its brief.PARTIAL: re-dispatch with the report, so the implementer continues where it stopped.- A Sonnet run that comes back
PARTIAL, orBLOCKEDon something the brief, plan or project already answers: re-dispatch it on Opus, and set the part'smodeltoopusinstate.json. A real open decision, once answered, stays on Sonnet. - No report file, or no
Status:line in it: treat it asPARTIAL.
Re-dispatch a part at most twice for the same reason. After that, mark it blocked in state.json and bring it to the developer with what is missing.
After each part, re-check the tier (tiers.md): a change that grows past the plan, touches a risk path, or turns up an open decision is raised out loud before the next part starts.
Done when every part's report says DONE.
5. Integrate
Only when more than one implementer run built the change; a single run has already run its checks, and the review runs them again. Run the project checks over the whole change. When parts meet (a page calling a new endpoint, a job using a new service), confirm they fit: types, names, payloads, error handling on both sides. Fix gaps through the part that owns them.
6. Review
Unless --no-review was given, invoke the review skill with <base> --task <slug> --depth <the plan's review depth>, base from state.json. It verifies the change, fixes what is obvious and brings the rest to the developer.
When the task changed no code at all (only a report, notes or data), there is nothing for the review to verify: say so in one line, add review to skipped in state.json, and go on. --no-review is recorded the same way.
7. Hand off
When the run skill called you, hand back to it. Otherwise the task still needs its summary and finish: invoke the run skill with --resume <slug>, which continues from the state you left.
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.

