Requirements Document Creation
Overview
Structured skill to help create a requirements document by guiding through requirements discovery, practical scoping, and generating a single, consolidated requirements document with clear, practical language.
Required Context
Before starting, read the feature development guide at @~/.local/share/dotfiles/ai/guides/feature-development-process.md and the vision document at @vision.md to understand the feature scope and our documentation approach.
Note: If the project has a local copy of the guide at @project/guides/feature-development-process.md, reference that instead for project-specific modifications.
IMPORTANT: Start by creating a TODO list to track the 3 phases of requirements creation. Mark the first phase as "in_progress" and others as "pending".
Requirements Document Structure
Single Consolidated Document (requirements.md) includes:
User Stories & Business Needs:
- User stories structured by role
- Business capabilities and user workflows
- Core system capabilities the system must provide
Business Data & Rules:
- Business entities and data requirements (entities, relationships, business-level attributes and constraints)
- Business logic and rules that govern system behavior
- User experience requirements
Quality Attributes & Constraints:
- Performance, security, reliability, and scalability requirements
- Compliance and privacy controls
- Technical constraints and limitations
Integration & Success:
- Integration touchpoints with existing systems
- Development and testing approaches
- Success criteria and acceptance criteria
- Constraints and assumptions
Existing System Patterns to Consider
When gathering requirements, check if existing system capabilities apply:
- Search: Full-text search capabilities
- File Attachments: Document/file upload and management
- Audit Trail: Change tracking and history
- Multi-tenancy: Data isolation per organization/tenant
- Permissions: Role-based access control
- Tagging: Classification and categorization systems
- Custom Fields: Extensible data fields
Ask early: "Which of these existing capabilities might apply to this feature?"
Process: Work Through These 3 Phases Sequentially
Phase 1: Requirements Discovery
Ask focused questions to gather ALL requirements (don't categorize yet):
- What specific capabilities does the system need to provide?
- What business entities does it need to manage (main concepts, relationships, business-level attributes)?
- What data does it need to store and what are the business constraints?
- What business rules need to be enforced?
- What are the different audiences (staff, members, public, admins)?
- How do requirements differ across these audiences?
- What should each audience be able to see and do?
- How do users interact with the system?
- What happens when there's no data? (Empty states for staff vs members)
- How is the data presented? (Feed-style, table, cards, etc.)
- What makes this feature usable for all technical skill levels?
- What are the security and permission requirements?
- What performance expectations exist?
- What integrations are needed with existing systems?
- What compliance or privacy requirements apply?
ONE QUESTION AT A TIME - Wait for answers before proceeding.
Phase 2: Practical Focus & Future Planning
For each discovered requirement, ask:
- Is this immediately practical for the current scope?
- Should this go in current requirements or future.md for later phases?
- Can we state this in clear, simple language?
- Is this appropriately scoped for the current phase?
- Is this testable and measurable?
Create future.md for requirements that are:
- Great ideas but beyond current scope
- Complex features requiring Phase 2/3 implementation
- Ideas worth preserving for future consideration
- Advanced features that build on the initial foundation
Keep in current requirements only what is:
- Immediately practical and achievable
- Essential for core functionality
- Written in clear, simple language
Phase 3: Document Generation
- Create a single consolidated requirements.md document with the following structure:
- User Stories & Business Needs - structured by role with clear business capabilities
- Core System Capabilities - what the system must provide to users
- Business Data Requirements - entities, relationships, business-level attributes
- Business Rules & Logic - rules and constraints that govern behavior
- User Experience Requirements - how the system should feel and behave
- Quality Attributes & Constraints - performance, security, reliability, scalability
- Integration Touchpoints - connections with existing systems
- Development & Testing Approach - how the system will be built and validated
- Success Criteria - clear acceptance criteria and definition of success
- Constraints & Assumptions - scope boundaries and foundational assumptions
- Create future.md for deferred requirements (organized by user stories and technical phases)
- Include table of contents with proper links in all documents
- Include systematic section numbering (1.1, 1.2, 2.1, 2.2, etc.) for precise cross-referencing
- Cross-reference the vision document for business context
- Use clear, practical language throughout
- Follow the exact structure from our feature development process
- When documenting key architectural decisions (separate page vs modal, feed vs table, etc.), capture the rationale (linkability, performance, UX, etc.)
Guidelines
- Ask ONE question at a time and wait for response
- Update your TODO list as you complete each phase
- Keep language clear and conversational, not corporate-speak
- Focus on immediately useful requirements, avoid over-engineering
- Organize requirements in logical, readable structure that serves the whole team
- Reference vision document and feature development process
- Stay practical and focus on readable, actionable documents
- Stay at Requirements Level: Focus on WHAT and WHY, not HOW
- Good: "System must track whether event is draft or published"
- Avoid: "Use boolean flag for is_draft field"
- Good: "Events belong to one organization"
- Avoid: "Include organization_id foreign key"
- Save technical implementation details (data types, table structures, field names) for the specification phase
- Expect Iteration: Requirements often get refined as users think through implications. This is normal and healthy. Be ready to update requirements based on new insights.
- When requirements change significantly (optional→required, add→remove features), update ALL related sections consistently
Getting Started Process
- Create your 3-phase TODO list immediately
- Ask user: "What feature directory are you working in? Please provide the full path (e.g., project/features/FT033-feature-name)"
- Ask user: "Please tag your vision document with @vision.md so I can understand the feature scope"
- Validate the directory exists and confirm where you'll create the requirements document
- Review the vision document to understand feature context
- Begin Phase 1 with the first requirements discovery question
- Keep questions focused and wait for answers before proceeding to next questions
1---2name: requirements-document3description: Creates requirements documents through structured 3-phase discovery process. Guides through requirements discovery, practical scoping, and generates consolidated requirements document with clear, practical language. Use when user wants to create a requirements document, needs to define what the system must do and quality constraints, or is documenting business capabilities, user workflows, and system requirements. Follows established feature development process with single consolidated document covering user stories, business data, rules, quality attributes, and success criteria.4---5
6# Requirements Document Creation
7
8## Overview
9
10Structured skill to help create a requirements document by guiding through requirements discovery, practical scoping, and generating a single, consolidated requirements document with clear, practical language.
11
12## Required Context
13
14Before starting, read the feature development guide at `@~/.local/share/dotfiles/ai/guides/feature-development-process.md` and the vision document at `@vision.md` to understand the feature scope and our documentation approach.
15
16Note: If the project has a local copy of the guide at `@project/guides/feature-development-process.md`, reference that instead for project-specific modifications.
17
18**IMPORTANT**: Start by creating a TODO list to track the 3 phases of requirements creation. Mark the first phase as "in_progress" and others as "pending".
19
20## Requirements Document Structure
21
22**Single Consolidated Document** (requirements.md) includes:
23
24**User Stories & Business Needs**:
25- User stories structured by role
26- Business capabilities and user workflows
27- Core system capabilities the system must provide
28
29**Business Data & Rules**:
30- Business entities and data requirements (entities, relationships, business-level attributes and constraints)
31- Business logic and rules that govern system behavior
32- User experience requirements
33
34**Quality Attributes & Constraints**:
35- Performance, security, reliability, and scalability requirements
36- Compliance and privacy controls
37- Technical constraints and limitations
38
39**Integration & Success**:
40- Integration touchpoints with existing systems
41- Development and testing approaches
42- Success criteria and acceptance criteria
43- Constraints and assumptions
44
45## Existing System Patterns to Consider
46
47When gathering requirements, check if existing system capabilities apply:
48- **Search**: Full-text search capabilities
49- **File Attachments**: Document/file upload and management
50- **Audit Trail**: Change tracking and history
51- **Multi-tenancy**: Data isolation per organization/tenant
52- **Permissions**: Role-based access control
53- **Tagging**: Classification and categorization systems
54- **Custom Fields**: Extensible data fields
55
56Ask early: "Which of these existing capabilities might apply to this feature?"
57
58## Process: Work Through These 3 Phases Sequentially
59
60### Phase 1: Requirements Discovery
61Ask focused questions to gather ALL requirements (don't categorize yet):
62- What specific capabilities does the system need to provide?
63- What business entities does it need to manage (main concepts, relationships, business-level attributes)?
64- What data does it need to store and what are the business constraints?
65- What business rules need to be enforced?
66- What are the different audiences (staff, members, public, admins)?
67- How do requirements differ across these audiences?
68- What should each audience be able to see and do?
69- How do users interact with the system?
70- What happens when there's no data? (Empty states for staff vs members)
71- How is the data presented? (Feed-style, table, cards, etc.)
72- What makes this feature usable for all technical skill levels?
73- What are the security and permission requirements?
74- What performance expectations exist?
75- What integrations are needed with existing systems?
76- What compliance or privacy requirements apply?
77
78**ONE QUESTION AT A TIME** - Wait for answers before proceeding.
79
80### Phase 2: Practical Focus & Future Planning
81For each discovered requirement, ask:
82- Is this immediately practical for the current scope?
83- Should this go in current requirements or future.md for later phases?
84- Can we state this in clear, simple language?
85- Is this appropriately scoped for the current phase?
86- Is this testable and measurable?
87
88**Create future.md** for requirements that are:
89- Great ideas but beyond current scope
90- Complex features requiring Phase 2/3 implementation
91- Ideas worth preserving for future consideration
92- Advanced features that build on the initial foundation
93
94**Keep in current requirements** only what is:
95- Immediately practical and achievable
96- Essential for core functionality
97- Written in clear, simple language
98
99### Phase 3: Document Generation
100- Create a single consolidated requirements.md document with the following structure:
101 1. **User Stories & Business Needs** - structured by role with clear business capabilities
102 2. **Core System Capabilities** - what the system must provide to users
103 3. **Business Data Requirements** - entities, relationships, business-level attributes
104 4. **Business Rules & Logic** - rules and constraints that govern behavior
105 5. **User Experience Requirements** - how the system should feel and behave
106 6. **Quality Attributes & Constraints** - performance, security, reliability, scalability
107 7. **Integration Touchpoints** - connections with existing systems
108 8. **Development & Testing Approach** - how the system will be built and validated
109 9. **Success Criteria** - clear acceptance criteria and definition of success
110 10. **Constraints & Assumptions** - scope boundaries and foundational assumptions
111- Create future.md for deferred requirements (organized by user stories and technical phases)
112- Include table of contents with proper links in all documents
113- Include systematic section numbering (1.1, 1.2, 2.1, 2.2, etc.) for precise cross-referencing
114- Cross-reference the vision document for business context
115- Use clear, practical language throughout
116- Follow the exact structure from our feature development process
117- **When documenting key architectural decisions** (separate page vs modal, feed vs table, etc.), capture the rationale (linkability, performance, UX, etc.)
118
119## Guidelines
120- Ask ONE question at a time and wait for response
121- Update your TODO list as you complete each phase
122- Keep language clear and conversational, not corporate-speak
123- Focus on immediately useful requirements, avoid over-engineering
124- Organize requirements in logical, readable structure that serves the whole team
125- Reference vision document and feature development process
126- Stay practical and focus on readable, actionable documents
127- **Stay at Requirements Level**: Focus on WHAT and WHY, not HOW
128 - Good: "System must track whether event is draft or published"
129 - Avoid: "Use boolean flag for is_draft field"
130 - Good: "Events belong to one organization"
131 - Avoid: "Include organization_id foreign key"
132 - Save technical implementation details (data types, table structures, field names) for the specification phase
133- **Expect Iteration**: Requirements often get refined as users think through implications. This is normal and healthy. Be ready to update requirements based on new insights.
134- When requirements change significantly (optional→required, add→remove features), update ALL related sections consistently
135
136## Getting Started Process
1371. Create your 3-phase TODO list immediately
1382. Ask user: "What feature directory are you working in? Please provide the full path (e.g., project/features/FT033-feature-name)"
1393. Ask user: "Please tag your vision document with @vision.md so I can understand the feature scope"
1404. Validate the directory exists and confirm where you'll create the requirements document
1415. Review the vision document to understand feature context
1426. Begin Phase 1 with the first requirements discovery question
1437. Keep questions focused and wait for answers before proceeding to next questions