关于 prepare-regression
用于确定完整软件变更范围并收集审查与安全上下文的准备技能,适合在回归分析前建立封存且可复现的基线。
主要功能
- 01选择并固定 S0/S1 变更边界
- 02冻结变更讨论与审查上下文
- 03查找两个状态下的安全文档
- 04保留源文件与依赖版本
- 05封存准备证据及限制
适用场景
- 01为回归审查准备 PR
- 02确定已合并变更的完整范围
- 03记录缺失前提或收集限制
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ trailofbits/ skills --skill prepare-regression安装后在 Claude Code 中输入/prepare-regression确认已加载。
详细介绍
准备变更
适用场景
输入:PR URL,或仓库加提交/范围,以及注册表分配。 确定目标提交后,遵循项目指南。
不适用场景
相同输入已有经过验证的准备记录;请复用该记录。
准备
- 阅读标准和 文件约定。将完整变更固定为 S0/S1: 提交的父提交或明确范围的基线;对于未合并的 PR,使用合并基点到冻结的 HEAD; 对于已合并的 PR,使用合并提交的第一父提交到合并提交、压缩提交的父提交到压缩提交,或完整的变基提交序列。范围不明确或缺少根基线时,必须阻止准备工作。
- 冻结提交标题/消息,或 PR 标题、正文、讨论、评审和行内评论,并记录 URL 和收集时间。对 API 结果进行分页;记录限制和生命周期。在两个状态中查找安全/威胁模型文档;记录路径或搜索限制。
- 使用
uv run --no-project运行 snapshot.py,传入仓库、S0、S1 和新目录;或者针对特殊源需求使用等效的 Git 命令。保留依赖项/子模块/LFS 的版本。排除后续历史;保持导出内容原样,并在单独副本中构建。 - 编写并密封
prepare.json,其中包含边界说明、冻结的上下文和源材料。如果受阻,保留已收集的证据并说明前置条件。
返回报告
将详细证据保存在密封包中。仅返回:
- 状态:
complete或blocked,须与记录一致。 - 记录:密封的
prepare.json路径,或说明未生成的原因。 - 结果:选定的 S0/S1 和重要的收集限制。
- 阻碍:如果受阻,说明缺少的前置条件或调用方必须采取的操作。
应驳回的托词
- “PR 已合并”:这并不能确定完整的变更边界。
评论
支持 Markdown