Skip to content
Development
Skill

/review-spec

Reviews a product, technical, API, UI, or implementation spec for completeness, testability, architectural fit, and readiness before planning or implementation.

From plugin
software-development-department
72116 skills28 agents1 MCP
Install
$ npx -y skills add tranhieutt/software_development_department --skill review-spec --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/review-spec

Context preview

The summary Claude sees to decide when to auto-load this skill.

Reviews a product, technical, API, UI, or implementation spec for completeness, testability, architectural fit, and readiness before planning or implementation.

SKILL.md

review-spec.SKILL.md
name: review-spec
type: workflow
description: "Reviews a product, technical, API, UI, or implementation spec for completeness, testability, architectural fit, and readiness before planning or implementation."
argument-hint: "[path-to-spec-or-spec-summary]"
user-invocable: true
allowed-tools: Read, Glob, Grep
context: fork
effort: 3
agent: technical-director
when_to_use: "Use before turning a spec into a plan, when validating an externally supplied spec, when code review finds spec ambiguity, or when the user asks whether a spec is ready."

Review Spec

Purpose

`review-spec` validates whether a specification is strong enough to become the source of truth for planning, TDD, implementation, and verification. It is a read-only quality gate. It does not write code and it does not approve execution by itself.

Use this workflow to prevent weak specs from becoming precise-looking plans with hidden ambiguity.

Core Rule

No implementation plan from an unreviewed or materially ambiguous spec.

If the spec cannot be tested, reviewed against code, or handed to another agent without guessing, return `CHANGES REQUIRED`.

Workflow

1. Identify the Source of Truth

  • Locate the spec file, issue, PRD section, conversation summary, or design doc.
  • Read only the surrounding context needed to understand the feature boundary.
  • If no spec exists, stop and route to `spec-driven-development`.
  • If the current code appears to contradict the spec, stop and route to

`spec-evolution` instead of silently reviewing only one side.

2. Classify the Spec

Classify the spec as one or more:

  • Product behavior
  • Technical architecture
  • API/data contract
  • UI/UX flow
  • Test/verification contract
  • Release or migration plan

Use the classification to decide which checks matter most. For example, an API spec must define request/response contracts and error behavior; a UI spec must define states, accessibility requirements, and responsive behavior.

3. Review Against the Readiness Checklist

Evaluate the spec using these criteria:

| Area | Required standard | | --- | --- | | Objective | One clear outcome, user/system value, and non-goals | | Scope | Explicit in-scope and out-of-scope boundaries | | Behavior | Observable acceptance criteria, including failure states | | Contracts | API, data, events, files, or UI state contracts are concrete | | Architecture | Fits existing patterns or names required ADR/escalation | | Dependencies | Upstream/downstream dependencies and ordering are known | | Verification | Commands, tests, build, lint, manual, or visual checks are named | | Rollback | Risk and rollback/disable path are stated for risky changes | | Handoff | Another agent can plan from it without inventing requirements |

4. Detect Ambiguity and Drift

Flag these as blocking unless explicitly out of scope:

  • Acceptance criteria are subjective or not observable.
  • Terms such as "fast", "robust", "simple", "appropriate", or "secure" are

used without measurable meaning.

  • Data shape, API contract, permissions, errors, loading states, or empty states

are implied but not defined.

  • The spec references files or systems that do not exist.
  • The spec conflicts with README, PRD, ADRs, code conventions, or existing user

flows.

  • Implementation has already diverged from the spec.

If drift is found, do not resolve it inside this workflow. Recommend `spec-evolution` and name the exact mismatch.

5. Produce a Verdict

Use this exact verdict scale:

  • `APPROVED`: Ready for `planning-and-task-breakdown` or `test-driven-development`.
  • `APPROVED WITH NOTES`: Minor non-blocking gaps remain; execution can proceed

if the notes are carried into the plan.

  • `CHANGES REQUIRED`: The spec is not ready; revise before planning or code.
  • `ROUTE TO SPEC-EVOLUTION`: The spec/code reality mismatch must be resolved

before planning, implementation, or review can continue.

Output Format

## Spec Review: [Spec Name]

**Source:** [file/path or request summary]
**Spec Type:** [product / technical / API / UI / verification / release]
**Readiness Score:** [X/9]

### Blocking Issues
- [Issue with exact section/file reference, or "None"]

### Non-Blocking Notes
- [Note, or "None"]

### Missing Acceptance Criteria
- [Specific missing criterion, or "None"]

### Verification Fit
[Whether the spec can be verified, with named commands/checks if present.]

### Drift Check
[No drift found / suspected drift / confirmed drift with exact mismatch.]

### Verdict
`APPROVED` | `APPROVED WITH NOTES` | `CHANGES REQUIRED` | `ROUTE TO SPEC-EVOLUTION`

Anti-Rationalizations

| Thought | Required correction | | --- | --- | | "The spec is good enough; planning will clarify it." | Planning should decompose decisions, not invent requirements. | | "The code will reveal the details." | Details discovered in code must be reflected through `spec-evolution`. | | "This is only a small spec." | Small specs still need observable acceptance criteria. | | "The user knows what they mean." | The agent executing the plan needs explicit, reviewable language. | | "I can approve with obvious assumptions." | List assumptions as blockers or notes. Do not hide them. |

Integration

  • Use after `spec-driven-development` when a spec needs a quality gate before

planning.

  • Use before `planning-and-task-breakdown` when the plan source is an existing

spec.

  • Use during `code-review` when implementation quality depends on ambiguous or

missing spec requirements.

  • Route to `spec-evolution` when implementation reality and the spec disagree.
Read more
Ships withsoftware-development-department

Software Development Department

Get the whole plugin