utility-pm-critic — Claude Code skill: adversarial PM review
Runs adversarial review on a PM artifact through the pm-critic sub-agent. Findings come graded P0/P1/P2/P3 with a concrete fix for each one.
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a claude-codeWhat utility-pm-critic does
The skill takes a PM artifact and puts it through the pm-critic sub-agent. You get a list of findings graded P0/P1/P2/P3, each with a concrete fix suggestion. The output closes with a machine-readable ## Status YAML block, so the next step in a pipeline can pick it up.
It works as a dispatch wrapper. On Claude the skill calls @agent-pm-skills:pm-critic and hands over the artifact path. On other clients — Codex, Cursor, Copilot, Gemini CLI — the sub-agent cannot load natively, so the skill reads agents/pm-critic.md, runs its system prompt as the operating instructions for the turn, then pulls the standards docs for that artifact type.
That read-and-execute-inline pattern is where it can break. It needs a client that reads a file by path, treats the content as instructions, and loads referenced docs at invocation time. If any of those is unreliable on your client, the dispatch fails. As of v2.16.0 the skill is marked PRODUCTION on Claude and Codex CLI, and EXPERIMENTAL on Cursor, Windsurf, Copilot CLI and Gemini CLI — worth testing on your own setup before wiring it into a workflow.
What it helps with
- stress-test a PRD before it goes to the team
- spot weak wording in an OKR set
- check a persona or lean canvas for gaps
- get a concrete fix per finding instead of a vague comment
- run the review in Codex or Cursor, where the sub-agent is not natively available
Example prompts for the agent
- Review
docs/prd-checkout.mdwith utility-pm-critic and list the findings by priority - Run an adversarial review on the OKR set from the latest artifact in this session
- Critique the persona in
personas/enterprise-buyer.mdand give a fix for each finding
How to install utility-pm-critic
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a claude-code2Manually: put the files in place
~/.claude/skills/utility-pm-critic/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/utility-pm-critic/
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a codex2Manually: put the files in place
.agents/skills/utility-pm-critic/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a cursor2Manually: put the files in place
.cursor/skills/utility-pm-critic/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install product-on-purpose/pm-skills utility-pm-critic2Manually: put the files in place
.github/skills/utility-pm-critic/SKILL.md1Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a gemini-cli2Platform CLI
gemini skills install https://github.com/product-on-purpose/pm-skills --path skills/utility-pm-criticManually: put the files in place
.devin/skills/utility-pm-critic/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about utility-pm-critic
How do I install utility-pm-critic in Claude?
Run npx skills add product-on-purpose/pm-skills --skill utility-pm-critic -a claude-code. The skill then lands at ~/.claude/skills/utility-pm-critic/SKILL.md.
What does utility-pm-critic do?
It runs adversarial review on a PM artifact through the pm-critic sub-agent. You get findings graded P0/P1/P2/P3, a fix suggestion for each, and a ## Status block with machine-readable fields.
How is it different from utility-pm-skill-auditor?
utility-pm-skill-auditor audits skill structure and repo state, while this skill reviews PM artifacts such as a PRD or an OKR set. It is not a code review tool either.
Source text
SKILL.md · Apache-2.0
--- name: utility-pm-critic description: 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. license: Apache-2.0 metadata: classification: utility version: "1.0.1" updated: 2026-06-10 category: review frameworks: [triple-diamond] author: product-on-purpose --- <!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 --> # 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-critic` sub-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: 1. Read the canonical sub-agent definition at `agents/pm-critic.md` 2. Execute the system prompt body in that file as your operating instructions for this turn 3. Read the target PM artifact specified by the user (path from `$ARGUMENTS`, or most recently produced artifact in session) 4. Read the canonical standards docs referenced by the pm-critic system prompt for the artifact type (e.g., `skills/foundation-okr-writer/SKILL.md` for OKR sets, `skills/deliver-prd/SKILL.md` for PRDs) 5. Produce findings graded P0/P1/P2/P3 with concrete fix suggestions, formatted per the output structure documented in `docs/guides/adversarial-review.md` 6. 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 Summary` in prose, summarizing what was found and what the user should do next - Section (3): `## Status` YAML 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-critic` sub-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](../../docs/reference/sub-agent-compatibility.md) 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`](../../docs/internal/release-plans/v2.16.0/maintainer-gate-testing-codex.md) harness on that client. The "read and execute inline" pattern depends on the AI being able to: 1. Read a file path provided as a reference (most AI clients support this) 2. Treat that file's content as operating instructions for the current turn (most AI clients support this for SKILL.md-style instructions) 3. 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`](../../agents/pm-critic.md) - Behavioral spec: [`docs/internal/release-plans/v2.16.0/spec_pm-critic.md`](../../docs/internal/release-plans/v2.16.0/spec_pm-critic.md) - User-facing guide: [`docs/guides/adversarial-review.md`](../../docs/guides/adversarial-review.md) - Runtime components catalog: [`docs/reference/runtime-components.md`](../../docs/reference/runtime-components.md) - Output template: `references/TEMPLATE.md` - Worked example: `references/EXAMPLE.md`
© product-on-purpose · Apache-2.0 · product-on-purpose/pm-skills