How to use Prompt Lab
A quick walkthrough of every feature in the workbench — from writing your first prompt to running A/B tests across providers.
Find a task
Search a short, curated index of the most common Prompt Lab tasks.
No matching task. Try “quick start,” “provider,” “import,” “variables,” or “shortcuts.”
Editor Core
The main workspace. Write or paste a prompt, enhance it with AI, and save it to your library.
Quick start
Write or paste your prompt
Type in the input area or paste from your clipboard. A word/character/token counter updates live in the top-right corner.
Choose an enhancement mode
Use the dropdown to the left of the Enhance button. Options: Balanced, Claude (XML-optimized), ChatGPT (system/user cues), Image Gen, Code Gen, Concise, or Detailed.
Click Enhance or press ⌘⏎
Your active provider rewrites the prompt. The enhanced version appears below with a quality score (Role / Task / Format / Constraints / Context).
Review and iterate
Click Show Diff to see word-level additions and removals. If the lint panel flags issues, use the Fix buttons for auto-correction.
Save to your library
Press ⌘S or click Save. Add a title, pick tags, assign a collection, and optionally write a change note describing what you adjusted.
Quality scoring
The editor automatically scores your prompt on five dimensions:
- Role — detected if you include "you are," "act as," or similar persona cues
- Task — action verbs like "write," "generate," "explain"
- Format — output format specified (JSON, markdown, list, table, etc.)
- Constraints — guardrails like "must," "avoid," "limit"
- Context — sufficient background (80+ characters)
Score color: green (4-5/5), yellow (2-3/5), red (0-1/5).
Golden Responses
When you get an output you're happy with, click Pin Golden. This saves it as a benchmark. Future iterations will show a side-by-side comparison against your golden reference, so you can tell if quality is drifting.
Layout modes
Toggle between three editor layouts using the tabs below the header:
- Editor — full-width prompt editing
- Library — browse your saved prompts
- Split — editor on the left, library on the right
Library
Your prompt archive. Search, tag, version, and organize everything you've saved.
Browsing & filtering
- Search — filters by title and tags in real time
- Tags — click a tag chip to filter (Writing, Code, Research, Analysis, Creative, System, Role-play, Other)
- Collections — custom folders you create; click a collection name to filter
- Sort — Newest, Oldest, Most Used, or Manual (drag to reorder)
Per-entry actions
- Load — sends the prompt back into the editor
- Copy — copies the enhanced version to clipboard
- Expand — shows full content, version history, test cases, golden response, notes, and metadata
- Share — generates a URL with the prompt encoded in it (no server needed)
- Add to Composer — inserts as a block in the Compose tab
- Rename / Edit / Delete — manage entries
Version history
Every time you save changes to an existing prompt, the previous version is preserved. Expand any entry to see its timeline:
- Browse prior versions with timestamps and change notes
- Toggle Show Diff for inline word-level comparison
- Click Restore to revert to any previous version
Import & Export
At the bottom of the library panel:
- Export — downloads your entire library as a
.jsonfile - Import — loads prompts from a JSON file. Supports both Prompt Lab's native format and external schemas (fields like
prompt,description,categoryare auto-mapped)
A/B Test
Compare two prompt variants side-by-side — same model or different models.
How to run a test
Switch to the A/B Test tab
Click A/B Test in the top navigation bar (between Compose and Scratchpad).
Enter your variants
Paste or type Variant A and Variant B in their respective text areas. These can be different phrasings, different system prompts, or entirely different approaches.
Click Run Both
Both variants execute simultaneously against your active provider. Results appear side-by-side with token count estimates.
Pick a winner
After reviewing the outputs, click Pick A or Pick B to record which variant performed better. This is saved to your experiment history.
History & recent runs
The A/B Test tab keeps two collapsible sections:
- Recent Runs — individual test executions with provider, model, and latency
- History — full experiments with variant labels, dates, and the winning variant
Compose
Build complex prompts from modular blocks — drag, drop, and reorder pieces from your library.
Three-panel layout
- Library panel (left) — your saved prompts. Click + or drag to add a block to the canvas
- Canvas (center) — your working composition. Drag blocks to reorder. Click X to remove
- Preview (right) — live preview of the final composed prompt with markdown headers and section separators
On mobile, these collapse into Library | Canvas | Preview toggle tabs.
Output actions
- Copy All — copies the entire composed prompt
- Send to Editor — loads the composition into the Editor tab for enhancement
- Clear — removes all blocks from the canvas
Scratchpad
A freeform notepad for ideas, snippets, and working notes. Supports multiple named pads.
Managing pads
- New — creates a new named pad (prompted for a name)
- Rename — change the active pad's name
- Delete — remove the active pad (disabled if only one remains)
- Switch between pads using the sidebar list on the left
Toolbar
- Date — inserts a formatted date separator (e.g., "── Fri, Mar 14, 2025 ──")
- Download — exports the pad as a
.txtfile - Copy — copies all content
- Clear — empties the pad (with confirmation)
Auto-save
Content saves automatically as you type. The status indicator in the bottom-right shows:
- Saving... — debounced write in progress
- Saved — last save succeeded (with timestamp)
- Save failed — storage error (rare; usually means localStorage is full)
Template Variables
Write prompts once with placeholders, fill them differently each time you run.
User-defined variables
Wrap any placeholder in double braces: {{role}}, {{language}}, {{context}}. When you enhance, Prompt Lab detects all {{ }} patterns and shows a form to fill in values before sending.
Ghost variables (auto-resolve)
These built-in variables fill themselves at runtime — no input needed:
| Variable | Resolves to |
|---|---|
{{date}} | Current date (YYYY-MM-DD) |
{{time}} | Current time (HH:MM:SS) |
{{datetime}} | Combined ISO format |
{{timestamp}} | Milliseconds since epoch |
{{year}} | Current year |
{{clipboard}} | Contents of your system clipboard |
Review this {{language}} code for security issues: {{clipboard}} — the language variable prompts you, and the clipboard content is injected automatically.Settings
Configure providers and API keys. Click the gear icon in the header or press ⌘K and choose "Open Settings."
Providers
Select your active provider from the dropdown. Each provider has its own fields:
- Anthropic — API key (
sk-ant-...), model (default:claude-3-5-sonnet-20241022) - OpenAI — API key, model (default:
gpt-4o) - Google Gemini — API key, model (default:
gemini-2.0-flash) - OpenRouter — API key, model (default:
anthropic/claude-3.5-sonnet) - Ollama — base URL (default:
localhost:11434), model. Click Refresh Models to auto-detect loaded models
Testing your connection
Click Test Connection to validate your API key and model. A success or error message confirms the result. Keys are stored in localStorage and never leave your browser.
PII detection
If Prompt Lab detects sensitive content in your prompt (API keys, passwords, tokens), it shows a warning with three options:
- Redact & Send — replaces sensitive data with placeholders
- Send Anyway — proceeds without redaction
- Cancel — aborts the operation
Keyboard Shortcuts
Press ? anywhere to see the full shortcut list, or ⌘K to open the command palette.
Global
| Shortcut | Action |
|---|---|
| ⌘⏎ | Enhance prompt |
| ⌘S | Save prompt |
| ⌘K | Open command palette |
| ? | Show keyboard shortcuts |
| Esc | Close modal / panel |
Scratchpad
Scratchpad shortcuts are limited to local text actions. Browser-reserved shortcuts like ⌘T, ⌘W, ⌘[, and ⌘] are intentionally not overridden.
| Shortcut | Action |
|---|---|
| ⌘E | Export / download pad |
| ⌘⇧D | Insert date separator |
| ⌘⇧C | Copy all content |
| ⌘⇧X | Clear pad |
Command palette
Press ⌘K to open the palette. Type to filter, then select:
- Enhance Prompt, Save Prompt, Clear Editor
- Go to Editor / Composer / A/B Test / Pad
- Toggle Light / Dark mode
- Export Library, Open Settings
- Show Keyboard Shortcuts