grill-requirements
Skill0 starsChanged 3 months agoMITView on GitHub
Resolve product, UX, technical, architecture, risk, and scope decisions through a disciplined one-question-at-a-time interview before implementation. Use when the user asks to grill, challenge, stress-test, clarify, interrogate, or pressure-test an idea, PRD, feature, project plan, architecture proposal, or ambiguous development request.
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 11 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈11
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Read decision-tree.md to select relevant question branches.
- Distinctive: line 19
Read interview-protocol.md before asking the first question.
- Distinctive: line 20
Read output-contract.md before concluding.
- Distinctive: line 28
Do not ask the user to restate information already provided.
- Distinctive: line 44
Ask exactly one question.
- Distinctive: line 45
Wait for the user's answer before continuing.
- Distinctive: line 47
Do not present a batch questionnaire.
- Distinctive: line 51
If the user chooses auto mode, answer low-risk decisions with the recommendation, record them as assumptions, and continue.
- Distinctive: line 77
Do not force artificial certainty.
- Distinctive: line 81
Before concluding, summarize the decision ledger and ask the user to confirm that shared understanding has been reached.
- Distinctive: line 93
After returning the outcome, close with a short summary in the user's language that states:
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 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.
Files
Grill Requirements
Interview until the important decisions are explicit. Do not implement the idea.
Respond in the user's language
Detect the user's language from their messages and use it for all prose addressed to them: questions, explanations, recommendations, status, and the closing summary. Keep every machine token verbatim — code, commands, file paths, schema field names, stable IDs, and the status or verdict values this skill returns — and convey their meaning in the surrounding prose rather than translating the tokens. If the user's language is unclear, ask once, then continue in the chosen language.
Persisted artifacts are contracts, not chat. Keep their template headings, YAML keys, stable IDs, and status tokens exactly as specified so downstream skills and validators keep working. Narrative content inside an artifact may follow the user's language when the user asks for it.
Load references
- Read decision-tree.md to select relevant question branches.
- Read interview-protocol.md before asking the first question.
- Read output-contract.md before concluding.
Separate facts from decisions
Inspect available files, code, documentation, tools, and connected sources before asking the user. Look up discoverable facts. Ask only for decisions, preferences, priorities, trade-offs, authority, or unavailable business context.
Accept a short or incomplete prompt. Build a coverage view from the relevant branches in decision-tree.md; the user is not responsible for knowing which context fields to list up front.
Do not ask the user to restate information already provided. Distinguish:
FACT: supported by evidence;INFERENCE: plausible but not confirmed;DECISION: chosen by the user;ASSUMPTION: temporarily accepted to make progress;OPEN: unresolved and material.
Ask one question at a time
For each material decision:
- State the decision in one sentence.
- Explain why it matters now.
- Present relevant evidence or constraints.
- Give a recommended answer and its main trade-off.
- Ask exactly one question.
- Wait for the user's answer before continuing.
Do not present a batch questionnaire. Do not hide several decisions inside one question.
Continue until every relevant material branch is resolved, explicitly defaulted, marked not applicable, or retained as a blocking open decision. Do not stop merely because the initial request was answered at a superficial level.
If the user chooses auto mode, answer low-risk decisions with the recommendation, record them as assumptions, and continue. Still pause for decisions involving public behavior, data loss, security boundaries, legal or financial exposure, irreversible actions, production access, or material cost.
Follow dependencies
Resolve upstream decisions before dependent ones. Example:
target user -> problem -> outcome -> scope -> behavior -> edge cases
-> data/API/architecture constraints -> rollout -> success measurementSkip irrelevant branches. Reopen an earlier branch if a later answer contradicts it.
Challenge constructively
Test whether:
- the stated problem is supported;
- software work is the right intervention;
- a smaller solution reaches the outcome;
- proposed behavior has a clear user or system owner;
- success and failure are observable;
- scope, non-goals, and compatibility are explicit;
- security, privacy, migration, operations, and rollback are addressed where relevant;
- requirements are mutually consistent.
Do not force artificial certainty. Preserve important unknowns.
Conclude only with shared understanding
Before concluding, summarize the decision ledger and ask the user to confirm that shared understanding has been reached. Do not initiate implementation.
Return one of:
RESOLVED: material decisions are explicit;PARTIALLY_RESOLVED: progress is useful but material open decisions remain;REJECTED: the user deliberately decides not to proceed.
Produce the output defined in output-contract.md. Persist it at .ai/discovery/<slug>-decision-brief.md when repository writes are available; otherwise return it in chat and explicitly ask preparation to persist it. The result is input for prepare-development-cycle; it is not itself an implementation authorization.
Summarize what you did
After returning the outcome, close with a short summary in the user's language that states:
- what you did and what it decided or produced;
- the status or verdict you returned and what it means for the user;
- where each created or updated file now lives, by exact repository path;
- the recommended next step.
Name file locations explicitly and never claim a file was written that was not. When repository writes were unavailable and the output was returned in chat only, say so and name where it should be persisted.
This skill normally writes:
.ai/discovery/<slug>-decision-brief.md— the decision brief, when repository writes are available; otherwise the brief returned in chat, with an explicit request thatprepare-development-cyclepersist it.
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- nate2022-ai/nate-ai-skills★ 8same name
- longfangsong/skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

