Interview Mode
Overview
This skill forces a "slow down to speed up" workflow. Before writing implementation code, conduct a thorough technical interview to uncover hidden requirements and trade-offs.
When to Use
- •Task description is vague or broad ("add auth to my app")
- •Multiple valid approaches exist
- •Architectural decisions are needed
- •User requirements may have hidden complexity
- •The task could be interpreted multiple ways
Instructions
- •
Stop and Think - Do not start coding yet.
- •
Interview Phase - Use the
AskUserQuestiontool to gather requirements:- •UI/UX requirements and preferences
- •State management approach
- •Security considerations
- •Error handling expectations
- •Edge cases and boundary conditions
- •Integration points with existing code
- •Performance requirements
- •Testing expectations
- •
Ask Deep Questions - Challenge assumptions:
- •"What happens if...?"
- •"How should the system behave when...?"
- •"Do you need to support...?"
- •"What's the expected scale...?"
- •
Iterate - If an answer reveals complexity, ask follow-up questions.
- •
Spec Creation - Summarize findings into a specification document.
- •
Confirmation - Get user approval before proceeding to implementation.
Example Interview
User: "I want to add auth to my app."
Interview Questions:
- •Authentication method: JWT tokens, session-based, or OAuth?
- •Do you need social login (Google, GitHub, etc.)?
- •What's the password policy (length, complexity)?
- •Password reset flow - email or SMS?
- •Session duration and refresh token handling?
- •Protected routes - which pages require auth?
- •Role-based access control needed?
- •Rate limiting for login attempts?
- •Two-factor authentication requirement?
- •Where will user data be stored?
Output Format
After the interview, create a spec document:
markdown
# Feature Specification: [Feature Name] ## Requirements - Requirement 1 - Requirement 2 ## Technical Approach - Approach details ## Edge Cases - Edge case 1 - Edge case 2 ## Out of Scope - Items explicitly excluded ## Acceptance Criteria - [ ] Criterion 1 - [ ] Criterion 2