In my 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.
The Hole
SKILLmama has two entry points:
Flow B —/skillmamawith no args → scan → ask → search
Flow A —/skillmama find me a job queue→ scan → search
Flow 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.
The Fix: Phase 1.5
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.
The Three Rules That Keep It From Being Annoying
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.
Why "One Informed Question" Beats "A Form"
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.
What Changed
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.
SOCIAL SHARE CARD GENERATOR