架构体检扫描仪的口袋版。完整教学见 Lesson 0017; 原文见 SKILL.md、 HTML-REPORT.md。
扫代码库找 deepening opportunity(浅模块加深的候选)→ 写一份临时目录里的 HTML 报告 → 你挑一张卡片 → 面试着把决定落进 CONTEXT.md / ADR。 只体检,不动刀:不碰业务代码,重构交回主流程。
人输入 /improve-codebase-architecture。AI 不会自取:
disable-model-invocation: true +
agents/openai.yaml 的 allow_implicit_invocation: false。
codebase-design(扫描仪 vs 工作台);新想法 → grill-with-docsgit log --oneline 找热点(最近常改的路径优先),太散就放宽。先读 CONTEXT.md + 相关 ADR。派 Explore 子代理有机地走,记摩擦(跳文件、浅模块、为测试抽的纯函数、跨 seam 泄漏、不可测)。可疑浅模块套删除测试:「会集中」才算数。
<$TMPDIR|/tmp|%TEMP%>/architecture-review-<timestamp>.html,open/xdg-open/start 打开。Tailwind + Mermaid 走 CDN,混手绘 SVG。禁止此时设计接口。写完停下问:「Which of these would you like to explore?」
/grilling(约束、依赖、形状、seam 后藏什么、哪些测试活下来),边面试边跑 /domain-modeling 落字。
Strong(emerald)/ Worth exploring(amber)/ Speculative(slate);另加依赖类别标签:in-process · local-substitutable · ports & adapters · mock| 触发 | 动作 |
|---|---|
| 新概念给模块起名 | 术语加进 CONTEXT.md(文件没有就现建) |
| 模糊词被磨清 | 当场更新 CONTEXT.md |
| 有分量理由否决候选 | 提议记 ADR(「免得以后再推荐」);转瞬即逝/不言自明的理由跳过 |
| 想看多种接口 | 跑 codebase-design 的 design-it-twice |
| 动作 | 写/改 |
|---|---|
| Explore | 无(全只读) |
| 报告 | 临时目录 HTML,不进仓库 |
| 面试 | 可能更新/新建 CONTEXT.md;可能新增 ADR(先问) |
| 全程 | 不碰业务代码、不写 issue tracker |
codebase-design(词汇 + design-it-twice)、grilling(面试)、domain-modeling(落字)、Explore 子代理diagnosing-bugs(复盘移交)、triage(架构债)、ask-matt(Codebase health 路由)| 症状 | 改 |
|---|---|
| 扫描不偏向热点 | SKILL.md §1「Scope before you scan」 |
| 用词漂移(component/service…) | SKILL.md 开篇词汇段 + HTML-REPORT.md Tone 节 |
| 报告提前给接口 | SKILL.md §2「Do NOT propose interfaces yet.」 |
| 卡片字段/徽章错 | SKILL.md §2 卡片清单 + HTML-REPORT.md Candidate card |
| 报告写进仓库 | SKILL.md §2 临时目录段 |
| 落字分支走样 | SKILL.md §3 四条分支(含 ADR 门槛) |
| AI 自动启动 | frontmatter + agents/openai.yaml 两道闸门 |