Simplify Codebase
先证明,再删除。让代码库少维护一些事实、状态与契约。
simplify-codebase 是一个面向现有代码库的 Agent Skill。它帮助编码智能体识别并安全移除偶然复杂度,同时保护仍然有效的行为、边界与兼容性。
它不追求“删得多”。它关心的是:一次改动能否减少团队今后必须持续保持一致的概念和义务。
为什么需要它
代码库里的冗余很少只是“某个函数没人调用”。它也可能是重复状态、失去所有者的抽象、只剩测试消费的接口、早已无效的兼容路径,或者被保留在共享文件中的半截功能。
静态检查可以提供线索,但不能单独证明一项删除是安全的。这个 Skill 会继续追踪运行时消费者、动态注册、持久化格式、公共接口、历史决策与验证边界,再决定应该删除、合并、保留,还是标记为暂时无法判断。
核心原则: 删除代码行只是结果。真正的收益是删除一个需要长期维护的事实、状态、契约或概念。
工作方式
聚焦范围 Focused |
全库范围 Broad |
|
|---|---|---|
只读审计 Survey |
深挖一个子系统、状态机或疑似重复点 | 分区覆盖整个仓库,给出候选、反证与盲区 |
授权修改 Change |
证明并完成一个明确的简化边界 | 按所有权边界分批修改,每批独立验证 |
每个候选都要形成一份证明记录:
- 它增加了什么维护负担;
- 生产、测试、动态和外部消费者分别是谁;
- 完整删除边界在哪里,包括共享文件内部的成员;
- 会放弃什么可观察行为或兼容性;
- 哪个最小验证可以揭示错误删除;
- 减少的复杂度是否大于新引入的迁移或替代机制。
它会谨慎对待
- 公共 API、动态加载和插件注册;
- 数据格式、迁移、回放与向后兼容;
- 授权、隔离、输入校验和数据丢失防护;
- 并发、取消、清理和生命周期所有权;
- 生成文件、共享资源和仓库外消费者;
- 仍然有效的 ADR、RFC 与架构约束。
发现真实消费者、边界尚未查清,或者简化只是把复杂度搬到别处时,它会建议保留,而不是为了输出结果强行删除。
安装
让 Codex 安装:
Install the simplify-codebase skill from https://github.com/tt-a1i/simplify-codebase
也可以手动安装到 Codex 的用户级 Skill 目录:
git clone https://github.com/tt-a1i/simplify-codebase.git \
~/.codex/skills/simplify-codebase
安装后请新建一个任务,让 Skill 目录重新加载。其他支持 SKILL.md 的 Agent 环境可将本仓库放入各自的 Skill 目录。
使用
审计整个仓库,不改文件
使用 $simplify-codebase 审计这个仓库,列出最安全、收益最高的简化候选。不要修改文件。
调查一个具体问题
使用 $simplify-codebase 判断这些 readiness 标志是在表达不同的生命周期保证,还是重复状态。
实施一个已经证明安全的简化
使用 $simplify-codebase 删除一个高置信度的偶然复杂度来源。保留仍然有效的契约,完成验证,并给出操作回执和撤销路径。
合并其他分支或 Agent 的发现
使用 $simplify-codebase 复核并整合这个 PR 中的简化建议。保留证据,不保留候选数量。
输出是什么样的
只读审计会交付覆盖范围、排序后的证明记录、重要反例、未决问题和下一条所需证据。
修改任务会额外交付实际变更、分层验证结果、剩余风险、操作回执与可执行的撤销路径。一次小范围测试通过,不会被包装成完整的运行时或用户验收。
仓库结构
.
├── SKILL.md # 主工作流与判断标准
├── agents/openai.yaml # Agent 展示与调用元数据
├── references/
│ ├── investigation.md # 全库调查与候选发现
│ ├── boundaries-and-lifecycle.md
│ ├── execution-and-recovery.md
│ ├── decision-records.md
│ └── integrating-findings.md
├── docs/validation.md # 行为验证与质量证据
└── assets/hero.png # 原创 Hero 视觉
质量与边界
这个版本经过 Change、Broad、Integration 和 Decision-record 场景验证,也在一个 973 文件的 Python + TypeScript 项目上完成过全库审计。测试方法与已知边界记录在 docs/validation.md。
Skill 不能替代产品决策。删除仍然可达的能力、已支持接口、持久化表示或兼容路径时,仍需由使用者明确授权。
贡献
欢迎提交 Issue 和 PR。请优先提供失败案例、遗漏的消费者、错误删除风险或可以复现的验证缺口;这比单纯增加更多规则更有价值。
No comments yet
Be the first to share your take.