A correction or standing ruling from the user — a rebuke of a working habit, "make this a rule", "always do X", "never do Y again". Mint the statute BEFORE giving the substantive reply. Also to review or amend standing law. Skip for one-off task instructions that don't outlive the turn.
Scanned 9/19/2026
Install to Claude Code
npx -y skills add debabsah/superstack --skill superstack-doctrine --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Superstack Doctrine?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/debabsah-superstack-doctrine)More formats (shields.io, HTML) on the badges page.
---
name: superstack-doctrine
description: A correction or standing ruling from the user — a rebuke of a working habit, "make this a rule", "always do X", "never do Y again". Mint the statute BEFORE giving the substantive reply. Also to review or amend standing law. Skip for one-off task instructions that don't outlive the turn.
---
# superstack-doctrine
Corrections become standing law, and the law gets surfaced where habits can't be trusted to remember it. Statutes live in two books, both surfaced by the session-start hook every session: the project's (`.superstack/doctrine.md`) and the owner's personal rule book (`${CLAUDE_CONFIG_DIR:-~/.claude}/superstack-doctrine.md`), which binds in every workspace (D-49).
**Scope at minting — this project, or everywhere?** A correction about how the owner is spoken to or how their preferences are honored is personal; one about this codebase's conduct is the project's. When the correction's own words don't settle it, ask, one line. Personal statutes append to the personal book, same grammar, same `# doctrine` header on first use. Where the two books collide inside a project, the project's statute outranks the personal one.
## Minting (write-ahead)
The moment a correction or ruling lands, **write the statute before composing your substantive reply** — the reply comes second. Append to `.superstack/doctrine.md`:
```
## <YYYY-MM-DD> — <short imperative title>
> verbatim: "<the user's own words, quoted exactly>"
scope: <when this binds — the action class, not "always">
supersedes: <#none, or the dated title it replaces>
reopens-if: <the condition that would re-open this, or "none foreseen">
```
Announce the mint in one line ("statute added: <title>"). Create the file with a `# doctrine` header on first use.
## The rules of the law
- **Append-only.** Never edit or delete a statute. To change one, add a new statute citing what it supersedes — the history is the point.
- **Scope is an action class** (publishing, option menus, commit style), never "always" — an unscoped law can't be checked and won't fire.
- **A ruling without a reopen condition drifts toward dogma.** Every statute carries `reopens-if` — the observation that would make it worth re-examining; "none foreseen" is legal and honest, a blank is neither.
- **Statutes bind until the owner lifts them.** When acting inside a statute's scope, comply or escalate to the user — never silently override. A user instruction that contradicts a statute is an escalation moment: name the conflict, let them rule (that ruling is usually the next statute).
- **Mint on corrections, not preferences you infer.** A statute needs the user's words; if you only suspect a standing preference, ask — the answer is the quote.
- **Prune what never fires.** If a statute's scope hasn't occurred for months, propose retiring it at a `superstack-ship` overlay compaction — with the user, not unilaterally.
## Boundary with the overlay
Gotchas (trap → cause → rule, discovered by work) go to `.superstack/project.md` per the method's overlay protocol. Doctrine holds *the user's rulings* — the things a future session must not relitigate. When one event yields both, write both and cross-reference.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!