Run a repo-wide cross-cutting governance audit via the pm-skill-auditor sub-agent. Aggregates the enforcing validator suite, re-derives aggregate counters, and surfaces cross-cutting issues no single validator catches, graded P0/P1/P2/P3 with a machine-readable status.
SkillScore68Maintained
Automatic
◆QA & Test Engineering pack
Last verified 8/19/2026
What it changes
Passed 13 of 19 test cases with the skill, and 3 of 19 without it.
Without skill14%
With skill68%
Checks it passed that the model alone missed
passes scope parameter set to changed
passes since-tag parameter set to v2.15.0
passes severity-floor parameter set to P1
and 19 more in the full report
13 fixed2 passed either way6 still failing1 broke
Pass-rate lift
+55 pp
Tokens
+30%
Agent turns
0%
Response time
-54%
Model gemini-3.6-flashMeasured 8/19/2026v215 of 22 cases passed with skill · 19 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 13
Prompt
Where in the repository documentation is the specification for cross-cutting checks defined? Name the target markdown spec file.
What was checked, without and with the skill
Checked
Without skill
With skill
references spec_pm-skill-auditor.md inside the release plans directory
Missed
Passed
case-10 · gemini-3.6-flash · 8/19/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md62 lines3 files
PM Skill Auditor (Dispatch Skill)
Cross-client dispatch wrapper for the pm-skill-auditor sub-agent. Detects runtime; dispatches to the native sub-agent on Claude Code; reads agents/pm-skill-auditor.md and executes inline on non-Claude clients.
When to Use
You need a repo-wide audit pass: all enforcing validators, cross-cutting checks (skill-without-command, sample gaps, family contract orphans, etc.), and aggregate counter re-derivation against declared values in CONTEXT.md + AGENTS.md + README.md
You are running on a non-Claude AI client without native pm-skill-auditor sub-agent support
You are running on Claude Code and prefer skill-invocation semantics (e.g., for chaining inside a workflow that also uses other dispatch skills)
When NOT to Use
You want to review a specific PM artifact (PRD, OKR, persona) -> use utility-pm-critic instead
You want to draft a CHANGELOG entry -> use utility-pm-changelog-curator (ships in Phase 4)
You want to ship a release -> use utility-pm-release-conductor (ships in Phase 5)
You want to FIX issues found in an audit -> the auditor is detection-only; remediation is maintainer judgment or future pm-frontmatter-doctor (v2.17+)
You want a deep, single-skill check against the authoring conventions -> use utility-pm-skill-validate. The auditor goes wide across the catalog; it does not go deep on one skill.
Instructions
Runtime detection step. Determine which AI client is invoking this skill.
If you are running in Claude Code with the pm-skills plugin installed
Invoke @agent-pm-skills:pm-skill-auditor on the repo. Pass any scope arguments from $ARGUMENTS (e.g., --scope changed, --since-tag v2.15.0, --severity-floor P1). Return the sub-agent's audit report to the user.
If you are running in any other AI client
Codex CLI, Cursor, Windsurf, Copilot, Gemini CLI, or any other client without native pm-skills plugin sub-agent support:
Read the canonical sub-agent definition at agents/pm-skill-auditor.md
Execute the system prompt body in that file as your operating instructions for this turn
Run the four-step audit flow:
Step 1: Invoke validators via Bash (prefer bash scripts/pre-tag-validate.sh as canonical entry point)
Step 2: Run cross-cutting checks from the catalog at docs/internal/release-plans/v2.16.0/spec_pm-skill-auditor.md#cross-cutting-check-catalog
Step 3: Re-derive aggregate counters from filesystem and compare to declared values
Step 4: Compose layered output report
Apply scope and severity-floor arguments from $ARGUMENTS
Return the layered output per master plan D26 (full report + Status Summary + Status YAML)