关于 pr-retro
pr-retro 是只读的分支分析工作流,用于比较功能分支与基线并评估合并准备情况。它依据 Git 数据计算指标、扫描常见审查问题,并可保存 JSON 快照。
主要功能
- 01计算分支与变更指标
- 02汇总贡献者和热点文件
- 03扫描提交前常见问题
- 04评估合并准备信号
- 05标准模式下保存 JSON 快照
适用场景
- 01检查分支规模与变更集中度
- 02在提交拉取请求前查找规范问题
- 03根据分支数据评估合并准备情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ulpi-io/ skills --skill pr-retro安装后在 Claude Code 中输入/pr-retro确认已加载。
附带文件references/retro-metrics.md
详细介绍
不可妥协的规则:
- 验证当前分支是功能分支,且相对于基准分支确实有提交。
- 指标必须从 git 数据计算,绝不可估算。
- 只有在完整完成指标计算和自我审查后,才能给出结论。
- 对代码和 git 状态保持只读;唯一允许的写入是 JSON 快照。
- 将详细的指标表、扫描模式和 JSON 架构放在参考资料中,不要在每次调用时都内联提供。
PR 回顾
输入
$request:可选标志或指导,例如--quick或--base <branch>
目标
生成可信的分支回顾,内容包括:
- 衡量分支的实际差异
- 找出贡献者和热点
- 扫描常见的 PR 提交前遗留项
- 通过明确信号评估合并就绪情况
- 可选地将 JSON 快照保存到
.history/pr-retros/下
步骤 0:确定模式和分支范围
确定:
- 请求使用标准模式还是
--quick - 是否指定了自定义基准分支
- 当前分支名称
- 当前分支是否为功能分支
- 相对于基准分支是否存在提交
以下情况应提前停止:
- 当前位于
main、master或develop分支 - 相对于基准分支不存在提交
使用 references/retro-metrics.md 中的基准分支解析规则和模式行为说明。
成功标准:明确回顾模式和审查基准,并且有真实的分支数据可供分析。
步骤 1:收集原始分支数据
收集回顾所需的原始 git 数据:
- 包含作者和时间戳的提交列表
- 每次提交的统计信息
- 机器可读的 numstat
- 汇总差异统计
- 分支分歧信息
规则:
- 优先使用原始 git 输出,而非文字描述或推断
- 如果无法根据收集的数据得出某项指标,应明确说明
- 不要跳过此步骤直接给出结论
成功标准:所有后续指标都能从收集到的分支数据中推导出来。
步骤 2:计算分支指标
根据原始数据计算核心分支指标:
- 提交总数
- 贡献者
- 变更文件数
- 新增行数
- 删除行数
- 净代码行数
- 测试代码行数占比
- PR 规模类别
- 分支存续时间
- 基准分支漂移
- 聚焦度得分
- 工作会话数和时间线
如果处于 --quick 模式,则在计算出仪表板级指标和结论所需输入后停止。
查阅 references/retro-metrics.md,了解:
- 指标公式
- PR 规模分档
- 聚焦度得分规则
- 会话识别规则
成功标准:每项展示的指标都源自具体的 git 数据。
步骤 3:分析贡献者、热点和代码卫生
构建分支健康状况视图:
- 贡献者构成
- 提交类型分布
- 热点文件
- WIP/fixup 或薄弱提交消息等代码卫生信号
规则:
- 根据提交数据归属作者,不要使用本地 git 配置
- 将 conventional-commit 合规性视为一项指标,而非道德评判
- 使用热点分析说明风险集中情况,不要据此暗示存在 bug
成功标准:回顾说明了哪些人修改了哪些内容,以及分支的改动集中在哪里。
步骤 4:运行自我审查扫描
使用 references/retro-metrics.md 扫描分支差异中的:
- 硬编码的密钥
.only测试标记- 冲突标记
- 调试语句
- TODO 或 FIXME 遗留项
- 注释掉的代码
- 大型文件新增项
- 二进制文件
- 值得注意的配置变更
规则:
- 输出中绝不包含实际的密钥值
- 区分
BLOCK、WARN和INFO - 这不是完整的安全审计;应将其作为评估合并就绪情况的依据
成功标准:回顾捕捉到会影响合并就绪情况的分支代码卫生问题。
第 5 步:确定是否已准备好合并
评估已配置的信号:
- 卫生状况
- 规模
- 测试比例
- 专注度
- 自我审查发现
- 偏离情况
然后给出:
GREENYELLOWRED
为每个非绿色信号生成建议。
加载 references/retro-metrics.md,查看判定规则和信号阈值。
成功标准:判定符合文档中的信号规则,且可根据指标加以说明。
第 6 步:呈现输出并保存快照
始终呈现仪表盘摘要。
在标准模式下,还要呈现:
- 贡献者
- 提交类型明细
- 热点
- 自我审查发现
- 时间分布
- 建议
在标准模式下,将 JSON 快照保存到:
.history/pr-retros/<branch-slug>.json
在 --quick 模式下跳过快照。
使用 references/retro-metrics.md 查看:
- 输出章节
- JSON 架构
- 分支 slug 规则
成功标准:复盘输出内部一致,且仅在适当情况下写入快照。
防护措施
- 不得捏造指标。
- 不得更改代码或 Git 状态。
- 不要添加
disable-model-invocation;用户要求分析分支时,此技能应仍可调用。 - 不要添加
paths:;这是通用工作流技能。 - 不要在
SKILL.md中内嵌指标表、信号阈值和 JSON 架构。 - 存在阻塞性发现时,不得给出
GREEN判定。
何时加载参考资料
references/retro-metrics.md用于查看指标公式、信号阈值、自我审查扫描模式、输出布局和 JSON 快照架构。
输出约定
报告:
- 分支和基准分支
- 关键仪表盘指标
- 总体判定和各信号状态
- 值得关注的发现和建议
- 写入快照时的快照路径,或明确说明在快速模式下已跳过