بنقرة واحدة
improve-codebase-architecture
扫描代码库寻找深化机会,以可视化的 HTML 报告呈现,然后对你选中的方案进行盘问。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
扫描代码库寻找深化机会,以可视化的 HTML 报告呈现,然后对你选中的方案进行盘问。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
一轮一轮地同时询问所有前沿问题,进行无情的盘问。
把你无法独自回答的决策转化为一份问卷,交给别人来填写。
使用并行子代理为一个模块生成多种截然不同的接口设计方案。当用户想要设计 API、探索接口选项、比较模块形态,或提到"设计两次"时使用。
交互式 QA 会话,用户以对话形式报告 bug 或问题,代理负责提交 GitHub Issue。在后台探索代码库以获取上下文和领域语言。当用户想要报告 bug、进行 QA、以对话形式提交 Issue,或提到"QA session"时使用。
通过用户访谈创建包含微小提交的详细重构计划,然后将其提交为 GitHub Issue。当用户想要规划重构、创建重构 RFC,或将重构拆分为安全的增量步骤时使用。
从当前对话中提取 DDD 风格的通用语言(Ubiquitous Language)词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、强化术语体系、创建通用语言,或提到"领域模型"或"DDD"时使用。
| name | improve-codebase-architecture |
| description | 扫描代码库寻找深化机会,以可视化的 HTML 报告呈现,然后对你选中的方案进行盘问。 |
| disable-model-invocation | true |
揭示架构摩擦点并提出深化机会——将浅层 module 转变为深层 module 的重构。目标是可测试性和 AI 可导航性。
本命令参考项目的领域模型,并基于共享的设计词汇:
/codebase-design 技能获取架构词汇(module、interface、depth、seam、adapter、leverage、locality)及其原则(deletion test、"interface 就是 test surface"、"一个 adapter = 假设性 seam,两个 = 真实的")。在每个建议中严格使用这些术语——不要偏离到 "component"、"service"、"API" 或 "boundary"。CONTEXT.md 中的领域语言为好的 seam 提供了命名;docs/adr/ 中的 ADR 记录了本命令不应重新讨论的决策。先确定范围再扫描——YAGNI。 加深一个模块的回报在于使未来对该模块的修改更容易,因此对最近变更的代码区域给予额外权重。在查看之前先决定看哪里:
git log --oneline)来找到代码库的热点——那些反复出现的文件和区域——让这些路径首先吸引你的注意力。如果变更分散,没有明确的热点,就扩大范围。首先阅读项目的领域术语表(CONTEXT.md)以及你将要接触的区域内任何 ADR。
然后使用 subagent_type=Explore 的 Agent 工具遍历代码库。不要遵循僵化的启发式规则——有机地探索,并记录你在哪里遇到了摩擦:
对你怀疑是 shallow 的任何内容应用deletion test:删除它会集中复杂性,还是仅仅移动它?"集中了"就是你想要的信号。
编写一个自包含的 HTML 文件到 OS 临时目录,这样不会在仓库中留下任何文件。从 $TMPDIR 解析临时目录,回退到 /tmp(在 Windows 上为 %TEMP%),并写入 <tmpdir>/architecture-review-<timestamp>.html,这样每次运行都会得到一个新文件。为用户打开它——Linux 上使用 xdg-open <path>,macOS 上使用 open <path>,Windows 上使用 start <path>——并告知用户绝对路径。
报告使用 Tailwind(通过 CDN) 进行布局和样式,并使用 Mermaid(通过 CDN) 绘制图表,在图形/流程/序列能可靠传达结构的地方使用。将 Mermaid 与手工制作的 CSS/SVG 视觉元素混合使用——当关系是图形形状时(调用图、依赖关系、序列)使用 Mermaid,当你想要更具编辑性的效果时(mass 图、截面图、折叠动画)使用手工构建的 div/SVG。每个候选方案都要有前后对比可视化。要有视觉冲击力。
每个候选方案渲染一张卡片,包含:
Strong(强烈推荐)、Worth exploring(值得探索)、Speculative(推测性),渲染为 badge报告以最佳推荐部分结尾:你会先处理哪个候选方案以及原因。
对 CONTEXT.md 使用领域词汇,对架构使用 /codebase-design 词汇。 如果 CONTEXT.md 定义了 "Order",就说 "Order intake module"——而不是 "FooBarHandler",也不是 "Order service"。
ADR 冲突:如果某个候选方案与现有 ADR 矛盾,仅当摩擦确实严重到值得重新审视 ADR 时才提出来。在卡片中明确标注(例如警告提示:"与 ADR-0007 矛盾——但值得重新讨论,因为……")。不要列出 ADR 禁止的每个理论上的重构。
参见 HTML-REPORT.md 获取完整的 HTML 脚手架、图表模式及样式指导。
在写入文件后,先不要提出 interface。 询问用户:"你想探索哪个方案?"
一旦用户选中一个候选方案,运行 /grilling 技能与他们一起遍历决策树——约束条件、依赖关系、deepened module 的形状、seam 背后是什么、哪些测试能够存活。
副作用在决策明确时即时产生——运行 /domain-modeling 技能以保持领域模型的最新状态:
CONTEXT.md 中不存在的概念? 将该术语添加到 CONTEXT.md。如果文件不存在,延迟创建。CONTEXT.md。/codebase-design 技能并使用其 design-it-twice 并行子代理模式。