A Reader Pointed Out My "Ask First" Principle Only Covered Half My Tool — So I Fixed It A developer updated SKILLmama, an AI tool that scans projects for capability gaps, after a reader pointed out that only one of its two entry points asked clarifying questions before searching. The fix adds a 'Confirm Constraints' step to the direct-query flow, where the AI asks one informed question based on the project stack and then waits for a response. The update is live in version 1.4.0 across all adapters. In my last article https://dev.to/magithar/i-got-tired-of-asking-what-am-i-missing-so-i-made-my-ai-ask-first-g8 , I added Flow B to SKILLmama: run /skillmama with no arguments, and it scans your project, finds capability gaps, and asks before it searches . The whole point was to stop the AI from guessing what you need. Then @alexshev https://dev.to/alexshev left this comment: Having the AI ask first is underrated because it changes the contract from answer-generation to ambiguity-reduction. The best agents I have used spend a little time shrinking the unknowns before they touch code. "Ambiguity-reduction over answer-generation." That's a sharper framing of the idea than I'd come up with myself. But reading it back, I realized the comment had quietly exposed a hole in my own design. SKILLmama has two entry points: /skillmama with no args → scan → /skillmama find me a job queue → scan → searchFlow B asked first. Flow A didn't. When you named a capability directly, SKILLmama scanned your project for stack context — and then went straight to searching and ranking. It reduced the ambiguity it could see from your files, but it never reduced the ambiguity it couldn't: budget, license, self-hosted vs. hosted, "must work with what I already run." So /skillmama find me a job queue on a solo side project would happily return an enterprise-grade, infra-heavy 1 pick — technically the highest score, practically wrong for the person asking. The commenter's principle applied perfectly to Flow B. Flow A was still in answer-generation mode. I added one step to Flow A: Confirm Constraints. Phase 0 — parse the request Phase 1 — scan the project Phase 1.5 — if no constraints were stated: ask ONE informed question, then STOP ← new Phase 2 — derive search terms Phase 3 — search ... The key word is informed . Because Phase 1 already scanned your stack, the question isn't a generic "any constraints?" — it's built from what it just found: SKILLmama: I see you're on Python / FastAPI / PostgreSQL / Docker / OpenAI. Before I search — any constraints? e.g. self-hosted, open-source only, free tier, must integrate with PostgreSQL . Reply "none" to search with no filters. Then it stops and waits — same hard stop that makes Flow B collaborative. A clarifying question is only good if it doesn't fire when it shouldn't. So Phase 1.5 has guardrails: 1. It only fires when you gave no constraints. If you already said find me an open-source job queue , the constraint is on the table — it skips the question and searches immediately. No nagging. 2. It degrades gracefully. If there are no project files to scan empty folder, fresh repo , it doesn't print a broken I see you're on nothing sentence. It falls back to a generic constraint question instead. 3. It asks once. No re-prompting loops. One question, your answer or "none" , then it runs. I could have made Flow A ask the same three questions Flow B asks. I didn't, on purpose. Flow B earns three questions because it's doing open-ended discovery — it found a handful of gaps and needs to know which ones matter, what your constraints are, and what it missed. Flow A already knows the capability. The only real unknown left is constraints . Asking more than that would be friction for its own sake. The contract the commenter described — shrink the unknowns before you touch code — doesn't mean "ask everything." It means ask for the smallest input that most changes the output. For a scored ranking, that input is constraints: a single "must be self-hosted" can reorder the entire top 3. Phase 1.5 is live in v1.4.0 across all four adapters — Claude Code, Claude.ai, OpenAI Codex, and Antigravity. Both entry points now reduce ambiguity before they act; they just ask the right number of questions for how much they already know. npx skills add Magithar/SKILLmama github.com/Magithar/SKILLmama — Apache 2.0. And if you've got a sharp observation about where it still guesses instead of asking — leave a comment. The last one became a release.