build
Skill2 starsChanged 11 months agoMITView on GitHub
Use when you have an implementation plan ready to execute. Routes each plan lane inline (main session) or to one Sonnet builder, overlaps independent lanes, and joins with one full-suite gate. Opt-in per-lane review (single Sonnet task-reviewer, two verdicts) for high-risk work.
We split this skill into the rules it gives an agent
17 rules. 0 are common, 11 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 133 edited versions we read keep these.
11
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
- Distinctive: line 22
Read the plan file at $ARGUMENTS
- Distinctive: line 24
If concerns: raise them before starting
- Very specific: line 25
Read the plan's Lanes table (| Lane | Owns files | Tasks | After | Executor | Effort |).
- Distinctive: line 37
Start from the plan's Executor hint, then override:
- Distinctive: line 41
If a lane's route isn't obvious, ask the user.
- Very specific: line 66
If git reports index.lock, wait a moment and retry once.
- Distinctive: line 82
Read the task's Decision and Test assertions from the plan.
- Distinctive: line 83
Write the test from the assertions and run it — it must fail for the reason the task names (RED).
- Very specific: line 85
Commit by pathspec: git add <new files>, then git commit -m "<message>" -- <this task's files>.
- Very specific: line 94
Start every lane whose After lanes have all finished — Step 3 for a builder lane, Step 4 for an inline lane.
- Distinctive: line 98
Every builder lane ends with a completion notification — the Agent call returning only meant the builder started.
- Distinctive: line 99
run the full gate,
- Very specific: line 100
start a lane that lists it in After,
- Very specific: line 108
When every lane has finished — with --reviewed, once every lane's review has passed (Step 6) — run the project's full test suite plus its …
- Distinctive: line 133
🟡 Important / 🟢 Minor only: do NOT loop. Carry them into the completion report (Step 7) so the user decides.
- Distinctive: line 139
After the full gate is green:
- Distinctive: line 168
If you catch yourself thinking any of these, STOP:
“Common” is measured: kept by at least 6 in 10 of the 133 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
Build
Execute an implementation plan lane by lane: mechanical lanes inline, real logic with one builder per lane, independent lanes side by side.
Announce: "Using build to execute this plan."
The Iron Law
NO TASK COMPLETE WITHOUT ITS TEST PASSING
NO BUILD COMPLETE WITHOUT THE FULL SUITE GREEN AT THE JOINStep 1: Load and Review Plan
- Read the plan file at $ARGUMENTS
- Review critically — identify concerns or questions
- If concerns: raise them before starting
- Read the plan's Lanes table (
| Lane | Owns files | Tasks | After | Executor | Effort |). No Lanes table (a legacy plan) → treat the whole plan as one sequential lane and route it in Step 2 like any other. - Parse flags from $ARGUMENTS:
--inline/--delegate(Step 2),--reviewed(Step 6),--checkpoint(human wait after each lane; off by default). Legacy forms:--checkpoint=Nmeans--checkpoint;--checkpoint=0and--no-checkpointmean no pauses, the default.
Step 2: Route Lanes
Each lane runs one of two ways:
| Executor | Who runs it | Use for |
inline | The main session, task by task | Mechanical lanes: content edits, exact text given, ≤3 tasks |
builder | One Sonnet builder for the whole lane | Real logic, unfamiliar code, judgment calls |
Start from the plan's Executor hint, then override:
- →
builderwhen the lane holds real application logic (functions, classes, control flow) or a design question the plan left open. - →
inlinewhen the lane is only a few exact-text edits. A builder spawn costs ~25k tokens and 30–90 s before it writes a line. --inlineruns every lane inline;--delegategives every lane a builder.- If a lane's route isn't obvious, ask the user.
Overlap: lanes with no After path between them run at the same time — builder lanes in the background while the main session works the inline lanes. A lane with After starts only when every lane it names has finished (Step 5).
No overlap with stashing commit hooks: if the project's commit hooks stash unstaged changes, run lanes one at a time. Check for the pre-commit framework (.pre-commit-config.yaml) and lint-staged — .lintstagedrc*, lint-staged.config.*, a lint-staged key in package.json, or a .husky/ hook that runs it. A pathspec commit leaves every other lane's in-flight edits unstaged, and the hook would stash them out from under that lane.
Announce the routing before executing:
lanes: 4 (inline 3 · builder 1)
plan-format inline tasks 1–2
hook-cleanup builder (medium) tasks 6–8 ← background
...Step 3: Spawn Builder Lanes
For each builder lane that is ready (its After lanes are done), spawn one builder — subagent type turbocharge:builder — with:
effortset on the Agent call from the lane's Effort column (defaultmedium). The per-spawn value overrides the agent definition.- Plan file path, lane name, and its task line ranges — do NOT paste plan content; the builder reads the file directly
- Working directory
- Prefix:
@CLAUDE.md(conventions) — or@AGENTS.mdif the project has no CLAUDE.md..claude/CLAUDE.mdcounts as a CLAUDE.md: if the project keeps it there, use@.claude/CLAUDE.md. Do NOT inject@ATLAS.md— builders read the spec and diff, not the navigation index. - Lane rules, stated in the prompt:
- Touch only the lane's files. Never stage, stash, reset, or check out anything else.
- Per task: RED → GREEN on that task's own test. Do NOT run the full suite — other lanes are mid-edit, so it would see their half-written files.
- Commit per task, scoped to the task:
git add <new files>(a pathspec commit can't take untracked files), thengit commit -m "<message>" -- <this task's files>— the paths the task created, changed, deleted, or renamed. Don't pass the whole lane: a lane path that doesn't exist yet makes the commit fail. Nevergit commit -aorgit add -A. - If git reports
index.lock, wait a moment and retry once. - Report per task: commit SHA and test result.
Dispatch each builder without a name parameter. A named Agent spawn joins the session's implicit team as a teammate when Agent Teams are enabled; lane builders must stay plain subagents. Note each builder's agent ID against its lane — with no name, SendMessage fix rounds (Steps 5c and 6) address it by agent ID.
With --reviewed, record the lane's BEFORE_SHA first (Step 6), before spawning its builder.
Builders run in the background (Claude Code 2.1.198+): the Agent call returns as soon as the builder starts. Do not wait here — go to Step 4.
Builder isolation (design decision): the builder agent intentionally does NOT set
isolation: worktree. A worktree branches from the default branch, not the parent session's HEAD, and is auto-cleaned only when no changes are made — which would break the$BEFORE_SHA..HEADdiff model in Step 6 (the reviewer would diff the wrong base) and leave a populated worktree for ship/cleanup to manage. Lanes share one tree and stay apart by owning disjoint files and committing by pathspec.
If a builder blocks on unclear context, dispatch the researcher with @ATLAS.md @CLAUDE.md prefixed — or @ATLAS.md @AGENTS.md if the project has no CLAUDE.md. .claude/CLAUDE.md counts as a CLAUDE.md: if the project keeps it there, use @.claude/CLAUDE.md. Subagents do not inherit parent history — @ATLAS.md must ride on the dispatch prompt itself.
Step 4: Run Inline Lanes
While builder lanes run, the main session works through the inline lanes, task by task. With --reviewed, record the lane's BEFORE_SHA first (Step 6), before its first task.
- Read the task's Decision and Test assertions from the plan. Its line ranges are plan-time hints: if an earlier task in the lane shifted the code, find it by content.
- Write the test from the assertions and run it — it must fail for the reason the task names (RED).
- Implement the Decision. Run the test — GREEN.
- Commit by pathspec:
git add <new files>, thengit commit -m "<message>" -- <this task's files>.
Inline lanes follow the same lane rules: only the lane's files, no full suite while builder lanes are in flight.
Step 5: Join
After every lane finishes — an inline lane's last commit, or a builder lane's completion notification:
- Report one line:
lane <name> ✓ · tasks a–b · commits N. - With
--checkpoint, stop and wait for human approval before starting anything new. - Start every lane whose
Afterlanes have all finished — Step 3 for a builder lane, Step 4 for an inline lane.
5a. Wait for the Completion Notifications
Every builder lane ends with a completion notification — the Agent call returning only meant the builder started. Until a lane's notification arrives, do NOT:
- run the full gate,
- start a lane that lists it in
After, - dispatch a task-reviewer for it (Step 6), or
- mark the build complete.
The same holds for every researcher, task-reviewer, and SendMessage resume: act on a subagent's result only after its completion notification arrives.
5b. Full Gate, once
When every lane has finished — with --reviewed, once every lane's review has passed (Step 6) — run the project's full test suite plus its validators (lint, type-check, project validation scripts) once, on the joined tree.
5c. Fix Rounds
Route each failure to the lane that owns the failing file:
- Inline lane: fix it in the main session, commit by pathspec.
- Builder lane: resume that lane's builder with
SendMessage— send only the failing output. Its context and prompt cache are intact, so it skips the cold start a new spawn would pay. Wait for its completion notification.
Then rerun the full gate. Max 2 rounds per lane — then stop and escalate, or switch to /turbocharge:debug when the cause isn't obvious.
Step 6: Reviewed Mode (--reviewed)
For security-sensitive code, unfamiliar codebases, or complex integrations. Reviews run per lane, not per task:
- Before the lane starts — before spawning its builder or starting its first inline task — record
BEFORE_SHA=$(git rev-parse HEAD)for that lane. - After the lane finishes and its builder's completion notification has arrived, dispatch one task-reviewer (Sonnet) with:
- Plan file path + the lane's task line ranges (the reviewer reads the plan directly — do NOT paste requirements)
- The lane's diff:
git diff $BEFORE_SHA..HEAD -- <lane paths>. Lanes own disjoint files, so the pathspec isolates this lane even though other lanes' commits interleave in the range. - Working directory. Do NOT send the builder's narrative report — the reviewer reads the diff, not claims.
- Then wait for its completion notification and apply the disposition.
The reviewer returns two verdicts: Spec: ✅ / ❌ and Quality: Approved / Issues found / N/A (N/A when Spec is ❌ — quality isn't assessed on code that will be rewritten).
Disposition:
- Spec ❌, or Quality has any 🔴 Critical: fix only those items — builder lane:
SendMessagethe lane's builder; inline lane: fix in the main session. ThenSendMessagethe same task-reviewer to re-review the new diff. Max 2 cycles — escalate to the user if still failing. - 🟡 Important / 🟢 Minor only: do NOT loop. Carry them into the completion report (Step 7) so the user decides.
A reviewed lane is complete only after Spec ✅ with no unresolved 🔴 Critical.
Step 7: Complete
After the full gate is green:
- Report a completion summary, including any carried 🟡/🟢 review findings
- Print the final visibility line:
lanes: L (inline I · builder B) · spawns: S · tasks: Y/Y - Offer: "Ready for holistic code review?" → chains to
/turbocharge:review
Visibility note: the orchestrator cannot read exact token counts. This line is the lane/spawn/task summary (the measurable proxy), NOT a fabricated token number.
Red Flags — STOP
Process Violations
| Flag | Problem |
| Skipping plan review | Missed concerns |
| Skipping builder self-review | Builder has a checklist — use it |
| Spawning a builder for a tiny exact-text lane | ~25k tokens and 30–90 s of cold start to type what the plan already decided — run it inline |
| Running the full suite while builder lanes are in flight | It sees other lanes' half-written files and fails for nothing — run it once at the join |
Unscoped git commit, git commit -a, or git add -A during overlap | Sweeps another lane's files into your commit — always git commit -m … -- <this task's files> |
Overlapping lanes that share a file or an After dependency | Two writers on one file, or a lane built on unfinished work |
Overlapping lanes in a repo whose commit hooks stash (.pre-commit-config.yaml; lint-staged via .lintstagedrc*, package.json, .husky/) | The hook stashes other lanes' in-flight edits mid-write — run lanes one at a time |
| Spawning a new builder for a fix round | The lane's builder still has its context and a warm cache — resume it with SendMessage |
| Skipping Reviewed mode for security-sensitive code | Save tokens, lose safety |
| Using Reviewed mode for trivial lanes | Wastes tokens on mechanical checks |
| Guessing through blockers | Should stop and ask |
With --checkpoint, continuing past a lane without approval | The user asked to steer between lanes |
| Fix or review loop >2 cycles | Escalate to user, don't keep retrying |
| Full gate, dependent lane, or reviewer started before a builder's completion notification | Subagents run in the background — the Agent call returning is not the lane finishing. The gate tests a half-written tree; the reviewer diffs a half-written lane |
Rationalizations That Mean You're Wrong
If you catch yourself thinking any of these, STOP:
| Thought | Why It's Wrong |
| "Self-review is enough for this security-sensitive task" | Security tasks need Reviewed mode — self-review misses attack vectors |
| "A builder is safer for this two-line edit" | The plan already made the decision; inline is the same discipline without the spawn |
| "I'll run the full suite now, just to be safe" | Mid-overlap it tests a half-written tree. Targeted tests now, the full gate once at the join |
| "The full gate is overkill for this change" | The 1-line change that broke 47 tests says otherwise |
"git commit -a is quicker" | It commits another lane's half-done work under your message |
| "I'll verify it works manually" | Manual verification is not verification |
| "I can skip domain verification, the task description is clear" | Clear descriptions still use wrong entity names half the time |
Workflow Position
plan → build → review → shipOther versions146 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- nicodiansk/turboflow★ 222% same
Wrote their own version · 145
- FalkorDB/FalkorDB★ 11ksame name
- microsoft/microsoft-ui-xaml★ 8.6ksame name
- NexaAI/nexa-sdk★ 8.5ksame name
- hathach/tinyusb★ 7.2ksame name
- parcadei/Continuous-Claude★ 3.9ksame name
- parcadei/Continuous-Claude-v2★ 3.9ksame name
- parcadei/Continuous-Claude-v3★ 3.9ksame name
- pytorch/TensorRT★ 3ksame name
- oxsecurity/megalinter★ 2.6ksame name
- iPlug2/iPlug2★ 2.4ksame name
135 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.
Used alongsideProjects with it also use backprop, finances and 9 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.
JuliusBrusseeSkillbackprop
Bug → spec protocol. When a bug is found or a test fails, trace the cause, decide whether a new §V invariant would catch recurrence, append to §B. This is the one non-obvious thing SDD does that plan-then-execute doesn't. Triggers on test failure, bug report, post-mortem, or explicit user ask.
Also in 4 projects that use this
GerardoRdz96Skillfinances
Use when Gera talks about his money — logging an expense ("I spent X on Y"), checking where he stands this pay-period, closing a period, planning debt payoff, onboarding his financial picture, or asking for budgeting/finance opinions. Servy's financial brain. Triggers — "I spent", "log this expense", "where am I this period", "close the period", "how's my budget", "debt plan", "should I pay off", "finances onboard", "/finances".
Also in 3 projects that use this
cpiprintSkillfavicon
Generate favicons from a source image
Also in 3 projects that use this
madeehahassanSkillGo-Live
Pre-launch checklist. Use before making any app public, sharing a link externally, or announcing a product launch. Adapts to Claude Code, claude.ai, and Cowork.
Also in 3 projects that use this
TrevokeSkilldefine
Use when a new feature request, bug report, or work request needs requirements defined before implementation
Also in 3 projects that use this
JuliusBrusseeSkilldeepen
Optional design-improvement pass for when you have spare usage to drain. Finds the shallowest modules in the code the spec touches, researches a deeper design, and proposes refactors that shrink interfaces and hide decisions — behavior held constant, tests green before and after. Proposes §I/§V/§T edits, never silent rewrites. Triggers when the user says "deepen this", "improve the design", "this module feels shallow", "pull complexity down", "use spare budget on the codebase", or invokes /ck:deepen. Leans on the codebase-design skill's deep-module vocabulary when present.
Also in 3 projects that use this
In this repository10 other files it gives its agents.
- .claude/CLAUDE.mdCLAUDE.md
- atlasSkill
- brainstormSkill
- debugSkill
- planSkill
- reviewSkill
- setupSkill
- shipSkill
- storySkill
- wrapSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

