Skip to content
Development
Skill

/prompt-improver

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.

From plugin
prompt-improver
1.8k1 skill3 hooks
Install
$ npx -y skills add severity1/claude-code-prompt-improver --skill prompt-improver --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/prompt-improver

Context preview

The summary Claude sees to decide when to auto-load this skill.

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.

SKILL.md

prompt-improver.SKILL.md
name: prompt-improver
description: 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.

Prompt Improver Skill

Purpose

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.

When This Skill is Invoked

**Automatic invocation:**

  • UserPromptSubmit hook evaluates prompt
  • Hook determines prompt is vague (missing specifics, context, or clear target)
  • Hook invokes this skill to guide research and questioning

**Manual invocation:**

  • To enrich a vague prompt with research-based questions
  • When building or testing prompt evaluation systems
  • When prompt lacks sufficient context even with conversation history

**Assumptions:**

  • Prompt has already been identified as vague
  • Evaluation phase is complete (done by hook)
  • Proceed directly to research and clarification

Core Workflow

This skill follows a 4-phase approach to prompt enrichment:

Phase 1: Research

Create a dynamic research plan using TodoWrite before asking questions.

**Research Plan Template:** 1. **Check conversation history first** - Avoid redundant exploration if context already exists 2. **Review codebase** if needed:

  • Task/Explore for architecture and project structure
  • Grep/Glob for specific patterns, related files
  • Check git log for recent changes
  • Search for errors, failing tests, TODO/FIXME comments

3. **Gather additional context** as needed:

  • Read local documentation files
  • WebFetch for online documentation
  • WebSearch for best practices, common approaches, current information

4. **Document findings** to ground questions in actual project context

**Critical Rules:**

  • NEVER skip research
  • Check conversation history before exploring codebase
  • Questions must be grounded in actual findings, not assumptions or base knowledge
  • Route Glob, Grep, WebSearch, WebFetch, and multi-file Read through `Task/Explore` — never call them directly in main context
  • Include conversation-relevant context (file paths, errors, prior decisions) in every Explore prompt — Explore cannot see prior turns

For detailed research strategies, patterns, and examples, see [references/research-strategies.md](references/research-strategies.md).

Phase 2: Generate Targeted Questions

Based on research findings, formulate 1-6 questions that will clarify the ambiguity.

**Question Guidelines:**

  • **Grounded**: Every option comes from research (codebase findings, documentation, common patterns)
  • **Specific**: Avoid vague options like "Other approach"
  • **Multiple choice**: Provide 2-4 concrete options per question
  • **Focused**: Each question addresses one decision point
  • **Contextual**: Include brief explanations of trade-offs

**Number of Questions:**

  • **1-2 questions**: Simple ambiguity (which file? which approach?)
  • **3-4 questions**: Moderate complexity (scope + approach + validation)
  • **5-6 questions**: Complex scenarios (major feature with multiple decision points)

For question templates, effective patterns, and examples, see [references/question-patterns.md](references/question-patterns.md).

Phase 3: Get Clarification

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.

Phase 4: Execute with Context

Proceed with the original user request using:

  • Original prompt intent
  • Clarification answers from user
  • Research findings and context
  • Conversation history

Execute the request as if it had been clear from the start.

Examples

Example 1: Skill Invocation → Research → Questions → Execution

**Hook evaluation:** Determined prompt is vague **Original prompt:** "fix the bug" **Skill invoked:** Yes (prompt lacks target and context)

**Research plan:** 1. Check conversation history for recent errors 2. Explore codebase for failing tests 3. Grep for TODO/FIXME comments 4. Check git log for recent problem areas

**Research findings:**

  • Recent conversation mentions login failures
  • auth.py:145 has try/catch swallowing errors
  • Tests failing in test_auth.py

**Questions generated:** 1. Which bug are you referring to?

  • Login authentication failure (auth.py:145)
  • Session timeout issues (session.py:89)
  • Other

**User answer:** Login authentication failure

**Execution:** Fix the error handling in auth.py:145 that's causing login failures

Example 2: Clear Prompt (Skill Not Invoked)

**Original prompt:** "Refactor the getUserById function in src/api/users.ts to use async/await instead of promises"

**Hook evaluation:** Passes all checks

  • Specific target: getUserById in src/api/users.ts
  • Clear action: refactor to async/await
  • Success criteria: use async/await instead of promises

**Skill invoked:** No (prompt is clear, proceeds immediately without skill invocation)

For comprehensive examples showing various prompt types and transformations, see [references/examples.md](references/examples.md).

Key Principles

1. **Assume Vagueness**: Skill is only invoked for vague prompts (evaluation done by hook) 2. **Research First**: Always gather context before formulating questions 3. **Ground Questions**: Use research findings, not assumptions or base knowledge 4. **Be Specific**: Provide concrete options from actual codebase/context 5. **St

Read more
Ships withprompt-improver

Intelligent prompt optimization for Claude Code. It injects the right context at the right moment - at prompt submit, tool use, and subagent start - so Claude has what it needs before it acts.

Get the whole plugin
Stats
1,847
Stars
148
Forks
Maintained
Maintenance
Python
Language
MIT
License
2mo ago
Last commit
9mo ago
Created

Repo: severity1/claude-code-prompt-improver