📌 项目地址:shadcn/improve | ⭐ 10,646 颗星
AI 编程工具大多走“一个 agent 全包”的路线,从理解需求到写代码到测试,一个模型干到底。shadcn/improve(目前一万多 star,截至发稿)反着来:它只做审计和写计划,一行实现代码都不碰。
分工很简单:
你 → /improve (贵模型,负责判断和写方案)
plans/ → 001-fix-n-plus-one.md (自包含的规格文档)
其他 agent → 实现、测试、上线 (便宜模型,负责执行)
背后的账是这样的:写代码这件事,便宜模型已经够用;真正吃智力的是理解整个代码库、判断哪些事值得做、写出精确的规格。这些环节的判断质量会传导到后面所有执行,所以值得花大钱。计划本身就是产品。
装上就能用
npx skills add shadcn/improve
任何支持 Agent Skills 格式的 agent 都能跑。产出的计划是纯 markdown,任何 agent 能接手,你自己照着改也行,不存在锁定。
命令族按场景分了几档:
/improve 完整审计 → 优先级排序的发现 → 计划
/improve quick 便宜模式:只看热点和最重要的发现
/improve deep 穷尽式:每个包、每个类别
/improve security 专项审计(还有 perf、tests、bugs 等)
/improve branch 只审计当前分支的改动
/improve next 功能建议:项目下一步往哪走
/improve plan 跳过审计,直接为某件事写规格
/improve review-plan 批判和收紧已有计划
/improve execute 派遣便宜模型执行,并审查其工作
/improve reconcile 刷新任务积压:验证、解锁、废弃
加 --issues 可以把计划同步发布为 GitHub issue。
一次完整流程长什么样
- 在仓库里打开你的 agent,跑
/improve(想省钱就跑/improve quick)。 - 它先映射仓库结构,然后审计,最后给你一张发现表。你挑想要的,比如回复 “plan 1, 3 and 5”。
- 计划落在
plans/目录,一个文件一份,附带推荐执行顺序的索引。README 特意强调这些计划是给人审的,不是生成完直接跑。 - 把计划交给任意 agent(”implement plans/001-*.md”),或者用
/improve execute 001让 skill 自己派活:它会在隔离的 worktree 里调一个更便宜的模型执行,然后对照计划审查 diff,给出结论。合不合并由你决定。 - 下次会话跑
/improve reconcile清理积压:已落地的验证掉,跑偏的刷新,卡住的解锁。
提 PR 前跑 /improve branch,同样的流程,范围只限当前分支的改动。
发现表长什么样
对 shadcn/ui 跑了一次,回来的东西大概是这样:
| # | 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:1... | perf | ... | ... |
每条发现带类别、工作量估计、置信度,还有具体文件位置。你可以据此判断哪些值得排进计划,哪些先放着。
我觉得值得琢磨的地方
这个项目最有意思的不是审计功能,而是它把“想清楚”和“做出来”明确拆开了。贵的模型只出现在判断环节,执行环节的模型随时可以换,反正计划是自包含的 markdown。就算你不用这个工具,这个成本结构也值得套到自己现在的 AI 编程开销上算一算:你付贵模型的钱,有多少花在了本该便宜模型干的活上?
几个实际使用时要想清楚的点:
- 它不做实现。如果你的环境里没有第二个能干活的 agent,
/improve execute走不通,但你仍然可以自己照计划改代码。 - 计划写出来就是给人审的。AI 生成的计划直接盲跑有风险,审这一步不该省。
/improve deep在大型 monorepo 上token 开销不会小。日常从quick或branch用起比较稳。
这篇文章对你有帮助吗?