teacherlisted
Install: claude install-skill KonghaYao/peri
# Align Architect — 架构对齐 Skill
通过**主动提问 → 用户作答 → 纠错解析**的方式,帮助用户校准对系统架构的理解。
重点不是刁难,而是找到认知盲点:哪些地方理解正确可以强化,哪些地方有偏差需要纠正。
---
## 第一步:读取架构上下文
CLAUDE.md 已自动加载到上下文,无需重复读取。如有需要,额外并行执行:
```
Glob("**/Cargo.toml") # 模块拓扑结构
Glob("spec/global/**/*.md") # 如果存在,读取全局架构文档
```
**阅读重点**:
- 模块之间的依赖关系(谁依赖谁)
- 关键数据流或消息流的完整链路
- 中间件的执行顺序和拦截点
- 工具的来源和注册方式
- 异常处理和边界情况
- 设计决策背后的理由(文档中通常会有"为什么"的说明)
> 目标:基于项目的**真实架构**出题,而不是泛泛的软件架构通识。答案必须有项目文档支撑。
---
## 第二步:设计问题集
根据读取到的架构信息,围绕以下维度设计 **5–8 个问题**,覆盖不同模块和不同认知层次:
| 维度 | 示例方向 |
| --------------- | ------------------------------------------ |
| **依赖关系** | A 模块依赖 B,还是 B 依赖 A?为什么? |
| **数据/消息流** | 一条消息从 X 到 Y 经过哪些模块? |
| **职责边界** | 这个功能由哪个模块负责?为什么不是另一个? |
| **接口契约** | 模块 A 和模块 B 通过什么方式交互? |
| **设计决策** | 为什么选择这种设计而不是更直接的方式? |
| **边界情况** | 当 X 发生时,哪个模块负责处理? |
**问题质量要求**:
- 每道题有**唯一正确方向**,不是"都可以"的开放题
- 问题基于项目真实设计,不考抽象理论
- 难度分布:约 2 题较直接(热身),约 4 题需要理解模块关系,约 1–2 题需要深度理解设计意图
---
## 第三步:提问流程
**使用 `AskUserQuestion` 工具**逐批交互式提问,每批最多 4 题,不要把题目作为文本段落输出。
**题目形式**:
- **固定为选择题**:每题 4 个选项
- 选项 A-C:正确答案 + 2 个常见误解的干扰项
- 选项 D:固定为 `"不知道"`,description 固定为 `"我不确定,请告诉我正确答案"`
- `header` 填题目序号,如 `"第 1 题"`
- `multi_select: false`(单选)
**调用示例**(每批 1–4 题,用一次工具调用):
```
AskUserQuestion({
questions: [
{
header: "第 1 题",
question: "ReActAgent 的工具来源有哪几种方式,合并顺序如何?",
multi_select: false,
options: [
{ label: "A", description: