بنقرة واحدة
spec-interview
Clarify requirements through targeted questions — uncovers unknown unknowns in specs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Clarify requirements through targeted questions — uncovers unknown unknowns in specs
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Verify understanding after implementation with targeted quizzes
Remove AI-generated code patterns that don't match codebase style
Review code for quality, security, and best practices — read-only analysis
Create clear documentation for code and APIs
Audit code for security vulnerabilities — read-only analysis
Generate comprehensive tests for code changes
| name | spec-interview |
| description | Clarify requirements through targeted questions — uncovers unknown unknowns in specs |
| license | MIT |
| compatibility | cline, claude, opencode, amp, codex, gemini, cursor, pi |
| hint | Use when feature requirements are vague or incomplete |
| user-invocable | true |
Use this skill when:
The agent interviews you to uncover unknown unknowns in your feature specification, focusing on questions that would change architectural decisions.
Analyze what the user provided:
Identify question categories:
Scope & Boundaries:
User Experience:
Technical Decisions:
Architecture Impact:
Sort by impact on implementation:
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:
header to a short category label (max 16 chars), e.g. "Architecture", "Scope", "UX", "Edge Cases"question string with context about why you're askingoptions with concise label (1-5 words) and descriptive description explaining trade-offsExample — 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:
options with 2-4 broader paths, or use ask_user_question's single-select custom answer ("Type something") for truly open explorationAfter each answer:
After all questions are answered:
These show how to translate each pattern into an ask_user_question call.
// 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"
}
]
}])
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"
}
]
}])
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"
}
]
}])
ask_user_question with a single-question array each time. This keeps the interaction focused and lets answers inform the next question.After each answer via ask_user_question:
After all questions:
A good spec interview:
ask_user_question for focused, one-at-a-time questioning