Install any skill in seconds. Free to start, no credit card required.
Get Started Free →rohitg00/skill-optimizer
SkillOpt-flavored offline training loop for any SKILL.md. Treats accumulated learn-rule corrections as training trajectories, proposes bounded patches via an optimizer LLM, gates each candidate against a held-out validation set built from the user's own past corrections, and ships only candidates that demonstrably improve the score. Inspired by Microsoft SkillOpt's ReflACT pipeline (rollout → reflect → aggregate → select → update → evaluate) adapted to pro-workflow's SQLite store.
Passed 23 of 23 test cases with the skill, and 6 of 23 without it.
and 27 more in the full report
17 fixed6 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
A newer attempt on gemini-3.6-flash on 10/2/2026 did not produce a publishable comparison (not comparable). The snapshot above is the previously measured run.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
When invoking `/skill-optimize` without optional parameters, what are the default values for trajectories per minibatch and minibatches per epoch?
| Checked | Without skill | With skill |
|---|---|---|
| States default batch size is 8. | Passed | Passed |
| States default minibatches per epoch is 2. | Missed | Passed |
The instructions your model reads when the skill loads.
Train an existing SKILL.md the way a deep-learning optimizer trains weights: via rollouts, gradient-like reflections, validation-gated acceptance. No model retraining; only the skill markdown changes.
Use this skill when:
Do not use when:
rollout pull recent learnings from SQLite (existing learn-rule rows)
reflect optimizer LLM analyzes a minibatch, proposes add/delete/replace patches
aggregate vote-merge patches across minibatches
select clip by LR budget (default: 3 adds, 2 deletes, 3 replaces per step)
update apply selected patches to a candidate skill content
evaluate evaluator LLM scores candidate against held-out validation items
gate accept candidate only if weighted score >= current + acceptThreshold
slow update at epoch boundary, consolidate accepted edits into a coherent rewrite
Failed candidates are stored in a rejection buffer and fed back to the next reflect step so the optimizer doesn't propose the same patch twice.
In a plugin session, use the providers MCP server's run_provider_task tool with task: "optimizer" and args: ["--slug", "<slug>", "--budget-usd", "0.50"]. Keys come from the plugin configuration dialog. Standalone CLI installations use explicit PRO_WORKFLOW_*_API_KEY variables. See provider configuration; never request keys in chat or retrieve existing machine credentials.
/skill-optimize <slug> [options]
Options (all optional; sensible defaults shown):
test cases passed, vs 6 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.