deep-research v2.2.0, deep-web-research v2.1.0 — clarifying-question cap

Both skills now have a hard cap on clarifying questions / scope ambiguity:

- deep-research (general profile dispatcher): 3 questions default, 5 hard cap,
  abort at 6+. If the operator's question is under-specified, push back
  rather than fire 6+ questions.

- deep-web-research (research profile methodology): headless, no operator
  to ask. Detects under-specified questions and aborts with a structured
  report naming the plausible interpretations, instead of dispatching with
  a guessed scope.

This addresses the workshopping rule: 'up to 10 clarifying questions at
start, with max clarity.' Consensus after peer review: 10 is too many,
tighter cap forces prioritization. Abort at 6+ is the signal that the
question itself is broken, not the agent's question-asking budget.
This commit is contained in:
Hermes Agent
2026-07-06 15:43:03 -05:00
parent 9ef60eda37
commit 29556adb6f
2 changed files with 57 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
---
name: deep-web-research
description: Exhaustive deep web research — six-move flow, external findings ledger, mechanical saturation check, disconfirmation, condensation from disk. Domain-aware tool selection with adaptive re-strategizing. Opt-in skill for the research profile.
version: 2.0.0
version: 2.1.0
author: Hermes Agent
---
@@ -102,6 +102,40 @@ that are immune to header ordering.
confirmed by a human-authored source is still confirmable. Don't auto-cap
confidence just because the tier is `osint`.
## Under-Specified Question Handling
This skill runs headless — there is no operator to ask clarifying questions. If the question is ambiguous enough that any strategy would be a guess, **abort with a structured under-specification report instead of dispatching with a guessed scope.**
**Detection triggers (any one is enough to abort):**
- The question references a person / org / project / model with no disambiguating context (multiple plausible referents, no narrowing clue in the prompt)
- The question asks "everything about X" with no scoping (time range, domain, angle)
- The question has 3+ mutually-exclusive branches and no signal which one is wanted
- The question uses vague hedges ("good", "best", "modern", "recent") with no concrete criterion
**What to do instead of guessing:**
1. Do NOT start Move 0. Do NOT begin the ledger.
2. Write to stderr / final report:
```
## Aborted: Under-Specified Question
The question "<original question>" has multiple plausible interpretations.
Cannot dispatch a research strategy without narrowing the scope.
Possible interpretations:
- <interpretation 1>
- <interpretation 2>
- <interpretation 3>
Ask the operator to clarify which one is intended, or rewrite the question with the scope made explicit.
```
3. Exit cleanly. Do not fabricate findings, do not start Move 1.
**Cap on auto-clarification attempts:** None. The skill does not interactively ask the operator. One dispatch, one answer (or one abort). The dispatcher (`deep-research` on the general profile) handles the operator-facing clarifying question loop before this skill is even loaded — see the "Clarifying Questions (Before Dispatch)" section in that skill.
**Cap on output length when aborting:** Short. The whole point of the abort is to surface the problem fast. Five lines of possible interpretations is the ceiling.
## Six-Move Research Flow
### Move 0: Analyze & Strategize