← ClaudeAtlas

rules-as-mechanismlisted

A rule written in prose is a request; a rule wired into the harness is a guarantee. Use when a standing rule has been broken twice, when session-start context keeps growing, or when the AI must read huge specs before it can safely touch code.
lightarktech/founder-coding-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill lightarktech/founder-coding-skills
Constitutions grow as prose. Every incident becomes a clause, every clause goes into the instructions file, and one day the AI must read an entire wall of rules before writing a line — so it skims, and the rules it skims are the ones it breaks. Anthropic's own docs say it plainly: an instruction like "never edit .env" in an instructions file **is a request, not a guarantee**; a hook that blocks the edit is enforcement. The fix is not writing the rules *better*. It is moving each rule from paper to hardware. ## The conversion table | Standing rule shaped like… | Becomes | |---|---| | "Before touching X, read spec Y" | A **path-scoped rule file** (`.claude/rules/*.md` with `paths:` frontmatter) — loads only when the AI touches matching files, invisible otherwise | | "Never do X without approval" | A **PreToolUse gate** that intercepts the tool call — `ask`, not `deny`, so legitimate work passes with one confirmation | | "Always report X when finished" | A **Stop gate** that checks the final message and bounces it back — capped at once per session so it can never loop | | "The mapping between A and B" | A **routing script** that computes the answer from the source of truth at run time — never a hand-written copy | ## Hard rules - **Rule files route; they never restate.** A summary of a spec is a second source of truth, and it *will* drift. Each rule file holds pointers ("read section 4 of spec Y") plus at most a handful of negative gates ("feature Z was deleted — don't resu