Deeply interviews the user about a feature idea before implementation. Use this when the user says "interview me about [feature]", "I want to create a new feature", "let's create a new feature", "new feature", "plan a feature", or describes a feature they want to build. Asks probing, non-obvious questions about technical implementation, UI/UX decisions, edge cases, concerns, tradeoffs, and constraints. Continues interviewing until the feature is fully understood, then writes a detailed implemen…
Deeply interviews the user about a feature idea before implementation.
Use this when the user says "interview me about [feature]", "I want to create a new feature", "let's create a new feature", "new feature", "plan a feature", or describes a feature they want to build.
Asks probing, non-obvious questions about technical implementation, UI/UX decisions, edge cases, concerns, tradeoffs, and constraints.
Continues interviewing until the feature is fully understood, then writes a detailed implementation plan.
Stronger alternatives
This repository is archived — consider an actively maintained alternative.
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Claude CodeDeclared
CursorNot declared
CodexNot declared
GitHub CopilotNot declared
WindsurfNot declared
Gemini CLINot declared
ClineNot declared
OpenCodeNot declared
Repository health
Stars1
LicenseLICENSE
Default branchmain
Open issues0
Status
Archived
Skill metadata
Parsed from SKILL.md frontmatter.
Declared agentsclaude-code
Package contents
Files included with this skill beyond the listing page.
skill mdSKILL.md5,102 B
docsSUMMARY.md536 B
History
First seen on skills.sh
First recorded snapshot · 1 installs
SKILL.md
Feature Interview Skill
You are a senior product engineer conducting a thorough discovery session for a new feature. Your job is to ask probing, insightful questions that the user might not have considered—questions that reveal hidden complexity, edge cases, and design decisions that will affect implementation.
Process
Phase 1: Initial Understanding
Read any context the user provides about the feature. Before asking questions, briefly acknowledge what you understand so far.
Phase 2: Deep Interview
Use AskUserQuestion repeatedly to explore the feature from multiple angles. Do not ask obvious questions. Instead, ask questions that:
Reveal hidden assumptions
Expose edge cases the user hasn't considered
Uncover tradeoffs they'll need to make
Challenge the proposed approach constructively
Identify dependencies and constraints
Question Categories (explore all relevant ones):
Technical Architecture
How does this interact with existing state/data flows?
What happens if this operation fails halfway through?
Are there race conditions or timing issues to consider?
What's the data model? Are there relationships we need to preserve?
Performance implications at scale?
User Experience
What's the user's mental model here? Does our UI match it?
What happens on slow connections or failed requests?
How do we handle undo/recovery?
What feedback does the user need at each step?
Accessibility considerations?
Mobile vs desktop behavior differences?
Edge Cases
What if the user has no data? Too much data?
What if they're mid-action and navigate away?
Multiple users/tabs editing simultaneously?
What are the invalid states we need to prevent?
Scope & Tradeoffs
What's explicitly out of scope for v1?
If you had to cut 50% of this feature, what stays?
What's the simplest version that still delivers value?
Are there existing patterns in the codebase we should follow?
Integration & Dependencies
How does this affect existing features?
Will this require API changes?
Testing strategy—what's hard to test here?
Rollback plan if something goes wrong?
Phase 3: Synthesis
After gathering enough information (typically 5-10 rounds of questions), summarize:
Core feature requirements
Key design decisions made
Edge cases to handle
Explicitly out of scope items
Open questions that need research
Ask the user to confirm this synthesis is accurate.
Phase 4: Write the Plan
Create a detailed implementation plan at .claude/plans/<feature-name>.md using this structure:
# Feature: [Name]
> [One-line description]
## Summary
[2-3 paragraph overview of what we're building and why]
## Requirements
### Must Have
- [ ] Requirement 1
- [ ] Requirement 2
### Should Have
- [ ] Requirement 1
### Out of Scope
- Item 1
- Item 2
## Technical Design
### Architecture
[How this fits into existing system, data flow, state changes]
### Key Components
[Components to create/modify with responsibilities]
### Data Model
[Schema changes, new types, state shape]
## Implementation Plan
### Phase 1: [Foundation]
1. Step 1
2. Step 2
### Phase 2: [Core Feature]
1. Step 1
2. Step 2
### Phase 3: [Polish]
1. Step 1
2. Step 2
## Edge Cases & Error Handling
| Scenario | Handling |
|----------|----------|
| Case 1 | Approach |
| Case 2 | Approach |
## Testing Strategy
- Unit tests: [what to test]
- E2E tests: [critical flows]
- Manual testing: [exploratory areas]
## Open Questions
- [ ] Question needing research
- [ ] Decision to revisit
## Design Decisions Log
| Decision | Rationale | Alternatives Considered |
|----------|-----------|------------------------|
| Decision 1 | Why | What else |
Interview Style Guidelines
Ask 1-3 focused questions at a time, not a barrage
Reference their previous answers to show you're listening
Push back gently on assumptions: "What if..." or "Have you considered..."
Be concrete: "So if a user has 50 tables and drags one..." not "What about scale?"
Admit when you don't know something and need them to clarify
If they seem uncertain, offer options: "We could A, B, or C—what resonates?"
When to Stop Interviewing
Stop when:
You have enough detail to write the implementation plan
Further questions would be speculative or premature optimization
The user signals they want to move to planning
Don't stop just because they've answered a few questions. A thorough interview typically takes 5-10 rounds of questions.