mcpField
P
prepare-regression

prepare-regression

github.com/trailofbits测试与质量7.9k164 次安装今天更新
代码仓库

关于 prepare-regression

用于确定完整软件变更范围并收集审查与安全上下文的准备技能,适合在回归分析前建立封存且可复现的基线。

主要功能

  1. 01选择并固定 S0/S1 变更边界
  2. 02冻结变更讨论与审查上下文
  3. 03查找两个状态下的安全文档
  4. 04保留源文件与依赖版本
  5. 05封存准备证据及限制

适用场景

  1. 01为回归审查准备 PR
  2. 02确定已合并变更的完整范围
  3. 03记录缺失前提或收集限制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/trailofbits/skills --skill prepare-regression

安装后在 Claude Code 中输入/prepare-regression确认已加载。

详细介绍

准备变更

适用场景

输入:PR URL,或仓库加提交/范围,以及注册表分配。 确定目标提交后,遵循项目指南。

不适用场景

相同输入已有经过验证的准备记录;请复用该记录。

准备

  1. 阅读标准和 文件约定。将完整变更固定为 S0/S1: 提交的父提交或明确范围的基线;对于未合并的 PR,使用合并基点到冻结的 HEAD; 对于已合并的 PR,使用合并提交的第一父提交到合并提交、压缩提交的父提交到压缩提交,或完整的变基提交序列。范围不明确或缺少根基线时,必须阻止准备工作。
  2. 冻结提交标题/消息,或 PR 标题、正文、讨论、评审和行内评论,并记录 URL 和收集时间。对 API 结果进行分页;记录限制和生命周期。在两个状态中查找安全/威胁模型文档;记录路径或搜索限制。
  3. 使用 uv run --no-project 运行 snapshot.py,传入仓库、S0、S1 和新目录;或者针对特殊源需求使用等效的 Git 命令。保留依赖项/子模块/LFS 的版本。排除后续历史;保持导出内容原样,并在单独副本中构建。
  4. 编写并密封 prepare.json,其中包含边界说明、冻结的上下文和源材料。如果受阻,保留已收集的证据并说明前置条件。

返回报告

将详细证据保存在密封包中。仅返回:

  • 状态:complete 或 blocked,须与记录一致。
  • 记录:密封的 prepare.json 路径,或说明未生成的原因。
  • 结果:选定的 S0/S1 和重要的收集限制。
  • 阻碍:如果受阻,说明缺少的前置条件或调用方必须采取的操作。

应驳回的托词

  • “PR 已合并”:这并不能确定完整的变更边界。

评论

支持 Markdown