arch-checklisted
Install: claude install-skill AgentsMesh/AgentsMesh
# Arch Check —— 架构与实现审查
把架构审查做成与代码审查相同的**操作流程**,而不是一份让人逐条挑刺的清单。核心纪律:**只报有把握、有实质影响的问题;架构审查最常见的失败是"建议加更多抽象"——这本身就是要被滤掉的 AI slop。**
## 调用解析
从用户输入里解析两件事(缺省值见下):
- **范围 (scope)**:目录 / 文件 / PR 号 / 「当前分支变更」。
- **动作**:缺省出��告;`--plan` 出可勾选的重构任务清单;`--fix` 直接应用低风险重构。
**强度恒定**:始终按最高强度审——全部 lens(A–E)、fan-out 并行子 agent、依赖图/环检测、对每条 finding 做对抗式复核。不存在"轻审"模式。
## 两种作用域模式
| 模式 | 何时用 | 审什么 |
|---|---|---|
| **diff(分支变更)** | 在 git 仓库里且用户没给路径 | **当前分支相对基线的全部变更**的架构影响:新概念是否放对位置、职责归属、是否引入新耦合/环、是否把策略硬编码进机制、是否破坏既有不变量 |
| **audit(全量)** | 用户给了目录/文件/模块,或明确要"审整个 X" | 该范围的**完整架构体检**(下方全部维度) |
**diff 范围 = 当前分支相对基线的所有变更**(不是只���未提交的)。取变更集:
```
BASE=$(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD main 2>/dev/null || git merge-base HEAD master)
git diff --stat $BASE...HEAD # 已提交的分支变更
git diff --stat # 叠加未提交的工作区改动
git diff $BASE...HEAD # 完整 diff
```
基线优先级:`origin/main` → `main` → `master` →(都没有则问用户或退回 `HEAD~N`)。在 base/main 分支本身上、无分叉时,退回审未提交改动;仍为空则提示无变更可审。
缺省判定:给了路径 → audit;没给路径、在 git 仓库 → diff(当前分支全部变更);不在仓库且没给路径 → 询问要审的范围。
## 审查 lens(对应 references/,按需加载——不要一次性全读)
审查时**只读当前 lens 对应的 reference 文件**,不要把全部 reference 一次性读进上下文。
| Lens | 关注 | Reference |
|---|---|---|
| **A. 概念建模** | 概念识别/命名、抽象质量、封装、实体关系 | `references/concept-modeling.md` |
| **B. 职责与因果** | 职责划分、机制/策略分离、因果与不变量、属性三分(identity/value/derived) | `references/responsibility-causality.md` |
| **C. 结构与依赖** | 目录结构、模块化、依赖方向、循环依赖 | `references/structure-modularity.md` |
| **D. 经典原则**