⚡ Prompt Reviewer
Prompt Reviewer works like Grammarly — but for AI prompts. It scores your prompt from 0–100, detects missing elements, lints for common mistakes, and generates an improved version — all inside VS Code and Windsurf.
🚀 Quick Start (3 Steps)
Step 1 — Press Ctrl+N to open a new file
Step 2 — Type your prompt in the editor:
Write a login function in TypeScript using Express
Step 3 — Press Ctrl+Shift+P → type Analyze Prompt → press Enter
The Prompt Reviewer panel opens on the left and shows your score, issues, and an improved version.
⚠️ Important: Always keep your cursor inside the editor before clicking Analyze. Clicking the panel first causes "No active editor" error.
📦 Installation
From VS Code Marketplace
- Open Extensions panel
Ctrl+Shift+X
- Search "Prompt Reviewer"
- Click Install
From Windsurf
- Open Extensions panel
Ctrl+Shift+X
- Search "Prompt Reviewer"
- Click Install
🎯 How to Use
Analyze a Prompt
- Open any file (
Ctrl+N for a new file)
- Type or paste your prompt in the editor
- Either:
- Press
Ctrl+Shift+P → Prompt Reviewer: Analyze Prompt
- Or right-click selected text → Analyze Prompt
- The panel shows your score, issues, and suggestions
Improve a Prompt
- Type your prompt in the editor
- Press
Ctrl+Shift+P → Prompt Reviewer: Improve Prompt
- In the panel, scroll to Improved Prompt and click to expand
- Click ↩ Replace in Editor to apply the improved version
- Copy the improved prompt and paste it into your AI chat
Use a Template
Templates are ready-made prompt structures for common tasks.
- Press
Ctrl+Shift+P → Prompt Reviewer: Insert Template
- Choose a template from the list:
- Code Generation
- Bug Fix
- API Development
- Architecture Design
- Database Design
- Testing
- Documentation
- PRD Writing
- Refactoring
- Code Review
- The template inserts into your editor
- Replace
[PLACEHOLDER] values with your actual details
View Prompt History
See your last 50 analyzed prompts:
Press Ctrl+Shift+P → Prompt Reviewer: Open Prompt History
Click any entry to reload that analysis in the panel.
📊 Understanding Your Score
Your prompt is scored from 0 to 100 across 8 dimensions:
| Dimension |
Max Score |
What it checks |
| Clear Goal |
20 |
Does it have a clear action? (create, implement, fix…) |
| Context |
20 |
Does it describe the project/system? |
| Constraints |
15 |
Does it say what to avoid or require? |
| Output Format |
15 |
Does it specify the expected output? |
| Examples |
10 |
Does it include sample input/output? |
| Edge Cases |
10 |
Does it handle null, empty, errors? |
| Performance |
5 |
Does it define speed/scale requirements? |
| Security |
5 |
Does it mention security requirements? |
Quality Labels
| Score |
Label |
Meaning |
| 85–100 |
✅ Excellent |
Ready to send to AI |
| 70–84 |
🟢 Good |
Minor improvements needed |
| 50–69 |
🟡 Fair |
Several elements missing |
| 30–49 |
🟠 Poor |
Needs significant work |
| 0–29 |
🔴 Very Poor |
Too vague to be useful |
⚠️ Lint Rules
The extension checks your prompt against 11 rules:
| Rule |
Severity |
Description |
| PR001 |
⛔ Error |
Prompt is too short (under 15 words) |
| PR002 |
⚠️ Warning |
Missing context or background |
| PR003 |
⚠️ Warning |
Missing programming language |
| PR004 |
ℹ️ Info |
Missing framework |
| PR005 |
⚠️ Warning |
Missing output format |
| PR006 |
ℹ️ Info |
No examples provided |
| PR007 |
⚠️ Warning |
No constraints defined |
| PR008 |
ℹ️ Info |
No edge cases mentioned |
| PR009 |
ℹ️ Info |
No acceptance criteria |
| PR010 |
⚠️ Warning |
Security requirements missing |
| PR011 |
ℹ️ Info |
Performance requirements missing |
🤖 Enable AI-Powered Improvements (Optional)
By default, the extension uses a built-in template engine to improve prompts. You can optionally connect a real AI for better results.
Setup
Press Ctrl+, and search promptReviewer, then configure:
| Setting |
Value |
promptReviewer.enableAIImprovements |
true |
promptReviewer.aiProvider |
openai / claude / gemini / local |
promptReviewer.aiApiKey |
Your API key |
Supported Providers
Gemini (Free)
"promptReviewer.aiProvider": "gemini",
"promptReviewer.aiApiKey": "YOUR-GEMINI-KEY"
Get a free key at: https://aistudio.google.com/app/apikey
Claude (Anthropic)
"promptReviewer.aiProvider": "claude",
"promptReviewer.aiApiKey": "sk-ant-YOUR-KEY"
Get a key at: https://console.anthropic.com
OpenAI
"promptReviewer.aiProvider": "openai",
"promptReviewer.aiApiKey": "sk-YOUR-KEY"
Get a key at: https://platform.openai.com/api-keys
Local LLM (Ollama — completely free, no API key)
"promptReviewer.aiProvider": "local"
Install Ollama at: https://ollama.com, then run ollama pull llama3
⌨️ Keyboard Shortcuts
| Action |
Shortcut |
| Analyze Prompt |
Ctrl+Shift+P → Analyze Prompt |
| Improve Prompt |
Ctrl+Shift+P → Improve Prompt |
| Insert Template |
Ctrl+Shift+P → Insert Template |
| Show Score |
Ctrl+Shift+P → Show Prompt Score |
| Explain Issues |
Ctrl+Shift+P → Explain Issues |
| Open History |
Ctrl+Shift+P → Open Prompt History |
| Settings |
Ctrl+Shift+P → Prompt Reviewer: Settings |
⚙️ All Settings
Open settings with Ctrl+, and search promptReviewer:
| Setting |
Default |
Description |
minimumScore |
70 |
Warns if your prompt scores below this |
enableLintRules |
true |
Turns lint rules on/off |
enableAIImprovements |
false |
Use AI to improve prompts |
aiProvider |
none |
AI provider to use |
aiApiKey |
"" |
API key for the provider |
autoAnalyzeOnSave |
false |
Auto-analyze when you save the file |
autoAnalyzeWhileTyping |
false |
Auto-analyze as you type (debounced) |
theme |
auto |
Panel theme: auto / light / dark |
scoringWeights |
(object) |
Customize weights for each dimension |
💡 Common Workflows
Workflow 1 — Quick Check
1. Ctrl+N → type prompt → Ctrl+Shift+P → Analyze Prompt
2. See score in panel
3. Fix issues shown
Workflow 2 — Full Improvement
1. Type prompt in editor
2. Ctrl+Shift+P → Improve Prompt
3. Panel shows improved version
4. Click "Replace in Editor"
5. Copy improved prompt → paste into AI chat
Workflow 3 — Start from Template
1. Ctrl+Shift+P → Insert Template
2. Choose template (e.g. Bug Fix)
3. Fill in [PLACEHOLDERS]
4. Ctrl+Shift+P → Analyze Prompt
5. Score should be 70+
❓ Troubleshooting
"No active editor" error
Cause: You clicked the Prompt Reviewer panel before clicking Analyze, which unfocused the editor.
Fix: Click back inside your editor first, then press Ctrl+Shift+P → Analyze Prompt
Panel shows nothing after clicking Analyze
Fix: Press Ctrl+Shift+P → Developer: Reload Window, then try again.
Score is always 0
Cause: The editor file is empty.
Fix: Make sure you have typed your prompt text in the editor before analyzing.
Fix: You must select some text first (or use Ctrl+A to select all), then right-click.
📬 Support & Feedback
📄 License
MIT — free to use, modify, and distribute.