interviewing
Interviewing
When to Use
- Requirements or goals are ambiguous
- User isn't clear about what they want
- Hidden complexity might derail implementation
- Another skill encounters fundamental ambiguity
Skip when requirements are already clear or user wants to proceed without clarification.
Core Methodology
Ask Non-Obvious Questions
Probe deeper than surface-level:
- Why: What problem does this solve? Why now?
- Constraints: What would make this unacceptable? What can't change?
- Failure modes: What's the worst case? What happens when X fails?
- Success: How will you know this worked? What does "done" look like?
- Tradeoffs: What are you willing to give up? Minimum viable version?
- Assumptions: You mentioned X, but what about Y? Is that always true?
Avoid
- Restatements of what's already said
- Yes/no confirmations
- Generic questions that apply to anything
- Leading questions
Follow the Thread
Dig deeper when answers reveal complexity. Don't jump topics when current one has unexplored depth.
Batch Questions
Use AskUserQuestion with questions array for 2-4 related questions exploring different angles of the same area.
Saturation
Stop when:
- Answers stop revealing new information
- You could explain requirements to someone else
- User expresses readiness to proceed
Output
Summarize what you've learned:
**Clarified Requirements:**
- **Goal**: [specific goal]
- **Constraints**: [hard limits]
- **Success criteria**: [how we'll know it worked]
- **Key tradeoffs**: [prioritizing vs deprioritizing]
- **Open questions**: [if any]
Integration
| Skill | When to use interviewing first |
|---|---|
| Brainstorming | User unclear about what they want (not just how) |
| Technical Planning | Requirements too vague to plan |
| Debugging | Problem description unclear |
| Blog Writing | Topic or purpose unclear |
For writing, also ask: What's the core message? Who's the audience? What triggered this?
Examples
See reference/examples.md for project and writing interview flows.
More from dhruvbaldawa/ccconfigs
claude-md-authoring
Creates and reviews CLAUDE.md configuration files for Claude Code. Applies HumanLayer guidelines including instruction budgets (~50 user-level, ~100 project-level), WHAT/WHY/HOW framework, and progressive disclosure. Identifies anti-patterns like using Claude as a linter for style rules.
10writing-documentation
Produces concise, clear documentation by applying Elements of Style principles. Use when writing or improving any technical documentation (READMEs, guides, API docs, architecture docs). Not for code comments.
6testing
Validates test coverage and quality by checking behavior focus, identifying gaps, and ensuring >80% statement coverage. Use when task file is in testing/ directory and requires test validation before marking complete. Adds minimal tests for genuinely missing edge cases.
2writing-like-me
Write content in Dhruv Baldawa's authentic voice and style. Use when creating blog posts, LinkedIn posts, emails, documentation, technical writing, opinion pieces, or any written content that should sound like Dhruv. Triggers on requests like "write this as me", "draft in my voice", "write a blog post", "create a LinkedIn post", "help me write", or any content creation where the user wants their personal voice applied.
2blog-writing
Write blog posts in Dhruv Baldawa's distinctive voice - conversational yet analytical, grounded in personal experience, with clear structure and practical insights optimized for Substack. Use when writing or revising draft.md, translating ideas from braindump into polished prose.
2reviewing-code
Reviews implemented code for security, quality, performance, and test coverage using specialized review agents with clear accountability. Use when task file is in review/ directory. Launches Security Gatekeeper, Quality Guardian, and Test Auditor in parallel.
2