request-refactor-plan
通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | request-refactor-plan |
| description | 通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。 |
当用户希望创建 refactor request 时调用此 skill。按照下列步骤执行;你认为某些步骤没有必要时可以跳过。
请用户详细描述希望解决的问题,并说明可能考虑过的解决思路。
探索仓库,验证用户的判断,并理解 codebase 当前状态。
询问用户是否考虑过其他选项,同时向他们提出其他选项。
围绕实现方案访谈用户。访谈必须非常细致、全面。
确定实现的精确范围。明确计划修改什么,以及明确不修改什么。
在 codebase 中检查相关区域的 test coverage。覆盖不足时,询问用户准备如何测试。
将实现拆成一份由微小 commits 构成的计划。记住 Martin Fowler 的建议:“make each refactoring step as small as possible, so that you can always see the program working.”
创建包含 refactor plan 的 GitHub issue。Issue description 使用以下模板:
从开发者视角描述他们面对的问题。
从开发者视角描述问题的解决方案。
一份篇幅充分、细节完整的实现计划。使用直白英语编写,把实现拆成尽可能小的 commits。每个 commit 完成后,codebase 都必须保持可工作状态。
列出已经作出的实现决策,可以包括:
不要包含具体文件路径或代码片段。它们可能很快过时。
列出已经作出的测试决策,包括:
描述本次 refactor 明确不处理的事项。
与 refactor 相关的其他说明。
使用并行 sub-agents 为一个 module 生成多套差异显著的 interface 设计。适用于用户希望设计 API、探索 interface 选项、比较 module 形态,或提到“design it twice”的场景。
运行交互式 QA session:用户通过对话报告 bugs 或 issues,agent 随后创建 GitHub issues;同时在后台探索 codebase,获取上下文和 domain language。适用于用户希望报告 bugs、开展 QA、通过对话创建 issues,或提到“QA session”的场景。
从当前对话中提取一份 DDD 风格的 ubiquitous language glossary,标出歧义并提出规范术语,保存到 UBIQUITOUS_LANGUAGE.md。适用于用户希望定义 domain terms、建立 glossary、收紧术语、创建 ubiquitous language,或提到“domain model”或“DDD”的场景。
询问当前情境适合使用哪个 Skill 或工作流。本 Skill 是仓库内其他 Skills 的路由入口。
从用户指定的固定点(commit、branch、tag 或 merge-base)开始,从两个维度审查代码变更:Standards 检查代码是否遵守仓库记录的编码规范,Spec 检查实现是否符合原始 Issue、PRD 或规格。两个审查由并行子 Agent 分别完成,再并列汇报。适用于用户希望审查分支、PR、开发中的改动,或要求“审查自 X 以来的变更”时。
用于设计深模块的共享词汇体系。适用于用户希望设计或改进模块接口、寻找深化机会、决定 seam 的位置、提高代码的可测试性或 Agent 可导航性,或其他 Skill 需要使用深模块词汇时。