improve-codebase-architecture
扫描代码库寻找可深化的机会,以可视化 HTML 报告呈现,然后针对你选定的那个进行拷问。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
扫描代码库寻找可深化的机会,以可视化 HTML 报告呈现,然后针对你选定的那个进行拷问。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
通过用户访谈创建一份带有微小提交(tiny commits)的详细重构计划,然后将其作为 GitHub issue 提交。当用户想规划一次重构、创建重构 RFC,或将一次重构拆分为安全的增量步骤时使用。
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
询问哪个技能或流程适合你当前的处境。它是本仓库中各技能的路由器。
从两个轴向审查某个固定点(commit、branch、tag 或 merge-base)以来的变更——Standards(代码是否遵循本仓库记录的编码规范?)和 Spec(代码是否符合源起的 issue/PRD 的要求?)。在并行子智能体中运行两项审查,并把它们并排报告。当用户想审查一个分支、一个 PR、进行中的变更,或要求 "review since X" 时使用。
| name | improve-codebase-architecture |
| description | 扫描代码库寻找可深化的机会,以可视化 HTML 报告呈现,然后针对你选定的那个进行拷问。 |
| disable-model-invocation | true |
浮现出架构上的摩擦点,并提出可深化的机会——把浅模块变成深模块的重构。目标是可测试性与 AI 可导航性。
本命令受项目领域模型的启发,并建立在一套共享的设计词汇之上:
/codebase-design 技能以获取架构词汇(模块、接口、深度、接缝、适配器、杠杆、局部性)及其原则(删除测试、"接口即测试面"、"一个适配器 = 假想接缝,两个 = 真实接缝")。在每一条建议中都精确使用这些术语——不要漂移到"组件"、"服务"、"API"或"边界"。CONTEXT.md 中的领域语言为好的接缝命名;docs/adr/ 中的 ADR 记录了本命令不应重新翻案的决策。先界定范围再扫描——YAGNI。 深化一个模块的回报在于让它未来的改动更容易,所以要对代码库中近期发生变化的部分给予额外的权重。在动手看之前先决定看哪里:
git log --oneline)来找出代码库的热点——那些反复出现的文件和区域——让这些路径首先吸引你的注意力。如果改动分散、没有明显热点,就把网撒得更大。先阅读项目的领域术语表(CONTEXT.md)以及你所触及区域内的任何 ADR。
然后使用 Agent 工具(subagent_type=Explore)来遍历代码库。不要遵循僵硬的启发式规则——有机地探索,并记下你在哪里感到摩擦:
对任何你怀疑是浅的东西施加删除测试:删掉它会集中复杂度,还是只是把复杂度挪个地方?"是,会集中"就是你想要的信号。
写一个自包含的 HTML 文件到操作系统临时目录,这样什么都不会落进仓库。从 $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,当你想要更具编辑感的东西(质量图、剖面图、坍缩动画)时用手工构建的 div/SVG。每个候选项都配一张前后对比可视化。要有视觉表现力。
为每个候选项渲染一张卡片,包含:
Strong、Worth exploring、Speculative 之一,渲染为一个徽章在报告结尾以一个 Top recommendation(首要推荐) 小节收束:你会先着手哪个候选项,以及为什么。
领域方面使用 CONTEXT.md 的词汇,架构方面使用 /codebase-design 的词汇。 如果 CONTEXT.md 定义了"Order",就谈"Order 接收模块"——而不是"FooBarHandler",也不是"Order 服务"。
ADR 冲突:如果某个候选项与既有 ADR 相矛盾,只有当摩擦真实到足以值得重新审视该 ADR 时才把它浮现出来。在卡片中明确标注(例如一个警告标注框:"与 ADR-0007 相矛盾——但值得重启,因为……")。不要罗列某条 ADR 所禁止的每一个理论上的重构。
关于完整的 HTML 脚手架、图表模式和样式指南,见 HTML-REPORT.md。
现在还不要提出接口。文件写好后,问用户:"你想探索这些当中的哪一个?"
一旦用户选定一个候选项,运行 /grilling 技能与他们一起走过决策树——约束、依赖、深化后模块的形态、接缝之后是什么、哪些测试得以存活。
副作用在决策逐渐结晶时就地发生——一边推进一边运行 /domain-modeling 技能让领域模型保持最新:
CONTEXT.md 中的概念来命名深化后的模块? 把该术语加进 CONTEXT.md。如果文件不存在就惰性创建它。CONTEXT.md。/codebase-design 技能,使用它的"设计两遍"并行子 agent 模式。