← all repositories
microsoft/SkillOpt

Treat your system prompt like a neural net — train it in epochs

SkillOpt brings epochs, batching, and validation gates to natural-language agent skills without ever touching model weights.

14.5k stars Python AgentsLLMOps · Eval
SkillOpt
Velocity · 7d
+251
★ / day
Trend
accelerating
star history

What it does SkillOpt trains compact natural-language skills for frozen LLM agents by treating a single skill document as the trainable state. A separate optimizer model turns scored rollouts into bounded text edits—add, delete, or replace—and a hard validation gate accepts only edits that strictly improve a held-out score. The output is a portable best_skill.md artifact, typically 300–2,000 tokens, that runs against the unchanged target model with no additional inference-time overhead.

The interesting bit It borrows the full machinery of deep-learning optimization—epochs, minibatch size, cosine-decay learning rates, and even a rejected-edit buffer—but applies it to text patches instead of gradients. The README claims this discipline is why optimized skills transfer across model scales and between harnesses like Codex CLI and Claude Code.

Key highlights

  • Claims best or tied-best performance across 52 evaluated cells covering six benchmarks, seven target models, and three execution harnesses.
  • Reports GPT-5.5 accuracy lifts of +23.5 points in direct chat, +24.8 in the Codex agentic loop, and +19.1 in Claude Code.
  • Ships with six built-in benchmark configs: SearchQA, ALFWorld, DocVQA, LiveMathematicianBench, SpreadsheetBench, and OfficeQA.
  • Supports multiple backends including OpenAI, Azure, Anthropic Claude, Qwen via local vLLM, and MiniMax.
  • Provides a WebUI dashboard and resumable training runs with structured output directories.

Caveats

  • Most benchmark datasets are not included in the repository; only a SearchQA split is currently provided, with remaining splits described as preparing for upload.
  • The default branch uses a post-submission “force-accept” mode for epoch-boundary slow updates that diverges from the paper’s gated semantics; matching the paper protocol requires toggling optimizer.slow_update_gate_with_selection.
  • The pretrained ckpt/ skills are only a subset of the paper’s full Table 1 results.

Verdict Worth exploring if you run frozen LLM agents and want reproducible skill improvement without fine-tuning infrastructure. Look elsewhere if you need a complete, ready-to-run benchmark suite out of the box.

Frequently asked

What is microsoft/SkillOpt?
SkillOpt brings epochs, batching, and validation gates to natural-language agent skills without ever touching model weights.
Is SkillOpt open source?
Yes — microsoft/SkillOpt is open source, released under the MIT license.
What language is SkillOpt written in?
microsoft/SkillOpt is primarily written in Python.
How popular is SkillOpt?
microsoft/SkillOpt has 14.5k stars on GitHub and is currently accelerating.
Where can I find SkillOpt?
microsoft/SkillOpt is on GitHub at https://github.com/microsoft/SkillOpt.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.