用途:当用户想规划一次重构、创建重构请求时触发本技能,产出详细的重构计划并登记为 GitHub issue。
主要流程:先让用户详细描述要解决的问题及可能的解决思路;浏览仓库核实其说法并了解代码库现状;询问用户是否考虑过其他方案,并主动提出备选方案;围绕实现细节对用户进行极其详尽彻底的访谈;敲定确切范围,明确计划改什么、不改什么;在代码库中查找该区域的测试覆盖情况,若覆盖不足则询问用户的测试打算;按照 Martin Fowler“让每一步重构尽可能小,以便始终看到程序在运行”的建议,把实现拆成微小提交的计划。
产出:创建 GitHub issue,描述使用固定模板,包含 Problem Statement(从开发者视角描述面临的问题)、Solution(从开发者视角给出的解决方案)、Commits(用平实英文写成、尽可能细分的实现计划,每个提交都应让代码库保持可运行状态)、Decision Document(实现决策清单,可含将构建或修改的模块、将被修改的模块接口、开发者的技术澄清、架构决策、Schema 变更、API 契约、具体交互;不要写入具体文件路径或代码片段,因为它们可能很快过时)、Testing Decisions(测试决策,含好测试的说明即只测外部行为而非实现细节、被测模块、测试先例即代码库中类似类型的测试)、Out of Scope(本次重构的范围外事项)、Further Notes(可选,其他备注)。
限制:步骤可按判断跳过;计划中不写具体文件路径与代码片段;资料未提供该技能的具体调用方式、安装命令、收费与平台信息。