Skip to content
Back to skills

Review Spec

ASecurity

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

  • 71 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aigocode-reviewapi

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add tranhieutt/software_development_department --skill review-spec --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Review Spec?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Review Spec
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tranhieutt-review-spec/badge)](https://www.skillsdirectory.com/skills/tranhieutt-review-spec)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
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

```text
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

```markdown
## 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…