agentleFS
skullninjaskullninja/coco-workflow/skills/interview/SKILL.md

interview

Skill7 starsChanged 2 months agoMITView on GitHub

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

94 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use fetch-library-docs, contributor and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • Rehan-Ul-HaqSkill

    fetch-library-docs

    Fetches official documentation for external libraries and frameworks (React, Next.js, Prisma, FastAPI, Express, Tailwind, MongoDB, etc.) with 60-90% token savings via content-type filtering. Use this skill when implementing features using library APIs, debugging library-specific errors, troubleshooting configuration issues, installing or setting up frameworks, integrating third-party packages, upgrading between library versions, or looking up correct API patterns and best practices. Triggers automatically during coding work - fetch docs before writing library code to get correct patterns, not after guessing wrong.

    Also in 4 projects that use this

  • NimbleBrainIncSkill

    contributor

    Get started contributing to NimbleBrain open source — find an integration to build, set up your environment, propose an idea, or check on your work. Use when onboarding as a contributor. Triggers include "I'm a new contributor", "what should I build", "show me open issues", "file an issue".

    Also in 3 projects that use this

  • mjunaidcaSkill

    browsing-with-playwright

    Browser automation using Playwright MCP. Navigate websites, fill forms, click elements, take screenshots, and extract data. Use when tasks require web browsing, form submission, web scraping, UI testing, or any browser interaction. NOT when only fetching static content (use curl/wget instead).

    Also in 4 projects that use this

  • qa-amanSkill

    teach-me

    Teach a topic, video, article, codebase change, spec, or transcript until the user demonstrably understands it, using staged instruction, a running checklist doc, and quizzes. Use whenever the user says "teach me", "explain this in detail", "help me understand X", "/teach-me", "walk me through this", "I want to learn X", "understand this deeply", or pastes a YouTube URL, article, paper, PR, or spec and asks to understand it rather than summarize it. Also use when the user wants study notes or raw material from a source they are learning. Do NOT use for a quick factual lookup, a summary request, or when the user just wants the answer.

    Also in 8 projects that use this

  • trebaudSkill

    find-unknowns

    Workflow for surfacing a task's unknowns before, during, and after implementation — blind spot pass, brainstorm/prototype, interview, references, implementation plan, deviation notes, quiz. Use when starting work in an unfamiliar domain or codebase, when a task feels underspecified, when the user says "find my unknowns", "blindspot pass", "what am I missing", "help me scope this", or when a long task came back wrong.

    Also in 3 projects that use this

  • donatassimkusSkill

    offer

    Offer design, pricing strategy, and business model architecture. Invoke when asked about making an offer better, pricing a product or service, naming an offer, raising prices, generating fast cash, increasing lifetime value, finding the right customer, qualifying buyers, or designing a business model where customers pay for their own acquisition. Use when someone says their offer isn't converting, they need to charge more, they want to add bonuses or guarantees, or they need a money model for their business.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

25 rules. 0 are common, 17 are distinctive, and 8 are very specific to this project.

  • 0

    Common

    Most of the 80 edited versions we read keep these.

  • 17

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When /coco:phase or /coco:planning-session tactical routes to Standard tier

    line 15
  2. Very specific:

    Read .coco/config.yaml for project.specs_dir (default: specs).

    line 24
  3. Distinctive:

    If a feature name or description was provided, use it

    line 26
  4. Very specific:

    If on a feature/* git branch, extract the feature name

    line 27
  5. Distinctive:

    If none of the above, ask the user what feature to discuss

    line 28
  6. Very specific:

    Check if {specs_dir}/{feature-name}/discovery.md already exists:

    line 31
  7. Distinctive:

    If yes, enter refinement mode (see below)

    line 32
  8. Distinctive:

    If no, proceed with fresh interview

    line 33
  9. Distinctive:

    Before asking any questions, analyze the user's initial feature description and any context from the current conversation.

    line 51
  10. Distinctive:

    Use AskUserQuestion with recommended answers where possible (concrete options help users think faster)

    line 54
  11. Distinctive:

    After each answer, reassess remaining coverage gaps

    line 58
  12. Distinctive:

    Stop when all critical categories (Problem, Scope, Functional) are covered, even if other categories have gaps

    line 59
  13. Distinctive:

    Ask 1-3 questions at a time (not all 10 upfront)

    line 61
  14. Distinctive:

    Never ask obvious questions -- demonstrate understanding of the domain by making informed assumptions and asking about the non-obvious …

    line 66
  15. Distinctive:

    After the interview completes (all critical categories covered, user says "done", or 10 questions reached):

    line 70
  16. Distinctive:

    Create the feature directory if it doesn't exist:

    line 72
  17. Distinctive:

    When invoked during a planning session (strategic, operational, triage) rather than the standard pre-design flow:

    line 90
  18. Very specific:

    When discovery.md already exists:

    line 100
  19. Distinctive:

    Ask the user what has changed or what gaps they want to address

    line 103
  20. Very specific:

    Update discovery.md in place (preserve existing content, add/modify sections)

    line 108
  21. Distinctive:

    Keep the interview conversational but structured -- don't make it feel like a form

    line 113
  22. Distinctive:

    Every answer should move the understanding forward -- don't ask for information you can infer

    line 115
  23. Very specific:

    Do NOT generate design.md -- that is the design skill

    line 117
  24. Very specific:

    Do NOT generate tasks.md -- that is the tasks skill

    line 118
  25. Distinctive:

    Never modify files outside the feature's spec directory

    line 119

“Common” is measured: kept by at least 6 in 10 of the 80 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:
    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

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.