Writing Prompts

Prompts are reusable templates with {{ variable }} placeholders. The editor has tabs for writing, history, testing, and evaluation.

Templates and variables

A prompt is a template. Anywhere you want to substitute a value at run time, use double-brace syntax. PromptVersions detects every placeholder automatically and lists it in the Variables panel.

text
System: You are an expert {{ role }}.
User: Review the following for issues:

{{ code_snippet }}

Fill in each variable in the Variables panel. Your values are saved to your browser immediately and synced to the server shortly after, so they're there when you come back. An amber “Unsaved” badge appears while a sync is pending.

The editor tabs

TabWhat it's for
WriteEdit the prompt content and system prompt, set the model/temperature, and run it.
HistoryBrowse every version, diff two versions, restore, deploy, and run A/B tests.
TestCompare the prompt across multiple providers and models side-by-side.
EvalDefine metrics and test cases, then score versions with batch evaluation.

Running a prompt

Pick a provider and model, fill in the variables, and hit Run. The response streams back token by token. Every run is logged to your usage history (best-effort) so you can track cost and latency later. See Running & Comparing.

Every save is a version
Editing the content doesn't overwrite anything — saving creates a new immutable version. Read more in Versions & History.