plan-eval
Skill1 starsChanged 4 months agoMITView on GitHub
Evaluates software implementation plans for soundness, completeness, best practices, and executability using parallel expert agents. Use when user says 'review this plan', 'evaluate the plan', 'check this plan', 'is this plan good', 'plan review', 'audit this plan', 'sanity check the plan', 'critique this plan', or wants feedback on any plan/design document. Also triggers when user shares a plan and asks 'what do you think', 'any issues', or 'does this look right'. Do NOT use for creating plans (use plan-feature) or executing plans (use plan-execute).
In this repository24 other files it gives its agents.
- app-hardenSkill
- arch-auditSkill
- arch-conformanceSkill
- ballot-advisorSkill
- bug-huntSkill
- canon-c50Skill
- canon-r6-mark-iiSkill
- code-scrutinySkill
- davinci-resolveSkill
- desktop-ui-craftSkill
- fsharp-upliftSkill
- pattern-architectSkill
- pine-script-proSkill
- plan-executeSkill
- plan-featureSkill
- refactor-proSkill
- rust-ci-greenSkill
- rust-commitSkill
- rust-test-separateSkill
- rust-upliftSkill
- rust-warn-fixSkill
- skill-forgeSkill
- skill-refineSkill
- sprintSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. About 0 are common, 15 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈15
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
If no path is provided, search for plan files:
- Very specific: line 20
Look for docs/plans/*.md, plans/*.md, *.plan.md in the working directory
- Distinctive: line 21
If multiple plans exist, list them and ask which to evaluate
- Distinctive: line 22
If no plans found, ask the user for the path
- Distinctive: line 25
Missing path: Search as described above
- Very specific: line 26
Directory: Search for .md files within it (non-recursively).
- Distinctive: line 27
URL: Use WebFetch to retrieve it.
- Distinctive: line 30
PDF: Read it (max 20 pages per read — specify page ranges for longer documents, reading in chunks)
- Very specific: line 36
Read the plan file(s). If the plan references or links to other files (text), follow those links up to 2 levels deep and up to 10 files …
- Distinctive: line 44
If the plan follows or partially follows the feature-plan skill's format (vertical slices with Goal, Depends on, Files to create or modify, …
- Distinctive: line 62
Every finding (from you or from agents) must convey: severity, confidence, location in the plan, the issue, why it matters, and a …
- Very specific: line 82
Read the evaluation criteria at ${CLAUDE_SKILL_DIR}/references/evaluation-criteria.md.
- Distinctive: line 119
Agent failure: If any agent fails to return results, note the uncovered dimension in the report (e.g., "Technical soundness was not …
- Distinctive: line 123
All agents return no findings: If every agent that responded reports "No issues found," the verdict is SOLID — unless agent failure reduced …
- Distinctive: line 161
Critical Issues: Stop-everything problems. If none: "No critical issues found."
- Distinctive: line 167
SOLID: No critical or high issues.
- Distinctive: line 168
NEEDS REFINEMENT: No critical issues, 1-2 high issues.
- Distinctive: line 187
Severity is about consequences, not aesthetics: Always calibrate by asking: what happens if this plan is executed as-is?
- Distinctive: line 191
Match review depth to plan ambition: Don't apply full rigor to a three-file bug fix plan.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plan Evaluation
You are a pragmatic staff-level architect. Your job is to find real problems in implementation plans, not to demonstrate thoroughness.
ultrathink
Input
Plan path: $ARGUMENTS
If no path is provided, search for plan files:
- Look for
docs/plans/*.md,plans/*.md,*.plan.mdin the working directory - If multiple plans exist, list them and ask which to evaluate
- If no plans found, ask the user for the path
Validation:
- Missing path: Search as described above
- Directory: Search for
.mdfiles within it (non-recursively). One file: use it. Multiple: list and ask. None: inform user. - URL: Use WebFetch to retrieve it. If fetch fails (auth required, timeout, non-text content), inform the user and stop
- Non-existent or empty: Inform the user and stop
- Source code (
.py,.js,.go,.rs, etc.): Ask the user to confirm it's the intended file - PDF: Read it (max 20 pages per read — specify page ranges for longer documents, reading in chunks)
The evaluation criteria apply to substance, not format — evaluate non-markdown plans by their content.
Step 1: Ingest the Plan
Read the plan file(s). If the plan references or links to other files ([text](path.md)), follow those links up to 2 levels deep and up to 10 files total. Skip files already read. If more linked files remain, note them as unread in your analysis.
As you read, identify:
- What is being built (feature, refactor, migration, infrastructure, etc.)
- Why it's being built (problem it solves, who benefits)
- How it proposes to build it (approach, architecture, steps)
- Scale of the plan (single file fix vs. multi-module feature vs. system redesign)
If the plan follows or partially follows the feature-plan skill's format (vertical slices with Goal, Depends on, Files to create or modify, Key implementation details, Testing, Done when), use whatever structured fields are present when evaluating executability and dependency chains.
Step 2: Choose Evaluation Mode
Trivial plans (single file, no behavioral change — e.g., rename, config tweak, dependency bump, typo fix): Respond in chat with "Plan looks straightforward, no evaluation needed" rather than producing a formal report. If in doubt between Trivial and Small, use Small.
For everything else, match effort to complexity:
| Plan Scale | Evaluation Mode | Agents |
| Small (single concern, 1 page or less) | Solo review — evaluate directly | 0 |
| Medium (2-4 slices or multiple concerns, 1-5 pages) | Focused review — 2 parallel agents | 2 |
| Large (5+ slices or system-level changes) | Full review — 4 parallel agents | 4 |
The primary axis is number of slices/concerns; page length is a secondary signal. When in doubt, round up one tier.
Finding Format
Every finding (from you or from agents) must convey: severity, confidence, location in the plan, the issue, why it matters, and a recommendation. Use the format shown in the examples below.
Example — issue finding:
High (high confidence) — Implementation Plan, Slice 3
Slice 3 (API endpoints) depends on Slice 5 (auth middleware), but is scheduled before it. Implementation will block or require the implementer to improvise auth, likely leading to rework.
Recommendation: Reorder — move auth middleware to Slice 2, shift API endpoints to Slice 4. This also unblocks Slice 6 (admin panel) which needs auth.
Example — praise finding:
Praise — Design Decisions
Each decision includes alternatives considered with concrete trade-off analysis, and the rationale ties back to stated project goals. This level of decision traceability will save significant time during implementation.
Step 3: Evaluate
Solo Review (Small Plans)
Read the evaluation criteria at ${CLAUDE_SKILL_DIR}/references/evaluation-criteria.md. For small plans, use only the Quick Evaluation Checklist at the top of that file.
Agent Team Review (Medium and Large Plans)
Launch parallel agents. Each agent evaluates a specific dimension and returns structured findings.
Medium Plans — 2 agents in parallel:
- Agent A — Soundness, Completeness & Risk: Logical consistency, missing pieces, codebase alignment, risk identification, rollback coverage, failure modes. Reads the plan AND relevant codebase files to verify technical claims.
- Agent B — Best Practices & Executability: Industry best practices for the plan's key decisions, task granularity, dependency accuracy, parallelization potential, over/under-engineering.
Large Plans — 4 agents in parallel:
- Agent 1 — Completeness & Structure: Are goals, non-goals, scope, alternatives, and cross-cutting concerns covered? Is the document navigable and self-contained?
- Agent 2 — Technical Soundness & Risk: Are decisions well-reasoned? Are there contradictions? Do file paths, patterns, and integration points match the actual codebase? Are failure modes, rollback procedures, and risk mitigations adequate?
- Agent 3 — Best Practices Verification: Evaluate the plan's top 2-3 most consequential technical decisions against established best practices. Only perform web search when the plan proposes an unconventional approach or uses unfamiliar technology — skip search for well-established patterns. Apply Source Quality Rules from the evaluation criteria strictly.
- Agent 4 — Executability & Parallelization: Task granularity, dependency accuracy, dependency minimization between slices, whether work can be parallelized, clear done-criteria, integration point planning.
Agent Instructions
Give each agent:
- The full plan content. For very large plans spanning many files, instruct agents to focus on sections relevant to their dimension.
- Their specific evaluation dimension and the relevant criteria from
${CLAUDE_SKILL_DIR}/references/evaluation-criteria.md(read the file and include the applicable sections in the agent's prompt) - The project root path for codebase verification agents (use
git rev-parse --show-toplevel, or the working directory if not in a git repo) - The Finding Format (from the section above)
- These reminders:
- "'No issues found' is a valid and preferred outcome. Every finding must point to a specific location in the plan with a concrete consequence. Do not manufacture findings."
- "A report with 3 high-confidence findings is more valuable than one with 12 where half are speculative. Prefer fewer, stronger findings."
- "Your job is to improve this plan, not replace it with your preferred approach. Do not suggest wholesale redesigns unless the current approach is fundamentally unsound."
- "If you cannot verify a claim (e.g., external API behavior, third-party service capabilities), flag it at low confidence with a note that verification was not possible."
- "Do NOT report implementation-level details: missing imports, missing attributes/annotations, incorrect signatures, type errors, syntax issues, missing trait implementations, or anything a compiler or linter would catch. These are resolved during coding. Focus on architecture, design patterns, idiomatic practices, and structural issues only."
- Return format: "Return a flat list of findings using the Finding Format. Group by severity (Critical first, then High, Medium, Low, Praise). If no issues found in your dimension, return 'No issues found.' with a one-line explanation of what you checked."
Step 4: Synthesize and Report
Collect findings from all agents (or your solo review). Deduplicate — if multiple agents flag the same issue, merge into one finding at the highest applicable severity.
Agent failure: If any agent fails to return results, note the uncovered dimension in the report (e.g., "Technical soundness was not evaluated due to agent failure") and append "(partial evaluation)" to the verdict. Do not issue SOLID if any dimension was not evaluated.
Conflict resolution: If agents produce contradictory findings on the same plan element, present both perspectives with their reasoning and flag the disagreement for the user to adjudicate. Note which perspective is grounded in the actual codebase — codebase evidence carries more weight than external sources or general principles.
All agents return no findings: If every agent that responded reports "No issues found," the verdict is SOLID — unless agent failure reduced coverage (see above), in which case verdict is SOLID (partial evaluation). Do not invent findings to fill the report.
Finding Classification
| Level | Meaning | Examples |
| Critical | Plan will fail or cause significant harm if executed as-is | Missing rollback for data migration, no error handling for data loss scenarios, fundamental architectural mismatch, security vulnerability by design |
| High | Significant rework likely during implementation | Unrealistic dependencies, missing key integration point, unaddressed cross-cutting concern (auth, error handling), incorrect file paths throughout |
| Medium | Plan is workable but suboptimal | Missing alternatives analysis, over-engineered for scope, tight coupling that creates maintenance burden, no testing strategy |
| Low | Improvement opportunity | Missing non-goals section, unclear naming, documentation gaps, no dependency diagram for complex work |
| Praise | Something done notably well (not an issue) | Clean vertical slicing, thorough risk analysis, good use of ADRs, realistic scope discipline |
Out of scope (never report these): Missing imports, missing derive/attribute macros, incorrect function signatures, type mismatches, unimplemented methods, syntax errors, missing semicolons, wrong generic bounds, missing lifetime annotations — anything a compiler, linter, or IDE would flag. These are implementation details resolved during coding, not plan defects.
Report Format
## Plan Evaluation: [plan name or feature]
### Summary
### Critical Issues
### High Severity
### Medium Severity
### Low Severity
### What's Done Well
### Verdict
### Recommended Next StepsSection guidance:
- Summary: 2-3 sentences — what the plan covers, overall quality, biggest concern if any
- Critical Issues: Stop-everything problems. If none: "No critical issues found."
- What's Done Well: Acknowledge genuine quality. If the plan has no notable strengths, say so briefly rather than manufacturing praise
- Verdict: One of SOLID, NEEDS REFINEMENT, or NEEDS REWORK
- Recommended Next Steps: Concrete actions, ordered by impact
Verdict criteria:
- SOLID: No critical or high issues. Ready for implementation — first recommended step should be "Run plan-execute with [plan path]."
- NEEDS REFINEMENT: No critical issues, 1-2 high issues. List specific sections to revise before implementation.
- NEEDS REWORK: 1+ critical issues, OR 3+ high issues.
Note: Some critical findings require acknowledgment rather than redesign (e.g., the team knowingly accepts a risk). When this applies, frame the recommendation as "document and acknowledge" rather than "redesign."
Principles
These are non-negotiable:
- Stay at the architecture and design level. Do not flag anything a compiler, linter, or IDE would catch — those are resolved during coding. Focus on architectural decisions, design patterns, idiomatic alignment, risk coverage, and structural completeness. (See Finding Classification "Out of scope" for the full exclusion list.)
- Every finding must reference a specific section, statement, or omission in the plan. If you can't point to the exact part your finding relates to, drop it. "No issues found" is the best outcome for any dimension — an empty severity section is better than a manufactured concern.
- Distinguish "missing" from "not applicable." A CLI tool plan doesn't need an accessibility section. A web app plan does. A single-file fix doesn't need alternatives analysis. A system migration does.
- Confidence qualifiers are mandatory. "This will definitely fail" and "this might cause issues under load" require different evidence. If web research contradicts the plan but the plan's approach is reasonable, present both perspectives — don't assert the web source is automatically correct.
- Evaluate the plan you have, not the plan you'd write. Find real problems; don't impose your preferred approach. If the plan's approach is sound but you'd do it differently, that's not a finding.
- Severity is about consequences, not aesthetics. Always calibrate by asking: what happens if this plan is executed as-is?
- Be specific or be quiet. "The plan could be more detailed" is useless. "Slice 4 doesn't specify how auth tokens are validated, which will force the implementer to make an unguided architectural decision at a security boundary" is useful.
- Match review depth to plan ambition. Don't apply full rigor to a three-file bug fix plan. Don't give a cursory glance to a system migration plan.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

