Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:47:23 +08:00
commit eb42d25f7b
51 changed files with 9966 additions and 0 deletions

View File

@@ -0,0 +1,153 @@
---
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:
1. Prompt seems ambiguous or lacks necessary details
2. User wants to create/build something without specifying technical details
3. Vague instructions like "fix this", "optimize", or "improve" without context
4. 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:
1. **Acknowledge**: "Got it. I'll help you with [request]."
2. **Explain**: "To provide better results, I have a few questions."
3. **Ask**: Use AskUserQuestion with relevant options
4. **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
1. **Keep questions focused**: Ask only what's necessary
2. **Provide sensible defaults**: Include common choices
3. **Allow custom input**: Include "Other" option
4. **Be conversational**: Don't make it feel like a form
5. **Group related questions**: Ask related questions together
6. **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