Skip to main content
skill CX Codex

prompt-optimizer · getsentry — Claude Code skill: rewrite prompts with evals

A skill that rewrites system and agent prompts against a set of eval cases instead of gut feeling. Useful when a prompt exists but behaves inconsistently.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add getsentry/skills --skill prompt-optimizer -a claude-code
Open on GitHub

What prompt-optimizer does

The skill works in steps. First it captures the contract: task type, target model family, prompt surfaces, success criteria and hard constraints. Then it inventories external context by exact path — AGENTS.md, CLAUDE.md, specs/*.md, SECURITY.md, examples and fixtures. Stable files should be referenced by repo-relative path rather than copied in full.

Optimization runs against evals. The skill baselines the current prompt on the same slice, clusters failures by root cause, and generates two to four candidates: a minimal-diff repair, a structure-first rewrite, an examples-first variant, or a provider adapter. The winner is picked on the same cases and validated on holdout ones. It tells you to stop on plateau, oscillation or overfitting.

The return package holds the target, success criteria, external context, the optimized prompt, adapter notes, the eval set and an optimization log. If success criteria or examples are missing, the skill asks for a small eval set first. It will also say when the bottleneck is model choice, retrieval or tool schemas rather than prompt wording — in that case rewriting text won't help.

What it helps with

  • rewrite a system prompt so its behavior stops drifting
  • build an eval set before touching the prompt
  • port a prompt between model families
  • find why an agent keeps failing the same step
  • strip contradictory legacy rules and dead examples

Example prompts for the agent

  • optimize the agent's system prompt, success criteria live in specs/agent.md
  • port this prompt from Anthropic to Claude and write adapter notes
  • the review prompt breaks on long diffs — build evals and propose candidate edits

How to install prompt-optimizer

1Skills CLI (Vercel)

npx skills add getsentry/skills --skill prompt-optimizer -a claude-code

2Manually: put the files in place

~/.claude/skills/prompt-optimizer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/prompt-optimizer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about prompt-optimizer

How do I install prompt-optimizer in Claude?

Use the skills installer: npx skills add getsentry/skills --skill prompt-optimizer -a claude-code. The skill file then lives at ~/.claude/skills/prompt-optimizer/SKILL.md.

What does prompt-optimizer do?

It creates and refines prompts — system, agent, developer and reusable templates — with evals as the yardstick. It also ports prompts between model families and diagnoses repeated failures.

What should I prepare before running it?

Success criteria and at least a few examples. Without them the skill asks you to build a small eval set first, since there is nothing to compare candidates against.

Source text

SKILL.md · Apache-2.0
---
name: prompt-optimizer
description: Creates, optimizes, and iteratively refines agent prompts, system prompts, developer prompts, and reusable prompt templates. Use when asked to improve a prompt, optimize a system prompt, rewrite an agent prompt, tune prompt wording, make a prompt more reliable, port prompts between OpenAI, Claude, or Gemini, or build prompt evals.
---

# Prompt Optimizer

Optimize prompts with evals. Keep every instruction, example, and external context reference causal.

## Load Only What You Need

| Need | Read |
|------|------|
| New prompt | `references/core-patterns.md`, `references/model-family-notes.md`, `references/transformed-examples.md` |
| Existing prompt | `references/meta-optimization-loop.md`, `references/core-patterns.md`, `references/model-family-notes.md` |
| Model-family port | `references/model-family-notes.md`, `references/core-patterns.md` |
| Repeated failures | `references/meta-optimization-loop.md`, `references/core-patterns.md` |
| Weak or ambiguous draft | `references/transformed-examples.md` |
| Provenance | `SOURCES.md` |

## Step 1: Capture Contract

Record before editing:

- task type: new, refine, port, or debug
- target model family and snapshot, if known
- prompt surface: `system`, `developer`, `user`, tool descriptions, examples, schemas
- layer owners: platform, deployer/persona, retrieved context, user payload
- objective and non-goals
- inputs, tools, and external files available
- required output shape
- success criteria and failure cases
- hard constraints: latency, verbosity, safety, budget, tool use, style

If success criteria or examples are missing, create a small eval set first.
If the bottleneck is model choice, retrieval, tool schema, or missing evals, say so before rewriting.

## Step 2: Inventory External Context

For repo or agent prompts, list stable context by exact path:

| Context type | Examples |
|--------------|----------|
| Agent rules | `AGENTS.md`, `CLAUDE.md` |
| Specs | `specs/*.md`, `docs/api.md` |
| Policies | `SECURITY.md`, `docs/releasing.md` |
| Examples | `examples/`, `tests/fixtures/` |

Rules:

- Reference stable files by repo-relative path instead of copying them.
- Paste only excerpts needed for the prompt or eval case.
- Mark whether a file is `loaded`, `referenced`, or `out of scope`.
- Avoid vague context pointers such as "read the docs".

## Step 3: Choose Model Strategy

Read `references/model-family-notes.md`.

- Known family: optimize for that family.
- Unknown family: write a portable base plus short adapter notes.
- Snapshot changes: rerun evals.
- Cross-family divergence: specialize only the failing layer.

## Step 4: Shape Prompt

Read `references/core-patterns.md`.

- Put stable policy in `system` or `developer`.
- Put task-local facts, retrieved context, and variables in user-facing sections.
- Keep one owner per behavior rule.
- Use headings or tags only to separate content types.
- Put tool policy in prompt text; keep schemas in provider-native tools.
- Keep persona light unless it changes behavior.
- Use the shortest wording that preserves the constraint.
- Cut filler, repeated reminders, dead examples, and rationale that does not affect evals.

## Step 5: Optimize

Read `references/meta-optimization-loop.md` for refinements.

1. Baseline the current prompt on the same eval slice.
2. Cluster failures by root cause.
3. Write concrete edit criticisms.
4. Generate two to four candidates:
   - minimal-diff repair
   - structure-first rewrite
   - examples-first or tool-rule variant
   - provider adapter when needed
5. Compare candidates on the same cases.
6. Keep a short optimization log.
7. Validate the winner on holdout cases.
8. Stop on plateau, oscillation, overfit, excessive cost, or non-prompt bottleneck.

## Step 6: Return Package

Return:

1. `Target`
2. `Success Criteria`
3. `External Context`
4. `Optimized Prompt`
5. `Adapter Notes`
6. `Eval Set`
7. `Optimization Log`
8. `Residual Risks`

For existing prompts, include a concise diff-style note of the main behavioral changes.

## Failure Modes

- editing before defining the eval target
- mixing policy, examples, and raw context without boundaries
- duplicating rules across layers
- putting durable policy in user payloads
- asking for chain-of-thought
- keeping contradictory legacy instructions
- overfitting to one or two examples
- retaining examples that no longer improve evals
- fixing tool-use failures only in prompt text when tool descriptions or schemas are weak
- adding markup that does not reduce ambiguity
- using persona as a substitute for behavior rules

© getsentry · Apache-2.0 · getsentry/skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

prompt-optimizer by other authors comes first.

prompt-optimizer YannJY02 Analyzes draft prompts, finds missing project context, and matches ECC commands. Prepares a ready-to-paste prompt before you start complex tasks. CX Codex +1 5,300installs prompt-optimizer official github Converts rough drafts, tasks, and half-formed ideas into finished, copy-pasteable chat prompts without placeholder variables. 467installs prompt-optimizer daymade Turns a vague prompt or feature request into a testable EARS specification. Useful when a task has no triggers and no measurable outcomes. CX Codex +1 2,100installs skill-optimizer mcollina A skill for people who write and edit skills: it shows why a model ignores yours and whether it makes output worse. CX Codex +1 1,400installs prompt-governance Alireza Rezvani Manages production prompts as versioned code, builds automated eval pipelines, and prevents quality regressions across AI deployments. 40installs senior-prompt-engineer Alireza Rezvani Skill for systematic prompt optimization via eval sets, RAG quality measurement, and agent validation. Works with any model, uses only stdlib Python. 970installs deepeval Confident AI DeepEval skill sets up evaluation loops for AI agents and RAG systems. It creates pytest suites, generates golden datasets, and catches regressions. CX Codex +1 2,800installs agent-observability-eval-pipeline datadog-labs Walks an instrumented ml_app through six phases: classify traces, root-cause failures, bootstrap evaluators, build a dataset, run an experiment, analyze it. CX Codex +1 540installs agent-evals devops-skills Builds automated evaluation suites for AI agents: golden datasets, judge rubrics and regression gates. Useful when you change prompts and need to know what broke. CX Codex +1 340installs

From the same set23

django-perf-review This skill reviews Django code for N+1 queries, unbounded querysets and missing indexes. Useful before a release or when a page slows down on large tables. CX Codex +1 2,900installs django-access-review A skill that hunts IDOR and broken authorization in Django: it walks views, DRF viewsets and ORM queries and shows where checks are missing. CX Codex +1 2,700installs brand-guidelines Applies Sentry brand and copy guidelines to user-facing text, error states, and UI flows. Useful when writing UI labels, empty states, or docs. CX Codex +1 2,500installs skill-writer Designs, synthesizes, and refines agent skills following the Agent Skills specification. Helpful when turning raw workflows or prompt templates into structured skills. CX Codex +1 2,500installs sred-project-organizer Organizes annual engineering projects into SRED-compliant documentation and creates structured Notion pages. CX Codex +1 2,100installs sred-work-summary Collects GitHub PRs, Notion pages, and Linear issues from a work period, then groups their links into projects in a private Notion document. Useful for preparing an SRED work summary. CX Codex +1 2,100installs typing-exclusion-worker Removes Python modules from mypy exclusion lists in pyproject.toml, fixes typing errors, and runs scoped validation. Built for parallel typing debt workers. CX Codex +1 1,600installs triage-frontend-issues A skill that clears noise from the sentry/javascript issue queue in Sentry and leaves real bugs for a human. CX Codex +1 1,300installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor