Build the thing the user can't specify, choices surfaced. Use when the user needs something to react to before they can choose.
Build the smallest complete version — real enough to react to, small enough to throw away. One version, unless the choices genuinely fork; then the fewest versions that show the fork. Prefer the version the user can mark up over the one they can only accept or reject.
For every choice the building picked that the conversation had not already settled, state the choice, what you picked, and what would make you pick otherwise.
Ask the surfaced choices first, with AskUserQuestion, the one you are least sure of first. Then hand back the built thing, saying where to look. Build, surface, hand back, once; then wait for the reaction. Every surfaced choice stays open until the user reacts to it.
One direct question would let the user specify it → ask it. The words admit two readings that would build different things → use clarify skill. What's missing lives in the user, not the world → use elicit skill. The thing already exists and a claim about it needs a committed verdict → use judge skill.
595eda0
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.