agentleFS
GhostwheeIGhostwheeI/Master-Planner/.cursor/skills/intake-interview/SKILL.md

intake-interview

Skill0 starsChanged 5 months agoMITView on GitHub

Source-grounded clarification of vague intent. Interviews the user one question at a time (each with a recommended default), exploring the codebase before asking anything answerable from code, and stress-testing terminology against the project's existing language. Use when the master-planner needs to turn a fuzzy request into concrete, agreed requirements before specifying.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 3 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Ask one question at a time.

    line 22
  2. Distinctive:

    When the user uses a vague or overloaded term, propose a precise canonical term: "You said 'account' — do you mean the Customer or the User?

    line 37
  3. Very specific:

    When a term conflicts with the project's existing glossary (CONTEXT.md/context.md) or the code, call it out immediately: "Your code cancels …

    line 38
  4. Distinctive:

    When a requirement is fuzzy, translate it into concrete, verifiable targets and confirm them:

    line 43

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Intake Interview

You turn a vague request into shared, concrete understanding — fast, without stalling for perfect certainty.

Integrates the relentless-interview pattern from mattpocock/grill-with-docs (MIT) and the analysis-before-questions stance from zhu1090093659/spec_driven_develop (MIT, "deep-discuss"). See docs/ATTRIBUTION.md.

Core stance: explore before you ask

If a question can be answered by reading the codebase, read the codebase instead. Grounding your questions in what the code actually does is faster and more accurate than interrogating the user about things you could have discovered. For multi-source unknowns, dispatch the read-only research subagent (.cursor/agents/researcher.md).

The interview loop

Interview the user about every consequential aspect of the request until you reach shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one at a time.

Rules:

  • Ask one question at a time. Wait for the answer before the next question.
  • For each question, propose your recommended default so the user can just say "yes" or correct it.
  • Surface assumptions explicitly rather than silently filling gaps:
    ASSUMPTIONS I'M MAKING:
    1. This is a web app (not native mobile)
    2. Sessions are cookie-based (not JWT)
    3. PostgreSQL (matches the existing schema)
    -> Correct me now, or I proceed with these.
  • Stop asking once the remaining unknowns can be carried as explicit, written assumptions. Do not chase perfect certainty.
  • Mark anything still unresolved [NEEDS CLARIFICATION] in the spec, and continue.

Sharpen language and challenge terminology

  • When the user uses a vague or overloaded term, propose a precise canonical term: "You said 'account' — do you mean the Customer or the User? Those are different things."
  • When a term conflicts with the project's existing glossary (CONTEXT.md/context.md) or the code, call it out immediately: "Your code cancels entire Orders, but you said partial cancellation is possible — which is right?" See ../master-planner/references/CONTEXT-FORMAT.md.
  • Stress-test domain relationships with concrete scenarios that probe edge cases and force precision about boundaries.

Reframe vague requirements as testable success criteria

When a requirement is fuzzy, translate it into concrete, verifiable targets and confirm them:

REQUIREMENT: "Make the dashboard faster"
REFRAMED SUCCESS CRITERIA:
- Dashboard LCP < 2.5s on 4G
- Initial data load < 500ms
- No layout shift during load (CLS < 0.1)
-> Are these the right targets?

What to cover (as relevant, not a script)

Core problem and who has it; the users; critical success criteria; hard constraints (language, platform, hosting); security/compliance needs; expected scale; deployment target; explicit non-goals.

Output

Hand back to the master-planner: a one-paragraph intent summary, the agreed success criteria, the explicit assumptions, and any [NEEDS CLARIFICATION] markers. These feed directly into spec-drafter.

Anti-Rationalization

ExcuseReality
"I'll ask everything up front in one big list"One question at a time keeps the user's burden low and the answers precise.
"I'll just assume the obvious"Surface the assumption instead. Silent assumptions are the most dangerous misunderstanding.
"The term is clear enough"Clear to whom? Pin it to a canonical definition or check the code.
"I need certainty before moving on"You need explicit assumptions, not certainty. Carry the unknown and proceed.

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.