Feature Discussion & Specification Generator
This skill guides you through conducting comprehensive interviews about features or tasks, then generates detailed specification documents.
Workflow
Phase 1: Initial Context Gathering
First, ask the user to describe the task or feature they want to discuss. Use this initial description to understand the domain and scope.
Phase 2: In-Depth Interview
Use the AskUserQuestion tool to conduct a thorough, multi-round interview. Your questions should be:
Technical Implementation:
- •Architecture and design patterns
- •Technology stack choices and justifications
- •Data models and schemas
- •API design and interfaces
- •State management approaches
- •Performance considerations
- •Scalability requirements
- •Integration points with existing systems
UI & UX (if applicable):
- •User flows and journeys
- •Interaction patterns
- •Visual design requirements
- •Accessibility considerations
- •Responsive design needs
- •Error states and edge cases
- •Loading and feedback mechanisms
Concerns & Trade-offs:
- •Security implications
- •Privacy considerations
- •Performance vs. complexity trade-offs
- •Maintainability concerns
- •Technical debt considerations
- •Migration strategies
- •Backward compatibility needs
Non-Obvious Deep Dives:
- •Edge cases and error scenarios
- •Failure modes and recovery strategies
- •Monitoring and observability
- •Testing strategies
- •Deployment and rollout plans
- •Rollback procedures
- •Documentation needs
- •Team coordination requirements
Important Guidelines:
- •Avoid obvious questions - Don't ask generic questions like "What framework do you want to use?" unless truly necessary
- •Build on previous answers - Use context from earlier responses to ask increasingly specific questions
- •Go deep, not wide - Drill into specific areas rather than surface-level coverage
- •Continue iteratively - Keep interviewing until you have comprehensive understanding. Don't rush to completion.
- •Ask 1-4 questions at a time - Use the AskUserQuestion tool effectively with focused question sets
- •Probe assumptions - Challenge decisions respectfully to ensure they're well-considered
Phase 3: Completion Signal
Continue the interview until you have exhaustive coverage of:
- •All technical requirements and constraints
- •Complete user experience vision
- •Identified risks and mitigation strategies
- •Clear success criteria
- •Implementation roadmap
Only proceed to Phase 4 when the user indicates they're satisfied or when you've covered all critical areas comprehensively.
Phase 4: Specification Generation
Once the interview is complete, generate a comprehensive specification document and write it to a file.
File Naming:
- •Use a descriptive name based on the feature/task
- •Format:
[feature-name]-spec.md - •Examples:
user-authentication-spec.md,payment-integration-spec.md,dashboard-redesign-spec.md
Specification Structure:
Use the comprehensive template provided in spec-template.md as your guide. The template includes sections for:
- •Overview and goals
- •User stories and use cases
- •Technical requirements (architecture, tech stack, data model, API design, state management)
- •UI/UX requirements (flows, design, accessibility)
- •Non-functional requirements (performance, security, scalability, reliability)
- •Edge cases and error handling
- •Testing strategy
- •Deployment plan
- •Risks and mitigation
- •Implementation phases
- •Success criteria
- •References
Important: Adjust the structure based on what was discussed. Remove sections that aren't relevant, add sections for unique aspects of the feature.
Example Interaction Flow
User: /discuss You: Let me help you develop a comprehensive specification. Please describe the task or feature you'd like to discuss in detail. User: [Describes feature] You: [Uses AskUserQuestion with 2-3 deep technical questions] User: [Answers] You: [Uses AskUserQuestion with follow-up questions based on answers] ... [Multiple rounds of deep questioning] ... You: [Once complete, generates and writes spec file] I've created a comprehensive specification document at: [filename].md
Notes
- •Prioritize depth over breadth
- •Challenge assumptions constructively
- •Ensure all trade-offs are explicitly discussed
- •The specification should be detailed enough that another developer could implement it
- •If the user seems uncertain, ask more questions rather than making assumptions