Communitygithub.com

3AceShowHand/agent-skills

重构技能:高效执行行为保持的结构变更,如代码移动、模块拆分与接口简化。

agent-skills 是什么?

该技能专为开发者和AI代理设计,用于指导重构过程,确保在改变代码结构时保持原有行为。它支持多种重构任务,包括代码移动、模块拆分或合并、接口简化、阶段性重写、依赖反转以及重复代码去除。技能定义了明确的使用条件,避免在行为变更或需要广泛设计评审的场景下使用。工作流程强调定义行为与结构、识别非目标、检查调用者和测试、添加特征测试、分步实施、分离机械与语义更改、保留公共API以及安全移除旧路径。参考文档包括重构手册和特征测试指南,停止条件涵盖行为不明确或需要未经批准的API变更等情况。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add 3AceShowHand/agent-skills

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

重构

使用时机

  • 用户要求重构、重组、代码移动、模块拆分或合并、接口简化、阶段性重写、依赖反转或重复代码去除。
  • 某项变更声称保持行为的同时改变结构。
  • 重构影响多个调用点、公共符号、测试或所有权边界。

不使用时机

  • 任务是无需结构变更的局部小缺陷修复。
  • 用户明确要求行为变更而非保持行为的重构。
  • 在决定是否重构之前,需要进行更广泛的设计评审。
  • 由于主要风险领域尚不明确,恰当的第一步是进行广泛的工程评审。

工作流程

  1. 定义要保留的行为和要改变的结构。
  2. 陈述非目标:除非明确要求,否则无功能变更、无兼容性变更、无错误语义变更、无性能声明。
  3. 检查受重构影响的调用者、测试、文档、配置、生成的代码和公共表面。
  4. 当行为重要且测试覆盖弱时,添加特征测试。
  5. 将工作拆分为小的、可逆的步骤,在有意义的分界点进行编译和测试。
  6. 将机械性移动或重命名与语义编辑分开。
  7. 保留公共API,除非用户明确要求破坏性变更。
  8. 仅在调用者迁移且行为验证后,才移除旧路径。

参考资料

  • 在规划多步骤重构之前,阅读 references/refactor-playbook.md。
  • 当测试薄弱或行为需要锁定时,阅读 references/characterization-tests.md。
  • 在最终确定重构之前,阅读 references/review-checklist.md。

停止条件

  • 要保留的行为不清楚。
  • 重构需要广泛的行为更改才能成功。
  • 公共API、配置、协议、存储、指标或错误语义可能在没有明确用户批准的情况下发生变化。
  • 差异将重构、功能工作、性能优化和清理混合在一起,无法安全审查。

输出规则

  • 报告预期保持不变的行为。
  • 将机械性更改与语义更改分开报告。
  • 报告保护行为的测试或检查。
  • 说明任何未经验证的行为、兼容性或性能方面。

相关技能