simplify · git:20261015.96a89a5 · 2026-10-15 · sha256 86ac6d8c2d18a65f
simplify git:20261015.96a89a5A
Immutable. This exact content never changes and is served at /api/v1/blob/86ac6d8c2d18a65f.
--- name: simplify description: 用户明确要求简化、清理或重构近期改动且保持行为不变时使用;普通实现、缺陷修复、代码评审或行为变更不触发。 license: Apache-2.0 (see LICENSE) --- # 简化代码 在完全保留功能的前提下简化代码。优先选择易读、行为明确的写法,而非紧凑或巧妙的写法。 ## 边界 - 已有失败或异常行为先用系统化调试定位;本技能不把修缺陷伪装成等价重构。简化过程中发现的正确性问题只报告,不在本轮修复。 - 需要改变功能、API、错误语义或兼容行为时停止,并将它作为单独变更讨论。 - 默认只处理当前任务或会话中的改动,遵守项目指令并保留工作区中的无关改动。 ## 流程 1. 确定用户要求的范围、最近修改的代码,以及能证明现有行为的测试、命令或可观察结果。 2. 阅读适用的项目指令和相邻代码约定。 3. 按四个角度找候选:复用(新代码是否重写了仓库已有的 helper、类型或服务)、简化(多余或可推导的状态、近似复制、深层嵌套、遗留的死代码)、效率(重复计算或 I/O、可并行却串行、启动或热路径上新增的阻塞工作)、修复深度(在共享机制上叠加特例而不是改底层机制)。每个候选记录文件、行和具体代价:重复了什么、浪费了什么、哪里更难维护。判断细则和不该做的简化见 [检查角度](references/clarity-checks.md)。差异较大且可用子代理时,可以按角度并行审查后合并。 4. 合并指向同一行或同一机制的候选。跳过会改变既有行为、需要改动明显超出本次差异或判断为误报的候选,并记录原因。效率和修复深度的候选常会改变调用顺序、并发或其他调用方的行为,这类候选只报告,作为单独变更处理。 5. 做保持行为不变的最小改进。 6. 检查差异,逐项确认没有改变控制流、错误行为、输出、副作用、并发顺序或兼容边界。 7. 使用修改前的同一行为入口验证,再按风险补充更宽检查。 8. 只报告重要改进、跳过或只报告的候选及原因,以及验证缺口。 无法建立行为基线时,只做可以由静态等价直接证明的局部简化,并报告未验证边界。验证失败、差异显示行为变化或需要猜测原意时,停止本轮简化并恢复本轮未成立的改动,不用“代码更短”作为成功依据。 ## 输出 - 简化了什么复杂度,以及为什么行为保持不变; - 实际执行的行为基线和验证结果; - 没有执行的运行面及其影响; - 没有安全简化机会时,明确说明保持现状。 ## 来源 改编自 Anthropic 的 [`code-simplifier`](https://github.com/anthropics/claude-plugins-official/tree/main/plugins/code-simplifier) 代理,采用 Apache License 2.0 授权,已改编为可移植的 Agent Skills 格式。