cpo-reviewer

cpo-reviewer is an agent for Claude Code from archugunov/pm-job-search. It costs 446 tokens per session (2,215 once invoked), scanned A, original, MIT.

A review agent that reads drafts through the perspective of a Chief Product Officer, a senior product leader responsible for strategy, growth, and business results. It reviews strategic thinking rather than mainly correcting wording.

In plain words
What is it for?
Use it to review case studies, take-home assignments, interview-preparation documents, outreach messages, research briefs, and other work that tests product judgment.
Why use it?
It can reveal when a draft lists implementation work without explaining the business reason, scale implications, revenue, or user-retention logic. It is intended to give direct criticism rather than encouragement alone.

Agent for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable. Also seen: model in frontmatter; mentions CLAUDE.md.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the pm-job-search plugin — 13 skills, 6 agents shipped together

Good fit Use it to review case studies, take-home assignments, interview-preparation documents, outreach messages, research briefs, and other work that tests product judgment.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add archugunov/pm-job-search
Claude Code
/plugin install pm-job-search

Made for: Claude Code.

Or install pm-job-search, the plugin that ships this one along with the rest of its 13 skills, 6 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cpo-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/archugunov/pm-job-search/cpo-reviewer/github.svg)](https://agentmods.dev/agents/archugunov/pm-job-search/cpo-reviewer)
Your own site
<a href="https://agentmods.dev/agents/archugunov/pm-job-search/cpo-reviewer"><img src="https://agentmods.dev/badge/agents/archugunov/pm-job-search/cpo-reviewer/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cpo-reviewer

Your own site · 80×15
<a href="https://agentmods.dev/agents/archugunov/pm-job-search/cpo-reviewer"><img src="https://agentmods.dev/badge/agents/archugunov/pm-job-search/cpo-reviewer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 446 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,215 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00446 $0.02215
Opus 5 $0.00223 $0.01107
Sonnet 5 $0.00089 $0.00443
Haiku 4.5 $0.00045 $0.00221

Measured 12d ago against content hash 9b630a5162b4, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

cpo-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugin/agents/cpo-reviewer.md · 147 lines

How it starts

The opening of the file, as written. The whole thing — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a Chief Product Officer reviewing a draft on behalf of the user. You've spent fifteen-plus years building product orgs at Series A through public-company scale, you've made and survived the pricing pivot that almost ended your company, you've shipped 0-to-1 products that crossed a million users and 1-to-10 platforms that doubled ARR. You care about strategy, scale-readiness, business-model coherence, and the judgement behind decisions — not the polish of the artefact.

You are not a copy editor. You are not a cheerleader. The user wants your honest read.

Voice: the four-section review and any chat output follow ${CLAUDE_PLUGIN_ROOT}/TONE.md. The "Drafting tone rules" in /setup Step 4 apply to any rewrite suggestion you propose — past-tense outcomes, no superlatives, no LinkedIn closers.

Coaching philosophy

  • Strategy is subtraction. A draft that lists everything the team did is execution, not strategy.
  • Business model first. PM work that lives only in user-facing improvements without revenue / retention / acquisition logic is incomplete.
  • Honesty over flattery. Soften nothing. The user has other people to validate them; you're here to make the work survive a real CPO conversation.
  • Specificity over generality. Quote the draft. Name what works and what doesn't. Abstract critique is useless.

What you read

  1. userdata/profile.md — context on who's writing. ## Positioning, ## Proof Points, ## Moat. Use to ground the critique (what's the writer's stated POV, and does the draft live up to it?).
  2. The draft file or pasted content — path is passed as input. Quote specific lines in your critique.
  3. userdata/companies/<Company>/*.md if a Company argument is also passed — for context on the role the draft is aimed at (research-brief, prior interview-prep, meta).

If userdata/profile.md is missing, run the review anyway — say so at the top so the user knows the critique isn't profile-grounded.

The lens — what a CPO cares about

Read the full file on GitHub · 147 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 147 lines · 446 tokens per session scan A 9b630a5162b4

Subscribe to this mod's changes

cpo-reviewer is an agent published in the GitHub repository archugunov/pm-job-search (7 stars, last pushed 17d ago), licensed MIT. It adds 446 tokens to every session and 2,215 once invoked, about $0.0022 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other agents, from other repositories

job-worker

Internal per-job worker for JobPilot apply/score loops. The auto-apply, apply, resume, search, and upwork-search skills delegate ONE job to it; it does the heavy browser work in isolated context and returns only a compact JSON result. Not for direct user invocation.

suxrobGM/jobpilot · 60 tokens

networking-worker

Internal per-contact worker for the JobPilot networking skill. Given one target (a job/company or free-text criteria) plus channel config, it discovers a hiring contact (multi-modal web sweep) and composes a humanized message per channel in isolated context, returning only a compact draft JSON. Never saves or sends.…

suxrobGM/jobpilot · 73 tokens

interview-conductor

Conducts adaptive voice elicitation interviews. Presents questions conversationally across 12 thematic modules, manages branching based on writer type, monitors response quality, handles pause/resume, and triggers profile generation on completion. Use when the user wants to start or continue a voice elicitation…

zircote/human-voice · 61 tokens

profile-synthesizer

Synthesizes voice profiles from self-report scores and computational writing analysis. Merges dual outputs using tier-weighted algorithm, computes calibration report, identifies distinctive features, and generates narrative identity summaries. Invoked by the interview conductor after scoring and analysis complete.

zircote/human-voice · 56 tokens

Demonstrate

Agent for demonstrating VS Code features.

microsoft/vscode · 10 tokens

playwright-test-generator

Use this agent when you need to create automated browser tests using Playwright Examples: Context: User wants to generate a test for the test plan item.

microsoft/playwright · 151 tokens