用途:在 getsentry/sentry 仓库的大型 Scraps 设计系统迁移 PR 中,把文件分为噪声(机械性变更)与实质变更两类,减少人工审查负担。
主要能力:脚本 classify_pr_files.py 非交互式输出 JSON,包含 total、noise、substantive、marked_viewed、failed_to_mark 统计,以及每个文件的分类与原因。分类原因包括 import-path-only、known-noise-file、pure-rename(噪声),destination-dir、patch-unavailable、has-substantive-changes(实质)。
使用方式:需已认证的 gh 与 uv CLI。接受 PR 编号或完整 URL 作为 $ARGUMENTS,无参数时解析当前分支的 PR。先运行 uv run scripts/classify_pr_files.py [<pr>] 分类,向用户展示噪声与实质文件及原因,保留 approval_token;用户明确批准后运行 uv run scripts/classify_pr_files.py [<pr>] --mark-viewed --approval-token <token> 标记已查看。token 绑定 PR head SHA 与噪声路径集合,变更后需重新批准;标记操作幂等。
适用场景:仅限 getsentry/sentry 的大型 Scraps 迁移 PR,不得用于其他仓库或非此类 PR。
限制:该技能使用 Claude 专用调用元数据与 $ARGUMENTS,在其他 Agent Skills 宿主需手动调用。分类失败时可用 gh pr diff <pr> --repo getsentry/sentry 手动分类,模糊文件按实质处理;标记失败时保持文件不变并报告,不得自行构造 GraphQL 变更或拼接文件名到 shell 命令。除非用户要求,否则不执行实质代码审查。