The problem
The model answers the MOST PLAUSIBLE version of your request — not necessarily YOURS. A cultural reference, slang, an internal project name: it fills the gap with a fluent guess, and you only notice after paying for the wrong answer.
The protocol
DETECT — the skill classifies the interpretation risk of a message (your-context reference? slang? recent content?). GROUND — on medium/high risk, it states the interpretation in a scannable block (searching the web when the outside world is the source). ANSWER — only then it answers. Wrong reading? You fix it in one line, not after 800 tokens.
Benchmark, not opinion
The hard part is not detecting ambiguity — it is staying quiet when there is none. The high specificity is the result I am proudest of: the skill does not become bureaucracy on simple questions.
Portable by design
Works in Claude Code, Codex, Gemini and any chat — the protocol is text, not a plugin. It is also a pattern I use in my products: Braga Suite demands evidence before answering for the same reason.
My role
Author of the protocol, the skill and the cross-vendor benchmark. Code and evaluation public.