用途:按 HikmaAI 格式撰写架构决策记录(ADR),覆盖完整生命周期:Linear 工单、分支、撰写、Obsidian 库、评审、提交、PR。当用户提到 write ADR、architecture decision、ADR 或 decision record 时使用。
主要能力与流程:
- 需求澄清:用 AskUserQuestion 明确决策问题、备选方案、约束与干系人;若用户已给完整需求或说“just write it”可跳过。
- 调研:启动 research-analyst 代理收集既有 ADR、外部参考与代码库现状;HikmaAI 项目需查 Vault 的 Projects/HikmaAI/HLD/、CLAUDE.md 及相关源码。
- 建 Linear 工单:工单号即 ADR 编号,无独立计数器,编号允许空缺。调用 mcp__linear-server__save_issue 前需确认该 MCP 工具在当前会话存在,否则改用 Linear 网页界面。
- 建分支:git checkout -b adr/{NNN}-{kebab-title} main。
- 撰写:复制 adr/TEMPLATE.md 为 adr/ADR-{NNN}-{kebab-title}.md,按模板填写,frontmatter 含 Status、Linear、Obsidian 字段。
- 更新 README.md 的 ADR 索引表。
- 存入 Vault:obsidian create name="Projects/HikmaAI/HLD/ADR-{NNN}-{Title}" content="..." silent,或直接写入 iCloud Obsidian 路径。
- 评审:运行 dx-reviewer 代理检查完整性、清晰度、证据与可执行性;简短 ADR 可自行对照清单评审。
- 提交与 PR:git add、git commit、git push -u origin adr/{NNN}-{kebab-title},再用 gh pr create 创建 PR。
- 更新 Linear 状态为 In Review 并附 PR 链接;合并后置为 Done,ADR 状态改为 Accepted。
状态生命周期:Proposed 对应 Todo,Drafting 对应 In Progress,In Review 对应 In Review,Accepted 对应 Done,Superseded 对应 Canceled。编号规则:新 ADR 用 Linear 工单号,旧 ADR 001-032 保留原号,编号一旦分配不可更改。命名:文件名 ADR-NNN-kebab-title.md,分支 adr/NNN-kebab-title。
风格与限制:不用破折号,结构化对比用表格,API/配置用代码块,核心决策加粗,主要部分用水平线分隔,架构流程用 ASCII 图而非 Mermaid。避免模糊表述、无权衡的选项、笼统后果、缺失上下文、大段文字和时间估算。ADR 为永久记录,准确性优先于速度,每个论断应有代码、文档或基准证据,模糊主题不可跳过细化步骤。
适用场景:需要规范化记录架构决策、并与 Linear、Obsidian、GitHub 流程联动的团队。限制:依赖 Linear MCP 工具、obsidian 技能、dx-reviewer 代理及特定仓库路径,缺失时需按文中回退方式处理;具体收费与平台支持暂未提供。