reverse-prompting
Skill0 starsChanged 55 days agoMITView on GitHub
Force the agent to ask clarifying questions before starting work. The agent surfaces its own assumptions, the user disambiguates, and only then does it proceed. Triggers on "reverse prompt", "ask me questions first", "what questions do you have", "clarify before starting", "surface assumptions", or /reverse-prompting. Also triggers on phrases like "don't start until you ask me", "what do you need to know", or "ask before building".
2 other projects use a version of this.
Adopted by
Most recently taken up by
- LucasLeduc/claude-skillstheir own version, first seen Sep 11, 2026
- blueincite/claude-skillstheir own version, first seen May 18, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- blueincite/claude-skills★ 0same name
- LucasLeduc/claude-skills★ 0same 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 repository7 other files it gives its agents.
- agent-chatroomsSkill
- model-chatSkill
- multi-agent-chromeSkill
- prompt-contractsSkill
- stochastic-multi-agent-consensusSkill
- subagent-verification-loopsSkill
- video-to-actionSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Before touching anything, ask the user exactly 5 clarifying questions that would most change your approach.
- Distinctive: line 18
Read the user's task description.
- Distinctive: line 22
If the project has experience/decision docs, read them first:
- Very specific: line 23
Check active/experience/ for relevant prior decisions
- Very specific: line 24
Check CLAUDE.md or DECISIONS.md for project conventions
- Distinctive: line 25
Check existing code for patterns that answer some questions implicitly
- Distinctive: line 44
Use AskUserQuestion or present questions directly.
- Distinctive: line 58
Do not proceed until the user answers all 5 questions.
- Distinctive: line 62
If the project uses experience docs, append the Q&A to the relevant experience file:
- Distinctive: line 104
Follow-up tasks where the questions were already answered in a prior round
≈ “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.
Files
Reverse Prompting
Before touching anything, ask the user exactly 5 clarifying questions that would most change your approach. Do not proceed until they answer. Surface your own assumptions, let the user disambiguate, then build with high-quality context.
Why this works: The most expensive agent failures are silent assumption failures — confidently building the wrong thing because you assumed REST when they meant GraphQL, or assumed a new file when they wanted to extend an existing one. Reverse prompting makes those assumptions visible and fixable before they're expensive. The 5-question constraint forces you to prioritize which unknowns matter most.
Execution
1. Receive the task
Read the user's task description. Do NOT start implementing. Instead, analyze what you'd need to know to do this well.
2. Check for experience docs (optional)
If the project has experience/decision docs, read them first:
- Check
active/experience/for relevant prior decisions - Check
CLAUDE.mdorDECISIONS.mdfor project conventions - Check existing code for patterns that answer some questions implicitly
This narrows your questions to things NOT already answered by the codebase.
3. Generate your 5 questions
Think about what assumptions you'd silently make if you just started coding. Turn those assumptions into questions. Prioritize by impact — ask the questions where a different answer would most change your implementation.
Categories to consider:
- Scope — what's in vs out? ("Should this handle X or is that a separate task?")
- Tech choices — which tools/patterns? ("REST or GraphQL? New service or extend existing?")
- Edge cases — what happens when things break? ("What should happen if the API is down?")
- Performance — what scale? ("Are we talking 100 users or 100K?")
- Integration — what touches this? ("Does this need to work with the existing auth system?")
- UX — what does the user see? ("Should errors show a toast or inline message?")
- Existing patterns — follow or diverge? ("The codebase uses X pattern — should I match it or is this a chance to improve?")
Question format
Use AskUserQuestion or present questions directly. For each question:
- State the assumption you'd make if not asked
- Ask the question
- Explain why the answer matters
Example:
Q1 (highest impact): Should this be a REST API or GraphQL?
My default assumption: REST, since the existing codebase uses Express.
Why it matters: GraphQL would require adding apollo-server and restructuring the resolver layer — completely different implementation path.4. Wait for answers
Do not proceed until the user answers all 5 questions. If they skip a question, use your default assumption and note it.
5. Record answers (optional but recommended)
If the project uses experience docs, append the Q&A to the relevant experience file:
## {Task Name} — Decisions ({date})
Q: {question}
A: {user's answer}
Rationale: {why this matters for future tasks}This way, future tasks in the same domain don't need to re-ask answered questions.
6. Proceed with implementation
Now you have disambiguated context. Proceed with the task, referencing the user's answers as your requirements. If you find yourself making a new assumption during implementation, pause and ask — don't silently decide.
Advanced: Accumulated Experience
For repeat task domains (e.g., "build another API endpoint", "add another page"), use experience docs to avoid re-asking:
Before you begin:
1. Read active/experience/{domain}.md for decisions from past builds
2. Ask me 5 questions that AREN'T already answered by the experience doc
3. After I answer, append my answers to the experience doc for next time
4. Then proceed with implementationThis creates a flywheel: each task adds context, so future tasks need fewer questions and produce better output immediately.
When to use
- Any task where you'd normally spend 10+ minutes writing a detailed spec
- Complex features with multiple valid approaches
- Tasks touching unfamiliar parts of the codebase
- Anything where getting it wrong means significant rework
When NOT to use
- Trivial tasks ("fix this typo", "add a log line")
- Tasks with extremely detailed specs already provided
- Urgent hotfixes where speed matters more than perfection
- Follow-up tasks where the questions were already answered in a prior round
Configuration
| Parameter | Default | Description |
| question_count | 5 | Number of questions to ask (3-7 range) |
| experience_doc | none | Path to experience doc for accumulated learning |
| priority_order | impact | Sort questions by implementation impact |
Edge cases
- User says "just do it": Respect it. List your assumptions as a comment and proceed.
- All questions are already answered by context: Skip to implementation. Note that you reviewed context and found no ambiguities.
- User answers are contradictory: Flag the contradiction. Ask one follow-up to resolve it.
- Task changes after questions: Re-assess whether your answers still apply. Ask 1-2 new questions if the scope shifted significantly.
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.

