spec-interview
Skill127 starsChanged 26 days agoMITView on GitHub
Clarify requirements through targeted questions — uncovers unknown unknowns in specs
10 other projects use a version of this.
Adopted by
Most recently taken up by
- mehboobali98/rmine-skillstheir own version, first seen Nov 6, 2026
- sampgreenwell-cyber/claude-skillstheir own version, first seen Oct 13, 2026
- ghostflare76/claude-skillstheir own version, first seen Oct 11, 2026
- AI-Cultivation/cultivation-world-simulatortheir own version, first seen Oct 8, 2026
- 17-sss/agent-skillstheir own version, first seen Sep 22, 2026
- YogirajA/Claude-Skillstheir own version, first seen Sep 17, 2026
Other versions10 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 10
- AI-Cultivation/cultivation-world-simulator★ 2.1ksame name
- 4thfever/cultivation-world-simulator★ 2.1ksame name
- zeuikli/claude-code-workspace★ 155same name
- 17-sss/agent-skills★ 2same name
- appunite/skills★ 1same name
- huminglong/my_claude_skills★ 1same name
- YogirajA/Claude-Skills★ 1same name
- ghostflare76/claude-skills★ 0same name
- mehboobali98/rmine-skills★ 0same name
- sampgreenwell-cyber/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository38 other files it gives its agents.
- AGENTS.mdAGENTS.md
- wiki/AGENTS.mdAGENTS.md
- wiki/CLAUDE.mdCLAUDE.md
- accountable-engineeringSkill
- adrSkill
- babysit-prSkill
- blindspot-passSkill
- capability-experimentsSkill
- codemapSkill
- code-quality-reviewSkill
- code-reviewSkill
- commit-atomicSkill
- context-discoverySkill
- diagnosing-bugsSkill
- doc-searchSkill
- docs-updateSkill
- draft-pull-requestSkill
- git-contextSkill
- handoffsSkill
- implementation-loggerSkill
- implement-specSkill
- llm-wikiSkill
- orchestrating-fusionSkill
- pickupSkill
- plannotator-setup-goalSkill
- portless-localSkill
- prdSkill
- pr-reviewSkill
- prSkill
- qmd-knowledgeSkill
- quiz-meSkill
- ralphSkill
- retroSkill
- security-auditSkill
- slopSkill
- tddSkill
- tmuxSkill
- visual-prSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 14
Use this skill when:
- Very specific: line 71
Use the ask_user_question tool for each question.
- Very specific: line 75
Write a clear question string with context about why you're asking
- Distinctive: line 77
After the user answers, acknowledge the choice and explain how it impacts the implementation before asking the next question
- Distinctive: line 105
After multiple-choice answers that surface unexpected direction
- Distinctive: line 113
Update your mental model
- Distinctive: line 119
After all questions are answered:
- Very specific: line 200
One question per call: Use ask_user_question with a single-question array each time.
- Distinctive: line 201
Provide context: Always explain why you're asking and how the answer affects implementation.
- Distinctive: line 205
Limit questions by impact, not quota: Stop when all unresolved questions are either architecture-changing, acceptance-test-changing, …
- Distinctive: line 206
Acknowledge each answer: Before asking the next question, briefly restate what was decided and its implications.
- Very specific: line 210
After each answer via ask_user_question:
- Distinctive: line 214
Move on: Ask the next prioritized question or summarise if done.
- Distinctive: line 223
Before Interview: Run blind-spot-pass to inform questions
- Distinctive: line 224
After Interview: Document decisions in ADR or implementation notes
- Distinctive: line 225
Follow-up: Run quiz-me after implementation to verify understanding
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Spec Interview
When to Use
Use this skill when:
- Feature requirements are vague or incomplete
- You have a general idea but lack specifics
- Stakeholders said "you know what I mean"
- The spec has obvious gaps
- Making assumptions that could be wrong
What It Does
The agent interviews you to uncover unknown unknowns in your feature specification, focusing on questions that would change architectural decisions.
How to Execute
Step 1: Review Initial Spec
Analyze what the user provided:
- Explicit requirements (what they said)
- Implicit requirements (what they assumed)
- Missing details
- Ambiguous areas
Step 2: Categorize Gaps
Identify question categories:
Scope & Boundaries:
- What's in scope vs out of scope?
- Edge cases to handle?
- MVP vs future iterations?
User Experience:
- What happens when...?
- Error states and recovery?
- Loading and async states?
Technical Decisions:
- Performance requirements?
- Data consistency needs?
- Integration points?
- Security considerations?
Architecture Impact:
- Does this change existing patterns?
- New abstractions needed?
- Migration strategy for existing data?
Step 3: Prioritize Questions
Sort by impact on implementation:
- Architecture-changing: Would change core approach
- High-impact: Significant implementation difference
- Medium-impact: Affects specific modules
- Low-impact: Nice to clarify but not blocking
Step 4: Conduct Interview (One Question at a Time)
Use the ask_user_question tool for each question. Ask one question at a time — present it, wait for the answer, then proceed to the next. This keeps the interview focused and lets the user's answer to one question influence follow-ups.
Guidelines for using ask_user_question:
- Set
headerto a short category label (max 16 chars), e.g."Architecture","Scope","UX","Edge Cases" - Write a clear
questionstring with context about why you're asking - Provide 2-4 concrete
optionswith conciselabel(1-5 words) and descriptivedescriptionexplaining trade-offs - After the user answers, acknowledge the choice and explain how it impacts the implementation before asking the next question
- Architecture-changing questions first, then high-impact, then medium-impact
Example — single question call:
ask_user_question(questions: [{
header: "Architecture",
question: "Where should the export process run? Large exports could time out or block the web process.",
options: [
{
label: "Synchronous HTTP",
description: "Simple, returns CSV directly in response — but risky for large datasets that could timeout"
},
{
label: "Background job + email",
description: "More robust: process asynchronously, email link when done — requires job queue and storage"
},
{
label: "Streaming download",
description: "Immediate start, handles large data, no queuing needed — but more complex to implement"
}
]
}])When to use open-ended instead of multiple choice:
- Exploring unknown design space where you can't enumerate options
- After multiple-choice answers that surface unexpected direction
- For rank/priority questions ("Which features are most important?")
- Set
optionswith 2-4 broader paths, or use ask_user_question's single-select custom answer ("Type something") for truly open exploration
Step 5: Process Answers
After each answer:
- Acknowledge the choice and its implications
- Update your mental model
- Decide if follow-up questions are needed (you can dig deeper before moving on)
- Identify decisions that need documentation
Step 6: Summarize
After all questions are answered:
- Summarize the key architectural decisions made
- Flag decisions the user deferred ("decide for me" or "skip")
- Outline next steps with confidence level
Question Patterns
These show how to translate each pattern into an ask_user_question call.
Architecture-Changing
// One question at a time
ask_user_question(questions: [{
header: "Architecture",
question: "How should we handle authentication for this feature? This determines whether we modify the current auth flow or build a new one.",
options: [
{
label: "Extend existing auth",
description: "Adds to current flow — simpler but may create coupling"
},
{
label: "New auth abstraction",
description: "Clean separation — more upfront work, more flexible long-term"
},
{
label: "External auth service",
description: "Offload entirely — fastest to build, adds third-party dependency"
}
]
}])Scope Clarification
ask_user_question(questions: [{
header: "Scope",
question: "Should this feature support multiple organizations from the start?",
options: [
{
label: "Yes, initial release",
description: "Adds 2-3 more integration points and multi-tenant data isolation now"
},
{
label: "Later if needed",
description: "Simpler initial build, but may require data migration later"
},
{
label: "Not needed at all",
description: "Single-tenant only — keeps everything simple"
}
]
}])Edge Case Discovery
ask_user_question(questions: [{
header: "Edge Cases",
question: "What should happen when the external API is down during export? The codebase has no retry logic for this service yet.",
options: [
{
label: "Graceful degradation",
description: "Show partial results with a warning banner — best UX when service is degraded"
},
{
label: "Hard error to user",
description: "Show clear error message asking them to retry — simplest implementation"
},
{
label: "Auto-retry with queue",
description: "Queue the request and retry — most robust but requires background job infrastructure"
}
]
}])Interview Flow: Best Practices
- One question per call: Use
ask_user_questionwith a single-question array each time. This keeps the interaction focused and lets answers inform the next question. - Provide context: Always explain why you're asking and how the answer affects implementation.
- Show trade-offs: Each option's description should explain the trade-off, not just restate the label.
- Lead with impact: Architecture-changing questions first, then high-impact, then medium-impact.
- Allow deferral: The "Chat about this" option and custom answer ("Type something") let users skip or elaborate. Honour "skip" gracefully.
- Limit questions by impact, not quota: Stop when all unresolved questions are either architecture-changing, acceptance-test-changing, security/data-risk-changing, or explicitly deferred. A complete spec may need zero follow-up questions.
- Acknowledge each answer: Before asking the next question, briefly restate what was decided and its implications.
Answer Processing
After each answer via ask_user_question:
- Acknowledge: "Thanks — going with [option] means we'll [impact]. That makes sense because [reason]."
- Update plan: Adjust your mental model of the implementation.
- Decide follow-up: Did the answer reveal a new unknown? Ask a follow-up question now, or note it for later.
- Move on: Ask the next prioritized question or summarise if done.
After all questions:
- Present a summary of decisions made
- Flag any decisions deferred
- Suggest next steps
Integration with Other Skills
- Before Interview: Run blind-spot-pass to inform questions
- After Interview: Document decisions in ADR or implementation notes
- Follow-up: Run quiz-me after implementation to verify understanding
Success Criteria
A good spec interview:
- Uncovers at least 2-3 assumptions user didn't state
- Changes the implementation approach in at least one significant way
- Uses
ask_user_questionfor focused, one-at-a-time questioning - Takes 5-15 minutes to complete
- Provides clear direction for next steps
- Avoids unnecessary questions (don't ask if you can infer)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

