Claude-skill-registry doc-req
Create Atomic Requirements (REQ) - Layer 7 artifact using REQ v3.0 format with 12 sections, SPEC-readiness scoring, and IMPL-readiness scoring
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/doc-req" ~/.claude/skills/majiayu000-claude-skill-registry-doc-req && rm -rf "$T"
skills/data/doc-req/SKILL.mddoc-req
Purpose
Create Atomic Requirements (REQ) documents - Layer 7 artifact in the SDD workflow that decomposes system requirements into atomic, implementation-ready requirements using REQ v3.0 format.
Layer: 7
Upstream: BRD (Layer 1), PRD (Layer 2), EARS (Layer 3), BDD (Layer 4), ADR (Layer 5), SYS (Layer 6)
Downstream Artifacts: IMPL (Layer 8), CTR (Layer 9), SPEC (Layer 10), Code (Layer 13)
Prerequisites
Upstream Artifact Verification (CRITICAL)
Before creating this document, you MUST:
-
List existing upstream artifacts:
ls docs/BRD/ docs/PRD/ docs/EARS/ docs/BDD/ docs/ADR/ docs/SYS/ docs/REQ/ 2>/dev/null -
Reference only existing documents in traceability tags
-
Use
only when upstream artifact type genuinely doesn't existnull -
NEVER use placeholders like
orBRD-XXXTBD -
Do NOT create missing upstream artifacts - skip functionality instead
Before creating REQ, read:
- Shared Standards:
.claude/skills/doc-flow/SHARED_CONTENT.md - Upstream SYS: Read system requirements driving this REQ
- Template:
ai_dev_flow/REQ/REQ-TEMPLATE.md - Creation Rules:
ai_dev_flow/REQ/REQ_CREATION_RULES.md - Validation Rules:
ai_dev_flow/REQ/REQ_VALIDATION_RULES.md - Validation Script:
./ai_dev_flow/scripts/validate_req_template.sh
When to Use This Skill
Use
doc-req when:
- Have completed BRD through SYS (Layers 1-6)
- Need to decompose system requirements into atomic units
- Preparing for implementation (Layer 8+)
- Achieving >=90% SPEC-readiness score
- You are at Layer 7 of the SDD workflow
Reserved ID Exemption (REQ-00_*)
Scope: Documents with reserved ID
000 are FULLY EXEMPT from validation.
Pattern:
REQ-00_*.md
Document Types:
- Index documents (
)REQ-00_index.md - Traceability matrix templates (
)REQ-00_TRACEABILITY_MATRIX-TEMPLATE.md - Glossaries, registries, checklists
Rationale: Reserved ID 000 documents are framework infrastructure, not project artifacts requiring traceability or quality gates.
Validation Behavior: Skip all checks when filename matches
REQ-00_* pattern.
REQ-Specific Guidance
1. REQ v3.0 Format (12 Required Sections)
CRITICAL: REQ v3.0 expanded from 7 to 12 sections
Document Control (MANDATORY - First section before all numbered sections)
Core Sections:
- Description: Atomic requirement + SHALL/SHOULD/MAY language + context + scenario
- Functional Requirements: Core capabilities + business rules
- Interface Specifications: Protocol/ABC definitions + DTOs + REST endpoints
- Data Schemas: JSON Schema + Pydantic models + Database schema
- Error Handling Specifications: Exception catalog + error response schema + circuit breaker config
- Configuration Specifications: YAML schema + environment variables + validation
- Quality Attributes: Performance targets (p50/p95/p99) + reliability/security/scalability
- Implementation Guidance: Algorithms/patterns + concurrency/async + dependency injection
- Acceptance Criteria: >=15 measurable criteria covering functional/error/quality/data/integration
- Verification Methods: BDD scenarios + unit/integration/contract/performance tests
- Traceability: Section 7 format with cumulative tags (6 required)
- Change History: Version control table
2. Document Control Requirements (11 Mandatory Fields)
| Field | Format | Example |
|---|---|---|
| Status | Approved/In Review/Draft | Approved |
| Version | Semantic X.Y.Z | 2.0.1 |
| Date Created | ISO 8601 | 2025-11-18 |
| Last Updated | ISO 8601 | 2025-11-19 |
| Author | Name/Role | System Architect |
| Priority | Level (P-level) | High (P2) |
| Category | Type | Functional |
| Source Document | DOC-ID section X.Y.Z | SYS-02 section 3.1.1 |
| Verification Method | Method type | BDD + Integration Test |
| Assigned Team | Team name | IB Integration Team |
| SPEC-Ready Score | Format with emoji | >=90% (Target: >=90%) |
| IMPL-Ready Score | Format with emoji | >=90% (Target: >=90%) |
| Template Version | Must be 3.0 | 3.0 |
3. Dual Readiness Scoring (SPEC-Ready + IMPL-Ready)
MANDATORY: Each REQ must calculate BOTH scores
SPEC-Ready Score Formula:
SPEC-Ready Score = (Completed Sections / 12) * 100%
IMPL-Ready Score: Measures readiness for implementation approach documentation
Quality Gate: Both scores >=90% required for layer transition
Status and Ready Score Mapping:
| Ready Score | Required Status |
|---|---|
| >= 90% | Approved |
| 70-89% | In Review |
| < 70% | Draft |
Note: For REQ documents with dual scores, use the LOWER score to determine status.
Example:
## Readiness Scores **SPEC-Ready Score**: >=95% (Target: >=90%) **IMPL-Ready Score**: >=92% (Target: >=90%) **Section Status**: - [x] 1. Description - [x] 2. Functional Requirements - [x] 3. Interface Specifications - [x] 4. Data Schemas - [x] 5. Error Handling Specifications - [x] 6. Configuration Specifications - [x] 7. Quality Attributes - [x] 8. Implementation Guidance - [x] 9. Acceptance Criteria - [x] 10. Verification Methods - [x] 11. Traceability - [ ] 12. Change History (In Progress) **Readiness**: READY for SPEC/IMPL creation
4. Element ID Format (MANDATORY)
Pattern:
REQ.{DOC_NUM}.{ELEM_TYPE}.{SEQ} (4 segments, dot-separated)
| Element Type | Code | Example |
|---|---|---|
| Functional Requirement | 01 | REQ.02.01.01 |
| Dependency | 05 | REQ.02.05.01 |
| Acceptance Criteria | 06 | REQ.02.06.01 |
| Atomic Requirement | 27 | REQ.02.27.01 |
REMOVED PATTERNS - Do NOT use:
- UseAC-XXXREQ.NN.06.SS
- UseFR-XXXREQ.NN.01.SS
- UseR-XXXREQ.NN.27.SS
- UseREQ-XXXREQ.NN.27.SS
Reference:
ID_NAMING_STANDARDS.md - Cross-Reference Link Format
5. Atomic Requirement Principles
- Single Responsibility: Each REQ defines exactly one requirement
- Measurable: Acceptance criteria provide true/false outcomes
- Self-Contained: Understandable without external context
- SPEC-Ready: Contains ALL information for automated SPEC generation (>=90% completeness)
- Modal Language: SHALL (absolute), SHOULD (preferred), MAY (optional)
6. Domain/Subdomain Organization
Location:
REQ/{domain}/{subdomain}/ within project docs directory
Domains:
api/ (external integrations), risk/ (risk management), data/ (data requirements), ml/ (ML requirements), auth/ (security), etc.
Format:
REQ-NN_descriptive_slug.md
Example:
REQ-risk-limits-01_position_validation.md
Tag Format Convention (By Design)
The SDD framework uses two distinct notation systems for cross-references:
| Notation | Format | Artifacts | Purpose |
|---|---|---|---|
| Dash | TYPE-NN | ADR, SPEC, CTR | Technical artifacts - references to files/documents |
| Dot | TYPE.NN.TT.SS | BRD, PRD, EARS, BDD, SYS, REQ, IMPL, TASKS | Hierarchical artifacts - references to elements inside documents |
Key Distinction:
-> Points to the document@adr: ADR-033ADR-033_risk_limit_enforcement.md
-> Points to element 01.03 inside document@brd: BRD.17.01.03BRD-017.md
Cumulative Tagging Requirements
Layer 7 (REQ): Must include tags from Layers 1-6 (BRD, PRD, EARS, BDD, ADR, SYS)
Tag Count: 6 tags (@brd, @prd, @ears, @bdd, @adr, @sys)
Format:
## Traceability **Required Tags** (Cumulative Tagging Hierarchy - Layer 7): ```markdown @brd: BRD.01.01.03 @prd: PRD.01.07.02 @ears: EARS.01.25.01 @bdd: BDD.01.14.01 @adr: ADR-033, ADR-045 @sys: SYS.01.01.01, SYS.01.02.07
Upstream Sources:
Downstream Artifacts:
- IMPL-NN (to be created) - Implementation approach
- CTR-NN (to be created) - Data contracts
- SPEC-NN (to be created) - Technical specifications
**Element Type Codes for Tags**: - EARS: Type 25 (formal requirement) - BDD: Type 14 (scenario) - SYS: Type 01 (functional), 02 (quality attribute), 26 (system req) ## Threshold Registry Integration **Purpose**: Prevent magic numbers by referencing centralized threshold registry. ### When @threshold Tag is Required Use `@threshold` for ALL quantitative values that are: - Business-critical (compliance limits, SLAs) - Configurable (timeout values, rate limits, retry policies) - Shared across documents (performance targets) - Quality attribute-related (p50/p95/p99 latencies, throughput limits) - Error handling configurations (circuit breaker, retry counts) ### @threshold Tag Format ```markdown @threshold: PRD.NN.category.subcategory.key
Examples:
@threshold: PRD.035.perf.api.p95_latency@threshold: PRD.035.timeout.circuit_breaker.threshold@threshold: PRD.035.retry.max_attempts@threshold: PRD.035.limit.api.requests_per_second
REQ-Specific Threshold Categories
| Category | REQ Usage | Example Key |
|---|---|---|
| Performance acceptance criteria | |
| Circuit breaker, connection configs | |
| Retry policy configurations | |
| Rate limits, resource limits | |
| Memory, CPU constraints | |
Magic Number Detection
Invalid (hardcoded values):
p95 response time: 200msmax_retries: 3rate_limit: 100 req/s
Valid (registry references):
p95 response time: @threshold: PRD.NN.perf.api.p95_latencymax_retries: @threshold: PRD.NN.retry.max_attemptsrate_limit: @threshold: PRD.NN.limit.api.requests_per_second
Upstream/Downstream Artifacts
Upstream Sources:
- BRD (Layer 1) - Business requirements
- PRD (Layer 2) - Product features
- EARS (Layer 3) - Formal requirements
- BDD (Layer 4) - Test scenarios
- ADR (Layer 5) - Architecture decisions
- SYS (Layer 6) - System requirements (PRIMARY SOURCE)
Downstream Artifacts:
- IMPL (Layer 8) - Implementation approach (optional)
- CTR (Layer 9) - Data contracts (optional)
- SPEC (Layer 10) - Technical specifications
- Code (Layer 13) - Implementation
Same-Type Document Relationships (conditional):
- REQs sharing domain context@related-req: REQ-NN
- REQ that must be implemented first@depends-req: REQ-NN
Creation Process
Step 1: Read Upstream Artifacts
Especially focus on SYS (Layer 6) - system requirements to decompose.
Step 2: Reserve ID Number
Check
ai_dev_flow/REQ/ for next available ID number.
ID Numbering Convention: Start with 2 digits and expand only as needed.
- ✅ Correct: REQ-01, REQ-99, REQ-102
- ❌ Incorrect: REQ-001, REQ-009 (extra leading zero not required)
Domain-based naming:
REQ-domain-subdomain-NN
Step 3: Create REQ File
Location Options:
- Flat:
docs/REQ/REQ-{NN}_{slug}.md - Domain-based:
docs/REQ/{domain}/REQ-NN_{slug}.md - Subdomain:
docs/REQ/{domain}/{subdomain}/REQ-NN_{slug}.md
On-Demand Folder Creation: Before saving the document, create the target directory:
# Create target directory if it doesn't exist mkdir -p docs/REQ/{domain}/ # For domain-based structure # OR mkdir -p docs/REQ/{domain}/{subdomain}/ # For subdomain structure
Domain Selection: Use domain from project configuration or upstream SYS context:
- Financial:
,risk/
,trading/
,collection/
,compliance/ml/ - SaaS:
,tenant/
,subscription/
,billing/workspace/ - Generic:
,api/
,auth/
,data/
,core/integration/
Section Files: For large requirements (>50KB), use Section Files format:
REQ-NN.S_section_title.md (S = section number).
Step 4: Fill Document Control Section
Complete metadata with all 11 required fields plus Document Revision History table.
Step 5: Complete All 12 Required Sections
Critical: REQ v3.0 requires all 12 sections for >=90% SPEC-readiness
- Description: Atomic requirement + SHALL/SHOULD/MAY language
- Functional Requirements: Core capabilities + business rules
- Interface Specifications: APIs, endpoints, contracts, Protocol/ABC class
- Data Schemas: Models, validation, constraints, Pydantic/dataclass
- Error Handling Specifications: Error codes, recovery, exception definitions
- Configuration Specifications: Settings, feature flags, YAML config
- Quality Attributes: Performance, security, scalability with thresholds
- Implementation Guidance: Technical approach, patterns
- Acceptance Criteria: >=15 measurable criteria
- Verification Methods: BDD scenarios, tests
- Traceability: Cumulative tags (6 tags)
- Change History: Version control table
Step 6: Calculate Readiness Scores
Count completed sections and calculate both SPEC-Ready and IMPL-Ready percentages.
Quality Gate: Both scores must achieve >=90%
Step 7: Add Cumulative Tags
Include all 6 upstream tags (@brd through @sys).
Step 8: Create/Update Traceability Matrix
MANDATORY: Update
ai_dev_flow/REQ/REQ-00_TRACEABILITY_MATRIX-TEMPLATE.md
Step 9: Validate REQ
./ai_dev_flow/scripts/validate_req_template.sh ai_dev_flow/REQ/REQ-NN_*.md python ai_dev_flow/scripts/validate_tags_against_docs.py --artifact REQ-NN --expected-layers brd,prd,ears,bdd,adr,sys --strict
Step 10: Commit Changes
Commit REQ file and traceability matrix.
Validation
Validation Checks (20 Total)
| Check | Description | Type |
|---|---|---|
| CHECK 1 | Required 12 sections | Error |
| CHECK 2 | Document Control (11 fields) | Error |
| CHECK 3 | Traceability structure | Error/Warning |
| CHECK 4 | Legacy (deprecated) | Info |
| CHECK 5 | Version format (X.Y.Z) | Error |
| CHECK 6 | Date format (ISO 8601) | Error |
| CHECK 7 | Priority format (P1-P4) | Warning |
| CHECK 8 | Source document format | Warning |
| CHECK 9 | SPEC-Ready Score | Error/Warning |
| CHECK 10 | Template Version (3.0) | Error |
| CHECK 11 | Change History | Error/Warning |
| CHECK 12 | Filename/ID format | Error |
| CHECK 13 | Resource tag (Template 2.0) | Error |
| CHECK 14 | Cumulative tagging (6 tags) | Error |
| CHECK 15 | Complete upstream chain | Error |
| CHECK 16 | Link resolution | Error/Warning |
| CHECK 17 | Traceability matrix | Warning |
| CHECK 18 | SPEC-Ready content | Warning |
| CHECK 19 | IMPL-Ready Score | Error |
| CHECK 20 | Element ID format compliance | Error |
Validation Tiers
| Tier | Type | Exit Code | Description |
|---|---|---|---|
| Tier 1 | Errors | 1 | Blocking - must fix before commit |
| Tier 2 | Warnings | 0 | Quality issues - recommended to fix |
| Tier 3 | Info | 0 | Informational - no action required |
Automated Validation
# Validate single file ./scripts/validate_req_template.sh docs/REQ/REQ-NN_slug.md # Validate all REQ files find docs/REQ -name "REQ-*.md" -exec ./scripts/validate_req_template.sh {} \; # Cumulative tagging validation python ai_dev_flow/scripts/validate_tags_against_docs.py \ --artifact REQ-NN \ --expected-layers brd,prd,ears,bdd,adr,sys \ --strict
Manual Checklist
- Document Control section at top with 11 required fields
- All 12 required sections completed
- SPEC-Ready Score >=90%
- IMPL-Ready Score >=90%
- Template Version = 3.0
- Section 3: Interface Specifications with Protocol/ABC class
- Section 4: Data Schemas with Pydantic/dataclass models
- Section 5: Error Handling with exception definitions
- Section 6: Configuration with YAML schema
- Section 7: Quality Attributes with @threshold references
- Section 9: >=15 acceptance criteria
- Cumulative tags: @brd through @sys (6 tags) included
- Each requirement atomic (single responsibility)
- Acceptance criteria testable and measurable
- Traceability matrix updated
Diagram Standards
All diagrams MUST use Mermaid syntax. Text-based diagrams (ASCII art, box drawings) are prohibited. See:
ai_dev_flow/DIAGRAM_STANDARDS.md and mermaid-gen skill.
Common Pitfalls
- Incomplete sections: All 12 sections mandatory for SPEC-readiness
- Missing new sections: Sections 3-7 are new in v3.0 - don't skip them
- Low readiness scores: Both SPEC-Ready and IMPL-Ready must achieve >=90%
- Non-atomic requirements: Each REQ must be single, testable unit
- Missing cumulative tags: Layer 7 must include all 6 upstream tags
- Vague acceptance criteria: Must be measurable and testable
- Hardcoded values: Use @threshold references, not magic numbers
- Legacy element IDs: Use
format, not AC-XXX or FR-XXXREQ.NN.TT.SS - Status/score mismatch: Status must match the LOWER of the two scores
Post-Creation Validation (MANDATORY - NO CONFIRMATION)
CRITICAL: Execute this validation loop IMMEDIATELY after document creation.
Automatic Validation Loop
LOOP: 1. Run: python scripts/validate_cross_document.py --document {doc_path} --auto-fix 2. IF errors fixed: GOTO LOOP (re-validate) 3. IF warnings fixed: GOTO LOOP (re-validate) 4. IF unfixable issues: Log for manual review, continue 5. IF clean: Mark VALIDATED, proceed
Validation Command
# Per-document validation (Phase 1) python ai_dev_flow/scripts/validate_cross_document.py --document docs/REQ/REQ-NN_slug.md --auto-fix # Layer validation (Phase 2) - run when all REQ documents complete python ai_dev_flow/scripts/validate_cross_document.py --layer REQ --auto-fix
Layer-Specific Upstream Requirements
| This Layer | Required Upstream Tags | Count |
|---|---|---|
| REQ (Layer 7) | @brd, @prd, @ears, @bdd, @adr, @sys | 6 tags |
Auto-Fix Actions (No Confirmation Required)
| Issue | Fix Action |
|---|---|
| Missing @brd/@prd/@ears/@bdd/@adr/@sys tag | Add with upstream document reference |
| Invalid tag format | Correct to TYPE.NN.TT.SS (4-segment) or TYPE-NN format |
| Broken link | Recalculate path from current location |
| Missing traceability section | Insert from template |
Validation Codes Reference
| Code | Description | Severity |
|---|---|---|
| XDOC-001 | Referenced requirement ID not found | ERROR |
| XDOC-002 | Missing cumulative tag | ERROR |
| XDOC-003 | Upstream document not found | ERROR |
| XDOC-006 | Tag format invalid | ERROR |
| XDOC-007 | Gap in cumulative tag chain | ERROR |
| XDOC-009 | Missing traceability section | ERROR |
Quality Gate
Blocking: YES - Cannot proceed to IMPL/SPEC creation until Phase 1 validation passes with 0 errors.
Next Skill
After creating REQ, use:
(or optionally doc-spec
doc-impl/doc-ctr first) - Create Technical Specifications (Layer 10)
The SPEC will:
- Reference this REQ as upstream source
- Include all 7 upstream tags (@brd through @req)
- Use YAML format
- Define implementation contracts
- Achieve 100% implementation-readiness
Reference Documents
REQ artifacts do not support REF documents. Reference documents are limited to BRD and ADR types only per the SDD framework.
For supplementary documentation needs, create:
- BRD-REF: Business context and domain glossaries
- ADR-REF: Technical reference guides and architecture summaries
Related Resources
- Template:
(primary authority)ai_dev_flow/REQ/REQ-TEMPLATE.md - REQ Creation Rules:
ai_dev_flow/REQ/REQ_CREATION_RULES.md - REQ Validation Rules:
ai_dev_flow/REQ/REQ_VALIDATION_RULES.md - REQ README:
ai_dev_flow/REQ/README.md - Shared Standards:
.claude/skills/doc-flow/SHARED_CONTENT.md
Section Templates (for documents >50KB):
- Index template:
ai_dev_flow/REQ/REQ-SECTION-0-TEMPLATE.md - Content template:
ai_dev_flow/REQ/REQ-SECTION-TEMPLATE.md - Reference:
(Section-Based File Splitting)ai_dev_flow/ID_NAMING_STANDARDS.md
Quick Reference
REQ Purpose: Atomic, implementation-ready requirements
Layer: 7
Tags Required: @brd, @prd, @ears, @bdd, @adr, @sys (6 tags)
Format: REQ v3.0 (12 sections)
Quality Gate: SPEC-Ready Score >=90% AND IMPL-Ready Score >=90%
Element ID Format:
REQ.NN.TT.SS
- Functional Requirement = 01
- Dependency = 05
- Acceptance Criteria = 06
- Atomic Requirement = 27
Removed Patterns: AC-XXX, FR-XXX, R-XXX, REQ-XXX
Document Control Fields: 11 required (+ Template Version = 3.0)
Status/Score Mapping: >=90% Approved, 70-89% In Review, <70% Draft
File Size Limits: >50KB use section files
Next: doc-spec (or optionally doc-impl/doc-ctr first)