name: plan-audit
description: Runs after a plan exists and before any edit. Forces the model to decompose every aspect of the plan and pass each one through fixed criteria, then return a verdict. Use when reviewing a plan for a change before implementing it.
Plan Audit
What it's for
Sits between planning and editing. Decompose the plan into every aspect and stress each one under fixed criteria. Surface problems before touching the code.
Method
- Decompose the plan into aspects. One aspect = one atomic change touching a single point.
- Pass each aspect, in order, through criteria 1 to 11.
- One failed criterion on one aspect = the plan is not perfect.
- Empty plan, or no plan at all, is not a pass.
Criteria
- Cause vs symptom — fixing the root cause or only the visible symptom?
- Completeness — does every aspect have a cause and an action?
- Internal coherence — do two aspects contradict each other?
- Dependencies — is the order correct? Anything depending on work not yet done?
- Edge cases — empty, null, double, extreme, concurrent inputs covered?
- Side effects — what breaks elsewhere when this aspect is touched?
- Ambiguity / assumptions — unstated assumptions that can collapse?
- Verifiability — does every change have an observable test (input → expected output)?
- Scope / YAGNI — more than needed? Touches unrelated things?
- Reversibility — if it fails, can it be rolled back without damage?
- Simplicity & readability — is the resulting code simple and readable?
Output
No operational output. Only the verdict:
PLAN PERFECT — every aspect passes every criterion.
NEEDS CHANGES — one line per failed aspect: - #<criterion> <name> — <reason>.
Rules
- Never say "looks fine" without running the full decomposition.
- One aspect at a time. No skipping.
- The verdict is the answer. No prose around it.