Skip to main content

Prompt evals for coding agents

Prove your prompts work. Ship changes without redeploying.

Try it free — no signup
Free to start No credit cardPrompt Optimizer on Nick Launches
Evaluation11 assertion types
Router3-tier routing, rules tier needs no LLM
DeliveryRuntime API, no redeploy
01

The router decides before you pay

Three tiers. Simple requests resolve on deterministic rules with no LLM call; only genuine reasoning reaches an LLM.

Router — illustrative
01

"Format this JSON response…"

Rules-based layer
Pattern match, resolved by rules

No LLM call

02

"Analyze our competitive position in Q1…"

LLM tier
No match — escalated for reasoning

LLM call · cost varies

03

"Always prioritize safety above clarity…"

Value hierarchy
Non-negotiable rule — routing floor applied

Hybrid tier or higher

Cost impact depends on your prompt mix, not a fixed percentage. Duplicate requests are cached at zero cost.

02

Prompts stop shipping with deploys

Fetch the compiled prompt at runtime. Update once; live everywhere, no redeploy.

# Fetch compiled prompt at runtime
curl https://promptoptimizer.xyz/api/v1/prompts/support-bot-abc12345/compiled \
-H "X-API-Key: sk-opt-yourkey" \
-H "Content-Type: application/json" \
-d '{"variables": {"user_name": "Alex", "plan": "Pro"}}'

Runtime fetch

Always serve the latest optimized version — no redeploy needed.

{{variable}} interpolation

Inject user-specific values at serve time. One template, infinite variations.

Webhook on change

HMAC-signed webhooks notify your system the moment a prompt is updated.

03

The build stays green while the answers get worse

A model update arrives behind a name your code already depends on, and a prompt edit ships without a deploy. Neither one raises an error. Both change what your users read.

Catch

Assert what the answer must do

Point an evaluation at the prompt and assert what has to hold: length, required phrases, banned words, JSON validity, regex, an LLM rubric. You get a 0–1.0 score and a pass or fail per assertion, so “worse” becomes a number you can compare across runs. No paid tier required.

Undo (Pro)

Keep the version you replaced

Saving an edit records the version it replaced in template history. Restore any recorded version through the API — and the state you restored from is snapshotted too, so a rollback is itself reversible.

Watch (Pro)

Re-score published templates on a schedule

Opt-in production monitoring re-scores each published template on a schedule, with the same pinned judge on every run, against the 0.65 pass line. Below it, a scoped repair is queued for you to adopt — the live published row is never overwritten by the sweep.

You don't need to catch every change. You need to be able to say which one moved the answer, and put back the version before it.

04

Proof, not vibes

Deterministic assertions, constraint checks and opt-in semantic drift scoring — so you know what changed, not just that it did.

11

Assertion types

Length limits, required phrases, JSON validity, regex, latency — plus LLM-rubric scores. A measurable pass rate, not a gut feeling.

5

Constraint rules

Deterministic checks for no bullets, no markdown, banned words, max length and required prefix. Partial scores show which rule broke.

0–1

Semantic drift

Cosine similarity between original and optimized embeddings flags when "improvement" changed what you were asking for.

Inspectable quality scores

Evaluations return a 0–1.0 score alongside the assertion results, so you see what passed and what failed rather than a black box.

Scoped repairs: published templates are never touched (Pro and Enterprise)

A low-scoring evaluation (below 0.65) can trigger up to 3 repair attempts, each re-scored. A repair is kept only if it clears the quality gate and stays close to your original wording; otherwise it escalates for review. Kept repairs are saved to your optimization history, and a linked draft or unpublished template is updated with the repair (the previous version stays in version history). Published templates are never overwritten automatically.

Live repair events

In the real-time optimizer, repair events arrive over WebSocket as they happen.

05

Four ways to run it

Know what changed. Prove it worked. Undo it if it didn't. Cloud, MCP, guardrails and governance for versioned, environment-scoped templates.

Cloud

Cloud Edition

Zero-setup, always up to date. Use it from the web app, the REST API, or any MCP client via the npm package.

MCP

MCP Server

Connect Claude Desktop, Cursor, Windsurf or VS Code to the cloud service with the mcp-prompt-optimizer npm package. The standalone local server is deprecated.

Guardrails

Quality Guardrails

Define ranked, non-negotiable rules for your prompts and check outputs against deterministic assertions such as format, length, banned words and required phrases.

Ranked quality rules

Deterministic output assertions

Cost-aware auto-routing

See glossary →

Governance

Enterprise Governance

Semantic versioning, environment labels (dev/staging/prod, Enterprise), and API rollback to any earlier version — built into every template.

Auto-versioned on edit

Environment labels (Enterprise)

Rollback to any version

Draft and published states

06

Everywhere you already write prompts

The Chrome extension optimizes in place — ChatGPT, Claude, Gemini, Perplexity and other AI tools. Currently in private access.

ChatGPTClaudeGeminiPerplexityBoltNotionCursor
Join the waitlist →

Ship prompts you can prove.

Try it free — no signup

$0 to start · $19/mo Pro · Enterprise on request