Ask Clarifying Questions Before Starting Underspecified Work
Ask the minimum set of clarifying questions before implementing an underspecified request, with scannable multiple-choice defaults.
17.4.0Add to Favorites
Why it matters
Prevent wasted effort and rework by systematically identifying ambiguities in user requests and asking the minimum set of clarifying questions needed to understand objectives, scope, constraints, and success criteria before beginning implementation.
Outcomes
What it gets done
Detect when a request is underspecified by checking for missing objectives, acceptance criteria, scope boundaries, or constraints
Generate 1-5 scannable, multiple-choice questions that eliminate whole branches of unnecessary work
Pause execution until must-have answers arrive or user explicitly approves proceeding with stated assumptions
Confirm interpretation by restating requirements and key constraints before starting implementation
Install
Add it to your toolbox
Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-ask-questions-if-underspecified | bash After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.
Reports
Agent outcome reports
No reports yet
Overview
Ask Questions If Underspecified
This skill asks the minimum set of clarifying questions needed to avoid wrong work on an underspecified request. It covers deciding when a request is underspecified, asking scannable must-have questions with defaults, pausing before acting, and confirming interpretation before starting. Use it when a request has multiple plausible interpretations or key details like objective, scope, constraints, environment, or safety are unclear - not when the request is already clear or a quick discovery read can answer it.
What it does
This skill asks the minimum set of clarifying questions needed to avoid wrong work before implementing, rather than guessing silently or over-questioning a clear request.
When to use - and when NOT to
Use it when a request has multiple plausible interpretations, or key details are unclear - objective, scope, constraints, environment, or safety and reversibility. Do not use it when the request is already clear, or when a quick, low-risk discovery read (inspecting repo structure, reading relevant config files) can answer the missing details.
Inputs and outputs
Step one decides whether a request is underspecified by checking whether, after exploring how to perform the work, the objective, "done" criteria (acceptance criteria, examples, edge cases), scope, constraints, environment, or safety and reversibility remain unclear - if multiple plausible interpretations exist, the request is treated as underspecified. Step two asks 1-5 must-have questions in the first pass, preferring ones that eliminate whole branches of work, optimized for scannability: short numbered questions, multiple-choice options, clearly marked recommended defaults, a fast-path reply such as "defaults", a low-friction "not sure" option, "need to know" separated from "nice to know" where that reduces friction, and compact reply formats such as "1b 2a 3c" restated in plain language to confirm. Step three pauses before acting: no commands, file edits, or a detailed plan that depends on unknowns until must-have answers arrive, though a clearly labeled, low-risk discovery step that doesn't commit to a direction is fine; if the user explicitly says to proceed without answers, assumptions get stated as a short numbered list and confirmed before work starts. Step four, once answers arrive, restates the requirements in one to three sentences - key constraints plus what success looks like - then starts work. Named anti-patterns: don't ask questions answerable by a quick discovery read, and don't ask open-ended questions when a tight multiple-choice or yes/no would eliminate ambiguity faster.
1) Scope?
a) Minimal change (default)
b) Refactor while touching the area
c) Not sure - use default
2) Compatibility target?
a) Current project defaults (default)
b) Also support older versions: <specify>
c) Not sure - use default
Reply with: defaults (or 1a 2a)
Who it's for
Anyone directing an LLM or agent on ambiguous tasks who wants a small, structured set of clarifying questions asked upfront - eliminating whole branches of wrong work - rather than either guessing silently or over-questioning a request that is already clear.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.