6.2 KiB
Feature Specification: {{feature_name}}
Feature ID: {{feature_id}}
Created: {{creation_date}}
Status: {{status}}
Priority: {{priority}}
Input: User description: "{{user_description}}"
Execution Flow (SDD Approach)
1. Parse user description from Input
→ If empty: ERROR "No feature description provided"
2. Extract key concepts from description
→ Identify: actors, actions, data, constraints
3. For each unclear aspect:
→ Mark with [NEEDS CLARIFICATION: {{specific_question}}]
4. Fill User Scenarios & Testing section
→ If no clear user flow: ERROR "Cannot determine user scenarios"
5. Generate Functional Requirements
→ Each requirement must be testable
→ Mark ambiguous requirements
6. Identify Key Entities (if data involved)
7. Run Review Checklist
→ If any [NEEDS CLARIFICATION]: WARN "Spec has uncertainties"
→ If implementation details found: ERROR "Remove tech details"
8. Return: SUCCESS (spec ready for implementation planning)
⚡ SDD Guidelines
- ✅ Focus on WHAT users need and WHY
- ❌ Avoid HOW to implement (no tech stack, APIs, code structure)
- 👥 Written for business stakeholders, specifications drive code
- 🔄 Specifications are executable - they generate implementation
Problem Statement
What Problem Does This Solve?
{{problem_description}}
Who Is Affected?
- Primary Users: {{primary_users}}
- Secondary Users: {{secondary_users}}
- Stakeholders: {{stakeholders}}
Current Pain Points
- {{pain_point_1}}
- {{pain_point_2}}
- {{pain_point_3}}
Success Criteria
Business Objectives
- {{business_objective_1}}
- {{business_objective_2}}
- {{business_objective_3}}
User Success Metrics
- {{user_metric_1}}
- {{user_metric_2}}
- {{user_metric_3}}
Acceptance Definition
{{acceptance_definition}}
User Scenarios & Testing
Primary User Flow
Given {{precondition}}
When {{user_action}}
Then {{expected_outcome}}
Edge Cases & Error Scenarios
- {{edge_case_1}}: {{edge_case_1_behavior}}
- {{edge_case_2}}: {{edge_case_2_behavior}}
- {{edge_case_3}}: {{edge_case_3_behavior}}
Integration Points
- {{integration_point_1}}
- {{integration_point_2}}
- {{integration_point_3}}
Functional Requirements
Core Requirements
- FR1: {{functional_requirement_1}}
- FR2: {{functional_requirement_2}}
- FR3: {{functional_requirement_3}}
Data Requirements
- Input Data: {{input_data_requirements}}
- Output Data: {{output_data_requirements}}
- Data Validation: {{data_validation_rules}}
- Data Retention: {{data_retention_policy}}
Business Rules
- {{business_rule_1}}
- {{business_rule_2}}
- {{business_rule_3}}
Non-Functional Requirements
Performance Requirements
- Response Time: {{response_time_requirement}}
- Throughput: {{throughput_requirement}}
- Concurrent Users: {{concurrency_requirement}}
Security Requirements
- Authentication: {{auth_requirements}}
- Authorization: {{authorization_requirements}}
- Data Protection: {{data_protection_requirements}}
Usability Requirements
- Accessibility: {{accessibility_requirements}}
- User Experience: {{ux_requirements}}
- Browser Support: {{browser_support_requirements}}
Key Entities & Relationships
Data Entities
-
{{entity_1}}: {{entity_1_description}}
- Attributes: {{entity_1_attributes}}
- Relationships: {{entity_1_relationships}}
-
{{entity_2}}: {{entity_2_description}}
- Attributes: {{entity_2_attributes}}
- Relationships: {{entity_2_relationships}}
State Management
- States: {{possible_states}}
- Transitions: {{state_transitions}}
- Triggers: {{state_triggers}}
Constraints & Assumptions
Technical Constraints
- {{technical_constraint_1}}
- {{technical_constraint_2}}
- {{technical_constraint_3}}
Business Constraints
- {{business_constraint_1}}
- {{business_constraint_2}}
- {{business_constraint_3}}
Key Assumptions
- {{assumption_1}}
- {{assumption_2}}
- {{assumption_3}}
Dependencies & Prerequisites
Internal Dependencies
- {{internal_dependency_1}}
- {{internal_dependency_2}}
- {{internal_dependency_3}}
External Dependencies
- {{external_dependency_1}}
- {{external_dependency_2}}
- {{external_dependency_3}}
Prerequisites
- {{prerequisite_1}}
- {{prerequisite_2}}
- {{prerequisite_3}}
Open Questions & Clarifications
Needs Clarification
- [NEEDS CLARIFICATION: {{clarification_1}}]
- [NEEDS CLARIFICATION: {{clarification_2}}]
- [NEEDS CLARIFICATION: {{clarification_3}}]
Research Required
- {{research_item_1}}
- {{research_item_2}}
- {{research_item_3}}
Review Checklist
- Testable Requirements: Every requirement has clear acceptance criteria
- No Implementation Details: Specification focuses on WHAT, not HOW
- Complete User Flows: All primary and edge case scenarios covered
- Clear Business Value: Success criteria directly relate to user/business needs
- Unambiguous Language: No room for multiple interpretations
- Data Model Clarity: All entities and relationships clearly defined
- Error Handling: All failure scenarios have defined behaviors
- Integration Points: All external dependencies identified
- Performance Criteria: Non-functional requirements are measurable
- Security Considerations: Authentication, authorization, and data protection addressed
Implementation Handoff
For Architect Agent
This specification defines WHAT needs to be built. Create technical architecture that determines HOW to implement these requirements using appropriate technologies and patterns.
For Developer Agent
Implementation must satisfy ALL functional requirements and success criteria. Generated code should include comprehensive tests that validate specification compliance.
For QA Agent
Test plans must verify EVERY requirement and scenario defined in this specification. Focus on specification compliance, not just code coverage.
This specification follows Specification-Driven Development (SDD) principles where specifications are executable and generate implementation. Changes to requirements should update this specification first, then propagate to implementation.