--- name: gather trigger: /req gather description: Elicit requirements through structured questions and produce a specification --- # Skill: Gather Requirements ## Trigger `/req gather [topic or feature description]` ## Description Elicit requirements from the user through structured questioning. Produce a specification document with user stories and acceptance criteria. ## Inputs - topic: string, description of the feature or area to gather requirements for (required) ## Process 1. Read existing requirements documents in `docs/requirements/` if they exist 2. Ask structured questions about the feature: - What problem does this solve? - Who are the users? - What are the key workflows? - What data is involved? - What are the non-functional requirements (performance, security, accessibility)? 3. Generate user stories in the format: "As a [role], I want [capability], so that [benefit]" 4. For each user story, generate acceptance criteria in Given/When/Then format 5. Identify security requirements: authentication, authorisation, data classification 6. Identify edge cases and error conditions 7. Flag any ambiguities or contradictions for human resolution 8. Write the specification to `docs/requirements/.md` ## Output A structured requirements document at `docs/requirements/.md` containing: - Feature overview - User stories with acceptance criteria - Non-functional requirements - Security requirements - Open questions (if any) ## Autonomy - Tier 1: generating the requirements document - Tier 2: if requirements contradict existing signed-off specs ## Error Handling - If no topic is provided: ask the user what feature to gather requirements for - If existing requirements conflict: flag the conflict and escalate for human resolution