interview
npx machina-cli add skill skullninja/coco-workflow/interview --openclawCoco Interview Skill
Conduct a structured pre-design interview to gather deep user intent, constraints, and context before generating a feature design. Produces a discovery brief that feeds directly into the design skill.
When to Use
- Pre-design discovery for Standard-tier features (before invoking the
designskill) - Deep-dive during any planning session (strategic, tactical, operational, triage)
- Natural language requests ("interview me about this feature", "let's discuss requirements")
- When
/coco:phaseor/coco:planning-session tacticalroutes to Standard tier
Do NOT use for:
- Trivial-tier features (use
hotfixskill directly) - Light-tier features (skip interview, use
designin light mode) - Features where the user has already provided exhaustive requirements
Setup
- Read
.coco/config.yamlforproject.specs_dir(default:specs). - Determine the feature from conversation context:
- If a feature name or description was provided, use it
- If on a
feature/*git branch, extract the feature name - If none of the above, ask the user what feature to discuss
- Determine the feature directory:
{specs_dir}/{feature-name}/ - Load the discovery template from
.coco/templates/discovery-template.mdif it exists, otherwise use${CLAUDE_PLUGIN_ROOT}/templates/discovery-template.md. - Check if
{specs_dir}/{feature-name}/discovery.mdalready exists:- If yes, enter refinement mode (see below)
- If no, proceed with fresh interview
Execution
Category Progression
The interview covers these categories in order, adapting based on what the user has already provided:
- Problem & Motivation -- What problem does this solve? Who feels the pain? Why now?
- Users & Personas -- Who are the target users? What are their goals and skill levels?
- Scope & Boundaries -- What's explicitly in scope? What's out of scope? MVP vs future?
- Functional Requirements -- What are the core behaviors? What are the key user flows?
- Technical Context -- What existing systems does this interact with? Any constraints?
- UX & Interaction -- What does the user experience look like? Key screens/flows?
- Non-Functional Requirements -- Performance, security, accessibility, scalability?
Question Strategy
Before asking any questions, analyze the user's initial feature description and any context from the current conversation. Determine which categories already have sufficient detail.
Rules:
- Use AskUserQuestion with recommended answers where possible (concrete options help users think faster)
- Skip categories where the initial description already provides sufficient detail
- Maximum 10 questions total across all categories
- Accept "done" or "skip" from the user to terminate early
- After each answer, reassess remaining coverage gaps
- Stop when all critical categories (Problem, Scope, Functional) are covered, even if other categories have gaps
- Prioritize questions by: scope-defining > ambiguity-resolving > nice-to-have
- Ask 1-3 questions at a time (not all 10 upfront)
Question format guidelines:
- Multiple-choice: Provide 2-4 concrete options with a recommended choice. Include descriptions explaining tradeoffs.
- Open-ended: Only when the space of answers is too broad for options. Keep the question specific and bounded.
- Never ask obvious questions -- demonstrate understanding of the domain by making informed assumptions and asking about the non-obvious aspects.
Output
After the interview completes (all critical categories covered, user says "done", or 10 questions reached):
-
Create the feature directory if it doesn't exist:
mkdir -p {specs_dir}/{feature-name} -
Fill the discovery template with structured findings from the interview.
-
Write to
{specs_dir}/{feature-name}/discovery.md. -
Report:
- Discovery file path
- Categories covered vs skipped
- Key decisions captured
- Open questions remaining (if any)
- Suggested next step: tell the user to ask Claude to "design this feature" (this triggers the
designskill automatically -- skills are NOT slash commands, so never suggest/coco:design)
Planning Session Context
When invoked during a planning session (strategic, operational, triage) rather than the standard pre-design flow:
- Output the discovery brief inline into session notes instead of (or in addition to) writing
discovery.md - Adapt category progression to the session context:
- Strategic: Focus on Problem & Motivation, Scope & Boundaries, Technical Context
- Operational: Focus on the specific blocker -- narrow to relevant categories only
- Triage: Focus on Problem & Motivation, Scope & Boundaries (enough to score)
Refinement Mode
When discovery.md already exists:
- Load and display a summary of the existing discovery brief
- Ask the user what has changed or what gaps they want to address
- Focus questions on:
- Categories marked with open questions in the existing brief
- New information or changed requirements
- Areas the user specifically wants to revisit
- Update
discovery.mdin place (preserve existing content, add/modify sections) - Append to the Change Log at the bottom:
{date} | Refinement | {summary of changes}
Guidelines
- Keep the interview conversational but structured -- don't make it feel like a form
- Make informed assumptions based on context and industry standards; verify only non-obvious choices
- Every answer should move the understanding forward -- don't ask for information you can infer
- The discovery brief is a living document -- it can be refined as understanding deepens
- Do NOT generate design.md -- that is the
designskill - Do NOT generate tasks.md -- that is the
tasksskill - Never modify files outside the feature's spec directory
Source
git clone https://github.com/skullninja/coco-workflow/blob/main/skills/interview/SKILL.mdView on GitHub Overview
An AI-driven pre-design discovery interview that gathers deep user intent, constraints, and context before feature design. It produces a discovery brief (discovery.md) consumed by the design skill to ensure alignment and smoother handoffs. This approach helps validate requirements early and reduce downstream rework.
How This Skill Works
The skill analyzes the initial feature description to identify relevant categories, then guides the user through targeted questions across seven categories. It limits the conversation to 10 questions, collecting responses that populate a discovery.md via a discovery template. If discovery.md already exists, the skill switches to refinement mode to update the brief.
When to Use It
- Pre-design discovery for Standard-tier features (before invoking the design skill)
- Deep-dive during planning sessions (strategic, tactical, operational, triage)
- Natural language requests like 'interview me about this feature' or 'let's discuss requirements'
- When /coco:phase or /coco:planning-session tactical routes to Standard tier
- When exhaustive requirements are not yet provided and discovery is needed
Quick Start
- Step 1: Read the config.yaml to locate specs_dir and determine the feature context
- Step 2: Load or create the discovery template and feature directory
- Step 3: Run the interview, then save responses to discovery.md (refine if it already exists)
Best Practices
- Analyze the initial feature description before asking questions to target gaps
- Provide 2-4 concrete option choices where possible to sharpen thinking
- Respect the 10-question limit and allow 'done' or 'skip' to terminate early
- Prioritize critical categories first: Problem, Scope, and Functional
- Use the discovery template and create or refine discovery.md for seamless handoff
Example Use Cases
- Interview a Standard-tier feature to define MVP scope and success metrics
- Run a planning-session discovery to align stakeholders on constraints
- Handle a natural language feature request by extracting intent and requirements
- Operate when requirements are incomplete by eliciting missing details through structured questions
- Engage via a planning-route (e.g., /coco:planning-session tactical) to standardize discovery