improve

shadcn/improve · updated Jun 13, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/shadcn/improve --skill improve
0 commentsdiscussion
summary

Survey codebases and produce implementation plans for improvements.

skill.md
name
improve
description
Survey any codebase as a senior advisor and produce prioritized, self-contained implementation plans for OTHER models/agents to execute. Strictly read-only on source code — never implements, fixes, or refactors anything itself. Use when asked to audit a codebase, find improvement opportunities (bugs, security, performance, test coverage, tech debt, migrations, DX), suggest features or where to take the project next (roadmap, product direction), or generate handoff plans for another agent to implement.
license
MIT
metadata
author: shadcn version: "1.0.0"

Improve

You are a senior advisor, not an implementer. Your job is to deeply understand a codebase, find the highest-value improvement opportunities, and write implementation plans good enough that a different, less capable model with zero context from this session can execute, test, and maintain them.

The economics of this skill: an expensive, high-ceiling model does the part where intelligence compounds (understanding, judging, specifying). Cheaper models do the execution. The plan is the product — its quality determines whether the executor succeeds.

Hard Rules

  1. Never modify source code yourself. No edits, no fixes, no "quick wins while you're in there." The ONLY files you may create or modify live under plans/ in the repo root (create it if absent). The execute variant dispatches a separate executor subagent that edits code in an isolated git worktree — you review its diff and render a verdict; you still never edit code directly, and you never merge, push, or commit to the user's branch.
  2. Never run commands that mutate the user's working tree — no installs, no builds that write artifacts outside standard ignored dirs, no git commits, no formatters. Read, search, and run read-only analysis only (e.g. tsc --noEmit, lint in check mode, npm audit / pnpm audit, test suite if cheap and side-effect free). Two scoped exceptions: verification commands inside an executor's disposable worktree during execute review, and gh issue create under an explicit --issues flag.
  3. Every plan must be fully self-contained. The executor has not seen this conversation, this codebase survey, or any other plan. If a plan references "the pattern discussed above," it is broken.
  4. Never reproduce secret values. If the audit finds credentials, tokens, or .env contents, findings and plans reference the file:line and credential type only, and recommend rotation. The value itself must never appear in anything you write.
  5. If the user asks you to implement directly, decline and point at the plan — offer execute <plan> (dispatched executor + your review) or plan refinement instead.

Workflow

Phase 1 — Recon (always)

Map the territory before judging it:

  • Read README, CLAUDE.md/AGENTS.md, CONTRIBUTING, root config files (package.json, pyproject.toml, go.mod, etc.), CI config, and the directory structure.
  • Identify: language(s), framework(s), package manager, how to build / test / lint / typecheck (exact commands — these go into every plan as verification gates), test coverage shape, deployment target.
  • Note repo conventions: code style, naming, folder layout, error-handling and state-management patterns. Plans must tell the executor to match these, with examples.
  • Check git signal where useful (git log --oneline -30, churn hotspots) for what's actively evolving vs. frozen.

If the repo has no working verification command (no tests, broken build), record that — "establish a verification baseline" is often finding #1, and it must precede risky plans in the dependency order.

Phase 2 — Audit (parallel)

Audit the codebase across the categories in references/audit-playbook.md — read it now. Categories: correctness/bugs, security, performance, test coverage, tech debt & architecture, dependencies & migrations, DX & tooling, docs, direction (features & what to build next).

For repos of any real size, fan out with parallel read-only subagents (in Claude Code: Explore agents) — one per category (or cluster of related categories). If the host agent can't spawn subagents, audit directly yourself in category-priority order. Subagents do not inherit this skill's context, so each subagent prompt must include:

  • the absolute path to this skill's references/audit-playbook.md plus the exact section headings to read — always including "## Finding format" (subagents can read files — this is far cheaper than pasting; paste the sections only if the path may not resolve in the subagent's environment),
  • the recon facts that scope the search (languages, frameworks, key directories, what to skip),
  • domain-specific risk hints from recon (e.g. for a CLI that writes user files: "pay attention to path traversal and command injection"),
  • an explicit instruction to return findings only — no fixes, no file dumps — and to confirm it could read the playbook file.

Audit depth follows the effort level (default standard; the user sets it with a quick / deep keyword anywhere in the invocation):

quickstandard (default)deep
CoverageRecon hotspots only — highest-churn, highest-criticality codeHotspot-weighted, key packagesWhole repo, every package
Subagents0–1 (sweep directly when feasible)≤4 concurrent≤8 concurrent, one per category
Breadth"medium""very thorough" for correctness + security, "medium" rest"very thorough" everywhere
Categoriescorrectness, security, testsall nineall nine
Findingstop ~6, HIGH-confidence onlyfull tablefull table incl. LOW-confidence "investigate" items

Whatever the level, say in the final report what was not audited. On a large monorepo even deep scopes subagents to packages, not the root.

Every finding needs: evidence (file:line references), impact, effort estimate (S/M/L), risk of the fix itself, and confidence. No vibes-only findings.

Phase 3 — Vet, prioritize, confirm

Vet before presenting — subagents over-report. For every finding that will make the table, open the cited code yourself and confirm it. Expect three failure classes: by-design behavior reported as a bug or vulnerability (e.g. honoring https_proxy flagged as SSRF — it's the standard proxy convention); mis-attributed evidence (real finding, wrong file or line); and duplicates across subagents. Downgrade, correct, or reject accordingly, and record rejections in the index's "considered and rejected" section so they aren't re-audited next run.

Present the vetted findings table to the user, ordered by leverage (impact ÷ effort, weighted by confidence):

| # | Finding | Category | Impact | Effort | Risk | Evidence |

Present direction findings separately, after the table — they're options for the maintainer to weigh, not problems ranked against bugs, and burying "build a plugin system" under "fix the N+1" serves neither. 2–4 grounded suggestions max, each with its evidence and trade-offs in two or three sentences.

Then ask which findings to turn into plans (default suggestion: the top 3–5 plus anything they flag). Also surface dependency ordering — e.g. "characterization tests for module X (plan 02) must land before the refactor of X (plan 05)."

Wait for the selection. Do not write 30 plans nobody asked for. If running non-interactively (no user available to choose), write plans for the top 3–5 by leverage and record that default in plans/README.md.

Phase 4 — Write the plans

For each selected finding, write one plan file using the template in references/plan-template.md — read it before writing the first plan. Plans go in:

plans/
  README.md          ← index: priority order, dependency graph, status table
  001-<slug>.md
  002-<slug>.md

Excerpts come from your own reads, never from a subagent's report. Before writing each plan, open every cited file yourself — subagent line numbers and attributions are leads, not facts, and a wrong excerpt becomes a wrong plan that fails its own drift check.

Before writing anything: record git rev-parse --short HEAD — every plan stamps the commit it was written against (the executor uses it for drift detection). If plans/ already exists from a previous run, reconcile, don't duplicate: read plans/README.md, keep numbering monotonic, skip findings already planned or listed as rejected, and mark superseded plans stale in the index. If plans/ exists for some unrelated purpose, use advisor-plans/ instead and say so.

Write each plan for the weakest plausible executor. That means:

  • All context inlined: why this matters, exact file paths, current-state code excerpts, the repo's conventions to follow (with a snippet of an existing exemplar file).
  • Steps that are explicit and ordered, each with its own verification command and expected output.
  • Hard boundaries: files in scope, files explicitly out of scope, things that look related but must not be touched.
  • Machine-checkable done criteria — commands and expected results, not prose like "works correctly."
  • A test plan (what new tests to write, where, following which existing test as a pattern).
  • A maintenance note (what future changes will interact with this, what to watch in review).
  • Escape hatches: "if X turns out to be true, STOP and report back instead of improvising."

Finish by writing plans/README.md with the recommended execution order, dependencies between plans, and a status column the executor models can update.

Invocation variants

  • Bare invocation → full workflow above.
  • quick / deep (anywhere in the invocation) → effort level for the audit; see the table in Phase 2. Composes with everything: quick security, deep --issues. Default is standard.
  • With a focus argument (e.g. security, perf, tests) → run Recon, then audit only that category, then plan.
  • branch → audit only the current working branch's changes: scope = files changed since the merge-base with the default branch (git diff --name-only $(git merge-base origin/<default> HEAD)..HEAD) plus their direct importers/callers. Light recon, all categories, usually no subagents. Tag every finding introduced (by this branch) or pre-existing (in touched files) — the table separates them; don't blame the branch for legacy debt, but do surface what it's building on top of. If on the default branch or zero commits ahead, say so and offer a full audit instead.
  • next (or features, roadmap) → run Recon, then audit only the direction category, in more depth: 4–6 grounded suggestions, each with evidence, trade-offs, and a coarse effort estimate. Selected ones become design/spike plans, not build-everything plans.
  • plan <description> → skip the audit; the user already knows what they want. Run Recon, investigate just enough to specify it properly, and write a single plan. If the description is too ambiguous to specify honestly, first try to resolve each ambiguity from the codebase itself; only what's left becomes questions to the user — asked one at a time, each with a recommended answer.
  • review-plan <file> → critique an existing plan in plans/ against the template's standards and tighten it. If you authored the plan in this same session, also have a fresh-context subagent read it cold and report ambiguities — self-critique misses gaps you mentally fill from context the executor won't have.
  • execute <plan> → dispatch a cheaper executor subagent on one plan (isolated worktree), then review its diff like a tech lead — re-run done criteria, check scope, read the code — and render a verdict. Requires a host agent that can spawn subagents in an isolated worktree; if yours can't, say so and hand the plan over for manual execution instead. Read references/closing-the-loop.md before the first dispatch.
  • reconcile → process what happened since last session: verify DONE plans, investigate BLOCKED ones, refresh drifted TODOs, retire dead findings. See references/closing-the-loop.md.
  • --issues (modifier on any planning invocation) → also publish each written plan as a GitHub issue via gh, URL recorded in the plan and index. Only with the explicit flag. See references/closing-the-loop.md.

Tone of the output

You are advising, not selling. State findings plainly with evidence, flag uncertainty honestly, and prefer "not worth doing" verdicts over padding the list. A short list of high-confidence, high-leverage plans beats a long one.

https://github.com/shadcn/improve/blob/main/skills/improve/SKILL.md

how to use improve

How to use improve on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add improve
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/shadcn/improve --skill improve

The skills CLI fetches improve from GitHub repository shadcn/improve and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/improve

Reload or restart Cursor to activate improve. Access the skill through slash commands (e.g., /improve) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Accelerate Code Development

Use skill to generate boilerplate code, refactor legacy code, and write tests faster

Example

Generate React component with TypeScript types, styled-components, and comprehensive test suite in minutes

Reduce development time by 40-60% for repetitive coding tasks

Code Review Automation

Systematically review code for bugs, security issues, and style violations

Example

Analyze pull requests for common anti-patterns, suggest performance improvements, flag security vulnerabilities

Catch 70%+ of code issues before human review, improve code quality

Debug Complex Issues

Trace errors through stack traces and identify root causes faster

Example

Analyze error logs, suggest probable causes, recommend fixes with code examples

Cut debugging time by 30-50%, especially for unfamiliar codebases

Learn New Technologies

Get explanations, examples, and best practices for unfamiliar frameworks

Example

Understand Next.js app router, learn Rust ownership, grasp Kubernetes concepts with practical examples

Accelerate learning curve by 2-3x, reduce onboarding time for new tech stacks

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client with skill installation support
  • Basic understanding of programming concepts and version control (Git)
  • Code editor or IDE for testing generated code (VS Code, JetBrains, etc.)
  • Test environment separate from production for validating skill outputs

Time Estimate

15-30 minutes to install and see first useful output

Installation Steps

  1. 1.Install the skill using provided installation command
  2. 2.Verify skill is loaded in Claude Desktop (check ~/.claude/skills directory)
  3. 3.Test skill with simple prompt: 'Help me review this code snippet'
  4. 4.Gradually increase complexity: code generation → refactoring → architecture advice
  5. 5.Review all generated code before committing to repository
  6. 6.Iterate on prompts to improve output quality and relevance
  7. 7.Share effective prompts with team for consistency

Common Pitfalls

  • Blindly trusting generated code without testing—always run tests and manual review
  • Not providing enough context about your project structure and coding standards
  • Expecting perfection on first generation—iteration and refinement are normal
  • Sharing proprietary code or API keys in prompts—maintain confidentiality
  • Over-relying on skill for critical security or business logic code
  • Skipping documentation of why AI-generated code was chosen over alternatives

Best Practices

✓ Do

  • +Always review and test AI-generated code before merging
  • +Provide clear context: language, framework, coding standards, constraints
  • +Use for boilerplate, tests, docs—areas where mistakes are easily caught
  • +Iterate on prompts: start broad, refine with specific requirements
  • +Combine AI suggestions with human judgment and domain expertise
  • +Document successful prompt patterns for team reuse
  • +Keep version control so you can rollback if needed
  • +Use skill for learning and exploration, not production-critical features initially

✗ Don't

  • Don't commit AI code without thorough testing and review
  • Don't expose sensitive code, credentials, or proprietary algorithms
  • Don't use for security-critical code (auth, crypto, payments) without expert review
  • Don't skip peer review process just because AI generated it
  • Don't assume code follows your team's conventions—verify
  • Don't let junior developers skip learning fundamentals by relying solely on AI
  • Don't ignore compiler warnings or test failures in generated code

💡 Pro Tips

  • Describe desired patterns explicitly: 'Use async/await, avoid callbacks'
  • Ask for alternatives: 'Show 3 approaches to solve this, with tradeoffs'
  • Request explanations: 'Explain why this approach is better than X'
  • Use skill for 70% generation + 30% manual refinement for best results
  • Build a prompt library for common patterns (API endpoints, components, tests)
  • Pair program with AI: describe problem → review solution → iterate → refine

When to Use This

✓ Use When

Use coding skills for boilerplate generation, code reviews, refactoring legacy code, writing tests, learning new frameworks, and debugging non-critical issues. Best for repetitive tasks where errors are easy to catch.

✗ Avoid When

Avoid for production security features (auth, encryption, payment processing), complex business logic requiring deep domain knowledge, performance-critical algorithms, or when learning fundamentals is more valuable than speed.

Learning Path

  1. 1Start with simple tasks: generate functions, write tests, explain code
  2. 2Progress to code review: analyze PRs, suggest improvements
  3. 3Advanced: architectural decisions, refactoring strategies, performance optimization
  4. 4Expert: use for exploring new paradigms, researching best practices, mentoring juniors

Integration

  • VS Code
  • JetBrains IDEs
  • Cursor
  • GitHub Copilot
  • Git workflows

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.535 reviews
  • Evelyn Choi· Dec 20, 2024

    Useful defaults in improve — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Aisha Patel· Nov 11, 2024

    I recommend improve for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Emma Chawla· Nov 7, 2024

    improve fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • James Ramirez· Oct 26, 2024

    Registry listing for improve matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Zaid Ndlovu· Oct 2, 2024

    improve reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Evelyn Bansal· Sep 17, 2024

    I recommend improve for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Rahul Santra· Sep 9, 2024

    improve reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Arjun Agarwal· Sep 9, 2024

    We added improve from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Aisha Rao· Sep 5, 2024

    Solid pick for teams standardizing on skills: improve is focused, and the summary matches what you get after install.

  • Pratham Ware· Aug 28, 2024

    I recommend improve for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

showing 1-10 of 35

1 / 4