plan-interview
SKILL.md
Plan Interview
Systematically interview the user about their plan to ensure clarity, catch edge cases, and validate assumptions before implementation begins.
When to Use
- User explicitly requests an interview: "interview me", "ask me questions"
- User wants plan validation: "review my plan", "challenge my approach"
- Before starting implementation of a complex feature
- When the plan seems to have gaps or ambiguities
- When assumptions need validation
Interview Process
Step 1: Load the Plan
First, read the active plan file to understand what's being proposed:
- Check for plan file in
~/.claude/plans/(most recent or specified) - Parse the plan structure: goals, steps, files to modify, approach
- Identify areas that need clarification
Step 2: Conduct Systematic Interview
Use the AskUserQuestion tool to interview the user across these categories. Ask 1-4 questions at a time, grouped by category.
Category 1: Technical Implementation
Ask about:
- Architecture decisions (why this approach vs alternatives?)
- Data flow (where does data come from/go to?)
- State management (how is state handled?)
- API contracts (what are the inputs/outputs?)
- Error handling (what can go wrong? how to handle it?)
- Performance implications (any N+1 queries? expensive operations?)
Example questions:
Question: "How should we handle errors in the API call?"
Options:
- A. Silent fail with fallback data
- B. Show error toast and retry button
- C. Redirect to error page
- D. Other
Category 2: UI/UX Decisions
Ask about:
- User flow (what's the happy path? what about edge cases?)
- Visual design (any specific design requirements?)
- Responsive behavior (mobile/tablet/desktop differences?)
- Loading states (what to show while loading?)
- Empty states (what if there's no data?)
- Accessibility (keyboard nav? screen readers?)
Category 3: Concerns & Edge Cases
Ask about:
- What happens if the user is offline?
- What happens with invalid input?
- What about concurrent users/requests?
- What about partial failures?
- What about really large datasets?
- What about really small screens?
Category 4: Tradeoffs
Ask about:
- Speed vs completeness (MVP or full feature?)
- Consistency vs availability (stale data OK?)
- Simplicity vs flexibility (hardcode or configure?)
- Build vs buy (custom or library?)
- Now vs later (optimize now or defer?)
Category 5: Dependencies & Integration
Ask about:
- External services (which APIs? what if they're down?)
- Internal dependencies (what other code/features does this touch?)
- Database changes (new tables? migrations?)
- Environment variables (new config needed?)
- Third-party libraries (any new dependencies?)
Category 6: Testing Strategy
Ask about:
- Unit tests (what's worth testing?)
- Integration tests (what flows to test?)
- E2E tests (what user journeys to verify?)
- Edge case tests (what unusual scenarios?)
- Performance tests (any benchmarks needed?)
Category 7: Security
Ask about:
- Authentication (who can access this?)
- Authorization (what can they do?)
- Input validation (what to sanitize?)
- Data exposure (what not to leak?)
- OWASP top 10 (any vulnerabilities?)
Step 3: Document Findings
After the interview:
- Update the plan file with clarified decisions
- Note any unresolved questions for later
- Highlight any risks or concerns identified
Question Format Guidelines
When using AskUserQuestion:
-
Be specific - Don't ask vague questions
- Bad: "How should we handle errors?"
- Good: "When the HS code lookup API fails, should we: A) Show cached results, B) Display error message, C) Fallback to manual entry?"
-
Provide options - Give concrete choices when possible
- Include 2-4 options
- Always include "Other" for custom responses
- Put recommended option first with "(Recommended)"
-
Group related questions - Ask up to 4 questions per round
-
Use clear headers - Help user understand the category
Example Interview Session
[After reading plan for "Add HS Code Lookup Feature"]
Round 1 - Technical Implementation:
Q1: "Where should the HS code lookup data come from?"
A. External API (real-time lookup)
B. Local database (pre-loaded codes)
C. Hybrid (cache API results locally)
D. Other
Q2: "How often should we refresh the HS code data?"
A. Never (static dataset)
B. Daily background sync
C. On-demand when user searches
D. Other
Round 2 - UI/UX:
Q1: "What should happen while searching for HS codes?"
A. Show loading spinner in input
B. Show skeleton results
C. Disable input until ready
D. Other
Q2: "How many search results should we show?"
A. Top 5 matches
B. Top 10 matches
C. Paginated results (10 per page)
D. Other
[Continue through all categories as needed]
Anti-Patterns
- Don't ask questions you can answer yourself by reading the code
- Don't ask about things already specified in the plan
- Don't ask hypothetical questions that won't affect implementation
- Don't overwhelm with too many questions at once (max 4 per round)
- Don't ask leading questions that push a particular answer
Integration with Plan Mode
This skill works best when:
- A plan file already exists (from plan mode)
- The plan has been drafted but not approved
- User wants validation before ExitPlanMode
After interview completes:
- Update plan file with decisions
- Call ExitPlanMode with the refined plan
- Include any caveats or risks identified
Quick Reference
| Phase | Questions to Ask |
|---|---|
| Technical | Architecture, data flow, APIs, errors, performance |
| UI/UX | User flow, design, responsive, loading/empty states |
| Edge Cases | Offline, invalid input, concurrency, scale |
| Tradeoffs | MVP vs full, build vs buy, now vs later |
| Dependencies | External APIs, internal code, DB, config |
| Testing | Unit, integration, E2E, edge cases |
| Security | Auth, authz, validation, data exposure |
Weekly Installs
1
Repository
dvorkinguy/clau…s-agentsFirst Seen
10 days ago
Security Audits
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1