关于 dora-metrics
该 Skill 从本地 Git 历史和 GitHub API 计算四项 DORA 交付绩效指标,并按等级划分结果。它面向工程管理复盘及 Agent 工作流审计,同时指出最弱指标作为改进重点。
主要功能
- 01计算四项 DORA 指标
- 02按 Elite、High、Medium、Low 分类
- 03标出整体等级与瓶颈指标
- 04支持指定时间窗口和分支
- 05输出文本或 JSON 报告
适用场景
- 01开展工程团队季度复盘
- 02比较 AI 参与 PR 前后的失败率
- 03将等级信号传入发布健康门禁
- 04汇总多个窗口的数据绘制趋势图
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ athola/ claude-night-market --skill dora-metrics安装后在 Claude Code 中输入/dora-metrics确认已加载。
附带文件modules/agentic-workflow-signals.mdmodules/thresholds.md
详细介绍
DORA 指标
用途
根据本地 git 历史记录和 GitHub API,计算四项 DORA 交付绩效指标(部署频率、变更前置时间、变更失败率和服务恢复时间)。使用 DORA《State of DevOps》研究中的阈值,将每项指标划分为 Elite、High、Medium 或 Low,并指出最弱的维度,作为下一步改进目标。
适用场景
- 工程管理回顾和季度评审。
- 审核 Agent 工作流(AI 辅助 PR、自动部署)是否提升了速度和稳定性,或在不知不觉中导致退步。
- 将等级信号传入
minister:release-health-gates。
不适用场景
- 需要跟踪故事点燃尽图,而不是基于交付绩效证据来衡量的单团队速度跟踪。
- 没有明确生产分支或发布节奏的代码库;DORA 假设二者明确存在。
工作流
-
使用所需的时间窗口运行辅助脚本:
python3 -m minister.dora_metrics --window 30 --branch main -
阅读输出:每项指标的值、等级分类和瓶颈提示。
-
对于 Agent 工作流审计,使用相同的时间窗口运行两次。一次仅筛选由 AI 编写的 PR(例如,使用
--failure-label ai-bug),一次涵盖所有 PR。比较 CFR 差值。参见modules/agentic-workflow-signals.md。 -
可选择将
--json的输出传入跟踪器,以便将趋势数据与release-health-gates快照一同保存。 -
在查看多个时间窗口或比较 Agent 工作流变更前后的情况时,可选择使用 kuva 绘制趋势图:
# Collect weekly snapshots into a TSV, then plot all four metrics # week<TAB>metric<TAB>value kuva line trends.tsv --x week --y value --color-by metric \ --title "DORA trends (30-day windows)" -o dora-trends.svg # Quick terminal preview without writing a file kuva line trends.tsv --x week --y value --color-by metric --terminalkuva 可从 stdin 或文件路径读取 TSV/CSV。只需安装一次:
cargo install kuva --features cli。无需更改项目源代码。完整的绘图类型参考请参见 kuva。
输入
| 标志 | 默认值 | 含义 |
|---|---|---|
--window | 30 | 测量窗口(天) |
--branch | HEAD | 生产分支 |
--failure-label | bug | 标记生产故障的 GitHub 标签 |
--json | off | 输出 JSON,而非人类可读格式 |
--repo-path | cwd | 代码库目录 |
输出
简短的文本报告或 JSON 负载,包含:
- 每项指标的数值(例如,
4.2/day、2.1 hours、8%)。 - 每项指标的等级(Elite、High、Medium、Low)。
- 总体等级(四项指标中最弱的一项)。
- 瓶颈键,用于标识应重点改进的指标。
等级阈值
完整表格请参见 modules/thresholds.md。简要概述:
| 指标 | Elite | High | Medium | Low |
|---|---|---|---|---|
| DF | >= 1/day | >= 1/week | >= 1/month | < 1/month |
| LT | <= 1 day | <= 1 week | <= 1 month | > 1 month |
| CFR | <= 15% | <= 30% | <= 45% | > 45% |
| TRS | < 1 hour | < 1 day | < 1 week | >= 1 week |
验证
通过在更短的时间窗口内重新运行脚本,并检查 DF 和 LT 是否按预期缩放,确认 DORA 报告真实可靠。对于 CFR 和 TRS,抽查两三个相关的 GitHub issue,并确认每个 issue 上的 bug(或所选)标签正确。
测试
单元测试位于
plugins/minister/tests/unit/test_dora_metrics.py。每个等级边界都会在阈值处进行测试,因此,今后贡献者调整比较运算符(> 与 >=)时,会触发失败,而不是造成静默回归。扩展分类逻辑时,请在阈值处添加新测试。
退出标准
- 已针对请求的时间窗口生成 DORA 报告。
- 四项指标均已划分等级。
- 已指出瓶颈维度。
- 输出可在终端或 PR 评论中阅读。