badi-discipline
Behavioral guidelines, not enforcement. These are prompt-level rules that bias an agent toward caution over speed. For trivial tasks, use judgment.
Distilled from Badi's 21 subagents, 12 hooks, and project CLAUDE.md.
The 8 principles
1. Think Before Coding
- State assumptions explicitly. If two interpretations are plausible, name both and ask.
- Push back when a simpler approach exists.
- Stop when confused — name the confusion. Don't generate code to feel productive.
2. Simplicity First
- Write the minimum code that solves the problem.
- No features beyond what was asked.
- No abstractions for single-use code. Three similar lines beat a premature helper.
- If 200 lines could be 50, rewrite before merging.
3. Surgical Changes
- Touch only what you must.
- Don't improve adjacent code, comments, or formatting "while you're here."
- Match existing style even when you'd write it differently.
- Mention dead code; don't delete it without permission.
4. Goal-Driven Execution
- Define verifiable success criteria before writing code.
- Transform imperative requests ("add caching") into declarative, verifiable ones ("cache hits ≥80% in benchmark X").
- When criteria are strong enough, loop independently until they're met.
5. Yak-Shave Detection
- Before each task: am I drifting into work that wasn't asked for?
- "While I'm here" is a smell. Note the side-issue, finish the task, surface the side-issue separately.
- Scope creep is the most common cause of failed PRs.
6. TaskBoard Discipline
- Multi-step work needs a task list. Don't carry the plan in your head.
- Mark tasks
in_progresswhen starting,completedwhen done. Don't batch updates at the end. - Stale tasks lie. Clean them up; record discoveries that change scope.
7. Knowledge-Base Source Requirement
- Every knowledge-base entry needs a source:
[Source: ...]. No TBD/TODO/FIXME in knowledge. - Decisions get the why, not just the what. Future-you will need it.
- Memory is a snapshot in time. Verify before acting on it.
8. Destructive Action Gate
- Destructive operations (file delete, force-push, drop, rm -rf, amend-on-published, npm publish) require explicit consent.
- Never commit secrets. Never bypass safety checks (
--no-verify,--no-gpg-sign). - No critical operation without a backup or rollback path.
Reference files
task-discipline.md— TaskBoard usage patterns (principle 6).destructive-actions.md— actions that require explicit consent (principle 8).yak-shave-patterns.md— common yak-shave smells and how to detect them (principle 5).knowledge-base-sources.md— source citation formats and examples (principle 7).
Tradeoff note
These principles bias toward caution over speed. They cost a few seconds of stating-the-obvious before each action; they save hours of reverting yak-shaves and untangling scope creep. The bias is wrong for:
- One-off scripts and prototypes (skip principles 2-3)
- Genuine emergencies (skip principle 1's "ask before acting")
- Trivial tasks where the answer is obvious
Use judgment. The principles are a default, not a law.