关于 woocommerce-stale-pr-audit
面向维护者的只读审计技能,用于审查指定范围内不活跃的 WooCommerce 拉取请求。它指导收集请求、与当前主干比较、进行代表性用户测试并形成建议和清单报告,同时将分析与需授权的修改分开。
主要功能
- 01冻结不活跃 PR 范围
- 02对照当前主干审查变更
- 03指导代表性用户测试
- 04验证逐项审计记录
- 05生成清单报告
适用场景
- 01判断过期 PR 应关闭还是保留
- 02根据当前主干审查提议变更
- 03准备维护者决策清单
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ woocommerce/ agent-skills --skill woocommerce-stale-pr-audit安装后在 Claude Code 中输入/woocommerce-stale-pr-audit确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audit-schema.mdworkflow.mdscripts/collect_cohort.pyfetch_live_state.mjsfetch_review_dismissals.mjsvalidate_audit.py详细介绍
WooCommerce 过时 PR 审查
使用时机
当维护者想要审查一组明确界定的非活跃拉取请求,并决定每个 PR 应该关闭、保持打开,还是交由负责人决定时,请使用此技能。此技能涵盖群组收集、与当前主干比较、代表性用户测试、操作建议以及检查清单报告。
以只读方式运行审查。关闭、评论、添加标签、指派、推送或合并都属于单独的操作,需要明确授权。
必需输入
开始前收集以下信息:
- GitHub 仓库,格式为
owner/name。 - 正整数形式的非活跃天数阈值,例如 60 或 90 天。仅当用户未指定时,使用 90 天。
- 用于计算截止时间的准确基准时间戳。
- 默认分支和权威远程仓库。
- 所需的输出位置,以及是否预期进行私有发布。
- 可用的本地测试工具和安全的环境容量。
计算 cutoff = asOf - inactivityDays,并明确界定群组成员资格。随附的收集器会选取 updatedAt < cutoff 的打开 PR。
流程
-
完整阅读
references/workflow.md。 该文件定义了证据收集、与当前主干比较、运行时测试规则、并行工作的范围限制、检查清单持久化、发布以及变更边界。 -
在生成记录前阅读
references/audit-schema.md。 所有工作者均须遵循其中的字段约定、枚举值和整合不变量,不得更改。 -
使用
git status --short --branch检查检出状态。保留无关工作,并使用隔离的工作树检查和测试分支。 -
获取当前默认分支,并记录其完整提交 SHA。
-
冻结群组:
python3 scripts/collect_cohort.py \ --repo woocommerce/woocommerce \ --inactive-days 60 \ --as-of 2026-08-25T00:00:00Z \ --output work/cohort-raw.json保留
inactivityDays、asOf、cutoffExclusive、按顺序排列的 PR 编号以及已捕获的主干元数据。PR 后续发生变化时,不得重写群组成员资格。 -
对每个 PR,找出其预期结果,检查关联的问题和讨论,将确切变更与当前主干及历史进行比较,评估兼容性风险,依据仓库当前标签将其分类为 Bug 或 Enhancement,并在 PR 应保持打开时确定当前审核者或负责团队。
-
当行为可运行时,执行有代表性的用户流程。记录环境准备、准确的代码状态、测试夹具、用户步骤、预期和实际结果、断言、清理步骤以及已验证的清理结果。不得将 CI、单元测试、源码检查或成功构建称为“用户测试”。
-
为冻结群组中的每个成员编写一条审查记录。验证记录:
python3 scripts/validate_audit.py \ --cohort work/cohort-raw.json \ --audit work/audit.json \ --labels work/repository-labels.json -
在报告前立即获取最新状态:
node scripts/fetch_live_state.mjs \ --repo woocommerce/woocommerce \ --cohort work/cohort-raw.json \ --output work/cohort-live-state.json -
当有关审核批准丢失的观察很重要时,获取权威的撤销事件:
node scripts/fetch_review_dismissals.mjs \ --repo woocommerce/woocommerce \ --cohort work/cohort-raw.json \ --output work/review-dismissals.json -
生成私有检查清单报告。将初始审查建议、GitHub 当前最终状态和用户已处理状态保留为不同层次。刷新产物时,保留已处理状态的选项和用户编辑。
验证
-
群组数量、PR 编号顺序、阈值、基准时间戳和截止时间彼此一致。
-
每个群组 PR 在审查记录中恰好出现一次,且没有额外 PR。
-
关于当前主干的结论需引用已获取的 SHA 和具体证据。
-
所有可运行测试均须注明测试所用的代码状态,并验证清理结果。
-
拟添加的标签必须存在于仓库当前词汇表中,且尚未添加;须明确区分 Bug 与 Enhancement。
-
保持打开和交由负责人决定的记录须注明审核者或团队,并说明原因。
-
建议、相关性、优先级、复杂度和置信度的总数均须等于冻结群组的大小。
-
所有四个打包副本均成功构建:
node shared/scripts/skillpack-build.mjs --clean \ --targets=codex,vscode,claude,cursor \ --skills=woocommerce-stale-pr-audit
失败模式 / 调试
- 审计期间群组发生变化: 保留原始成员,并且只在最终实时状态中记录变更。
- GitHub 连接返回了更多数据: 对数据进行分页,或标记证据不完整。切勿默默将
first: 100视为完整结果。 - 旧分支无法运行: 将当前主干作为对照进行测试;必要时,尝试临时干净合并或最小化移植。区分已过时的分支和未解决的用户需求。
- 不存在有代表性的工作流: 只有在有证据表明该工作流或子系统已不存在时,才使用
not-runnable-obsolete。仅仅过时并非证据。 - 人工审核后数量发生变化: 显示初始和最终数量及其时间戳,不要覆盖历史记录。
- 无法验证发布情况: 在本地保存产物,并报告访问或渲染方面的缺口。
升级处理
如果在检查源代码和讨论后,截止规则、仓库范围、关联问题的有效性、兼容性影响、产品归属或可接受的测试替代方案仍不明确,请询问维护者。在进行任何外部变更,或将本地环境的并发度提高到已知安全容量以上之前,也请先行询问。