Skip to content
Back to skills

Interview

ASecurity

Pre-design discovery interview that gathers deep user intent through structured questioning. Produces a discovery brief (discovery.md) consumed by the design skill.

  • 7 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentgobashgitsecurityperformance

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add skullninja/coco-workflow --skill interview --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Interview?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Interview
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/skullninja-interview/badge)](https://www.skillsdirectory.com/skills/skullninja-interview)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: interview
description: Pre-design discovery interview that gathers deep user intent through structured questioning. Produces a discovery brief (discovery.md) consumed by the design skill.
---

# Coco 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 `design` skill)
- Deep-dive during any planning session (strategic, tactical, operational, triage)
- Natural language requests ("interview me about this feature", "let's discuss requirements")
- When `/coco:phase` or `/coco:planning-session tactical` routes to Standard tier

**Do NOT use for:**
- Trivial-tier features (use `hotfix` skill directly)
- Light-tier features (skip interview, use `design` in light mode)
- Features where the user has already provided exhaustive requirements

## Setup

1. Read `.coco/config.yaml` for `project.specs_dir` (default: `specs`).
2. 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
3. Determine the feature directory: `{specs_dir}/{feature-name}/`
4. Load the discovery template from `.coco/templates/discovery-template.md` if it exists, otherwise use `${CLAUDE_PLUGIN_ROOT}/templates/discovery-template.md`.
5. Check if `{specs_dir}/{feature-name}/discovery.md` already 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:

1. **Problem & Motivation** -- What problem does this solve? Who feels the pain? Why now?
2. **Users & Personas** -- Who are the target users? What are their goals and skill levels?
3. **Scope & Boundaries** -- What's explicitly in scope? What's out of scope? MVP vs future?
4. **Functional Requirements** -- What are the core behaviors? What are the key user flows?
5. **Technical Context** -- What existing systems does this interact with? Any constraints?
6. **UX & Interaction** -- What does the user experience look like? Key screens/flows?
7. **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):

1. Create the feature directory if it doesn't exist:
   ```bash
   mkdir -p {specs_dir}/{feature-name}
   ```

2. Fill the discovery template with structured findings from the interview.

3. Write to `{specs_dir}/{feature-name}/discovery.md`.

4. 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 `design` skill 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:

1. Load and display a summary of the existing discovery brief
2. Ask the user what has changed or what gaps they want to address
3. Focus questions on:
   - Categories marked with open questions in the existing brief
   - New information or changed requirements
   - Areas the user specifically wants to revisit
4. Update `discovery.md` in place (preserve existing content, add/modify sections)
5. 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 `design` skill
- Do NOT generate tasks.md -- that is the `tasks` skill
- Never modify files outside the feature's spec directory

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.