improve-codebase-architecture
扫描代码库中的深化机会,将候选项整理为可视化 HTML 报告,再围绕用户选择的一项持续追问。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
扫描代码库中的深化机会,将候选项整理为可视化 HTML 报告,再围绕用户选择的一项持续追问。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
使用并行 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”的场景。
通过用户访谈创建一份由微小 commits 组成的详细 refactor plan,并将其提交为 GitHub issue。适用于用户希望规划 refactor、创建 refactoring RFC,或将 refactor 拆分为安全的增量步骤。
从当前对话中提取一份 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 以来的变更”时。
| name | improve-codebase-architecture |
| description | 扫描代码库中的深化机会,将候选项整理为可视化 HTML 报告,再围绕用户选择的一项持续追问。 |
| disable-model-invocation | true |
找出架构摩擦,并提出深化机会(deepening opportunities),通过重构把浅模块变成深模块。目标是提高可测试性和 Agent 对代码库的可导航性。
本命令以项目领域模型为依据,并建立在共享设计词汇之上:
/codebase-design Skill,获取架构词汇(module、interface、depth、seam、adapter、leverage、locality)及相关原则,包括删除测试、“接口就是测试表面”、“一个 adapter 代表设想中的 seam,两个 adapter 才代表真实 seam”。每项建议都必须准确使用这些术语,不能逐渐换成 “component”“service”“API” 或 “boundary”。CONTEXT.md 中的领域语言为良好 seams 提供名称;docs/adr/ 中的 ADR 记录了本命令不应重新争论的既有决策。先读取项目领域术语表 CONTEXT.md,以及当前涉及区域的所有 ADR。
随后使用 subagent_type=Explore 调用 Agent 工具,浏览代码库。不要套用僵硬的启发式规则;应自然探索,并记录自己在哪些位置感受到理解阻力:
对每个可能过浅的对象应用删除测试:删除它会让复杂度集中起来,还是只会把复杂度搬到别处?你需要寻找的是“会重新集中”的情况。
把一个自包含 HTML 文件写入操作系统临时目录,不能让任何产物进入仓库。优先从 $TMPDIR 解析临时目录,失败时使用 /tmp;Windows 使用 %TEMP%。文件名为 <tmpdir>/architecture-review-<timestamp>.html,保证每次运行都生成新文件。为用户打开文件:Linux 使用 xdg-open <path>,macOS 使用 open <path>,Windows 使用 start <path>;同时告知用户绝对路径。
报告使用通过 CDN 加载的 Tailwind 完成布局和样式;当图、流程或序列能够可靠表达结构时,使用通过 CDN 加载的 Mermaid 绘图。Mermaid 可以与手工 CSS / SVG 视觉元素混合使用:调用图、依赖图、序列等图结构适合 Mermaid;质量图、横截面、折叠动画等更具编辑感的表达适合手工 div 或 SVG。每个候选项都要提供一组改造前/改造后可视化。报告应充分使用视觉表达。
每个候选项使用一张卡片展示:
Strong、Worth exploring、Speculative 之一,并以徽章显示报告结尾添加 Top recommendation 一节:说明最值得优先处理的候选项及原因。
领域部分使用 CONTEXT.md 的词汇,架构部分使用 /codebase-design 的词汇。 如果 CONTEXT.md 定义了 “Order”,应写成 “Order intake module”;不要使用 “FooBarHandler”,也不要写 “Order service”。
与 ADR 冲突时: 只有实际摩擦严重到值得重新审视 ADR,才展示与既有 ADR 冲突的候选项。必须在卡片中明确标记,例如警告提示:“与 ADR-0007 冲突——但值得重新讨论,因为……”。不要列出 ADR 在理论上禁止的每一种重构。
完整 HTML 骨架、图示模式和样式指南参见 HTML-REPORT.md。
此时不得提出具体接口方案。文件写完后,询问用户:“你想深入探索其中哪一项?”
用户选择候选项后,运行 /grilling Skill,与用户逐层走完设计决策树:约束、依赖、深化后模块的形态、seam 后面包含什么,以及哪些测试能够保留。
决策一旦清晰,就同步产生副作用。运行 /domain-modeling Skill,在讨论过程中保持领域模型最新:
CONTEXT.md 中尚不存在的概念? 将术语加入 CONTEXT.md。文件不存在时按需创建。CONTEXT.md。/codebase-design Skill,并使用其中“设计两次”的并行子 Agent 模式。