Agent skill
plan-review
Review architectural plans for regression risk, unnecessary complexity, and over-engineering
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/plan-review
SKILL.md
Plan Review
Structured framework for reviewing architectural plans before implementation begins. Catches regressions, unnecessary complexity, and over-engineering at design time — before code is written.
Phase 1: RECALL Context Loading
Before reviewing the plan, load relevant context:
recall_search({query: "[affected domain areas]", types: ["failure", "pattern"]})
recall_search({query: "[affected domain areas]", types: ["decision", "context"]})
Apply retrieval-judge to filter results. Cross-reference plan changes against past failures and existing decisions.
Phase 2: Regression Risk Assessment
Evaluate each change area for regression risk:
| Factor | Question |
|---|---|
| Blast radius | What depends on this? How many callers/consumers are affected? |
| Past failures | Has RECALL surfaced failures in this area? |
| Test coverage | Are the affected areas well-tested? What gaps exist? |
| Rollback strategy | Does the plan describe how to undo changes if they fail? |
Categorize each change:
- Data layer — Schema changes, migrations, storage format changes
- API/Interfaces — Public API changes, interface modifications, protocol changes
- Dependencies — New or upgraded dependencies, version changes
- Configuration — New config keys, environment variables, feature flags
- Business logic — Rule changes, workflow modifications, state machine changes
Flag any change area with past failures and no explicit mitigation in the plan.
Phase 3: Complexity Assessment
Flag these red patterns:
- New abstraction for single use case — Adding a layer (interface, wrapper, factory) that has exactly one implementation and no stated plan for a second
- Novel patterns when existing ones work — Introducing a new approach (e.g., event sourcing) when the project already has a working pattern for the same problem
- Premature optimization — Performance-motivated changes without profiling data or benchmarks showing a problem
- Multiple new technologies — Adding new languages, frameworks, or infrastructure when the existing stack can handle the requirement
For each flagged item, classify as:
- Justified — The plan explains why the complexity is necessary and the simpler alternative won't work
- Questioned — The complexity may be warranted but the plan doesn't justify it
Phase 4: Over-Engineering Detection (YAGNI)
Check for these signals:
- Future-driven design — Is a feature or abstraction motivated by "we might need this later" rather than a current requirement?
- Missing scope boundary — Does the plan state what is explicitly OUT of scope?
- File ratio — Count new files vs modified files. A high ratio of new files suggests new abstractions rather than extending existing code.
- Dependency count — How many new dependencies does the plan introduce? Each is a maintenance burden.
- Configuration surface — Does the plan add configurability that no current user needs?
Phase 5: Structured Output
Present findings in this format:
Risk Summary
Critical/High risks:
- [Risk]: [What could go wrong] → [Suggested mitigation]
Medium risks:
- [Risk]: [What could go wrong] → [Suggested mitigation]
Complexity Assessment
| Item | Classification | Notes |
|---|---|---|
| [change] | Justified / Questioned | [why] |
YAGNI Violations
- [Item]: [Why it appears to be over-engineering]
Missing Elements
- Test strategy for affected areas
- Rollback plan
- Migration path (if applicable)
- Performance impact assessment (if applicable)
Verdict
One of:
- Approved — No significant concerns. Proceed to implementation.
- Approved with Conditions — Proceed, but address [specific items] before or during implementation.
- Revise — Significant concerns that should be addressed before implementation begins. [List specific concerns.]
Phase 6: Post-Review
Log findings to the flight recorder:
flight_recorder_log({
type: "observation",
content: "Plan review: [Approved|Approved with Conditions|Revise] — [1-line summary]",
metadata: {
critical_risks: N,
high_risks: N,
yagni_violations: N,
verdict: "[verdict]"
}
})
Didn't find tool you were looking for?