From sdd-workflow
Analyze and extract requirements from use case diagram. Use when extracting UR/FR/NFR from use cases or when called by generate-prd.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sdd-workflow:analyze-requirementsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyzes use case diagrams or business requirements to extract structured requirements lists.
Analyzes use case diagrams or business requirements to extract structured requirements lists.
This skill extracts and categorizes requirements into:
This skill operates in two modes:
| Mode | Behavior | Description |
|---|---|---|
| Interactive (default) | Guide | May ask clarifying questions about ambiguous requirements |
CI (--ci) | Silent | No user interaction, makes reasonable assumptions automatically |
Read the following references:
references/usecase_diagram_guide.md - Use case diagram notation (for parsing input)Read project principles if available:
${CLAUDE_PROJECT_DIR}/${SDD_ROOT}/CONSTITUTION.md - Project principles (optional, for principle alignment)$ARGUMENTS
| Argument | Required | Description |
|---|---|---|
input-text | Yes | Use case diagram text, business requirements, or feature name |
--ci | - | CI/non-interactive mode. Skips clarifying questions |
See examples/usecase_diagram_input.md for detailed input formats with Mermaid diagrams.
Quick examples:
/analyze-requirements task-management
/analyze-requirements task-management --ci
When a feature name is provided, look for:
${CLAUDE_PROJECT_DIR}/${SDD_REQUIREMENT_PATH}/{feature-name}.md - Existing PRDCI Mode: Skip clarifying questions. Make reasonable assumptions for ambiguous items.
Parse the input to identify:
| Item | Source |
|---|---|
| Actors | From use case diagram or requirements text |
| Use Cases | From use case diagram or requirements text |
| Relationships | Include/extend relationships between use cases |
| Business Context | Background information if available |
For each use case and context, derive:
User Requirements (UR)
UR-xxxFunctional Requirements (FR)
FR-xxxNon-Functional Requirements (NFR)
NFR-xxxFor each requirement, specify:
| Attribute | Values | Description |
|---|---|---|
| Priority | Must / Should / Could / Won't | MoSCoW prioritization |
| Risk | High / Medium / Low | Implementation risk level |
| Verification | Test / Analysis / Demonstration / Inspection | How to verify |
Establish relationships between requirements:
| Relationship | From | To | Description |
|---|---|---|---|
| derives | FR | UR | Functional requirement derived from user requirement |
| contains | Parent | Child | Parent requirement contains child requirements |
| traces | NFR | FR | Non-functional requirement traces to functional requirement |
Check Quality Checks items before returning output.
IMPORTANT: This skill returns text only. It does NOT write files.
Return the following markdown structure:
## User Requirements (UR)
| ID | Requirement | Priority | Risk |
|:-------|:-------------------------------------------|:---------|:-------|
| UR-001 | Users can efficiently manage tasks | Must | High |
| UR-002 | System provides intuitive task operations | Should | Medium |
## Functional Requirements (FR)
| ID | Requirement | Derived From | Priority | Risk | Verification |
|:-------|:--------------------------------------|:-------------|:---------|:-------|:-------------|
| FR-001 | User can create new tasks | UR-001 | Must | High | Test |
| FR-002 | User can edit existing tasks | UR-001 | Must | Medium | Test |
| FR-003 | User can delete tasks | UR-001 | Must | Medium | Test |
| FR-004 | User can mark tasks as complete | UR-001 | Must | Low | Test |
## Non-Functional Requirements (NFR)
| ID | Requirement | Category | Priority | Risk | Verification |
|:--------|:-------------------------------------|:------------|:---------|:-------|:---------------|
| NFR-001 | Response time under 1 second | Performance | Should | Medium | Demonstration |
| NFR-002 | System available 99.9% uptime | Reliability | Should | High | Analysis |
| NFR-003 | User actions logged for audit | Security | Could | Low | Inspection |
## Requirements Summary
| Category | Count | Must | Should | Could |
|:---------|------:|-----:|-------:|------:|
| UR | 2 | 1 | 1 | 0 |
| FR | 4 | 4 | 0 | 0 |
| NFR | 3 | 0 | 2 | 1 |
| **Total**| **9**| **5**| **3** | **1** |
The caller (generate-prd or user) is responsible for saving the output to a file if needed.
Before returning output, verify:
/generate-prd --ci with --ci flag/generate-requirements-diagramnpx claudepluginhub toshikiimagawa/ai-sdd-workflow --plugin sdd-workflowGathers, organizes, and documents software requirements into Markdown catalogs with user stories, measurable NFRs, and constraints tables. Use for PRDs, feature specs, or requirements analysis.
Authors, updates, and validates atomic functional and non-functional requirements with traceability matrices, validation packs, and explicit human-in-the-loop approvals. Use for creating or reviewing requirements as source of truth.
Orchestrates Problem-Based SRS methodology from business context through functional requirements with full traceability. Coordinates skills for business context, customer problems, software glance, customer needs, software vision, and functional requirements.