
build
Plan-then-execute implementation against SPEC.md. Native single-thread loop, no sub-agents. On test or build failure, auto-invokes the backprop skill before retrying — a failed verification always considers whether a new §V invariant would prevent recurrence. Triggers when the user asks to build, implement, execute the spec, or tackle a specific §T task (build §T.3, build --next, implement next task, run the build). Expects SPEC.md to exist; if not, defers to the spec skill.
- Installs
- 2.7K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/juliusbrussee/cavekit --skill build- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads build automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
build — implement spec
Single-thread native plan→execute. You are main Claude. No swarm.
LOAD
- Read
SPEC.md. If missing → tell user to invoke the spec skill first. Stop. - Read
FORMAT.mdonce if not loaded. - Read §R if present — external facts the build must honor, ⊥ re-derive or contradict.
- Parse invocation args:
§T.n→ that task only--next→ lowest-numbered row with status.or~--allor empty → every.row in §T order
High blast radius (shared module, auth, data, money, public §I)? Run /review first. Trivial & reversible? Skip planning ceremony, just do step EXECUTE.
PLAN
Native plan mode — you delegate to it, you do not reinvent task breakdown. For chosen task(s):
- Cite every §V invariant that applies. Plan must respect all.
- Cite every §I interface touched. Plan must preserve shape.
- List files to create / edit.
- Verification contract — name the EXACT test(s) / acceptance criteria that prove each §V touched. Which test, not "add tests". "Do TDD" alone backfires; the spec says what to check. Each §V touched → a named test that fails first.
- Name verification command (test, build, lint) — this is the external oracle. Green = done; ⊥ "looks done".
Show plan. Wait for user OK unless auto mode.
EXECUTE
Per task in order:
- Flip §T.n status cell
.→~. Just write to SPEC.md. - Edit code per plan.
- Run verification command.
- Pass → flip
~→x. Next task. - Fail → invoke backprop skill. Do NOT retry blindly.
FAIL → BACKPROP
On test/build failure:
- Read failure output.
- Ask: is failure (a) my code bug, (b) spec wrong, or (c) unspecified edge case?
- If (a) → fix code, re-run. No spec change.
- If (b) or (c) → invoke spec skill with
bug: <cause>first, let it update §V and §B, then resume build against updated spec.
Rule: never silently fix root-cause without considering backprop. §B is the memory that stops recurrence.
WRITE POLICY
- Only flip §T status. No other SPEC.md edits from build.
- Other spec edits → invoke spec skill.
- Commit after each §T completes. Message:
T<n>: <goal line>+ §V cites.
VERIFICATION
Task x only if:
- Verification command (the oracle) exits 0.
- Every §V touched has its named test from the verification contract, and it passes.
- No §V invariant regressed (run full test suite at end).
NON-GOALS
- No sub-agents. No parallel workers. Main thread only.
- No progress dashboards.
cat SPEC.md | grep §Tis the dashboard. - No speculative work beyond chosen task scope.
FAQ
What does the build skill do?
Plan-then-execute implementation against SPEC.md. Native single-thread loop, no sub-agents. On test or build failure, auto-invokes the backprop skill before retrying — a failed verification always considers whether a new §V invariant would prevent recurrence. Triggers when the user asks to build, implement, execute the spec, or tackle a specific §T task (build §T.3, build --next, implement next task, run the build). Expects SPEC.md to exist; if not, defers to the spec skill.
How do I install build?
Run npx skills add https://github.com/juliusbrussee/cavekit --skill build in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/build/ (personal) or .claude/skills/build/ (project).
Which AI agents can use build?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is build safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains build?
It is published by juliusbrussee in juliusbrussee/cavekit. It has 2,707 recorded installs.
More from juliusbrussee/cavekit
caveman
juliusbrussee/cavekit
Caveman encoding for SPEC.md and spec-adjacent writes. Loaded by /spec, /build, /check. Cuts tokens 75% vs prose while staying precise. Triggers on any write to SPEC.md or when user says "caveman", "compress this", "be brief".
spec
juliusbrussee/cavekit
Create, amend, or backprop bugs into SPEC.md at repo root. Sole mutator of the project spec. Triggers when the user asks to write a spec, start a new spec, distill a spec from existing code, add invariants, amend sections (§G, §C, §I, §V, §T, §B), or record a bug via backprop. Common phrasings: "write the spec for...", "new spec", "bug: ...", "amend §V.3", "distill spec from code", "spec this idea". Reads and follows FORMAT.md for the caveman encoding rules and pipe-table shape of §T and §B.
check
juliusbrussee/cavekit
Read-only drift detector. Diffs SPEC.md against current code and reports violations grouped by severity. Writes nothing — suggests remedies via the spec or build skills but never invokes them. Triggers when the user asks to check drift, audit the spec, verify invariants, or ask whether code still matches the spec. Phrasings: "check drift", "audit the spec", "does the code still match §V", "check invariants", "spec vs code".
backprop
juliusbrussee/cavekit
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.
grill
juliusbrussee/cavekit
Calibrated interrogation of a fuzzy idea before it becomes a spec. Asks one question at a time, recommends an answer, and lands each answer in §G (goal) or §C (constraints) — unknowns parked as ? items, never guessed. The cheapest place to kill a bad idea is before §T exists. Triggers when the user has a vague idea, says "grill me", "stress-test this", "challenge my plan", "interview me before I spec", or invokes /ck:grill. Defers the actual write to the spec skill.
review
juliusbrussee/cavekit
Adversarial senior review of the spec before any code is written. Constructs a skeptical reviewer whose authority comes from the codebase, §R research, and live best-practice — then tries to REFUTE the spec, not rubber-stamp it. Every finding cites evidence (file:line or source); unverifiable ones are flagged. Survivors harden §V; the run ends in an explicit go / no-go gate. Triggers before building anything high-blast-radius, when the user says "review the spec", "red-team this", "is this plan sound", "senior review", or invokes /ck:review.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.