Prompt Optimizer
SentryOfficialPublished by Sentry
- Skill
- Workflow
- Agent tooling
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Prompt Optimizer provides a rigorous, systematic approach to prompt engineering. Rather than relying on intuition, it mandates the creation of evaluation sets (evals) to measure performance, identify failure modes, and validate improvements. The workflow guides users through capturing contract requirements, inventorying external context, choosing model-specific strategies, and executing a disciplined optimization loop. It emphasizes separating stable policy from task-local context and provides a structured method for comparing candidate prompts to ensure changes are causal and effective.
What it does
- Defines a structured contract for prompt requirements, success criteria, and constraints.
- Establishes a repeatable optimization loop using evaluation sets to cluster and address failure modes.
- Provides patterns for layering prompts to separate stable policy from dynamic user input.
- Offers strategies for porting prompts across different model families like OpenAI, Claude, and Gemini.
- Maintains an optimization log to track hypotheses, edits, and results to prevent regression.
- Validates prompt candidates against holdout cases to ensure robustness and prevent overfitting.
When to use it
- When you need to improve the reliability or performance of an existing agent or system prompt.
- When porting a prompt between different LLM providers or model versions.
- When a prompt is failing consistently on specific edge cases or ambiguous inputs.
- When you need to build a reusable prompt template that maintains consistent behavior across tasks.
- When you want to move from ad-hoc prompt editing to a data-driven, evidence-based development process.
Advantages
- Reduces guesswork by grounding all edits in concrete evaluation results.
- Prevents prompt bloat by enforcing clear separation between policy, examples, and context.
- Ensures behavioral consistency by using holdout validation to check for regressions.
- Provides a clear, repeatable framework for team-based prompt development.
- Helps identify when failures are due to model limitations rather than prompt wording.
Usage examples
- “Optimize my customer support agent prompt to reduce hallucinations regarding refund policies.”
- The agent will guide you to define success criteria, create a small eval set of refund queries, cluster current failure modes, and iteratively refine the prompt's policy section until performance stabilizes.
- “Port this system prompt from GPT-4 to Claude 3.5 Sonnet.”
- The agent will analyze the original prompt, identify model-specific dependencies, create a portable base, and generate adapter notes to ensure consistent behavior on the new model family.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/getsentry/prompt-optimizer/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip prompt-optimizer.zip -d .agents/skills
Documentation by Sentry
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, schemaslayer 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, orout 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
systemordeveloper.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.
Baseline the current prompt on the same eval slice.
Cluster failures by root cause.
Write concrete edit criticisms.
Generate two to four candidates:
minimal-diff repair
structure-first rewrite
examples-first or tool-rule variant
provider adapter when needed
Compare candidates on the same cases.
Keep a short optimization log.
Validate the winner on holdout cases.
Stop on plateau, oscillation, overfit, excessive cost, or non-prompt bottleneck.
Step 6: Return Package
Return:
TargetSuccess CriteriaExternal ContextOptimized PromptAdapter NotesEval SetOptimization LogResidual 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
Files
- ATTRIBUTION.mdAdded by AutoGineer856 B
- LICENSELicence file added by AutoGineer10.5 KiB
- SKILL.md4.5 KiB
- SOURCES.md11.3 KiB
- SPEC.md5.1 KiB
- references/core-patterns.md5.4 KiB
- references/meta-optimization-loop.md3.6 KiB
- references/model-family-notes.md3.3 KiB
- references/transformed-examples.md3.5 KiB
references/meta-optimization-loop.md
Meta Optimization Loop
Use this file when refining an existing prompt or when a first draft needs disciplined iteration.
Inputs
Collect these before iterating:
current prompt or first draft
target model family
optimizer model, if different from the deployment model
representative eval cases
scoring rubric
known failures
hard constraints
Optimization loop
1. Baseline
Run the current prompt on a representative slice.
Score at least:
instruction following
output shape
tool behavior
refusal and escalation correctness
brevity or verbosity
robustness on ambiguous inputs
cost, latency, or tool-call efficiency when those matter
Preserve a structured evidence pack for each run:
prompt version
eval case
model output
relevant trace or tool behavior
failure reason
scores
2. Failure clustering
Group failures before editing:
ambiguity
missing constraints
conflicting rules
bad example fit
weak tool instructions
weak stop conditions
provider mismatch
prompt bloat or duplicated rules
Do not patch each failing case independently if the same root cause appears in multiple places.
3. Textual gradients
Write criticisms as concrete directional edits:
"Clarify when to ask before acting."
"Separate retrieved context from instructions."
"Move tool rules into an explicit section."
"Replace anti-pattern examples with positive demonstrations."
Avoid vague critiques like "make it better" or "be clearer."
4. Candidate beam
Generate two to four candidates:
minimal-diff repair
structure-first rewrite
examples-first or tool-rule-centered variant
provider-specific adapter when needed
Keep one low-risk candidate in the beam so you can tell whether a larger rewrite actually helped.
5. Compare on the same slice
Use the same eval cases for the candidate round.
Do not compare candidates on different inputs and assume the scores are comparable.
6. Reflective memory
Keep a short log:
| Round | Hypothesis | Edit | Result | Keep? |
|---|---|---|---|---|
| 1 | Tool-use rules are too vague | Added explicit tool criteria | Better tool selection, same formatting | Yes |
This prevents looping back into edits that already failed. Record deletions and compaction edits, not just additions.
7. Holdout validation
Before finalizing:
test the winner on holdout cases
replay the original failure cases
verify the fix did not regress happy-path behavior
8. Stop conditions
Stop prompt editing when:
scores plateau across rounds
edits oscillate between two behaviors
the remaining failures are caused by model or tool limitations
you are clearly overfitting to the eval slice
cost rises without enough quality gain to justify the extra prompt complexity
Practical defaults
Use five to ten cases for a quick pass.
Keep at least one holdout case.
Edit one or two causal dimensions per round.
Optimize examples, tool descriptions, and output contracts alongside the core prompt.
For repeated optimization, keep fixed train, validation, and holdout slices so before/after comparisons stay meaningful.
When budget allows, consider using a stronger optimizer pass than the eventual deployment model.
What this loop is borrowing from
score-driven candidate search rather than one linear rewrite
explicit critique before revision
lightweight reflection memory across rounds
holdout validation to resist overfitting
structured evidence capture so revisions are grounded in actual outputs and scores
Use the loop pragmatically. The point is to learn which edits change behavior, not to imitate a paper mechanically.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Sentry
- Publisher
- Sentry (Official)
- Source
- getsentry/skills · skills/prompt-optimizer · commit e94f222
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Sentry or Sentry.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download prompt-optimizer.zip