improve-solo
A fork of shadcn/improve — an agent skill that audits any codebase and writes implementation plans for other agents to execute — with pluggable persistence. When Solo is available it stores and dispatches natively through Solo — auto-detected, no flag needed: plans become scratchpad + todo pairs, dependencies become real todo blockers, executors are Solo agents, and review wake-ups use Solo idle timers. With --files it behaves exactly like upstream (plans as files).
The idea is unchanged: use your most capable model for the part where intelligence compounds — understanding the codebase, judging what's worth doing, writing the spec — and hand execution to cheaper models. The skill never implements anything itself. The plan is the product.
you → /improve-solo (expensive model, advises)
plans → Solo scratchpads + todos (auto-detected; --files for plans/*.md)
other agent → implements, tests, ships (cheap model, executes; you merge)
Storage backends
Exactly one primary store per run; --issues is additive on top of either. Solo is auto-detected; --files opts out.
| solo (default when available) | --files |
|---|
| Plan body | scratchpad Plan NNN: <title> | plans/NNN-slug.md |
| Index / status | the todo list itself (improve-plan tag) | plans/README.md table |
| Dependencies | native todo blockers | prose in the index |
| BLOCKED / REJECTED | tags blocked / rejected + reason comments | status column |
| Audit memory (rejected findings) | per-run audit-report scratchpad | plans/README.md section |
Executor (execute) | spawn_agent in an advisor-created worktree | host subagent, isolated worktree |
| Executor report | todo comment | subagent's final reply |
| Review wake-up | timer_fire_when_idle_any | inline |
One backlog, never two: if prior plans exist in the other store, the skill says so and follows the existing store rather than forking the backlog.
Installation
Claude Code — as a plugin (recommended there: versioned updates via /plugin update):
/plugin marketplace add codeSTACKr/improve-solo
/plugin install improve-solo@improve-solo
Any other agent (Cursor, Codex, Gemini CLI, Amp, OpenCode, …) — as a plain
skill via the skills CLI, same as upstream:
npx skills add codeSTACKr/improve-solo
The skill is agent-agnostic: the Solo store works from any MCP-capable agent
connected to Solo, and where the host can't spawn subagents the workflow says
so and degrades gracefully (direct audit, manual plan handoff instead of
dispatched executors).
In Claude Code, pick one mechanism — a skills-CLI copy in
~/.claude/skills/improve-solo and the plugin register the same skill name
and will conflict or silently shadow each other. For local development, point
the marketplace at your checkout: /plugin marketplace add /path/to/improve-solo.
Usage
/improve-solo full audit → prioritized findings → plans (Solo when available, else files)
/improve-solo --files plans as local files (upstream behavior)
/improve-solo quick|deep effort level
/improve-solo security focused audit (also: perf, tests, bugs, ...)
/improve-solo branch audit only what the current branch changes
/improve-solo next feature suggestions — where to take the project
/improve-solo plan <description> skip the audit, spec one thing
/improve-solo review-plan <plan> critique and tighten an existing plan
/improve-solo execute <plan> dispatch a cheaper executor, review its work
/improve-solo reconcile refresh the backlog: verify, unblock, retire
/improve-solo ... --issues also publish plans as GitHub issues
All modifiers compose: /improve-solo deep security --files --issues.
How the Solo store works