/temperance
Pause and think before you code. Asks — am I building the right thing AND building it the right way? Fires before every non-trivial action.
/temperanceType it bare, or paste it with loose context after — Claude figures out the rest.
Sessions dive into edits before the operator asks whether it's the right work or the right shape.
A pause-and-think gate at every scope decision boundary. Six questions before code.
Takes in
- Optional scope decision context
Returns
- Right-thing answer
- Right-way answer
- Drift trigger for future watch
What it does
A pause before you write code. Two questions that every other governance mechanism misses.
Question one — am I building the right thing?
Read the full skill
The complete instructions live at .claude/skills/temperance/SKILL.md in your repo after bassclef-sync. Open with your editor for phases, rules, and worked examples.
Where in the SDLC
Also relevant in: Design, Build.
Why this phase: Pause-and-think gate. Fires at every scope-decision boundary.
Related
- Skills catalog — browse all skills grouped by lifecycle phase
- Tier system — what each tier gives you
FAQ
Terms from bassclef vocabulary that appear on this page.
- temperance
- The pause-and-think gate that fires before any non-trivial work. Two questions — am I building the right thing AND am I building it the right way? Bassclef enforces it with a pre-build hook that BLOCKs edits until a temperance marker exists on the branch. See: /docs/skills/temperance
- hook
- A shell script bassclef wires into Claude Code's tool-invocation lifecycle. Hooks fire at events like PreToolUse (before an Edit lands) or SessionStart (when a session opens). Hooks enforce rules mechanically — a rule says 'don't do X'; a hook fires and BLOCKs if X happens.
- rule
- A markdown file auto-loaded into every session's context. Rules pin discipline the agent applies to every response (plain-English writing, blocked-items protocol, temperance gates). Different from a hook — rules are steering; hooks are enforcement.
- skill
- A user-invocable command (like `/kiss` or `/temperance`) that runs a specific bassclef workflow. Every skill lives at `.claude/skills/<name>/SKILL.md` with frontmatter + procedure. Adopters type the slash command; Claude Code loads the skill and runs it.
- adopter
- A repo that has bassclef installed — either via `bassclef init` (lite tier from npm) or via the symlink pattern (standard tier with an Anthropic key). Bassclef's discipline: never break adopters. Every change to a downstream-observable surface ships with a compat shim.
- bassclef-upstream
- The private repo where bassclef substrate is authored. Ships to a public `bassclef` npm package + a public `bassclef-web` docs site. Adopters read the public tier; the operator maintains upstream.
Shipped by @kingofrock · Read the essays
/state-a-problem
Draft a problem statement for a PR, issue, canvas, or spec. Two sizes: brief (≤500 chars, opener, framework implicit) and para (≤1200 chars, 5-block Who/What/When/Why-now/Outcome template). Runs /kiss --grade8 inline by default.
/value-prop
Draft a value prop for a ticket, goal, or feature. Three sizes: tweet (≤280 chars claim + sharpener), brief (claim + 3 reasons), verbose (full Dunford / Moore positioning). Pick the size that matches your audience attention.