Use when a plan, PRD, or spec has vague requirements, undefined terms, or missing details - conducts structured interview using AskUserQuestion to surface hidden assumptions, challenge ambiguities, and produce implementation-ready specs. Also use proactively when encountering plans that say things like "make it faster" or "improve UX" without concrete definitions.
Plans fail because of hidden assumptions, not missing features. This skill systematically interviews stakeholders to surface ambiguities before they become bugs.
Core principle: Every vague term is a bug waiting to happen. "Make it faster" means nothing until someone says "reduce P95 latency from 800ms to 200ms."
Trigger conditions:
/interview-plan <file>Do NOT use for:
Interview is NOT complete until ALL categories are covered:
| Category | Must Surface | |----------|--------------| | Technical | Architecture decisions, data flow, state management, API contracts | | UX/Design | User flows, states (loading/empty/error), mobile strategy, accessibility | | Tradeoffs | What are we NOT doing? What's MVP vs future? What's negotiable? | | Edge Cases | High-volume users, empty states, failure modes, concurrent access | | Security | Auth/authz, data exposure, input validation, audit requirements | | Testing | How do we know it works? Unit/integration/E2E split, test data | | Rollback | What if it fails in prod? Feature flags? Parallel running? | | Dependencies | Who owns what? What's blocking? Who approves? |
Read the plan file. For each section, identify:
Use AskUserQuestion with 2-4 related questions per batch. Group by category.
Before each batch, state your reasoning:
I notice the plan says "[quote]" but doesn't specify [gap].
This matters because [consequence if undefined].
When user gives a deflecting or vague answer:
| User Says | You Respond | |-----------|-------------| | "We'll figure it out later" | "What specifically needs to be true before we can figure it out? Who decides?" | | "It should be fast enough" | "What's the current latency? What would make you say 'this is too slow'?" | | "Standard approach" | "Which standard? Can you point to an example in this codebase?" | | "Design will handle that" | "Has design delivered this? If not, when? What's our fallback?" | | "Users will understand" | "Which users? Have we tested this assumption? What's the support cost if wrong?" | | "I trust you to figure it out" | "My job is to surface gaps, not make assumptions. What would happen if I guess wrong on [specific item]?" | | "We're running out of time" | "I can compress into 2 more batches. But skipping categories means shipping bugs. Which risks do you want documented as 'owner: you'?" | | "Just start building" | "Building with gaps means rework. 5 more minutes now saves days later. What's the real constraint - time or energy?" |
Never accept:
Obvious questions (avoid these as primary questions):
Non-obvious questions (these surface real gaps):
Maintain mental checklist. After each batch, assess:
When stakeholder is impatient:
Compress, don't skip. Combine remaining categories into 1-2 dense batches. Never skip a category entirely.
Make risk explicit. If they insist on skipping: "I'll document [Security: TBD, Owner: @you] in the spec. You're accepting this risk."
Name the tradeoff. "5 more minutes now, or 2 days of rework when we discover [gap] in production. Your call."
Never rationalize:
Interview is complete when:
When interview is complete, write structured spec:
# [Project Name] - Implementation Spec
## Overview
[1-2 sentences: what this is and why it matters]
## Success Criteria
- [ ] [Measurable criterion with number]
- [ ] [Measurable criterion with number]
## Technical Decisions
| Decision | Choice | Rationale |
|----------|--------|-----------|
| [Area] | [What we're doing] | [Why, including rejected alternatives] |
## User Experience
### Happy Path
[Step by step flow]
### Edge Cases
| Scenario | Behavior |
|----------|----------|
| [Case] | [What happens] |
### Error States
| Error | User Sees | Recovery |
|-------|-----------|----------|
| [Type] | [Message/UI] | [How to fix] |
## Security Considerations
- [Item with mitigation]
## Testing Strategy
- **Unit**: [What's covered]
- **Integration**: [What's covered]
- **E2E**: [Critical paths]
## Rollback Plan
[How we undo this if it fails]
## Open Questions
- [ ] [Anything still unresolved, with owner]
## Dependencies
| Dependency | Owner | Status |
|------------|-------|--------|
| [Thing] | [Person/team] | [Confirmed/Pending/Blocked] |
When you hear these, the interview is NOT done:
| Mistake | Fix | |---------|-----| | Accepting first answer | Always ask "why?" at least once | | Asking obvious questions | Lead with non-obvious probes | | Moving on when stuck | Challenge deflections explicitly | | Single questions | Batch 2-4 by topic | | Not showing reasoning | Explain why each question matters | | Stopping when tired | Check completion criteria, not energy level |
npx skills add galihcitta/interviewing-plans下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer