
spec-interviewing
by sagarvxyz
SKILL.md
name: spec-interviewing description: Creates comprehensive specifications through deep technical interviews. Use when asked to create a spec, define requirements, interview for a config, or refine an existing specification document.
Specification Interviewing
Conducts structured technical interviews to produce comprehensive specification documents.
Modes
Mode 1: Create from Scratch
When no existing spec is provided, begin with context gathering then interview.
Mode 2: Refine Existing Spec
When a spec file is provided, read it first, identify gaps/ambiguities, then interview to clarify and expand.
Interview Process
Phase 1: Context Gathering
- Read existing files in the relevant directory to understand current state
- Identify the domain (config, architecture, feature, API, etc.)
- Note apparent decisions already made vs. open questions
Phase 2: Structured Interview
Conduct 20-40 questions organized by concern area. Each area should have 3-6 questions that progressively drill deeper.
Question Patterns to Use
Philosophy/Mental Model Questions Start each concern area with high-level framing:
- "How do you think about X's role relative to Y?"
- "What's your cognitive model for how X should behave?"
- "When X and Y conflict, which wins?"
Tradeoff Questions Surface non-obvious tensions:
- "X gives you A but costs B. Y gives you C but costs D. Which tradeoff do you prefer?"
- "The conventional approach is X, but given your stated preference for Y, should we do Z instead?"
Contradiction Reconciliation When answers seem to conflict:
- "You mentioned wanting X, but also Y. Let me offer three ways to reconcile..."
- "Earlier you said X. This seems to tension with Y. Which takes priority?"
Concrete Scenario Questions Disambiguate vague requirements:
- "Imagine you're doing X and Y happens. What should occur?"
- "When you open the tool and Z is the state, what do you expect to see?"
Option Presentation For decisions with distinct implementation paths:
Option A: [Name] - [Description]. Tradeoff: [X]
Option B: [Name] - [Description]. Tradeoff: [Y]
Option C: [Name] - [Description]. Tradeoff: [Z]
Stack-Specific Questions Tailor to the user's stated stack/context:
- "Given you're using X, do you need Y integration?"
- "For your X workflow, should Z be automatic or manual?"
Feature Inclusion/Exclusion Confirm minimalism boundaries:
- "Is X something you actively use, or aspirational?"
- "Would removing X break your workflow or just be inconvenient?"
Phase 3: Synthesis
After all questions answered, write the spec document.
Spec Document Structure
Use this structure (adapt section names to domain):
# [Thing] Specification
[One-line summary of what this spec defines]
## Philosophy
- **[Principle 1]**: [Explanation]
- **[Principle 2]**: [Explanation]
- **[Principle 3]**: [Explanation]
---
## [Concern Area 1]
### [Sub-topic]
- [Specific decision]
- [Specific decision]
### [Sub-topic]
| Column | Column |
|--------|--------|
| Data | Data |
---
## [Concern Area 2]
...
---
## Non-Goals
- [Thing explicitly not in scope]
- [Thing explicitly not in scope]
Key Elements
- Philosophy section: 3-5 guiding principles that inform all decisions
- Concern areas: Organized by functional domain, not by implementation
- Tables: Use for keybindings, tool mappings, option comparisons
- Explicit decisions: Every ambiguous point resolved to a concrete choice
- Non-goals: Explicitly state what's out of scope to prevent scope creep
Interview Behavior
Do
- Ask all questions for a concern area before moving to the next
- Number questions for easy reference
- Offer explicit options when there are distinct paths
- Probe the "why" behind preferences
- Circle back when new information contradicts earlier answers
- Continue until you have enough detail to write a complete spec
Don't
- Accept vague answers—follow up with scenarios
- Skip areas because they seem obvious
- Make assumptions without confirming
- Stop the interview prematurely
- Write the spec until all areas are covered
Example Interview Opening
From Scratch
I'll help you create a specification for [X] through a structured interview. I'll ask detailed questions across several areas to understand your requirements precisely.
First, let me read any existing configuration/code to understand current state...
[After reading]
I'll organize the interview into these areas: [list areas]. Let's start with [first area].
[Area 1]: Questions 1-5
- [Philosophy question about this area]
- [Tradeoff question] ...
Refining Existing Spec
I've read the existing spec at [path]. I'll interview you to clarify ambiguities and fill gaps I've identified.
Gaps/Ambiguities Found:
- [Gap 1]
- [Gap 2]
Areas to Explore:
- [Area needing clarification]
Let's start with [first gap].
- [Clarifying question] ...
Completion
After writing the spec:
- Present the full document for review
- Ask if any sections need adjustment
- Write to the specified file path
- Summarize key decisions made
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon