--- name: principle-build-the-lever description: "Apply when a rerunnable script, codemod, generator, or check makes work auditable." license: MIT metadata: author: jstack-maintainers source: michael-denyer/pstack-claude source-version: "0.9.30" source-commit: 45f768349a6d7d7e71509fee3f5bccfad54b3bad owner: software-factory risk: low capabilities: jstack,engineering-principle user-invocable: false --- # 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". **Pattern:** Default to building the lever. Skip it only when the task is trivial, a couple of obvious edits you can see at a glance. - 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. - 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. 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. **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. 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).