Agent Skills: Feature Interview Skill

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.

UncategorizedID: neonwatty/claude-skills/feature-interview

Skill Files

Browse the full folder contents for feature-interview.

Download Skill

Loading file tree…

skills/feature-interview/SKILL.md

Skill Metadata

Name
feature-interview
Description
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.

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:

  1. Core feature requirements
  2. Key design decisions made
  3. Edge cases to handle
  4. Explicitly out of scope items
  5. 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.