Review an existing requirements document for quality: problem clarity, testable needs, constraint inventory, scope boundedness, requirement IDs, and open questions. Evaluative atomic skill; output is a findings list.
Evaluate an existing requirements document against defined quality criteria. Does not produce or rewrite requirements; authoring is carried by the runtime, per docs/requirements-planning/README.md. Emit a findings list so the author can improve the document before design starts or before a review.
Core Objective
Primary goal: produce a requirement-quality findings list that names the gaps across all six quality dimensions, so the author can reach a reviewable standard before handing off to design.
Success criteria (all must hold):
✅ All six dimensions reviewed: problem clarity, testability, constraint inventory, scope boundedness, requirement IDs, and open questions are assessed
✅ Findings confined to the document: reviews only what the supplied document contains; no outside assumptions, no generative additions
✅ Findings format compliant: each finding carries location, category (requirement-quality), severity, title, description, and an optional suggestion
✅ Locations cited precisely: every finding names a specific section of the document or a requirement ID (not a vague description)
✅ Actionable output: every finding gives a concrete direction for improvement, keyed to the relevant section or ID
Acceptance test: can the author read the findings list, know exactly which section or requirement to fix, and understand what "fixed" looks like - without asking a clarifying question?
Scope Boundaries
This skill owns:
Assessing the clarity of the problem statement (free of solution/technology references)
Verifying that every requirement has testable acceptance criteria
Checking the constraint inventory for completeness (real constraints separated from assumptions)
Assessing scope boundedness (V1 boundary, deferred items, open questions present)
Verifying requirement ID format and uniqueness (R-01, R-02, ...)
Identifying open questions that are missing or unspecified
This skill does not own:
Producing or rewriting requirements — use capture-work-items
Designing from the requirements — carried by the AgentFabric runtime
Reviewing code, architecture, or implementation — use the review-* family of skills
Handoff point: once the findings are emitted, hand them to the author to close the gaps, or confirm the document is finding-free and hand it to the AgentFabric runtime for the downstream design workflow.
Use Cases
Pre-design gate: validate the requirements document before it is handed to the design stage.
Collaborative review: one team member writes the requirements; another runs this skill to assess quality.
Imported requirements: the requirements were written outside this workflow (e.g. Confluence, Notion, Jira); a quality assessment is needed before they are used.
Post-authoring validation: run after the requirements are written as an independent check that all success criteria are met.
Behavior
Interaction policy
Default: take the document as supplied; do not ask the author for what is missing — emit a finding instead.
Rewriting is forbidden: state what is missing or wrong; never rewrite the requirement text on the author's behalf.
Confirm only when the input is unclear: if the input is not a requirements document (a design document, say), clarify before continuing.
Review checklist (six quality dimensions)
For each dimension, scan the whole document and emit a finding for every violation found:
Problem clarity
Is there a problem statement describing who hits what problem and why it matters?
Does the problem statement stay clear of solution or technology references?
Is the problem statement distinct from the needs/requirements list?
Testability of requirements
Does every requirement (Must Have, Should Have, Could Have) carry explicit acceptance criteria?
Are the acceptance criteria concrete (Given/When/Then, or a measurable metric) rather than adjective-based ("fast", "simple", "intuitive")?
Can each requirement be verified independently by a third party?
Constraint inventory
Is there an explicit constraint inventory section (or equivalent)?
Are real constraints (budget, time, skills, dependencies) separated from unvalidated assumptions?
Can every constraint and assumption be traced to a source or a validation plan?
Scope boundedness
Is the V1 boundary stated explicitly (in scope vs out of scope)?
Do deferred items list the trigger for reconsidering them?
Is a walking skeleton or minimal viable version described?
Requirement IDs
Does every requirement carry a unique ID in the form "R-NN" (e.g. R-01, R-02)?
Are the IDs sequential, with no gaps or duplicates?
Do all cross-references in the document use the ID rather than a free-text description?
Open questions
Is there an open questions section (or equivalent)?
Does each open question have a resolution plan or an owner?
Are there implicit unknowns in the requirement text that belong in open questions, stated explicitly?
Severity guidance
Severity
When to use
critical
Problem statement missing; no acceptance criteria for any Must Have requirement; no scope definition
major
Acceptance criteria present but untestable (adjectives only); constraint inventory missing; no V1 boundary
minor
Some requirements lack an ID; some acceptance criteria are incomplete; assumptions not separated
suggestion
Open questions could be more explicit; IDs not sequential; small wording improvements
Input & Output
Input
Requirements document: a file path (docs/requirements-planning/<topic>.md, for example) or the raw content pasted inline.
Optional context: project name, target audience, or what consumes the document downstream (for example "this feeds a technical design").
Output
Emit zero or more findings in the format defined in specs/findings-list.md, with Categoryrequirement-quality.
The category for every finding from this skill is requirement-quality.
With no findings: emit the short confirmation "The requirements document meets all six quality dimensions. Ready for the design stage."
Restrictions
Hard Boundaries
Do not rewrite: do not produce new requirement text, acceptance criteria, or problem statements. Emit findings with a suggestion; leave the authoring to the user, or to the runtime workflow that carries it (see docs/requirements-planning/README.md).
Do not add scope: do not invent missing requirements or widen the document's scope.
Document only: base findings on the supplied document alone. Do not add findings drawn from outside knowledge of what a requirements document "should" contain beyond the six dimensions.
Skill Boundaries
Do not do these (other skills handle them):
Do not elicit, clarify, or rewrite requirements — use capture-work-items
Do not design from the requirements — carried by the AgentFabric runtime
Do not review code, architecture, or implementation quality — use orchestrate-code-review, review-architecture and so on
When to stop and hand off:
Once all findings are emitted, hand them to the author to close the gaps
When the document draws zero findings, confirm it is ready and name the design stage as the next step
When the input is not a requirements document, clarify and redirect to the appropriate skill
Self-Check
Core success criteria
All six dimensions reviewed: problem clarity, testability, constraint inventory, scope boundedness, requirement IDs, and open questions are assessed
Findings confined to the document: no outside assumptions; findings based on the supplied document alone
Findings format compliant: each finding carries location, category (requirement-quality), severity, title, description, and an optional suggestion
Locations cited precisely: every finding names a specific section heading or requirement ID
Actionable output: every finding states what is wrong and what to improve
Process quality checks
Was every requirement (Must Have, Should Have, Could Have) scanned for acceptance criteria?
Was the problem statement checked for solution/technology language?
Was the separation of real constraints from assumptions checked explicitly?
Were all requirement IDs checked for uniqueness and format (R-NN)?
Were the open questions checked for resolution plans?
Acceptance test
Can the author read the findings list, know exactly which section or requirement ID to fix, and understand what "fixed" looks like - without asking a clarifying question?
If no: the findings are incomplete or imprecise. Add location references and a concrete suggestion.
If yes: the findings are ready. Hand them to the author for improvement, or confirm the document is ready for the design stage.
Examples
Example 1: Must Have requirement missing acceptance criteria
Input: a requirements document with 5 Must Have items; 3 of them have no acceptance criteria.
Expected finding:
- **Location**: `## Need Hierarchy / Must Have / R-02`
- **Category**: requirement-quality
- **Severity**: major
- **Title**: Must Have requirement lacks acceptance criteria
- **Description**: R-02 ("Users can export data") has no acceptance criteria. Without a testable criterion, this requirement cannot be verified or designed against.
- **Suggestion**: Add acceptance criteria in the form "Given [context], when [action], then [outcome]". Example: "Given a user has at least one dataset, when they click Export, then a CSV file is downloaded within 3 seconds."
Example 2: problem statement references a solution
Input: the problem statement reads "We need a React app with a PostgreSQL database, because users cannot track inventory."
Expected finding:
- **Location**: `## Problem Statement`
- **Category**: requirement-quality
- **Severity**: major
- **Title**: Problem statement contains solution references
- **Description**: "React app" and "PostgreSQL database" are technology choices, not problem descriptions. The problem statement should describe the pain without referencing solutions.
- **Suggestion**: Rewrite as: "Small business owners lose inventory data due to manual tracking limitations. They need a reliable way to track and query inventory across devices."
Example 3: no scope definition
Input: a requirements document with 10 requirements, no in-scope/out-of-scope section, and no V1 boundary.
Expected finding:
- **Location**: (document-level — no scope section present)
- **Category**: requirement-quality
- **Severity**: critical
- **Title**: No scope definition or V1 boundary
- **Description**: The document lists requirements but does not define what is in scope for V1, what is deferred, or what a minimal useful version looks like. Without scope boundaries, design and implementation have no stopping condition.
- **Suggestion**: Add a "## Scope Definition" section with explicit In scope (V1), Out of scope, and Walking skeleton entries.
Edge case: complete document, zero findings
Input: a requirements document that satisfies everything — problem statement, testable acceptance criteria for all requirements, constraint inventory, V1 scope, unique validated R-NN IDs, and open questions with resolution plans.
Expected output:
The requirements document meets all six quality dimensions. Every Must Have requirement has testable acceptance criteria; the problem statement is free of solutions; constraints and assumptions are separated; V1 scope is explicit; all requirements carry an R-NN ID; open questions have resolution plans. Ready for the design stage.
1---2name: review-requirements3description: Review an existing requirements document for quality: problem clarity, testable needs, constraint inventory, scope boundedness, requirement IDs, and open questions. Evaluative atomic skill; output is a findings list.4license: MIT5---67# Skill: Review Requirements89## Purpose1011Evaluate an **existing requirements document** against defined quality criteria. Does not produce or rewrite requirements; authoring is carried by the runtime, per [docs/requirements-planning/README.md](../../docs/requirements-planning/README.md). Emit a **findings list** so the author can improve the document before design starts or before a review.1213---1415## Core Objective1617**Primary goal**: produce a requirement-quality findings list that names the gaps across all six quality dimensions, so the author can reach a reviewable standard before handing off to design.1819**Success criteria** (all must hold):20211. ✅ **All six dimensions reviewed**: problem clarity, testability, constraint inventory, scope boundedness, requirement IDs, and open questions are assessed222. ✅ **Findings confined to the document**: reviews only what the supplied document contains; no outside assumptions, no generative additions233. ✅ **Findings format compliant**: each finding carries location, category (`requirement-quality`), severity, title, description, and an optional suggestion244. ✅ **Locations cited precisely**: every finding names a specific section of the document or a requirement ID (not a vague description)255. ✅ **Actionable output**: every finding gives a concrete direction for improvement, keyed to the relevant section or ID2627**Acceptance** test: can the author read the findings list, know exactly which section or requirement to fix, and understand what "fixed" looks like - without asking a clarifying question?2829---3031## Scope Boundaries3233**This skill owns**:3435- Assessing the clarity of the problem statement (free of solution/technology references)36- Verifying that every requirement has testable acceptance criteria37- Checking the constraint inventory for completeness (real constraints separated from assumptions)38- Assessing scope boundedness (V1 boundary, deferred items, open questions present)39- Verifying requirement ID format and uniqueness (R-01, R-02, ...)40- Identifying open questions that are missing or unspecified4142**This skill does not own**:4344- Producing or rewriting requirements — use `capture-work-items`45- Designing from the requirements — carried by the AgentFabric runtime46- Reviewing code, architecture, or implementation — use the `review-*` family of skills4748**Handoff point**: once the findings are emitted, hand them to the author to close the gaps, or confirm the document is finding-free and hand it to the AgentFabric runtime for the downstream design workflow.4950---5152## Use Cases5354- **Pre-design gate**: validate the requirements document before it is handed to the design stage.55- **Collaborative review**: one team member writes the requirements; another runs this skill to assess quality.56- **Imported requirements**: the requirements were written outside this workflow (e.g. Confluence, Notion, Jira); a quality assessment is needed before they are used.57- **Post-authoring validation**: run after the requirements are written as an independent check that all success criteria are met.5859---6061## Behavior6263### Interaction policy6465- **Default**: take the document as supplied; do not ask the author for what is missing — emit a finding instead.66- **Rewriting is forbidden**: state what is missing or wrong; never rewrite the requirement text on the author's behalf.67- **Confirm only when the input is unclear**: if the input is not a requirements document (a design document, say), clarify before continuing.6869### Review checklist (six quality dimensions)7071For each dimension, scan the whole document and emit a finding for every violation found:72731. **Problem clarity**74 - Is there a problem statement describing who hits what problem and why it matters?75 - Does the problem statement stay clear of solution or technology references?76 - Is the problem statement distinct from the needs/requirements list?77782. **Testability of requirements**79 - Does every requirement (Must Have, Should Have, Could Have) carry explicit acceptance criteria?80 - Are the acceptance criteria concrete (Given/When/Then, or a measurable metric) rather than adjective-based ("fast", "simple", "intuitive")?81 - Can each requirement be verified independently by a third party?82833. **Constraint inventory**84 - Is there an explicit constraint inventory section (or equivalent)?85 - Are real constraints (budget, time, skills, dependencies) separated from unvalidated assumptions?86 - Can every constraint and assumption be traced to a source or a validation plan?87884. **Scope boundedness**89 - Is the V1 boundary stated explicitly (in scope vs out of scope)?90 - Do deferred items list the trigger for reconsidering them?91 - Is a walking skeleton or minimal viable version described?92935. **Requirement IDs**94 - Does every requirement carry a unique ID in the form "R-NN" (e.g. R-01, R-02)?95 - Are the IDs sequential, with no gaps or duplicates?96 - Do all cross-references in the document use the ID rather than a free-text description?97986. **Open questions**99 - Is there an open questions section (or equivalent)?100 - Does each open question have a resolution plan or an owner?101 - Are there implicit unknowns in the requirement text that belong in open questions, stated explicitly?102103### Severity guidance104105|Severity |When to use |106| :--- | :--- |107| `critical` |Problem statement missing; no acceptance criteria for any Must Have requirement; no scope definition |108| `major` |Acceptance criteria present but untestable (adjectives only); constraint inventory missing; no V1 boundary |109| `minor` |Some requirements lack an ID; some acceptance criteria are incomplete; assumptions not separated|110| `suggestion` |Open questions could be more explicit; IDs not sequential; small wording improvements |111112---113114## Input & Output115116### Input117118- **Requirements document**: a file path (`docs/requirements-planning/<topic>.md`, for example) or the raw content pasted inline.119- **Optional context**: project name, target audience, or what consumes the document downstream (for example "this feeds a technical design").120121### Output122123- Emit zero or more **findings** in the format defined in [specs/findings-list.md](../../specs/findings-list.md), with **Category** `requirement-quality`.124- The category for every finding from this skill is **requirement-quality**.125- With no findings: emit the short confirmation "The requirements document meets all six quality dimensions. Ready for the design stage."126127---128129## Restrictions130131### Hard Boundaries132133- **Do not rewrite**: do not produce new requirement text, acceptance criteria, or problem statements. Emit findings with a suggestion; leave the authoring to the user, or to the runtime workflow that carries it (see [docs/requirements-planning/README.md](../../docs/requirements-planning/README.md)).134- **Do not add scope**: do not invent missing requirements or widen the document's scope.135- **Document only**: base findings on the supplied document alone. Do not add findings drawn from outside knowledge of what a requirements document "should" contain beyond the six dimensions.136137### Skill Boundaries138139**Do not do these** (other skills handle them):140141- Do not elicit, clarify, or rewrite requirements — use `capture-work-items`142- Do not design from the requirements — carried by the AgentFabric runtime143- Do not review code, architecture, or implementation quality — use `orchestrate-code-review`, `review-architecture` and so on144145**When to stop and hand off**:146147- Once all findings are emitted, hand them to the author to close the gaps148- When the document draws zero findings, confirm it is ready and name the design stage as the next step149- When the input is not a requirements document, clarify and redirect to the appropriate skill150151---152153## Self-Check154155### Core success criteria156157- [ ] **All six dimensions reviewed**: problem clarity, testability, constraint inventory, scope boundedness, requirement IDs, and open questions are assessed158- [ ] **Findings confined to the document**: no outside assumptions; findings based on the supplied document alone159- [ ] **Findings format compliant**: each finding carries location, category (`requirement-quality`), severity, title, description, and an optional suggestion160- [ ] **Locations cited precisely**: every finding names a specific section heading or requirement ID161- [ ] **Actionable output**: every finding states what is wrong and what to improve162163### Process quality checks164165- [ ] Was every requirement (Must Have, Should Have, Could Have) scanned for acceptance criteria?166- [ ] Was the problem statement checked for solution/technology language?167- [ ] Was the separation of real constraints from assumptions checked explicitly?168- [ ] Were all requirement IDs checked for uniqueness and format (R-NN)?169- [ ] Were the open questions checked for resolution plans?170171### Acceptance test172173**Can the author read the findings list, know exactly which section or requirement ID to fix, and understand what "fixed" looks like - without asking a clarifying question?**174175If no: the findings are incomplete or imprecise. Add location references and a concrete suggestion.176177If yes: the findings are ready. Hand them to the author for improvement, or confirm the document is ready for the design stage.178179---180181## Examples182183### Example 1: Must Have requirement missing acceptance criteria184185**Input**: a requirements document with 5 Must Have items; 3 of them have no acceptance criteria.186187**Expected finding**:188189```markdown190- **Location**: `## Need Hierarchy / Must Have / R-02`191- **Category**: requirement-quality192- **Severity**: major193- **Title**: Must Have requirement lacks acceptance criteria194- **Description**: R-02 ("Users can export data") has no acceptance criteria. Without a testable criterion, this requirement cannot be verified or designed against.195- **Suggestion**: Add acceptance criteria in the form "Given [context], when [action], then [outcome]". Example: "Given a user has at least one dataset, when they click Export, then a CSV file is downloaded within 3 seconds."196```197198### Example 2: problem statement references a solution199200**Input**: the problem statement reads "We need a React app with a PostgreSQL database, because users cannot track inventory."201202**Expected finding**:203204```markdown205- **Location**: `## Problem Statement`206- **Category**: requirement-quality207- **Severity**: major208- **Title**: Problem statement contains solution references209- **Description**: "React app" and "PostgreSQL database" are technology choices, not problem descriptions. The problem statement should describe the pain without referencing solutions.210- **Suggestion**: Rewrite as: "Small business owners lose inventory data due to manual tracking limitations. They need a reliable way to track and query inventory across devices."211```212213### Example 3: no scope definition214215**Input**: a requirements document with 10 requirements, no in-scope/out-of-scope section, and no V1 boundary.216217**Expected finding**:218219```markdown220- **Location**: (document-level — no scope section present)221- **Category**: requirement-quality222- **Severity**: critical223- **Title**: No scope definition or V1 boundary224- **Description**: The document lists requirements but does not define what is in scope for V1, what is deferred, or what a minimal useful version looks like. Without scope boundaries, design and implementation have no stopping condition.225- **Suggestion**: Add a "## Scope Definition" section with explicit In scope (V1), Out of scope, and Walking skeleton entries.226```227228### Edge case: complete document, zero findings229230**Input**: a requirements document that satisfies everything — problem statement, testable acceptance criteria for all requirements, constraint inventory, V1 scope, unique validated R-NN IDs, and open questions with resolution plans.231232**Expected output**:233234> The requirements document meets all six quality dimensions. Every Must Have requirement has testable acceptance criteria; the problem statement is free of solutions; constraints and assumptions are separated; V1 scope is explicit; all requirements carry an R-NN ID; open questions have resolution plans. Ready for the design stage.
Run npx skillmds@latest add nesnilnehc/review-requirements in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Review an existing requirements document for quality: problem clarity, testable needs, constraint inventory, scope boundedness, requirement IDs, and open questions. Evaluative atomic skill; output is a findings list. It is listed under Coding & Dev Tools on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free. This skill is licensed under MIT.
nesnilnehc (@nesnilnehc) published this skill. Their other Agent Skills are listed on their SkillMD profile.