improve: Use a capable model to audit codebases and produce executable plans for cheaper models
For Agent Skills users, it audits codebases and produces plans for cheaper models, while humans retain merge control.
GitHub shadcn/improve Updated 2026-11-12 Branch main Stars 10.9K Forks 443
Agent Skills Code auditing Implementation plans GitHub Issues Git worktree

🧭 Decision Guide

Try it if you

  • You want a capable model to handle auditing and specification writing, then have a cheaper model execute the plan.
    The opening README section says to use the most capable model for codebase understanding, prioritization, and specification writing, then hand execution to cheaper models.
  • Your agent supports the Agent Skills format and you need `/improve` for codebase auditing.
    The Install section states: Works in any agent that supports Agent Skills format.
  • You need `execute` to run a plan in an isolated git worktree and review the result.
    The Closing the loop section says `execute` dispatches a cheaper executor, reviews the diff, and returns approve, revision, or block.
  • You want to hand plans to humans or other agents and preserve the task context as GitHub Issues.
    The README says plans are plain markdown, and `--issues` publishes issues with the same self-contained body.

Skip it if you

  • You need the tool to directly modify the current working tree or source code.
    The Hard rules explicitly say it does not modify source code, writes only to `plans/`, and executors edit disposable worktrees while you perform the merge.
  • You need the tool to run commands that change the working tree.
    The Hard rules explicitly state: Never runs commands that mutate your working tree.
  • You expect the package to provide an existing release version or release artifact.
    Project metadata shows 0 releases and the latest version as No releases.

Requirements

  • The installation command is `npx skills add shadcn/improve`.
  • The runtime must support the Agent Skills format.
  • Executing plans requires usable git worktrees because `execute` uses an isolated git worktree.
  • Plans are written to `plans/`, while executors edit disposable worktrees.

First step (verbatim from README)

npx skills add shadcn/improve

Watch out

  • An `execute` approve verdict does not merge changes automatically; you still make the merge decision.
    The Closing the loop section states: Verdict is approve, merging stays your call.
  • Plans target the git commit present when they were written, and execution starts with a mechanical drift check.
    The What makes the plans executable section says each plan records the git commit and executors must check for drift first.
  • `reconcile` handles DONE, BLOCKED, drifted plans, and findings fixed independently.
    The Closing the loop section lists these four `reconcile` behaviors.
  • `/improve deep` checks every package and every category, so its scope is broader than `/improve quick`.
    The Usage section defines `quick` as a cheap pass and `deep` as exhaustive.

Alternatives

  • Hand `plans/001-*.md` directly to another Agent:This is better when you do not need `execute`'s isolated worktree and tech-lead-style review, and only want another Agent to follow a plain Markdown plan.
    How to use
  • Write the implementation plan manually:This is better when you do not need `/improve`'s nine audit categories, finding prioritization, or `reconcile` backlog management.
    How it works

Not stated in the README

  • The README does not specify supported models, model versions, or agent products.
  • The README does not specify required Node.js, npm, or npx versions.
  • The README does not provide runtime, token, or cost figures for different codebase sizes.
  • The README does not specify concurrency, retry behavior, or permissions for the nine audit categories.
  • The README does not identify the cheaper executor model or its configuration.
  • The README does not state compatibility across Windows, macOS, and Linux.
  • The README provides no releases, so release history cannot establish version stability.

💡 Deep Analysis

6
Yes I am preparing a pull request and want to audit only the changes on the current branch rather than pay for a full repository audit; can improve satisfy this need?
For: A software engineer preparing a pull request who wants to inspect only the current branch changes

Yes, because the README provides a dedicated branch mode that restricts auditing to changes on the current branch.

  • /improve branch is defined as “audit only what the current branch changes,” directly matching a pull-request scope constraint.
  • It still uses the finding, evidence-review, prioritization, and planning workflow, so the result can become a plan in plans/ rather than remaining a one-off chat suggestion.
  • If the issue is already known, /improve plan <description> can skip the full audit and write an implementation specification for one item.
  • Execution does not mean automatic merging: execute reviews work in an isolated worktree, while the README explicitly keeps the merge decision with the user.
  • Usage: `/improve branch` — “audit only what the current branch changes”
  • Usage: `/improve plan <description>` — “skip the audit, spec one thing”
  • How to use: “Before a PR, `/improve branch` does the same thing scoped to just what your branch changes”
  • Closing the loop: “Merging stays up to you”
/improve branch
Not stated in the README:The README does not explain how branch mode selects its comparison base, whether it includes uncommitted changes, or whether it reads the target branch.;It provides no performance data for large pull requests or cross-package changes.
Yes I use an agent that supports the Agent Skills format and require plans to be handed directly to humans or other agents; do improve’s installation and handoff model fit this constraint?
For: A developer using an Agent Skills-compatible agent who wants humans or other agents to consume Markdown plans

Yes, because the project requires an Agent Skills-compatible host while emitting plain Markdown, so the plan is not locked to one agent platform.

  • The installation command is npx skills add shadcn/improve, and the README states, “Works in any agent that supports Agent Skills format.”
  • Plans are written under plans/ and include self-contained context, exact paths, current code excerpts, repository conventions, and verified commands, so another agent does not need the original advisor conversation.
  • --issues publishes the same self-contained plan as a GitHub Issue, allowing a human or another agent to continue from an existing location.
  • The limitation is that the README gives no concrete host compatibility matrix; installation, tool permissions, and interaction quality depend on how fully the host supports the format.
  • Install: `npx skills add shadcn/improve`
  • Install: “Works in any agent that supports Agent Skills format”
  • What makes the plans executable: “Self-contained”
  • Closing the loop: “--issues publishes plans as GitHub issues”
npx skills add shadcn/improve
Not stated in the README:The README does not list compatibility or version requirements for specific hosts such as Claude Code or Cursor.;It does not specify which tool permissions an Agent Skills host must provide for the complete workflow.
Yes I want to hand a fix plan to a weaker execution agent that has never seen the repository; can improve make the context and boundaries explicit enough to prevent scope expansion?
For: A maintainer who wants an unfamiliar, weaker execution agent to implement repository changes

Yes, because plans are explicitly designed for the “weakest plausible executor” and constrain how much judgment the execution agent must supply.

  • A plan inlines exact file paths, current code excerpts, repository conventions, exemplar files, and verified commands, so the executor does not depend on hidden context from the advisor session.
  • Each step has a command and expected output, and done criteria are machine-checkable; the executor can follow verification gates instead of guessing whether it succeeded.
  • Plans also include out-of-scope lists and STOP conditions, requiring the executor to stop and report when reality differs rather than expanding the change.
  • execute runs in an isolated worktree and reviews the diff; the project can approve, request revision, or block the result, while the maintainer retains the merge decision.
  • What makes the plans executable: “Plans are written for the weakest plausible executor”
  • What makes the plans executable: “Self-contained” and “Verification gates”
  • What makes the plans executable: “Hard boundaries”
  • Closing the loop: “Verdict: approve ... send back for revision ... or block”
/improve execute <plan>
Not stated in the README:The README does not specify the executor model, tool permissions, maximum execution rounds, or the exact criteria for revision rounds.;It does not demonstrate that complex business rules, cross-service contracts, or operational knowledge can always be fully captured in a plan.
Yes I want the strongest model to understand the repository, select high-value issues, and write plans, while a cheaper model performs implementation; is this workflow suitable for controlling AI development costs?
For: An individual developer or small engineering team that wants a capable model for judgment and a cheaper model for implementation

Yes, because the project explicitly assigns repository understanding and planning to a capable model while delegating implementation to a cheaper model, and it does not modify source code itself.

  • The normal flow is /improve for findings and plans/ for specifications, followed by execution by another agent or a human; plans are plain Markdown.
  • /improve execute <plan> dispatches a cheaper executor in an isolated Git worktree and reviews the diff, completion criteria, and scope against the plan.
  • Plans include file paths, code context, verification commands, done criteria, and STOP conditions, reducing the amount of judgment required from a smaller model.
  • However, the user still owns merging, and the README provides no cost, quality, or speed benchmarks for different models, so the actual savings cannot be confirmed.
  • README: “use your most capable model ... and hand execution to cheaper models”
  • README: “The skill never implements anything itself. The plan is the product.”
  • How to use: “It dispatches a cheaper model in an isolated worktree”
  • What makes the plans executable: “Verification gates” and “Hard boundaries”
/improve quick
Not stated in the README:The README does not specify supported models, model pricing, context-window limits, or the actual cost reduction.;It provides no success rate, rework rate, or task-size limit for weaker execution models.
It depends I need to inspect security issues, but the audit tool must not modify source code, reproduce secret values, and should record false positives; does improve meet these security constraints?
For: A repository maintainer who needs security auditing while requiring no source edits and no credential disclosure

It depends. It satisfies the read-only and credential-handling constraints, but it cannot independently provide complete security assurance.

  • The hard rules state that it never modifies source code and writes only to plans/; executors edit only in disposable worktrees, and the user controls merging.
  • For secrets, the project forbids reproducing actual values and instead describes the location and credential type while recommending rotation, which fits workflows that must keep sensitive data out of reports.
  • /improve security runs a focused security audit, and Vet rereads cited locations, removes false positives, and records rejection reasons.
  • However, the README explicitly says model-driven findings do not replace dedicated static analyzers, dependency vulnerability scanners, dynamic security testing, or human review, so improve should not be the sole security control.
  • Usage: `/improve security` — “focused audit”
  • Hard rules: “Never modifies source code itself”
  • Hard rules: “Never reproduces secret values”
  • How it works — Vet: “false positives get dropped ... rejections get recorded”
  • Usage limitations: “cannot replace dedicated static analyzers ... dynamic security testing”
/improve security
Not stated in the README:The README does not specify which vulnerability classes are covered or whether a CVE database or dependency scanner is integrated.;It does not explain whether host-agent logs, context caching, or error reports could expose sensitive paths or environment information.
It depends I maintain a historical repository with multiple packages and want coverage across correctness, security, performance, testing, and technical debt; should I use improve for a full audit?
For: A technical lead maintaining a multi-package historical repository that needs a systematic audit

It depends. It is suitable for evidence-driven auditing and plan creation, but it should not be treated as a complete static-analysis, security-scanning, or performance-testing platform.

  • deep covers every package and every audit category; the Audit phase examines correctness, security, performance, test coverage, technical debt, dependency migration, DX, documentation, and direction in parallel.
  • Recon identifies the stack, conventions, and exact build, test, and lint commands, then uses them as verification gates; it also reads ADRs, PRDs, CONTEXT.md, DESIGN.md, and PRODUCT.md when present.
  • Vet rereads every cited file:line, removes false positives, and records rejections, which is useful for a legacy repository where raw findings may be noisy.
  • However, the README warns that deep can consume substantial model calls and that the project does not replace dedicated scanners, dynamic testing, load testing, or human architecture review.
  • Usage: `/improve deep` — “exhaustive: every package, every category”
  • How it works — Audit: “nine categories”
  • How it works — Recon: “exact build/test/lint commands” and intent documents
  • How it works — Vet: “false positives get dropped, wrong attributions get corrected”
  • Usage limitations: “cannot replace dedicated static analyzers ... dynamic security testing, performance load testing, or human architecture review”
/improve quick
Not stated in the README:The README does not state repository size, package count, supported languages, or an upper bound on deep-audit time.;It provides no recall, false-positive rate, or comparison with existing scanners.

✨ Highlights

  • Uses a capable model to audit the codebase and delegates execution to cheaper models
  • Each plan includes commands, expected output, and machine-checkable completion criteria
  • `execute` reviews execution results in an isolated git worktree
  • Writes only to `plans/` and never modifies source code directly

🔧 Engineering

  • `/improve` audits the codebase and generates prioritized plans
  • `/improve execute` dispatches a cheaper executor and reviews the diff
  • `reconcile` checks DONE, BLOCKED, and drifted plans
  • `--issues` publishes self-contained plans as GitHub Issues

⚠️ Risks

  • The README explicitly says it does not implement code directly and writes only to `plans/`
  • `execute` allows at most 2 revision rounds and can still end in block
  • Executors modify only disposable worktrees, while merging remains your responsibility
  • The repository has only 5 contributors and no releases

👥 For who?

  • Agent Skills users who need to audit codebases and split work into plans
  • Development teams using `/improve branch` to inspect branch changes
  • Teams that want cheaper models to execute while retaining human merge control