
utility-pm-critic
Run adversarial review on a PM artifact via the pm-critic sub-agent. Returns findings graded P0/P1/P2/P3 with a concrete fix suggestion per finding and a machine-readable status block. Use after producing a PRD, meeting recap, OKR set, persona, or any PM artifact you want stress-tested before it ships.
- Installs
- 635
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/product-on-purpose/pm-skills --skill utility-pm-critic- 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 utility-pm-critic 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.
PM Critic (Dispatch Skill)
This skill is a cross-client dispatch wrapper for the pm-critic sub-agent. It exists so that users on non-Claude clients can run adversarial review with the same intent as Claude Code users, without depending on native plugin sub-agent infrastructure.
Per master plan D11 (amended) + D30, sub-agents are a Claude Code plugin feature. Non-Claude clients (Codex CLI, Cursor, Windsurf, Copilot, Gemini CLI) cannot natively load agents/pm-critic.md. This skill bridges the gap.
When to Use
- You want adversarial review of a PM artifact (PRD, OKR set, persona, lean canvas, meeting recap, interview synthesis, problem statement, hypothesis, edge case catalog, retrospective, etc.)
- You are running on a non-Claude AI client and the
pm-criticsub-agent is not natively available - You are running on Claude Code and prefer skill-invocation semantics over sub-agent semantics (e.g., for consistency across a multi-step workflow that mixes skills and sub-agent intents)
When NOT to Use
- You want a structural lint / repo-level audit -> use
utility-pm-skill-auditor(audits skills + repo state) instead - You want to author an artifact (this skill only reviews) -> use the appropriate phase skill (deliver-prd, foundation-okr-writer, etc.)
- You want code review -> use a code-review-specific tool (this skill is for PM artifacts)
- You want to enforce style rules like em-dash sweep -> that is
pm-release-conductor's G0 gate, not this 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-critic on the target artifact. Pass the artifact path as argument (or the most recent artifact in session context if no argument is provided). Return the sub-agent's findings to the user. No further action needed from this skill - the sub-agent handles the review natively in its own context window.
If you are running in any other AI client
Codex CLI, Cursor, Windsurf, Copilot, Gemini CLI, ChatGPT, or any other client without native pm-skills plugin sub-agent support:
- Read the canonical sub-agent definition at
agents/pm-critic.md - Execute the system prompt body in that file as your operating instructions for this turn
- Read the target PM artifact specified by the user (path from
$ARGUMENTS, or most recently produced artifact in session) - Read the canonical standards docs referenced by the pm-critic system prompt for the artifact type (e.g.,
skills/foundation-okr-writer/SKILL.mdfor OKR sets,skills/deliver-prd/SKILL.mdfor PRDs) - Produce findings graded P0/P1/P2/P3 with concrete fix suggestions, formatted per the output structure documented in
docs/guides/adversarial-review.md - End the output with the layered structure per master plan D26:
- Section (1): full human-readable findings (the P0/P1/P2/P3 report)
- Section (2):
## Status Summaryin prose, summarizing what was found and what the user should do next - Section (3):
## StatusYAML block with machine-readable fields
Output Format
See references/TEMPLATE.md for the canonical output structure (with the layered Status envelope per D26). See references/EXAMPLE.md for a worked example showing a real cross-client dispatch run against a PRD.
Composition
- Skills: This dispatch skill composes with all PM-artifact-producing skills (deliver-prd, foundation-okr-writer, foundation-meeting-recap, foundation-persona, foundation-lean-canvas, discover-interview-synthesis, etc.). Run any of those, then run this skill on the produced artifact.
- Sub-agents: On Claude Code, this skill dispatches to
pm-criticsub-agent. On non-Claude, this skill IS the inline execution; no further dispatch. - Workflows:
pm-workflow-orchestrator(shipped v2.24.0) can invoke this skill at quality-gate steps for cross-client compatibility.
Cross-Client Notes
See Sub-Agent Compatibility Matrix for the canonical cross-client status of all 4 sub-agents + dispatch skills. Summary for this skill as of v2.16.0: PRODUCTION on Claude Code + Codex CLI; EXPERIMENTAL on Cursor / Windsurf / Copilot CLI / Gemini CLI. Maintainers wanting cross-client confidence on a non-Claude client can re-run the maintainer-gate-testing-codex.md harness on that client.
The "read and execute inline" pattern depends on the AI being able to:
- Read a file path provided as a reference (most AI clients support this)
- Treat that file's content as operating instructions for the current turn (most AI clients support this for SKILL.md-style instructions)
- Read additional referenced standards docs at invocation time (all major AI clients support this)
If any of these are unreliable on a given client, that client cannot use this dispatch skill effectively.
Reference Files
- Canonical sub-agent definition:
agents/pm-critic.md - Behavioral spec:
docs/internal/release-plans/v2.16.0/spec_pm-critic.md - User-facing guide:
docs/guides/adversarial-review.md - Runtime components catalog:
docs/reference/runtime-components.md - Output template:
references/TEMPLATE.md - Worked example:
references/EXAMPLE.md
FAQ
What does the utility-pm-critic skill do?
Run adversarial review on a PM artifact via the pm-critic sub-agent. Returns findings graded P0/P1/P2/P3 with a concrete fix suggestion per finding and a machine-readable status block. Use after producing a PRD, meeting recap, OKR set, persona, or any PM artifact you want stress-tested before it ships.
How do I install utility-pm-critic?
Run npx skills add https://github.com/product-on-purpose/pm-skills --skill utility-pm-critic 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/utility-pm-critic/ (personal) or .claude/skills/utility-pm-critic/ (project).
Which AI agents can use utility-pm-critic?
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 utility-pm-critic 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 utility-pm-critic?
It is published by product-on-purpose in product-on-purpose/pm-skills. It has 635 recorded installs.
More from product-on-purpose/pm-skills
deliver-acceptance-criteria
product-on-purpose/pm-skills
Generates structured Given/When/Then acceptance criteria for a user story or feature slice, covering the happy path, key failure scenarios, and non-functional expectations in testable form. Use when turning requirements into verifiable scenarios for engineering handoff and QA sign-off. For a dedicated catalog of boundary conditions, error states, and recovery paths across a feature, use deliver-edge-cases; to write the stories themselves, use deliver-user-stories.
deliver-prd
product-on-purpose/pm-skills
Creates a comprehensive Product Requirements Document that aligns stakeholders on what to build, why, and how success will be measured. Use when specifying features, epics, or product initiatives for engineering handoff.
deliver-user-stories
product-on-purpose/pm-skills
Generates user stories in the standard persona, action, benefit story format from product requirements or feature descriptions. Use when breaking a feature into stories for sprint planning, writing tickets, or communicating scope to engineering. For testable Given/When/Then acceptance criteria on a story, use deliver-acceptance-criteria; for boundary and failure scenarios, use deliver-edge-cases.
deliver-edge-cases
product-on-purpose/pm-skills
Documents edge cases, error states, boundary conditions, race conditions, and recovery paths for a feature - the systematic catalog of what can go wrong and the failure modes to design for. Use during specification to map the failure surface and ensure comprehensive coverage, or during QA planning to identify boundary and limit scenarios to test. Distinct from deliver-acceptance-criteria, which writes story-level Given/When/Then checks; this skill produces the whole-feature edge-case catalog.
discover-competitive-analysis
product-on-purpose/pm-skills
Creates a structured competitive analysis comparing features, pricing, and positioning across 3-5 direct and indirect competitors, with a 2x2 map and actionable strategic recommendations. Use before entering a market, planning differentiation, or after losing deals. For market size rather than competitor positioning, use discover-market-sizing instead.
define-problem-statement
product-on-purpose/pm-skills
Creates a clear problem framing document with user impact, business context, and success criteria. Use when starting a new initiative, realigning a drifted project, or communicating up to leadership.
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.