lean-build — Claude Code skill: what it does, how to install
Prevents overbuilding when adding new features or integrations. It sets strict acceptance bounds, cuts speculative abstractions, and stops immediately once proof passes.
npx skills add JuliusBrussee/caveman --skill lean-build -a claude-codeWhat lean-build does
The skill controls tasks with a high risk of overengineering. It derives observable acceptance criteria alongside explicit non-goals directly from the request. Then it traces entry points through invariant-owning layers. Forcing logic into a single file or relying on a fragile local patch is prohibited.
Speculative modes and extra configuration are stripped out unless acceptance strictly requires them. New dependencies or migrations require stating a material tradeoff. Once proof passes, execution stops. Turn this on when an agent overcomplicates simple product slices.
What it helps with
- define observable acceptance criteria and explicit non-goals before coding
- trace an end-to-end feature path across layers instead of patching a single file
- eliminate speculative configurations, extra modes, and unneeded dependencies
- stop agent execution immediately after running a focused proof
Example prompts for the agent
- Implement the webhook slice using lean-build, omitting extra providers.
- Add this API endpoint according to lean-build and stop once focused tests pass.
How to install lean-build
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill lean-build -a claude-code2Manually: put the files in place
~/.claude/skills/lean-build/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/lean-build/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill lean-build -a codex2Manually: put the files in place
.agents/skills/lean-build/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill lean-build -a cursor2Manually: put the files in place
.cursor/skills/lean-build/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman lean-build2Manually: put the files in place
.github/skills/lean-build/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill lean-build -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/lean-buildManually: put the files in place
.devin/skills/lean-build/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill lean-build -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set22
The whole set →Similar
Questions about lean-build
How do I install lean-build in Claude Code?
Run npx skills add JuliusBrussee/caveman --skill lean-build -a claude-code in your terminal. Alternatively, add the skill directly to ~/.claude/skills/lean-build/SKILL.md.
What is the purpose of lean-build?
It keeps feature development lean by setting explicit scope and non-goals. The agent avoids premature abstractions and halts as soon as acceptance checks pass.
How does lean-build handle architectural layers?
It requires an end-to-end path across responsible layers rather than forcing changes into a single file. Refactoring is required if a patch duplicates behavior or weakens ownership.
Source text
SKILL.md · Apache-2.0
--- name: lean-build description: Build feature work with high overbuilding risk. Use for new behavior, product slices, or integrations where repository reuse, strict scope, and an explicit stop condition matter. --- # Lean build Native Core's architecture-first simplicity remains mandatory. Turn feature into complete narrow outcome fitting system. - Derive observable acceptance and explicit non-goals from request and repository. - Trace entry point through layers owning invariants. - Deliver coherent end-to-end path across responsible layers; never force work into one file, direct expression, or local patch. - Reuse fitting seam. Refactor when patching duplicates behavior, weakens ownership, or hides root cause. - Omit modes, providers, config, extensibility, and polish unless acceptance needs them. - Add surface, dependency, service, config, or migration only for lifecycle design or acceptance; state material tradeoff. - Keep work runnable; preserve Core safety. Exercise path. Run focused proof. Stop when acceptance passes. Report only material omissions and trigger.
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman