When this skill applies
This skill is invoked when:
- •The user explicitly calls
/spec-review - •The user asks to review, validate, or check a spec
- •The user asks if a spec is "ready" or "complete"
Important: If a spec file contains a reference to /spec-refine, treat user questions about spec quality or completeness as review requests.
What to do when this skill is invoked
When the user invokes /spec-review, automatically detect the spec file to review:
- •Check IDE context first - Look for
ide_opened_fileoride_selectiontags in the context. If the user has a.mdfile from.claude/specs/open, use that file. - •Check conversation context - If a spec file path was mentioned recently in the conversation, use that.
- •Check arguments - If the user provided a path or feature name (e.g.,
/spec-review auth), search.claude/specs/for a matching file. - •Only ask if ambiguous - If multiple specs could match or none is found, ask the user which spec to review.
Your job is to:
- •Locate the spec file - Use the detection logic above to find the spec
- •Read and analyze the spec - Understand the full feature description
- •Validate completeness - Check that all sections are filled in (not placeholders)
- •Review for ambiguities - Identify vague, unclear, or contradictory statements
- •Verify acceptance criteria - Ensure criteria are testable, specific, and follow BDD format
- •Check technical feasibility - Review the technical design against the codebase patterns
- •Identify gaps - Highlight missing dependencies, edge cases, or unaddressed risks
- •Report findings - Document issues and suggest improvements in a single summary
Review checklist
- • All sections are filled in (not placeholder text)
- • Problem statement clearly identifies the issue and affected users
- • Proposed solution is high-level and implementation-agnostic
- • Acceptance criteria are testable and specific (BDD format: "Given X, When Y, Then Z")
- • Technical design references real codebase files and patterns
- • Dependencies and risks are realistically assessed
- • Out of scope items prevent scope creep
- • Implementation steps are discrete, reviewable, and logically ordered
- • No contradictions between sections
- • All assumptions are explicitly stated
Process
- •Read and deeply analyze the spec document
- •Check each section against the checklist above
- •Cross-reference the spec against the actual codebase where possible
- •Update the spec file with a Review Findings section containing:
- •Overall assessment (Ready for implementation / Needs refinement)
- •Issues found (organized by section)
- •Specific suggestions for improvement
- •Questions that need answers (formatted as checkboxes)
- •If the spec already has a Review Findings section, update it with fresh findings
- •Remove the Review Findings section if no issues remain (spec is ready)
Review Findings Format
Add or update a section at the end of the spec file:
markdown
--- ## Review Findings **Status:** ⚠️ Needs refinement | ✅ Ready for implementation ### Issues - [ ] **[Section Name]**: Description of issue - [ ] **[Section Name]**: Another issue ### Questions - [ ] Question that needs to be answered? - [ ] Another question? ### Suggestions - Suggestion for improvement - Another suggestion --- *Run `/spec-review` again after addressing the items above.*
The user can:
- •Check off items as they address them
- •Edit the spec directly to fix issues
- •Answer questions inline
- •Run
/spec-reviewagain to get updated findings
Key points
- •Be thorough but not pedantic - focus on clarity and feasibility
- •Write findings directly to the spec file - this enables iterative review
- •Use checkbox format for issues and questions so users can track progress
- •Remove the Review Findings section entirely when the spec passes review
- •Output a brief summary to the user after updating the file
- •Suggest using
/spec-refineif significant restructuring is needed - •Suggest using
/spec-implementonce the spec is approved (no Review Findings section)