Install any skill in seconds. Free to start, no credit card required.
Get Started Free →This skill enriches vague prompts with targeted research and clarification before execution. Should be used when a prompt is determined to be vague and requires systematic research, question generation, and execution guidance.
.claude/skills/microck-prompt-improver/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 193% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 58% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -5% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 32% | 0% |
Transform vague, ambiguous prompts into actionable, well-defined requests through systematic research and targeted clarification. This skill is invoked when the hook has already determined a prompt needs enrichment.
Automatic invocation:
Manual invocation:
Assumptions:
This skill follows a 4-phase approach to prompt enrichment:
Create a dynamic research plan using TodoWrite before asking questions.
Research Plan Template:
Critical Rules:
For detailed research strategies, patterns, and examples, see references/research-strategies.md.
Based on research findings, formulate 1-6 questions that will clarify the ambiguity.
Question Guidelines:
Number of Questions:
For question templates, effective patterns, and examples, see references/question-patterns.md.
Use the AskUserQuestion tool to present your research-grounded questions.
AskUserQuestion Format:
- question: Clear, specific question ending with ?
- header: Short label (max 12 chars) for UI display
- multiSelect: false (unless choices aren't mutually exclusive)
- options: Array of 2-4 specific choices from research
- label: Concise choice text (1-5 words)
- description: Context about this option (trade-offs, implications)Important: Always include multiSelect field (true/false). User can always select "Other" for custom input.
Proceed with the original user request using:
Execute the request as if it had been clear from the start.
Hook evaluation: Determined prompt is vague Original prompt: "fix the bug" Skill invoked: Yes (prompt lacks target and context)
Research plan:
Research findings:
Questions generated:
User answer: Login authentication failure
Execution: Fix the error handling in auth.py:145 that's causing login failures
Original prompt: "Refactor the getUserById function in src/api/users.ts to use async/await instead of promises"
Hook evaluation: Passes all checks
Skill invoked: No (prompt is clear, proceeds immediately without skill invocation)
For comprehensive examples showing various prompt types and transformations, see references/examples.md.
This SKILL.md contains the core workflow and essentials. For deeper guidance:
Load these references only when detailed guidance is needed on specific aspects of prompt improvement.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-04 | fail→fail | 13,604 | 8,688 | -36% | 1 | 1 | 0% | 1,726 | 1,969 | +14% | 0 | 0 | — |
case-01 | fail→fail | 3,749 | 9,282 | +148% | 1 | 1 | 0% | 297 | 1,801 | +506% | 0 | 0 | — |
case-02 | fail→fail | 3,905 | 5,701 | +46% | 1 | 1 | 0% | 204 | 1,533 | +651% | 0 | 0 | — |
case-03 | fail→fail | 9,456 | 9,859 | +4% | 1 | 1 | 0% | 1,155 | 1,908 | +65% | 0 | 0 | — |
case-05 | fail→pass | 6,603 | 11,051 | +67% | 1 | 1 | 0% | 981 | 2,873 | +193% | 0 | 0 | — |
case-06 | fail→fail | 13,092 | 10,385 | -21% | 1 | 1 | 0% | 2,129 | 3,070 | +44% | 0 | 0 | — |
case-07 | fail→pass | 13,883 | 12,536 | -10% | 1 | 1 | 0% | 2,192 | 2,286 | +4% | 0 | 0 | — |
case-08 | fail→pass | 12,163 | 6,885 | -43% | 1 | 1 | 0% | 1,343 | 2,117 | +58% | 0 | 0 | — |
case-13 | pass→fail | 12,130 | 19,499 | +61% | 1 | 1 | 0% | 2,315 | 1,558 | -33% | 0 | 0 | — |
case-09 | fail→pass | 13,331 | 4,538 | -66% | 1 | 1 | 0% | 2,201 | 2,100 | -5% | 0 | 0 | — |
case-10 | pass→pass | 6,864 | 6,225 | -9% | 1 | 1 | 0% | 1,211 | 2,366 | +95% | 0 | 0 | — |
case-11 | pass→pass | 5,313 | 3,980 | -25% | 1 | 1 | 0% | 999 | 1,999 | +100% | 0 | 0 | — |
case-12 | pass→pass | 6,352 | 3,776 | -41% | 1 | 1 | 0% | 1,172 | 1,944 | +66% | 0 | 0 | — |
case-14 | pass→pass | 13,478 | 5,333 | -60% | 1 | 1 | 0% | 2,295 | 2,220 | -3% | 0 | 0 | — |
case-15 | fail→pass | 16,322 | 12,868 | -21% | 1 | 1 | 0% | 2,725 | 3,602 | +32% | 0 | 0 | — |
case-16 | fail→pass | 9,625 | 4,265 | -56% | 1 | 1 | 0% | 1,527 | 1,968 | +29% | 0 | 0 | — |
case-17 | fail→pass | 9,286 | 7,024 | -24% | 1 | 1 | 0% | 1,618 | 2,535 | +57% | 0 | 0 | — |
case-18 | pass→pass | 12,842 | 4,863 | -62% | 1 | 1 | 0% | 1,884 | 2,174 | +15% | 0 | 0 | — |
case-19 | fail→pass | 15,814 | 8,804 | -44% | 1 | 1 | 0% | 2,632 | 3,167 | +20% | 0 | 0 | — |
case-20 | fail→fail | 5,351 | 6,678 | +25% | 1 | 1 | 0% | 1,081 | 1,688 | +56% | 0 | 0 | — |
case-21 | pass→fail | 3,248 | 5,310 | +63% | 1 | 1 | 0% | 527 | 2,114 | +301% | 0 | 0 | — |
case-22 | pass→fail | 2,644 | 7,380 | +179% | 1 | 1 | 0% | 442 | 1,773 | +301% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 16 comparable cases. 5 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.