Spec Interview Plugin
AI-driven requirements gathering through in-depth interviews. Transform vague ideas into comprehensive technical specifications through interactive Q&A.
Table of Contents
AI-driven requirements gathering through in-depth interviews. Transform vague ideas into comprehensive technical specifications through interactive Q&A.
Features
- In-Depth Questioning: AI asks non-obvious questions to uncover hidden requirements
- Smart Follow-ups: Analyzes your answers and drills deeper on critical areas
- Real Trade-offs: Presents actual technical trade-offs, not obvious good/bad choices
- Comprehensive Specs: Generates detailed technical specifications with all insights captured
- Multiple Rounds: Continues interviewing until all critical aspects are covered
- Adaptive Depth: Simple features get 3-5 rounds, complex projects get 5-8 rounds
Process Flow
flowchart TD
A([User Trigger]) -->|"interview me about X"| B[Detect Complexity]
B --> C{Simple or Complex?}
C -->|Simple feature| D[3-5 Interview Rounds]
C -->|Complex project| E[5-8 Interview Rounds]
subgraph Rounds["Interview Round Loop"]
direction TB
R1[Ask 2-3 Non-Obvious Questions]
R2[User Answers]
R3{Answer Complete?}
R4[Smart Follow-up]
R5{More Rounds Needed?}
R1 --> R2 --> R3
R3 -->|Incomplete| R4 --> R1
R3 -->|Complete| R5
R5 -->|Yes| R1
end
D & E --> Rounds
subgraph Categories["Question Categories (rotated)"]
direction LR
Q1[Technical Implementation]
Q2[User Experience]
Q3[Business Logic]
Q4[Concerns & Risks]
Q5[Trade-offs]
Q6[Non-functional Req.]
end
Rounds -.- Categories
R5 -->|No| F[Generate Spec Document]
F --> G[Save to ./feature-spec.md]
G --> H(["Done ✅<br/>Spec + Optional Task Breakdown"])
Why This Approach Works
Traditional approach:
- You write requirements
- AI follows them
- You realize you forgot something important
Spec Interview approach:
- AI asks you questions you didn’t think of
- Forces you to think through edge cases
- Results in more complete specifications
Installation
From Marketplace (Recommended)
/plugin marketplace add JayKim88/claude-ai-engineering
/plugin install spec-interview
Via npx
npx github:JayKim88/claude-ai-engineering spec-interview
Local Development
cd ~/Documents/Projects/claude-ai-engineering
npm run link
Requirements
- Claude Code CLI (latest version recommended)
- No configuration needed - works out of the box
Usage
Trigger Phrases
English:
- “interview me”
- “interview me about [topic]”
- “help me spec this out”
- “gather requirements”
- “ask me questions about [topic]”
- “I want to build [X], ask me questions”
Korean:
- “인터뷰해줘”
- “[주제]에 대해 질문해줘”
- “요구사항 정리해줘”
- “스펙 작성 도와줘”
Example 1: Simple Feature
User: "Interview me about adding a dark mode feature"
Claude: I'll help you spec out the dark mode feature. Let me ask some questions to understand your requirements better.
[Round 1 - 3 questions about toggle mechanism, persistence, system preferences]
[Round 2 - 2 questions about images and third-party content]
✅ Specification saved to: ./dark-mode-spec.md
📋 Captured:
- 5 functional requirements
- Toggle mechanism: Settings page + keyboard shortcut
- Persistence: localStorage with system preference fallback
- Image handling strategy for dark backgrounds
- Third-party embed considerations
Want me to create a task breakdown from this spec?
Example 2: Complex Project
User: "I want to build a real-time collaboration tool, interview me"
Claude: I'll conduct a thorough interview to gather all requirements for your real-time collaboration tool.
[Round 1 - Core functionality and main use cases]
[Round 2 - Real-time sync approach and conflict resolution]
[Round 3 - Permissions, security, data privacy]
[Round 4 - Scalability and performance under load]
[Round 5 - Edge cases, offline mode, error recovery]
[Round 6 - Testing, deployment, monitoring]
✅ Specification saved to: ./collaboration-tool-spec.md
📋 Captured:
- 18 functional requirements
- Architecture: WebSocket + CRDT for conflict resolution
- Security: E2E encryption + role-based access control
- 12 key user flows with edge cases
- Performance targets: <100ms latency, 10K concurrent users
- 4 implementation phases defined
🎯 Next Steps:
1. Review and validate this specification
2. Break down into implementable tasks
3. Set up initial architecture
Question Categories
The interview rotates through these categories to ensure comprehensive coverage:
- Technical Implementation: Architecture, tech stack, integrations, scalability
- User Experience: User flows, interactions, edge cases, error states
- Business Logic: Rules, constraints, validations, permissions
- Concerns & Risks: Security, privacy, compliance, data handling
- Trade-offs: Performance vs features, complexity vs simplicity
- Non-functional Requirements: Monitoring, logging, testing, deployment
Question Quality
The plugin is designed to ask non-obvious questions:
Bad Questions (avoided):
- “Should this be secure?” (always yes)
- “Do you want good performance?” (too vague)
- “Should we use best practices?” (meaningless)
Good Questions (asked):
- “When two users edit the same item simultaneously, should the last write win, or should we detect conflicts?”
- “If the external API is down, should we queue requests or fail immediately with an error?”
- “Would you prioritize a more flexible architecture that takes longer to build, or a simpler implementation that ships faster but is harder to extend later?”
Output Format
Generated specifications include:
- Overview: Purpose and scope
- Requirements: Functional and non-functional requirements
- Technical Design: Architecture, tech stack, components, data models
- User Experience: User flows and UI/UX considerations
- Implementation Details: Phases and technical decisions
- Edge Cases: Error handling and edge case scenarios
- Security & Privacy: Security considerations and compliance
- Testing Strategy: Test coverage and scenarios
- Risks & Mitigations: Risk assessment
- Open Questions: Unresolved items
- Success Metrics: Key metrics and monitoring
- References: Related documents and interview notes
Tips
- Be honest about uncertainty: Say “I don’t know” - the AI will help educate you on options
- Think through trade-offs: The AI presents real trade-offs, not easy answers
- Ask for clarification: If a question is unclear, ask the AI to rephrase
- Reference previous answers: The AI remembers your earlier responses
- Stop when ready: You can end the interview when you feel requirements are clear
- Request focus: Say “focus on security” or “focus on UX” to emphasize certain areas
Advanced Usage
Focused Interview
User: "Interview me about API rate limiting, focus on security"
Claude: [Asks questions specifically about security aspects of rate limiting]
Batch Interview
User: "Interview me about: 1) user authentication, 2) file uploads, 3) notifications"
Claude: [Interviews each feature separately, notes dependencies]
Resume Interview
User: "Continue the interview about task management"
Claude: [Reads the partial spec and continues from where it left off]
When to Use
✅ Use this skill when:
- Building something new but haven’t fully thought through requirements
- Complex feature that needs thorough planning
- Want to discover edge cases you haven’t considered
- Prefer interactive Q&A over writing docs yourself
- Working on a team and want comprehensive documentation
❌ Skip when:
- You’ve already written detailed requirements (just review instead)
- Very simple, well-defined task (overkill)
- Want to start coding immediately (respect that preference)
Troubleshooting
Issue: Questions are too high-level
- Solution: Tell the AI to “go deeper” or “ask more technical questions”
Issue: Interview is taking too long
- Solution: Say “I think we have enough, let’s wrap up” - the AI will generate the spec
Issue: AI asks about something you haven’t decided
- Solution: Say “I don’t know” - the AI will present options and trade-offs
Issue: Spec is missing something important
- Solution: Read the spec and say “add a section about X” - the AI can update it
Future Enhancements
- Support for visual diagram generation (architecture, user flows)
- Integration with task management tools (Linear, Jira)
- Collaborative interviews (multiple stakeholders)
- Spec templates for common patterns (CRUD, auth, real-time, etc.)
- Automatic spec updates based on implementation changes
Related Plugins
- learning-summary: Document the interview process itself
- project-insight: Analyze existing codebase before planning new features
Contributing
Found a bug or have a feature request? Open an issue at: https://github.com/JayKim88/claude-ai-engineering/issues
License
MIT License - See LICENSE file for details
Author
Jay Kim
- GitHub: @JayKim88
Inspired by: Danny Postma’s insight that “AI asking questions” is more effective than “user telling AI what to do” for requirements gathering.