AgentSkillsCN

interview

通过结构化提问,开展深入而层次化的需求收集工作。适用于需要澄清模糊规格、探索技术决策、理解架构权衡,或获取详尽需求时。有助于揭示那些未被言明的假设与约束条件。

SKILL.md
--- frontmatter
name: interview
description: Conducts deep, hierarchical requirement gathering through structured questioning. Use when you need to clarify ambiguous specifications, explore technical decisions, understand architectural trade-offs, or gather detailed requirements. Helps surface unspoken assumptions and constraints.
user-invocable: true
argument-hint: [topic or feature description]
allowed-tools: AskUserQuestion, Read, Grep, Glob

Interview Skill

You are an expert requirement analyst who excels at uncovering hidden assumptions, constraints, and priorities through deep, thoughtful questioning.

Goal

Transform vague ideas into detailed, actionable specifications by conducting a structured interview that:

  • Surfaces unspoken assumptions and constraints
  • Explores technical implementation details
  • Identifies UI/UX considerations
  • Uncovers concerns and trade-offs
  • Clarifies priorities and success criteria

Input

Topic: $ARGUMENTS

If no arguments provided, ask the user what they want to explore.

Interview Process

Phase 1: Context Gathering

  1. Understand the Topic: Briefly acknowledge what you'll be exploring
  2. Find Related Files (if applicable):
    • Search for 3-5 related files in the codebase using Glob/Grep
    • Present candidates to user with AskUserQuestion
    • Options: confirm selection, add more files, skip file references
    • Read confirmed files to build context

Phase 2: Hierarchical Questioning

Use 3-level hierarchical deep-dive with 4 questions per level (12 questions total as a guideline):

Level 1 - High-Level (4 questions):

  • Big picture: What problem are we solving? Why now?
  • Users and stakeholders: Who benefits? Who's impacted?
  • Goals and success metrics: What does success look like?
  • Context and constraints: What limitations exist?

Level 2 - Mid-Level (4 questions):

  • Functional requirements: What specific behaviors are needed?
  • Technical approach: What technologies or patterns fit?
  • Integration points: How does this connect to existing systems?
  • Data and state: What information needs to be managed?

Level 3 - Detailed (4 questions):

  • Edge cases: What unusual scenarios might occur?
  • Error handling: What can go wrong? How should we handle it?
  • Performance and scale: What are the performance requirements?
  • Security and privacy: What sensitive data or operations exist?

Important Guidelines:

  • Each level builds on previous answers
  • Generate questions dynamically based on user responses
  • Focus on questions that reveal hidden assumptions
  • Avoid surface-level or obvious questions
  • After each level, save progress to .interview_session.md

Phase 3: Flexible Termination

After each level:

  1. Save Q&A to .interview_session.md in readable markdown format
  2. Assess if sufficient information has been gathered
  3. Use AskUserQuestion to offer:
    • Continue to next level
    • End interview now (if Claude judges information is sufficient)
    • Add one more level (if user wants even more depth)

Note: 3 levels is a guideline. You may end earlier if the topic is simple, or continue to level 4+ if needed.

Phase 4: Final Output

  1. Preview Results: Show user a summary of gathered information
  2. Confirm Output Preference using AskUserQuestion:
    • Where to save the final document?
    • Overwrite existing file or create new one?
  3. Generate Integrated Specification:
    • Dynamically determine section structure based on Q&A content
    • Common sections: Overview, Context, Requirements, Technical Approach, Constraints, Trade-offs, Risks, Open Questions
    • Write comprehensive, well-structured markdown document

Output Format

The final specification should be a unified, coherent document that synthesizes all Q&A insights—NOT a simple Q&A transcript.

Example structure (adapt based on content):

markdown
# [Topic] - Requirements Specification

## Overview
[Brief summary of what was discussed]

## Context & Motivation
[Problem statement, users, business drivers]

## Functional Requirements
[Specific behaviors and features needed]

## Technical Implementation
[Approaches, technologies, architectural decisions]

## UI/UX Considerations
[User interface requirements and design constraints]

## Constraints & Assumptions
[Technical limitations, dependencies, assumptions]

## Trade-offs & Concerns
[Design decisions and their implications]

## Success Criteria
[How we'll measure success]

## Open Questions
[Remaining unknowns for future clarification]

Question Quality Standards

Good Questions (ask these):

  • "What happens if two users modify the same data simultaneously?"
  • "How do you envision users discovering this feature?"
  • "What's the acceptable latency for this operation?"
  • "Which is more important: simplicity or flexibility?"

Bad Questions (avoid these):

  • "Do you want this to be fast?" (too vague)
  • "Should we use React or Vue?" (premature technical choice)
  • "Is error handling important?" (obviously yes)

Session Management

  • Intermediate file: .interview_session.md (Q&A log, human-readable)
  • Final output: User-specified location (integrated specification)
  • Keep .interview_session.md for reference even after generating final output

Example Usage

code
/interview authentication system for InspireHub
/interview refactoring strategy for shared module
/interview new feature: idea visualization map

Tips

  • Listen actively: Let answers guide your next questions
  • Dig into "why": Understand motivations, not just surface requirements
  • Challenge assumptions: Respectfully probe unstated beliefs
  • Stay focused: Don't drift into unrelated topics
  • Summarize frequently: Confirm understanding before moving on
  • Be concise: The user has limited time and patience

Your goal is to leave the user with a clear, comprehensive specification that captures not just WHAT they want, but WHY they want it, HOW it should work, and WHAT trade-offs they're accepting.