asking-questions
Skill1 starsChanged 20 days agoApache-2.0View on GitHub
Decide when to ask the user a question and how to present it. Use before any clarifying question, choice, or confirmation, whether through the Plannotator Inbox, a structured question tool or in chat, and to decide whether to hold questions until findings are presented or divert to grilling; do not use to run light or full grilling rounds.
We split this skill into the rules it gives an agent
14 rules. About 0 are common, 11 are distinctive, and 3 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.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Ask only when the answer changes the work, and never ask cold.
- Distinctive: line 39
Every question follows visible chat in the same response.
- Distinctive: line 41
If the user asked something, raised a doubt, or said "check first" or "explain", answer that first.
- Distinctive: line 50
Ask the fewest questions that unblock the work, ideally one and at most three in a pass.
- Distinctive: line 54
Ask in chat alone only when the user says to.
- Very specific: line 56
Prefer concrete options over open prompts.
- Distinctive: line 57
Do not ask the user to reply with numbered text when the client captures structured choices.
- Distinctive: line 65
Use the concrete facts: file paths, names, commands, and values, not vague terms like "the approach" or "this change".
- Distinctive: line 66
No filler, hedging, preamble, restated context, jargon, or process terms.
- Distinctive: line 67
Do not repeat the explainer inside the question or its options.
- Very specific: line 72
After sending through the Inbox, end the turn.
- Very specific: line 75
When the work came from an Inbox reply, send follow-up questions back to that thread with reply_to, as well as in chat.
- Distinctive: line 77
If the user says to proceed without answering, state the assumptions in a sentence and continue with the safest defaults.
- Distinctive: line 79
Do not turn clarification into a multi-round interview.
≈ “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
Asking Questions
Ask only when the answer changes the work, and never ask cold. The user reads the chat, not your thinking, so the context for a question has to be in the response itself.
When to Ask
- Several reasonable readings of the request lead to materially different work.
- The unknown is the objective, done criteria, scope, constraints, environment, or safety of an irreversible step.
- Quick read-only discovery cannot settle it.
When Not to Ask
- The request is clear enough to proceed safely.
- Reading files, config, docs, or history would answer it.
- Repository conventions or the user's earlier choices give a safe default and the impact is low.
- The step is routine and safe; do not ask permission for it.
- The user has made a clear choice or set a limit; follow it rather than confirming it.
- The turn's job is to present something: research findings, an explanation, a diagnosis, or a review. Present it first and don't open with a question. A closing offer or question is fine, but it still needs an answer, so it follows How to Ask below.
- The user wants light or full grilling or plan stress-testing; use
grillingor/grill.
Divert to Grilling
Clarification is for a few independent blockers. Recommend /grill instead of asking when:
- more than three material decisions are open;
- the decisions depend on each other, so answers would reshape the next questions;
- the real need is to stress-test a plan, idea, or trade-off rather than fill in a missing detail.
Say why in a sentence and let the user choose. If the user has already asked to be grilled, load grilling and follow it. Its rounds still follow Present Before Asking below.
Present Before Asking
Every question follows visible chat in the same response. Thinking, tool input, and progress notes from earlier steps do not count, and a structured question tool shows only labels.
- If the user asked something, raised a doubt, or said "check first" or "explain", answer that first.
- Give a short summary of what you found that the choice depends on.
- Say what each option means in practice and which you recommend, with the reason.
- Then ask. Never open a turn with the question. Once you have decided a question is needed, ask it in the same response as the explainer.
Each question must make sense from the chat directly above it. If the thing being asked about (a draft, plan, proposed wording, or list of options) is not visible in this response, show it first; never ask the user to approve or choose something they cannot see.
How to Ask
- Ask the fewest questions that unblock the work, ideally one and at most three in a pass.
- When the
plannotator_inboxtool is available, send every question that needs an answer to the Plannotator Inbox, as:::questionblocks, even if the user never mentioned it. This applies whether or not the work has started and whether or not the answer blocks anything. The user may read it away from the terminal, so the message carries its own short explainer and recommendation. Also ask the same question in plain chat at the end of the response, so the user can answer in either place. Don't use a blocking structured question tool alongside it: it holds the turn open, so the Inbox reply can't arrive. - An offer that ends a turn ("Want me to...?", "Shall I...?", "Do you want me to fix this now?") is a question the user has to answer, so it goes to the Inbox and chat the same way. If it isn't worth sending, state the next step in prose instead of asking.
- When the turn also reports an outcome (findings, a plan, a review, a result, or where work stopped), send the report itself in that Inbox message, never a pointer such as "ready in chat", and put the question in the same message. Anything that waits on the user, including "I'll edit once you approve", is a
:::questionblock, not prose, so the thread shows it needs a reply. Sign-off on a plan, document or diff is the exception: it goes through a gated Plannotator review, and the Inbox message links to it (seeplan). - Ask in chat alone only when the user says to.
- Otherwise use the client's structured question capability when available, or ask concisely in chat.
- Prefer concrete options over open prompts. Put the recommended option first and mark it
(Recommended). - Do not ask the user to reply with numbered text when the client captures structured choices.
Wording
Details, reasoning, and trade-offs go in the chat above. The question and its options stay short and plain, in the same style as bro:
- One question, one decision. Write it as a direct, short sentence that names the concrete thing being decided.
- Option labels name the choice in a few words; option descriptions add only the key consequence in one short sentence.
- Use the concrete facts: file paths, names, commands, and values, not vague terms like "the approach" or "this change".
- No filler, hedging, preamble, restated context, jargon, or process terms.
- Do not repeat the explainer inside the question or its options.
While Waiting and After
- Finish non-blocked read-only discovery before asking.
- After sending through the Inbox, end the turn. The reply arrives as a new turn once the session is idle; don't poll with
wait_for_replyor start a background wait, which keeps the session busy and holds the reply back. - Take the first answer from either place. If it came in chat, close the Inbox thread with
resolve_messageso the question doesn't linger there; if it came from the Inbox, don't ask again in chat. A later answer to a question already settled is stale: don't act on it, and mention it only if it conflicts. - An Inbox reply can skip questions the user did not answer, and Mark read sends a "Set aside for now" note. Neither is an answer: stop waiting on those questions, and ask again only if one still blocks the work.
- When the work came from an Inbox reply, send follow-up questions back to that thread with
reply_to, as well as in chat. - Until a must-have answer arrives, do not edit files or run state-changing commands.
- If the user says to proceed without answering, state the assumptions in a sentence and continue with the safest defaults.
- After the answer, restate the resulting requirement in one or two sentences. Carry on only with what the answer actually authorised. Answering a design or clarifying question settles that detail; it is not approval to start implementing. If the work was still at the discussion or proposal stage, present the updated plan and wait for the go-ahead before editing.
- Do not turn clarification into a multi-round interview. If a second round looks needed, divert to grilling as above.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- oaustegard/claude-skills★ 158same 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 repository50 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agentic-workflowsSkill
- broSkill
- browser-accessSkill
- change-review-handoffSkill
- changeset-scopeSkill
- check-skill-updatesSkill
- chillSkill
- cleanup-unnecessary-variablesSkill
- code-reviewSkill
- decision-modelsSkill
- diagnoseSkill
- effect-principlesSkill
- evidence-firstSkill
- gh-stackSkill
- git-contextSkill
- github-development-rulesetsSkill
- github-repository-setupSkill
- grillingSkill
- handoffSkill
- herdr-workflowsSkill
- home-assistant-frontendSkill
- home-assistant-lit-renderingSkill
- human-step-guideSkill
- import-external-skillSkill
- lit-renderingSkill
- maintain-docsSkill
- npm-jsr-first-publishSkill
- opencode-effectSkill
- pitchfork-dev-serversSkill
- pkexec-rootSkill
- planSkill
- release-oxlint-rulesSkill
- remove-single-use-functionsSkill
- researchSkill
- retroSkill
- safe-process-signalsSkill
- session-coordinationSkill
- shared-workflowsSkill
- show-meSkill
- skill-prefixesSkill
- staged-implementationSkill
- task-focusSkill
- task-runnersSkill
- testingSkill
- to-questionnaireSkill
- types-enforce-tsSkill
- wranglerSkill
- writing-dot-skillsSkill
- writing-styleSkill
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
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.

