Skill: sdd-review-requirements

## Invocation

9 stars

Best use case

Skill: sdd-review-requirements is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

## Invocation

Teams using Skill: sdd-review-requirements should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sdd-review-requirements/SKILL.md --create-dirs "https://raw.githubusercontent.com/sc30gsw/claude-code-customes/main/sample/harness/next-js-pages/skills/sdd-review-requirements/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sdd-review-requirements/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How Skill: sdd-review-requirements Compares

Feature / AgentSkill: sdd-review-requirementsStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

## Invocation

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Skill: sdd-review-requirements

## Invocation

```
/sdd-review-requirements <slug>
```

**Arguments:**

- `<slug>` — kebab-case feature identifier matching an existing `.claude/specs/<slug>/` directory

---

## Purpose

Review `requirements.md` for completeness, clarity, EARS compliance, ambiguity, and missing edge cases. Appends a structured "Requirements Review" section to `.claude/specs/<slug>/review.md`. The mode is read from `progress.md` and determines which agents are invoked and which checks are run.

---

## Execution Steps

### Step 1: Read mode and validate prerequisites

Read `.claude/specs/<slug>/progress.md`:

- Extract `**Mode**:` value (`standard` or `auto`).
- Check that `sdd-requirements` phase is marked `✅ complete`. If not, abort and instruct the user to run `/sdd-requirements <slug>` first.
- If `progress.md` does not exist, abort and instruct the user to run `/sdd-init <slug>` first.

### Step 2: Load requirements.md

Read `.claude/specs/<slug>/requirements.md` in full.

- If the file contains only the placeholder comment (`<!-- Artifact not yet generated... -->`), abort and instruct the user to run `/sdd-requirements <slug>` first.
- Count the number of REQ blocks for the review summary.

### Step 3: Mode-specific review execution

#### Standard Mode

Invoke the following in sequence:

1. **`requirements-analyst` agent** (primary)
   - Focus: EARS compliance, acceptance criteria quality, stakeholder roles, ambiguity detection.
   - Prompt: "Review the following requirements.md for EARS format compliance, ambiguous terms, missing acceptance criteria, and untestable criteria. Return a structured list of findings with REQ ID, issue description, severity, and suggested correction."

2. **`Plan` agent** (secondary)
   - Focus: Scope boundaries, dependency risks, missing scenarios, implementation sequencing concerns.
   - Prompt: "Review the following requirements for missing edge cases, scope gaps, inter-requirement conflicts, and sequencing risks. Return findings with REQ ID and impact."

3. **Project `spec-tech-research` skill** (technical feasibility)
   - Focus: Validate that each REQ is feasible given the project stack (Next.js, TypeScript, Mantine, SWR, Jotai, MSW, Vitest, aspida, Valibot).
   - Flag any REQ whose acceptance criteria would require capabilities not supported by the stack, or would require significant architectural changes.

Merge all findings into a unified table.

#### Auto Mode

Invoke only:

1. **`requirements-analyst` agent**
   - Focus: Business clarity, acceptance criteria completeness, stakeholder roles, ambiguity, risks.
   - Do NOT run `planner` or `spec-tech-research`.
   - Prioritize findings that a non-engineer product owner can act on directly.

---

## Checks Performed

Run all checks below regardless of mode. Flag each finding with the REQ ID and severity.

### Check 1: EARS Format Compliance

- Each REQ block must contain: a User Story, a `When ... the system shall ...` clause, and at least 2 Acceptance Criteria.
- Missing any element → **HIGH**
- Using EARS keywords incorrectly (e.g. "Where" used instead of "When" for event-driven behavior) → **MEDIUM**

### Check 2: Ambiguous Terms

Scan all requirement text for vague qualifiers. Flag occurrences as **MEDIUM**:

- Adjectives: "fast", "slow", "easy", "simple", "appropriate", "reasonable", "sufficient"
- Quantities: "some", "many", "few", "several", "various", "etc.", "and so on"
- Time: "soon", "quickly", "immediately" (unless a specific duration is given)
- Replace suggestion: "Replace with a measurable criterion (e.g. 'within 2 seconds', 'up to 100 items')."

### Check 3: Missing Elements

- Missing actor (role) in User Story → **HIGH**
- Missing triggering event (When clause) → **HIGH**
- Missing system response (shall clause) → **HIGH**
- Requirement describes implementation, not behavior (e.g. "the database will store...") → **MEDIUM**

### Check 4: Testability

- Each Acceptance Criterion must be binary (pass/fail) and observable without access to internals.
- Subjective criteria ("looks good", "feels intuitive") → **HIGH**
- Criteria requiring knowledge of internal state not exposed to users → **MEDIUM**

### Check 5: Completeness

- No obvious error paths covered (e.g. what happens when an API call fails) → **MEDIUM**
- No empty state handling (e.g. what the user sees when the list is empty) → **MEDIUM**
- No permission / role boundary specified when the feature involves restricted access → **HIGH**
- No pagination or data limit stated for list-type features → **LOW**

### Check 6: REQ ID Numbering

- IDs must be sequential with no gaps → **LOW**
- Duplicate IDs → **HIGH**

### Check 7: Technical Feasibility (Standard mode only)

- REQ requiring a non-existent API endpoint → **HIGH**
- REQ assuming real-time behavior (WebSocket/SSE) not currently in the stack → **MEDIUM**
- REQ whose acceptance criteria would require bypassing Valibot schema validation → **MEDIUM**

---

## Output Format

Append the following section to `.claude/specs/<slug>/review.md` under a dated heading.

If `review.md` does not yet exist, create it with this content only.

```markdown
## Requirements Review (<YYYY-MM-DD>)

**Reviewer**: sdd-review-requirements skill
**Mode**: <standard|auto>
**Requirements reviewed**: <N> REQs (REQ-001 through REQ-NNN)

### Overall Assessment

<!-- 2-4 sentences: Is this requirements doc ready to proceed? What is the most critical concern? -->

### Findings

| REQ     | Issue               | Severity | Suggestion          |
| ------- | ------------------- | -------- | ------------------- |
| REQ-001 | <issue description> | HIGH     | <corrective action> |
| REQ-002 | <issue description> | MEDIUM   | <corrective action> |
| REQ-003 | <issue description> | LOW      | <corrective action> |

_Severity: HIGH = blocks implementation, MEDIUM = should fix before design, LOW = consider before PR_

### Recommended Actions Before Proceeding

- [ ] **HIGH**: <action 1>
- [ ] **HIGH**: <action 2>
- [ ] **MEDIUM**: <action 3>

### Sign-off Condition

All HIGH severity findings must be resolved before running `/sdd-design <slug>`.
```

---

## progress.md Updates

After writing the review:

- Change `sdd-review-requirements` status from `⬜ not started` to `✅ complete`.
- Add a row to the Change Log: `| <YYYY-MM-DD> | review-requirements | N findings (X HIGH, Y MEDIUM, Z LOW) |`

---

## Notes

- Do not modify `requirements.md`. This skill is read-only with respect to requirements. The user must update requirements separately and rerun this skill if needed.
- If all checks pass with zero HIGH severity findings, state this clearly in the Overall Assessment section. The user may still choose to proceed immediately.
- In `--mode auto`, present findings in plain language without jargon. Label each finding with its business impact rather than technical category (e.g. "Users won't know what to do if the upload fails" instead of "Missing error path for REQ-003").
- If `review.md` already has a Requirements Review section, append the new dated section below the existing one. Do not overwrite prior reviews.

---

== PHASE COMPLETE: sdd-review-requirements ==
Artifact: .claude/specs/<slug>/review.md
Summary:

- Mode read from progress.md
- requirements.md loaded and analyzed (N REQs)
- Checks run: EARS compliance, ambiguity, missing elements, testability, completeness, numbering, technical feasibility (standard only)
- Agents invoked: requirements-analyst (both modes), planner + spec-tech-research (standard only)
- Findings written to review.md under dated heading
- progress.md updated: sdd-review-requirements → complete

⏸ WAITING FOR CONFIRMATION
Type `CONFIRM sdd-design` to proceed. Or describe changes needed.

Related Skills

sdd-review — Post-Implementation Code Review

9
from sc30gsw/claude-code-customes

## Slash Command

sdd-review-plan

9
from sc30gsw/claude-code-customes

**Slash command**: `/sdd-review-plan <slug>`

Skill: sdd-requirements

9
from sc30gsw/claude-code-customes

## Invocation

test

9
from sc30gsw/claude-code-customes

Advanced test implementation command with unit/E2E support, auto-execution, and smart fixing capabilities

serena

9
from sc30gsw/claude-code-customes

Token-efficient Serena MCP command for structured app development and problem-solving

project-guidelines-example

9
from sc30gsw/claude-code-customes

Example project-specific skill template based on a real production application.

notion-bug-pr

9
from sc30gsw/claude-code-customes

Skill that pulls bug tickets (titles containing 「不具合」) from a Notion database, investigates root cause in a GitHub repo, applies fixes, and opens draft PRs. Supports three modes — daily recurring schedule, one-shot at a specific time, or immediate on-demand run. Takes three or four args: Notion database URL, repo path or name, and either HH:MM (daily), "once HH:MM" (one-shot), or "now" (immediate).

graphify

9
from sc30gsw/claude-code-customes

any input (code, docs, papers, images, videos) to knowledge graph. Use when user asks any question about a codebase, documents, or project content - especially if graphify-out/ exists, treat the question as a /graphify query.

chrome

9
from sc30gsw/claude-code-customes

Comprehensive Chrome DevTools development system with native Chrome capabilities for debugging, E2E testing, performance analysis, and browser automation

webapp-testing

9
from sc30gsw/claude-code-customes

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-design-guidelines

9
from sc30gsw/claude-code-customes

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".

typescript-advanced-types

9
from sc30gsw/claude-code-customes

Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. Use when implementing complex type logic, creating reusable type utilities, or ensuring compile-time type safety in TypeScript projects.