prompt-clarifier
WHEN: Ambiguous prompts, vague requirements, missing context, unclear instructionsWHAT: Ambiguity detection + AskUserQuestion clarification + Interactive option selectionWHEN NOT: Clear detailed instructions → proceed directly
When & Why to Use This Skill
The Prompt Clarifier is a specialized Claude skill designed to eliminate ambiguity and enhance interaction quality by detecting vague instructions. It proactively identifies missing context—such as tech stacks, project scopes, or specific optimization goals—and uses interactive 'AskUserQuestion' prompts to gather precise requirements. This ensures the AI agent operates with full context, significantly reducing guesswork and improving the accuracy of generated outputs.
Use Cases
- Requirement Gathering for New Projects: When a user provides a vague request like 'build a website,' the skill automatically triggers a selection menu for tech stacks (React, Vue, etc.) and core features.
- Targeted Code Optimization: If a user asks to 'optimize this code,' the skill clarifies whether the priority is execution speed, memory reduction, or code readability before proceeding.
- Contextual Debugging and Troubleshooting: For prompts like 'fix this error' that lack file paths or environment details, the skill identifies the missing information and asks the user for specific references.
- Interactive Feature Scoping: Helps users define complex project requirements through multi-select options for features like user authentication, database CRUD, or payment systems, ensuring a comprehensive project plan.
| name | prompt-clarifier |
|---|---|
| description | | |
| WHEN | Ambiguous prompts, vague requirements, missing context, unclear instructions |
| WHAT | Ambiguity detection + AskUserQuestion clarification + Interactive option selection |
| WHEN NOT | Clear detailed instructions → proceed directly |
Prompt Clarifier Skill
Purpose
Detects ambiguous prompts and asks clarification questions using AskUserQuestion with interactive selections.
When to Use
Activate when:
- Prompt seems ambiguous or lacks necessary details
- User wants to create/build something without specifying technical details
- Vague instructions like "fix this", "optimize", or "improve" without context
- Excessive pronouns ("this", "that", "it") without clear references
Detection Criteria
Consider prompt ambiguous if it:
- Is very short (< 5 words) and lacks context
- Mentions project type without specifying:
- Technology stack
- Main features
- Project scope
- Contains optimization requests without specifying aspect:
- Performance/speed
- Memory usage
- Code readability
- Bundle size
- References code/files without paths
- Uses vague verbs without specifying target
Workflow
Step 1: Acknowledge
Briefly acknowledge what the user is asking for.
Step 2: Use AskUserQuestion
Present targeted questions with multiple-choice options.
Example Question Patterns:
For missing tech stack:
AskUserQuestion: "Which tech stack would you like to use?"
Options:
- React + TypeScript + Node.js
- Vue + JavaScript + Express
- Vanilla JS + Python + FastAPI
- I'll specify manually
For missing features:
AskUserQuestion: "Select main features (multiple selection)"
Options:
- User auth/login
- Database CRUD
- File upload
- Real-time (WebSocket)
- Payment system
- Admin dashboard
multiSelect: true
For vague optimization:
AskUserQuestion: "What type of optimization do you need?"
Options:
- Execution speed/performance
- Memory usage reduction
- Bundle size reduction
- Code readability
For project scope:
AskUserQuestion: "What's the project scale?"
Options:
- Simple prototype/MVP
- Medium-scale project
- Large enterprise-level
- Not sure (recommend for me)
Step 3: Provide Guidance
After receiving answers, proceed with enhanced context.
Response Template
When detecting ambiguity:
- Acknowledge: "Got it. I'll help you with [request]."
- Explain: "To provide better results, I have a few questions."
- Ask: Use AskUserQuestion with relevant options
- Proceed: Start implementation with full context
Examples
Example 1: Vague Web Project
User: "Build me a website"
Response:
Got it. I'll help you build a website.
For better results, I have a few questions.
[Use AskUserQuestion]
1. Tech stack selection
2. Main features selection
3. Project scope
[After answers, proceed with implementation]
Example 2: Vague Optimization
User: "Optimize this code"
Response:
I'll help optimize your code.
First, let me understand what type of optimization you need.
[Use AskUserQuestion for optimization type]
[Ask for file path if not specified]
[Proceed with targeted optimization]
Best Practices
- Keep questions focused: Ask only what's necessary
- Provide sensible defaults: Include common choices
- Allow custom input: Include "Other" option
- Be conversational: Don't make it feel like a form
- Group related questions: Ask related questions together
- Proceed efficiently: Once you have enough context, start working
Integration with Hook
Works with UserPromptSubmit hook. When you see:
<!-- VIBE CODING ASSISTANT: PROMPT CLARIFICATION NEEDED -->
Automatically activate this skill and use AskUserQuestion.
Notes
- Enhances vibe coding by ensuring sufficient context
- Interactive selections make it easy to provide details
- Don't ask unnecessary questions if prompt is clear