principle-build-the-lever ยท diff
git:20260827.f7b391a to git:20260907.b1269d9
6 added, 14 removed. Audit A to A.
---
name: principle-build-the-lever
- description: "Apply to any non-trivial work, not just bulk work: edits, migrations, analyses, checks. Build the tool that does it or proves it (codemod, script, generator, or a skill your subagents follow) instead of working by hand. The tool is the artifact a reviewer can rerun."
+ description: Choose reusable automation when repeated work or deterministic verification justifies a script or codemod.
disable-model-invocation: true
---
- # Build the Lever
- When the work isn't trivial, build the tool that does it instead of doing it by hand.
-
- **Why:** Two payoffs. Throughput: a codemod, generator, or script does the work the same way every time and reruns for free. Confidence: the tool is one artifact a reviewer can read and rerun to check the work. Hand-done changes can only be re-verified by redoing them. A deterministic script turns "trust me" into "run this".
+ # Build the lever
- **Pattern:** Default to building the lever. Skip it only when the task is genuinely trivial, a couple of obvious edits you can see at a glance.
+ Use an existing tool when it performs the requested transformation or check reliably. Build a script or codemod when repetition, error risk, or reproducibility outweighs its implementation and maintenance cost.
- - Do the first unit by hand to learn the recipe, then build the tool. Prove it by rerunning it on that unit and diffing against your hand-done version. Make the lever safe to rerun. A reviewer will.
- - Codemod or script for edits, generator for repetitive files, a dump-to-sqlite query for analysis, a rerunnable check for verification.
- - A deterministic lever beats fan-out. If the tool can process every unit in one pass, run it yourself; don't fan out delegates to hand-apply what a script can do.
- - When you fan work out to subagents, write the lever as a skill they all read: the recipe, the verification contract, and the do-not-touch fences in one artifact, so every delegate inherits the same hardened version instead of re-explaining it per prompt and watching each one drift. Keep it outside the delegates' write scope so they can't quietly edit the contract.
- - Applying this principle produces a file. If you cited it and there is no codemod, script, generator, or delegate skill in the diff, you didn't apply it.
- - Commit the lever when the work outlives the session, so the next run reruns it instead of redoing it.
+ A one-off edit can stay manual. A new file is not evidence of better engineering, and citing this principle does not require creating one.
- **Balance:** The bar is triviality, not repetition. A one-off still earns a lever when the lever is what makes the work checkable. Per the [Laziness Protocol](../principle-laziness-protocol/SKILL.md), build the smallest script that does or proves the job, never a framework.
+ For bulk changes, validate a representative sample before scaling. Prefer a deterministic transformation to agents repeating the same mechanical edit. Keep scripts scoped and safe to rerun.
- Distinct from [Encode Lessons in Structure](../principle-encode-lessons-in-structure/SKILL.md), which makes a recurring instruction a durable guardrail. This is throughput and reviewability on the work in front of you. For scripting the verification itself, see [Prove It Works](../principle-prove-it-works/SKILL.md).
+ Preserve useful tools when the task needs them. Committing or installing them requires the user's authorization.