skills/opro/SKILL.md
Optimization by PROmpting — generate candidate prompt variations, test each against a benchmark, and report the best performer. Use when the user invokes /ideation opro or asks for "prompt optimization" / "OPRO".
npx skillsauth add Thomashighbaugh/opencode oproInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate prompt variations, test each against a benchmark task, and identify the best-performing variant.
OPRO generates multiple prompt candidates and tests each one. The total cost depends on the number of candidates × benchmark tasks. This costs many API calls. The user must explicitly confirm before proceeding.
/ideation oproShow warning — Present the cost warning:
"OPRO generates prompt variations and tests each against a benchmark. This costs many API calls (candidates × benchmark tasks). Proceed? (yes/no)"
On confirmation — Identify what to optimize:
Generate candidates — Create 3-5 distinct variations. Each should differ in meaningful ways (tone, structure, specificity, examples).
Test each candidate — Run each candidate against the benchmark task. For each run, measure:
Analyze results — Which candidate performed best? Why? What patterns correlate with better performance?
Report — Present the winning variation with performance data, what made it better, and optionally apply it if the user approves.
## OPRO Report: [Prompt Name]
### Configuration
- **Candidates tested:** 5
- **Benchmark task:** [description]
- **Evaluation criteria:** [criteria]
### Results
| Variation | Quality | Token Eff. | Follow-ups | Overall |
|-----------|---------|------------|------------|---------|
| Original | 7/10 | 4/10 | 2 | 5/10 |
| A: [desc] | 9/10 | 7/10 | 0 | 8/10 |
| B: [desc] | 8/10 | 9/10 | 1 | 8/10 |
| C: [desc] | 6/10 | 8/10 | 3 | 5/10 |
### Winner
**Variation [X]** — [description of the winning approach]
**Why it won:** [evidence-based analysis of what made it better]
### Apply?
[ ] Apply the winning variation? (user decides)
tools
Create valid, type-safe TypeScript tools for OpenCode — generates correct boilerplate, typed interfaces, and handler stubs. Use when building new tools for global config or per-project .opencode/tools/.
testing
Explore multiple solution branches in parallel, evaluate each, and recommend the best path. Use when the user explicitly invokes /ideation tree-of-thoughts or asks for "tree of thought" / "branching exploration".
testing
Run multiple independent reasoning passes and find consensus. Use when the decision is critically important, the stakes are high, or the user explicitly requests "run it multiple times" / "check consistency" / "self-consistency".
development
Scan, validate, and auto-tag global OpenCode resources (skills, agents, rules, archetypes) for resource_tags filtering. Used by /init-project, config maintenance, and by stack-recommender for accurate mapping.