# SkillOpt review

> SkillOpt is a Python text-space optimizer that trains reusable natural-language skill documents for frozen LLM agents without changing model weights.

Devtoolwatch Board, the week of Oct 25–31, 2026. Canonical page: https://index.devtoolwatch.com/tools/microsoft-skillopt/

## TL;DR

SkillOpt treats a compact skill document as the trainable state of a frozen agent. An optimizer model turns scored rollouts into bounded edits, and an edit is accepted only when it improves held-out validation. SkillOpt is for developers who want better agent behavior from an unchanged model. Its output is a deployable best_skill.md file.

## SkillOpt at a glance

- **Category:** [Agent frameworks](https://index.devtoolwatch.com/categories/agent-frameworks/)
- **Maintained by:** Microsoft (organization, [@microsoft](https://github.com/microsoft) on GitHub)
- **License:** MIT
- **Language:** Python, HTML, JavaScript
- **Repository:** [github.com/microsoft/SkillOpt](https://github.com/microsoft/SkillOpt)
- **Website:** [aka.ms/skillopt](https://aka.ms/skillopt)
- **PyPI package:** [skillopt](https://pypi.org/project/skillopt/) 0.2.0
- **Latest release:** [v0.2.0](https://github.com/microsoft/SkillOpt/releases/tag/v0.2.0) on GitHub, Jul 2, 2026
- **First published:** May 8, 2026

## What SkillOpt does

- SkillOpt runs a training loop of rollout, reflect, aggregate, select, update and evaluate on a single skill document.
- SkillOpt makes bounded add, delete and replace edits, with an edit budget that acts as a textual learning rate.
- SkillOpt accepts a candidate edit only when it strictly improves a held-out validation score in the default paper-style path.
- SkillOpt exports a compact best_skill.md, typically 300–2,000 tokens, that runs against the unchanged target model with zero added inference-time calls.
- SkillOpt-Sleep harvests coding agent session transcripts, mines recurring tasks, replays them offline, and consolidates validated skills nightly.
- SkillOpt supports chat and exec backends including OpenAI, Azure, Claude, Qwen, MiniMax, Codex, Claude Code, Cursor and Copilot.
- SkillOpt ships six built-in benchmarks: ALFWorld, SpreadsheetBench, SearchQA, DocVQA, OfficeQA and LiveMath.

### How it works

SkillOpt is a Python package configured with YAML. A frozen target model runs tasks with the current skill and records scored trajectories. A separate optimizer model reflects on successes and failures and proposes edits. Held-out validation decides whether the candidate becomes the current skill. Backends connect to model APIs or agent CLIs such as Codex and Claude Code. An optional Gradio WebUI monitors training.

## How to install SkillOpt

**With pip**

```
pip install skillopt
```

**WebUI from source**

```
pip install -e ".[webui]"
```

### Requirements

- Python 3.10 or newer.
- Access to a supported model backend, such as OpenAI, Azure OpenAI, Claude, Qwen or an OpenAI-compatible provider.

### First steps

1. Install SkillOpt with pip, using Python 3.10 or newer.
2. Follow the versioned SkillOpt documentation for data preparation, training and evaluation commands, and configuration.
3. Optionally launch the monitoring dashboard with python -m skillopt_webui.app, which binds to 127.0.0.1:7860 by default.

## Who SkillOpt is for

- Developers improving a frozen LLM agent's procedure without fine-tuning model weights.
- Teams using Claude Code, Codex or Copilot who want nightly skill consolidation from past sessions.
- Researchers studying reproducible, validation-gated optimization of natural-language agent skills.

### Limitations

- SkillOpt optimizes one skill document; the target model, backend and harness stay fixed.
- SkillOpt's integration plugin and MCP files for Claude Code, Codex, Copilot and Devin live in the repository, not the PyPI wheel.
- SkillOpt's main CLI keeps conservative defaults and does not expose every experiment-harness control as a flag.
- SkillOpt training needs scored tasks; new benchmarks require an adapter, data loader, scored rollout helper and YAML config.

## Usage data (the week of Oct 25–31, 2026)

- Board rank: #171 overall, #17 in Agent frameworks, momentum score 48
- Downloads that week: 6.4k (+19% vs 4-week average)
- New GitHub stars per week (last 12 weeks): Aug 9: 269; Aug 16: 222; Aug 23: 221; Aug 30: 237; Sep 6: 263; Sep 13: 323; Sep 20: 334; Sep 27: 431; Oct 4: 221; Oct 11: 335; Oct 18: 166; Oct 25: 134

## SkillOpt alternatives

| Rank | Tool | Stars | Downloads/wk |
|---|---|---|---|
| #1 | [Harness²](https://index.devtoolwatch.com/tools/google-research-harness2/) | 21.7k | – |
| #2 | [HyperFrames](https://index.devtoolwatch.com/tools/heygen-com-hyperframes/) | 76.6k | 1.5M |
| #3 | [AgentScope](https://index.devtoolwatch.com/tools/agentscope-ai-agentscope/) | 35k | 51.4k |
| #4 | [AG-UI](https://index.devtoolwatch.com/tools/ag-ui/) | 16.9k | 4.6M |
| #5 | [LangGraph](https://index.devtoolwatch.com/tools/langgraph/) | 44.2k | 18.5M |
| #6 | [Bifrost](https://index.devtoolwatch.com/tools/maximhq-bifrost/) | 9.3k | – |

## SkillOpt FAQ

### Is SkillOpt free and open source?

Yes. SkillOpt's source code is on GitHub (microsoft/SkillOpt) under the MIT license, so you can use it for free.

### How do I install SkillOpt?

Run `pip install skillopt`. The skillopt package needs Python 3.10 or newer. The install section above has the other options from the project's README.

### Is SkillOpt still maintained?

Yes. The microsoft/SkillOpt repository was last updated on Oct 18, 2026, and the latest release, v0.2.0 on GitHub, came out on Jul 2, 2026.

### How popular is SkillOpt?

SkillOpt has 18.8k GitHub stars as of Nov 1, 2026. It gained 134 new stars in the week of Oct 25–31, 2026, against a 12-week average of 263 a week. Its main package had 6.4k downloads that week, +19% against its own 4-week average. That made it #17 among AI agent frameworks on the Devtoolwatch Board.

### What are the best alternatives to SkillOpt?

Other AI agent frameworks on the Devtoolwatch Board in the week of Oct 25–31, 2026, by momentum: Harness² (#1), HyperFrames (#2), AgentScope (#3), AG-UI (#4), LangGraph (#5). The alternatives table above has their numbers.

### Does SkillOpt change model weights?

No. SkillOpt trains only the natural-language skill document. The target model stays frozen, and the deployed best_skill.md runs against the unchanged model with zero added inference-time model calls.

### What is SkillOpt-Sleep?

SkillOpt-Sleep is a nightly offline self-evolution engine shipped in v0.2.0 as the skillopt-sleep CLI. It harvests coding agent session transcripts, mines recurring tasks, replays them, and consolidates skills behind a held-out validation gate.

### Can SkillOpt use a provider not listed as a backend?

Yes, if the provider implements the OpenAI Chat Completions protocol. SkillOpt suggests trying the built-in openai_compatible backend before writing a new backend module.

### Do trained SkillOpt skills transfer to other models?

According to the README, optimized skill artifacts transfer across model scales, between Codex and Claude Code harnesses, and to nearby benchmarks without further optimization.

## Sources

1. [microsoft/SkillOpt on GitHub](https://github.com/microsoft/SkillOpt)
2. [SkillOpt README](https://github.com/microsoft/SkillOpt/blob/main/README.md)
3. [skillopt on PyPI](https://pypi.org/project/skillopt/)
4. [SkillOpt website](https://aka.ms/skillopt)
5. [Release v0.2.0 (Jul 2, 2026)](https://github.com/microsoft/SkillOpt/releases/tag/v0.2.0)
6. [Release v0.1.0 (Jun 2, 2026)](https://github.com/microsoft/SkillOpt/releases/tag/v0.1.0)
7. [Hacker News: Microsoft Releases Open Source ML Library for Distributed Search Engine Creation](https://news.ycombinator.com/item?id=19319284)
8. [Hacker News: Test Windows Phone 7 on iOs or Android](https://news.ycombinator.com/item?id=3291651)
9. [Hacker News: Cassandra vs. DynamoDB vs. Cosmos DB: The Total Cost of (Non) Ownership](https://news.ycombinator.com/item?id=14639119)
10. [Devtoolwatch Board, the week of Oct 25–31, 2026](https://index.devtoolwatch.com/)
