关于 simplify
simplify 是面向编码任务的技能,指导 Agent 在限定范围内精简实现,同时保持可观察行为和公开契约不变。它覆盖边界确认、修改、验证与结果报告。
主要功能
- 01检查代码、调用方、测试和差异
- 02识别重复逻辑与不必要抽象
- 03限定修改范围并保护既有行为
- 04运行相关测试并审查差异
- 05报告改动、验证结果和风险
适用场景
- 01精简当前工作区的待提交改动
- 02在不改变接口的前提下整理实现
- 03核验简化是否保留重要行为
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ scottwater/ skills --skill simplify安装后在 Claude Code 中输入/simplify确认已加载。
详细介绍
简化
在不改变可观察行为的前提下,精简用户要求的实现。
1. 确定边界
阅读仓库指南,并检查实现、调用方、测试和当前差异。按用户提供的范围开展工作。如果用户未指定范围,则将本次精简限定在当前工作树中的待处理更改;不要把它扩大为整个仓库的清理。
确定实现必须保留的行为和公共契约。区分属于此实现的更改与用户的无关工作。如果预期行为或归属边界存在重大歧义,先询问再编辑。
2. 找出实质性的精简机会
检查以下方面:
- 重复的逻辑、数据、辅助函数或测试;
- 可以更直接表达的控制流或状态;
- 不必要的间接层、包装器、抽象或配置;
- 通过重新组织可让代码归属更清晰的零散代码;
- 当前范围内的实现并不需要的兼容路径或防御性分支;
- 与行为无关的注释、格式更改、重命名和其他改动;
- 重复覆盖、断言实现细节或无法提供有意义回归信号的测试。
优先删除代码并采用直观的局部实现,而不是引入新抽象。只有当抽象确实维护不变量、减少真实调用方之间的重复,或保护稳定边界时,才保留它。不要以隐藏耦合为代价换取表面上的简单。
保留能够证明重要行为、边界、失败模式或回归的测试。只有当其他测试已提供相同信号,或所覆盖的行为已被移除时,才删除测试;剩余测试仍须能明确验证保留的契约。
3. 精简实现
进行最小且连贯的修改,切实降低复杂度或减少无关改动。保留外部行为、公共接口、数据格式、错误、附带效应和支持的边缘情况,除非用户明确授权更改。
遵守既定边界。不要仅为保持一致而重写周边代码,也不要覆盖脏工作树中的无关工作。
4. 验证行为保留情况
检查最终差异,确认没有意外的行为变化或不必要的修改。先运行最相关的测试,然后运行仓库要求的其他更全面测试、类型检查、Lint 或格式检查命令。如果删除了测试,请确认保留的测试仍覆盖关键行为。
如果验证失败,请修正精简方案或撤销不安全的部分。绝不要为了让验证通过而弱化断言或删除失败的测试。
5. 报告
总结以下内容:
- 精简或删除了什么;
- 为什么行为得以保留;
- 运行了哪些验证及其结果;
- 哪些部分未作修改,因为精简它们会增加风险或改变行为。
只有当限定范围内的实现确实更简单、最终差异不包含本次精简引入的无关改动,并且保留的行为已通过新的验证得到确认时,本次精简才算完成。