An agent skill that audits any codebase and writes implementation plans for other agents to execute.
> /plugin marketplace add shadcn/improve> /plugin install improve@improve
Repo: shadcn/improve
What's inside
An agent skill that audits any codebase and writes implementation plans for other agents to execute.
The idea: 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 (expensive model, advises)
plans/ β 001-fix-n-plus-one.md (self-contained specs)
other agent β implements, tests, ships (cheap model, executes)
npx skills add shadcn/improve
Works in any agent that supports Agent Skills format. The plans it writes are plain markdown, so any agent (or human) can pick them up.
/improve full audit β prioritized findings β plans
/improve quick cheap pass: hotspots, top findings only
/improve deep exhaustive: every package, every category
/improve security focused audit (also: perf, tests, bugs, ...)
/improve branch audit only what the current branch changes
/improve next feature suggestions β where to take the project
/improve plan <description> skip the audit, spec one thing
/improve review-plan <file> critique and tighten an existing plan
/improve execute <plan> dispatch a cheaper executor, review its work
/improve reconcile refresh the backlog: verify, unblock, retire
/improve ... --issues also publish plans as GitHub issues
A typical first run, start to finish:
/improve (or /improve quick to keep it cheap).plans/ β one file each, plus an index with the recommended order. Read them; they're meant to be reviewed./improve execute 001. It dispatches a cheaper model in an isolated worktree, reviews the diff against the plan, and reports back with a verdict. Merging stays up to you./improve reconcile to clean up the backlog: verify what landed, refresh what drifted, unblock what got stuck.Before a PR, /improve branch does the same thing scoped to just what your branch changes.
A run against shadcn/ui came back with findings like:
| # | Finding | Category | Effort | Confidence |
|---|------------------------------------------------|-----------|--------|------------|
| 1 | shadow-config duplicated in search.ts/view.ts, | tech-debt | M | HIGH |
| | copies already drifted (TODO at search.ts:31) | | | |
| 2 | O(nΒ²) icon migration (migrate-icons.ts:168) | perf | S | HIGH |
β¦and rejected a few, with reasons recorded so they don't come back next run:
- [SEC-01] https_proxy env var "SSRF": by-design β standard proxy convention,
every CLI honors it. Not a finding.
Picking #1 produced this plan β current code excerpted, exact steps, the repo's own test/lint commands as verification gates, and STOP conditions for when reality doesn't match.
Recon. Maps the repo: stack, conventions, and the exact build/test/lint commands β these become verification gates in every plan. It also ingests intent and design docs when present β ADRs (docs/adr/), PRDs, CONTEXT.md, DESIGN.md, PRODUCT.md β so decided tradeoffs aren't re-flagged as findings, direction suggestions stay grounded in stated product intent, and plans speak the repo's own vocabulary. Composes with any repo that already maintains these docs.
Audit. Fans out parallel subagents across nine categories: correctness, security, performance, test coverage, tech debt, dependencies & migrations, DX, docs, and direction (feature suggestions β every one must cite evidence from the repo itself, no generic idea-slop). Every finding carries file:line evidence, impact, effort, and confidence.
Vet. Subagents over-report, so the advisor re-reads every cited location itself before showing you anything β false positives get dropped, wrong attributions get corrected, rejections get recorded.
Prioritize. Findings land in a table ordered by leverage (impact Γ· effort, weighted by confidence). You pick what becomes plans.
Plan. One file per selected finding, written into plans/ with an index, priority order, and dependency graph.
Plans are written for the weakest plausible executor β a model that has never seen the advisor session and may be much smaller. Three properties carry that:
Each plan also stamps the git commit it was written against, so executors run a mechanical drift check before touching anything.
Plans aren't fire-and-forget:
execute <plan> spawns a cheaper executor subagent in an isolated git worktree, hands it the plan, then reviews the result like a tech lead β re-runs every done criterion, checks scope compliance, reads the diff against intent. Verdict: approve (merging stays your call), send back for revision (max 2 rounds), or block and refine the plan.reconcile processes what happened since: verifies DONE plans still hold, investigates BLOCKED ones and rewrites around the obstacle, refreshes drifted plans, retires findings that got fixed independently.--issues publishes plans as GitHub issues β same self-contained body, so any agent or human can pick them up where work already lives.plans/; executors edit only in disposable worktrees, and merging is always yours.execute).MIT Β© shadcn
.claude-plugin/
marketplace.json
plugin.json
examples/
001-extract-shadow-config-resolution.md
LICENSE.md
README.md
skills/
improve/
references/
audit-playbook.md
closing-the-loop.md
plan-template.md
SKILL.mdFAQ
improve is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes improve. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.