Purpose
This skill defines the procedure agents follow when encountering ambiguity during execution. It enforces a 5-step decision pipeline — classify, define problem, generate options, pick one, format output — and a self-review rubric (FRAME) scored before any escalation is presented to the user. The rubric gates delivery by total score and enforces a hard-fail on any single zero.
Procedure
-
Classify the ambiguity. When you encounter missing or unclear information, determine which of these 5 types applies:
- Approach choice — multiple valid approaches exist and the user did not specify one, but all lead to the same outcome. Example: whether to use a helper function or inline the logic.
- Minor ambiguity — the intent is clear but a detail is vague and a reasonable default exists. Example: "add logging" without specifying log level — default to info.
- Ambiguous requirement — the user's intent could mean two or more meaningfully different things. Example: "make it faster" could mean optimize the algorithm, add caching, or reduce payload size.
- Missing information — a required fact is absent and cannot be inferred. Example: "deploy to the server" with no server specified and no convention to fall back on.
- Risk confirmation — the action is destructive, expensive, or irreversible and the user has not explicitly authorized it. Example: dropping a database table, force-pushing to main.
-
Apply the branch.
- Approach choice and minor ambiguity → proceed with a documented default. Record your choice in your handoff. Do not block.
- Ambiguous requirement → escalate using the 1-3-1 method (step 3) and output template (step 4).
- Missing information or risk confirmation → stop and ask directly. For non-interactive sessions, return a handoff explaining the gap.
- The dividing line: if the ambiguity changes what you build, escalate. If it only changes how you build the same thing, proceed.
-
1-3-1 analysis. When escalating, build your escalation in this order:
- 1 problem — Write one sentence stating the single problem.
- 3 options — Generate three meaningfully different approaches. Each with a one-sentence trade-off.
- 1 recommendation — Pick the strongest option. Write the reason.
-
Apply the output template. Format the escalation exactly as follows:
The [problem statement in one sentence]. I'm [what I'm working on] and [where I am in the process]. The choice is [decision in plain language]. No jargon. RECOMMENDATION: [A|B|C] because [reason]. A) [option] — [one-sentence trade-off] B) [option] — [one-sentence trade-off] C) [option] — [one-sentence trade-off] -
Score each criterion. After preparing the escalation, read the FRAME rubric below and assign a score of 0, 1, or 2 to each letter. Show the scoring breakdown to yourself (internal reasoning, not to the user).
-
Apply the hard-fail rule. If any letter scores 0, do not deliver — go to step 7 immediately.
-
Determine action by total score:
- 9 – 10 — DELIVER — Escalation meets all criteria. Deliver to user.
- 7 – 8 — FIX the scored < 2 criteria. a. Identify which letters scored below 2. b. Fix those gaps automatically (do NOT consult the user). c. Re-score, then deliver if 9-10. d. If still below 9, retry once more. e. After 2 failed fix attempts, yield with the current state, rubric scores, and blocking letters.
- 0 – 6 — RESTART — The escalation is fundamentally broken. Discard and rebuild with corrected understanding, or yield with an explanation of what went wrong.
FRAME Rubric
F — FLAG THE BRANCH
Did I classify the ambiguity type and apply the correct branch (proceed vs escalate)?
- 0 — No classification performed. Jumped straight to acting or asking without determining the ambiguity type.
- 1 — Classified the type but picked the wrong branch: proceeded when should escalate (ambiguous requirement, missing info, risk), or escalated when should proceed (approach choice, minor ambiguity).
- 2 — Classified correctly. Applied the right branch: proceed for approach choice and minor ambiguity; escalate for ambiguous requirement; stop-and-ask for missing info and risk confirmation.
R — ROOT THE PROBLEM
Did I state exactly one problem before generating solutions?
- 0 — Skipped problem definition. Jumped from noticing ambiguity straight to options or open-ended questions.
- 1 — Stated a problem but it is vague ("something is unclear") or bundles multiple problems into one statement.
- 2 — One sentence. One problem. Specific enough that someone could evaluate whether a solution addresses it.
A — ARRAY THE OPTIONS
Did I generate 3 meaningfully different options?
- 0 — Options are all variants of the same approach. Or presented fewer than 3. Or presented more than 5.
- 1 — Three options exist but two are too similar to be meaningful alternatives. No trade-off stated per option.
- 2 — Three options. Each takes a distinctly different approach. Each has a one-sentence trade-off.
M — MAKE THE PICK
Did I choose one option and state the reason?
- 0 — Listed options without picking one. Or picked one but gave no reason. Or used "it depends" or hedging language.
- 1 — Picked one but the reason is generic ("it's better") or does not connect to the root problem.
- 2 — Exactly one recommendation stated as
RECOMMENDATION: [option] because [reason]. The reason traces back to the root problem defined in R.
E — ENFORCE THE FORMAT
Did I follow the 5-part structured question format exactly?
- 0 — Wrong format entirely. Asked an open-ended question. Missing RECOMMENDATION line.
- 1 — Most sections present but one is wrong or out of order (e.g., context statement missing, or Options numbered instead of lettered A/B/C).
- 2 — All sections in exact order: Problem → Context → Choice → RECOMMENDATION → A) B) C). Lettered options (not numbered). One sentence per option trade-off.
Guardrails
- Never ask open-ended questions when concrete options exist
- Never present options without a recommendation
- Never treat every gap as a blocker (approach choice + minor ambiguity proceed inline)
- Simple yes/no and single-fact clarifications are exempt from this format
- The rubric is fixed — do not add or remove criteria
- Never deliver with any letter scoring 0
微信扫一扫