
woocommerce-stale-pr-audit
Audit a fixed cohort of inactive WooCommerce pull requests against current trunk, linked issues, review history, repository labels, and representative user flows, then produce evidence-backed actions and a private checklist report. Use for stale or backlog PR cohort reviews, not ordinary single-PR code review.
- Installs
- 41
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/woocommerce/agent-skills --skill woocommerce-stale-pr-audit- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads woocommerce-stale-pr-audit automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
WooCommerce stale PR audit
When to use
Use this skill when a maintainer wants to review a defined cohort of inactive pull requests and decide whether each PR should close, remain open, or receive an owner decision. It covers cohort collection, current-trunk comparison, representative user testing, action recommendations, and a checklist report.
Run the audit read-only. Closing, commenting, labeling, assigning, pushing, or merging are separate actions that require explicit authorization.
Inputs required
Collect these before starting:
- GitHub repository as
owner/name. - Positive whole-number inactivity threshold, such as 60 or 90 days. Use 90 only when the user does not specify one.
- Exact as-of timestamp used to calculate the cutoff.
- Default branch and authoritative remote.
- Required output location and whether private publication is expected.
- Available local test tooling and safe environment capacity.
Calculate cutoff = asOf - inactivityDays and define cohort membership
explicitly. The bundled collector uses open PRs with updatedAt < cutoff.
Procedure
-
Read
references/workflow.mdcompletely. It defines evidence collection, current-trunk comparison, runtime-testing rules, bounded parallel work, checklist persistence, publication, and the mutation boundary. -
Read
references/audit-schema.mdbefore producing records. Use its field contract, enums, and consolidation invariants unchanged across workers. -
Inspect the checkout with
git status --short --branch. Preserve unrelated work and use isolated worktrees for branch inspection and testing. -
Fetch the current default branch and record its full commit SHA.
-
Freeze the cohort:
python3 scripts/collect_cohort.py \ --repo woocommerce/woocommerce \ --inactive-days 60 \ --as-of 2026-08-25T00:00:00Z \ --output work/cohort-raw.jsonPreserve
inactivityDays,asOf,cutoffExclusive, ordered PR numbers, and captured trunk metadata. Do not rewrite membership when PRs later change. -
For every PR, recover its intended outcome, inspect linked issues and discussion, compare the exact change with current trunk and history, assess compatibility risk, classify Bug versus Enhancement using live repository labels, and identify a current reviewer or owning team when it should remain open.
-
Run a representative user flow when the behavior is runnable. Record setup, exact code state, fixtures, user steps, expected and observed results, assertions, teardown, and verified cleanup. Do not call CI, unit tests, source inspection, or a successful build “user testing.”
-
Write one audit record per frozen cohort member. Validate it:
python3 scripts/validate_audit.py \ --cohort work/cohort-raw.json \ --audit work/audit.json \ --labels work/repository-labels.json -
Immediately before reporting, fetch current state:
node scripts/fetch_live_state.mjs \ --repo woocommerce/woocommerce \ --cohort work/cohort-raw.json \ --output work/cohort-live-state.json -
When approval-loss observations matter, fetch authoritative dismissal events:
node scripts/fetch_review_dismissals.mjs \ --repo woocommerce/woocommerce \ --cohort work/cohort-raw.json \ --output work/review-dismissals.json -
Produce a private checklist report. Keep initial audit recommendations, final live GitHub state, and the user's handled state as separate layers. Preserve handled-state choices and user edits when refreshing the artifact.
Verification
-
Cohort count, ordered numbers, threshold, as-of timestamp, and cutoff reconcile.
-
Every cohort PR occurs exactly once in the audit and no extra PR appears.
-
Current-trunk conclusions cite a fetched SHA and concrete evidence.
-
All runnable tests identify the tested code state and verify cleanup.
-
Proposed labels exist in the live repository vocabulary and are not already present; Bug versus Enhancement is explicit.
-
Keep-open and owner-decision records name a reviewer or team with a reason.
-
Recommendation, relevance, priority, complexity, and confidence totals each equal the frozen cohort size.
-
All four packaged copies build successfully:
node shared/scripts/skillpack-build.mjs --clean \ --targets=codex,vscode,claude,cursor \ --skills=woocommerce-stale-pr-audit
Failure modes / debugging
- Cohort changed during the audit: retain the original membership and record the change only in final live state.
- GitHub connection reports more data: paginate it, or mark evidence
incomplete. Never silently treat
first: 100as complete. - The old branch does not run: test current trunk as a control and, when useful, a temporary clean merge or minimal port. Distinguish an obsolete branch from an unresolved user need.
- No representative flow exists: use
not-runnable-obsoleteonly with evidence that the flow or subsystem is gone. Staleness alone is not evidence. - Counts changed after human review: show initial and final counts with their timestamps instead of overwriting history.
- Publication cannot be verified: save the artifact locally and report the access or rendering gap.
Escalation
Ask the maintainer when the cutoff rule, repository scope, linked issue validity, compatibility impact, product ownership, or acceptable test substitute remains ambiguous after source and discussion review. Ask before any external mutation or before increasing local environment concurrency beyond known-safe capacity.
FAQ
What does the woocommerce-stale-pr-audit skill do?
Audit a fixed cohort of inactive WooCommerce pull requests against current trunk, linked issues, review history, repository labels, and representative user flows, then produce evidence-backed actions and a private checklist report. Use for stale or backlog PR cohort reviews, not ordinary single-PR code review.
How do I install woocommerce-stale-pr-audit?
Run npx skills add https://github.com/woocommerce/agent-skills --skill woocommerce-stale-pr-audit in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/woocommerce-stale-pr-audit/ (personal) or .claude/skills/woocommerce-stale-pr-audit/ (project).
Which AI agents can use woocommerce-stale-pr-audit?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is woocommerce-stale-pr-audit safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains woocommerce-stale-pr-audit?
It is published by woocommerce in woocommerce/agent-skills. It has 41 recorded installs.
More from woocommerce/agent-skills
abilities-api-implement
woocommerce/agent-skills
End-to-end implementation playbook for registering WordPress Abilities API capabilities in a WooCommerce extension. Builds on the portable skills in WordPress/agent-skills (wp-abilities-api, wp-abilities-audit, wp-abilities-verify) and adds the Woo-extension scaffolding, conventions, and PR workflow.
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.