关于 adr
用于创建、审查和维护架构决策记录(ADR)的技能。它通过准备度评估、MADR 起草、质量检查和决策日志管理,引导团队完成 ADR 生命周期。
主要功能
- 01使用 START 检查决策准备度
- 02生成 MADR 模板
- 03审查草稿并识别反模式
- 04使用 ECADR 检查完整性
- 05提供 ADR 日志生命周期指导
适用场景
- 01评估架构决策是否适合记录
- 02使用 MADR 模板起草 ADR
- 03检查 ADR 的完整性与质量
- 04维护被取代决策的日志
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ncklrs/ startup-os-skills --skill adr安装后在 Claude Code 中输入/adr确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
metadata.jsonrules/_sections.mdcompletion-ecadr-criteria.mdcompletion-validation.mdcreation-anti-patterns.mdcreation-madr-template.mdcreation-writing-principles.mdlifecycle-management.mdreadiness-architectural-significance.mdreadiness-start-criteria.md详细介绍
架构决策记录
基于 Olaf Zimmermann 的研究和 MADR(Markdown 架构决策记录)方法论,提供创建和管理架构决策记录的专业指导。
此技能的工作方式
调用此技能后,它会引导你完成 ADR 的整个生命周期:
- 就绪度评估——评估一项决策是否已准备好记录(START 标准)
- 创建——使用 MADR 模板编写结构良好的 ADR,并避免反模式
- 质量评估——使用 ECADR「完成定义」标准检查完整性
- 生命周期管理——维护 ADR 日志、取代过时记录并跟踪决策状态
核心理念
“不要过早做出决策,这会损害灵活性;但也不要太晚做出决策。”
ADR 是决策日志,而不是蓝图或政策。它们记录架构上具有重要意义的选择背后的理由:问题背景、考虑过的替代方案、采用的标准以及接受的后果。优秀的 ADR 是权衡利弊的执行摘要,而不是为预先确定的结果推销。
何时使用此技能
- 为架构决策创建新的 ADR
- 评估一项决策是否已准备好记录
- 检查现有 ADR 的完整性和质量
- 为项目编写或定制 MADR 模板
- 评估某项需求在架构上是否具有重要意义
- 管理 ADR 日志(取代、弃用、关联决策)
- 培训团队掌握 ADR 最佳实践
命令模式
| 参数 | 操作 |
|---|---|
create | 逐步交互式地创建新的 ADR |
review | 根据质量标准评估现有 ADR |
check-ready | 使用 START 标准评估决策就绪度 |
check-done | 使用 ECADR 标准评估 ADR 完整性 |
template | 输出可直接填写的空白 MADR 模板 |
list | 协助整理和维护 ADR 日志 |
| (无参数) | 根据上下文提供一般 ADR 指导 |
MADR 模板(快速参考)
# ADR-NNNN: [Short Title Describing Decision]
## Status
[proposed | accepted | deprecated | superseded by ADR-XXXX]
## Date
YYYY-MM-DD
## Decision Makers
[Who made or approved this decision]
## Context and Problem Statement
[1-3 paragraphs: What is the issue? Why does it matter?
Frame as a question when possible.]
## Decision Drivers
- [Driver 1: quality attribute, business constraint, or technical concern]
- [Driver 2]
- [Driver 3]
## Considered Options
1. [Option A — the chosen option]
2. [Option B]
3. [Option C]
## Decision Outcome
Chosen option: "[Option A]", because [justification referencing decision drivers].
### Consequences
- Good, because [positive consequence]
- Good, because [another benefit]
- Bad, because [accepted tradeoff]
- Bad, because [known limitation]
## Pros and Cons of Options
### Option A
- Good, because [advantage]
- Bad, because [disadvantage]
### Option B
- Good, because [advantage]
- Bad, because [disadvantage]
### Option C
- Good, because [advantage]
- Bad, because [disadvantage]
## Validation
[How will we verify this decision works? Code review, design review,
architectural fitness function, spike, etc.]
## More Information
[Links to related ADRs, RFCs, spikes, or external references.
Note confidence level and planned review date.]
关键框架
START——就绪定义
编写 ADR 前,确认以下五项标准:
- S:利益相关者已明确且可联系
- T:时机已到最负责任的时刻
- A:已确定替代方案(至少两个)
- R:已记录需求和背景
- T:已选定并实例化模板
ECADR——完成定义
将 ADR 标记为已接受前,确认以下五项标准:
- E:有证据表明设计可行
- C:已应用标准比较至少两个替代方案
- A:相关利益相关者已达成一致
- D:已记录并分享文档
- R:已安排实施和评审计划
ASR 测试——架构重要性
符合以下标准的需求需要编写 ADR:
- 对业务有重大影响或风险
- 涉及关键利益相关者的关注事项
- 服务质量偏离当前架构
- 外部依赖不可预测或不可控
- 影响多个组件的横切关注点
- 团队首次实施此类方案
- 过去曾因此类问题产生麻烦
此技能提供的内容
- 使用 START 标准和检查清单进行就绪度评估
- 生成 MADR 模板(完整版和精简版)
- 检测草稿 ADR 中的反模式(已知反模式共 11 种)
- 使用 ECADR 完成定义评估质量
- 评估架构重要性,帮助确定决策优先级
- 提供生命周期指导,帮助长期维护 ADR 日志
评论
支持 Markdown