hooks — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited hooks (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<a id="readme-top"></a>
<h1 align="center"> <a href="https://github.com/product-on-purpose/pm-skills">PM-Skills</a> </h1>
<h4 align="center">A curated library of 68 best-practice, plug-and-play product management skills covering the complete product lifecycle - plus templates, workflows, and 95+ real-world sample outputs that set the quality bar.</h4>
<p align="center"> <a href="https://github.com/product-on-purpose/pm-skills/issues/new?labels=bug">Report a Bug</a> · <a href="https://github.com/product-on-purpose/pm-skills/issues/new?labels=enhancement">Request a Feature</a> · <a href="https://github.com/product-on-purpose/pm-skills/discussions">Ask a Question</a> </p>
<p align="center"> <img src="https://img.shields.io/badge/Status-Active-success?style=flat-square" alt="Project Status: Active"> <a href="https://github.com/product-on-purpose/pm-skills/blob/main/LICENSE"> <img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square" alt="License"> </a> <a href="https://github.com/product-on-purpose/pm-skills/releases"> <img src="https://img.shields.io/badge/version-2.29.1-blue.svg?style=flat-square" alt="Version"> </a> <a href="#the-skill-library"> <img src="https://img.shields.io/badge/skills-68-brightgreen.svg?style=flat-square" alt="Skills"> </a> <a href="https://agentskills.io/specification"> <img src="https://img.shields.io/badge/spec-agentskills.io-orange.svg?style=flat-square" alt="Agent Skills Spec"> </a> <a href="https://skills.sh/product-on-purpose/pm-skills"> <img src="https://img.shields.io/badge/skills.sh-install-6f42c1.svg?style=flat-square" alt="Install via skills.sh"> </a> <a href="CONTRIBUTING.md"> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome"> </a> </p>
<p align="center"> <a href="https://github.com/product-on-purpose/pm-skills/stargazers"> <img src="https://badgen.net/github/stars/product-on-purpose/pm-skills" alt="Stars"> </a> <a href="https://github.com/product-on-purpose/pm-skills/network/members"> <img src="https://badgen.net/github/forks/product-on-purpose/pm-skills" alt="Forks"> </a> <a href="https://github.com/product-on-purpose/pm-skills/issues"> <img src="https://badgen.net/github/open-issues/product-on-purpose/pm-skills" alt="Open Issues"> </a> <a href="https://github.com/product-on-purpose/pm-skills/graphs/contributors"> <img src="https://badgen.net/github/contributors/product-on-purpose/pm-skills" alt="Contributors"> </a> <a href="https://github.com/product-on-purpose/pm-skills/commits/main"> <img src="https://badgen.net/github/last-commit/product-on-purpose/pm-skills" alt="Last Commit"> </a> </p>
<p align="center"> <a href="https://github.com/product-on-purpose/pm-skills-mcp"> <img src="https://img.shields.io/badge/MCP_Server-maintenance%20mode-yellow.svg?style=flat-square" alt="MCP Server: Maintenance Mode"> </a> </p>
<p align="center"> <a href="#the-big-idea">About</a> • <a href="#installation-and-setup">Install</a> • <a href="#the-skill-library">Skills</a> • <a href="#sub-agents">Sub-Agents</a> • <a href="#workflows">Workflows</a> • <a href="#learning-and-resources">Learning</a> • <a href="#project-status">Status</a> • <a href="#contributing">Contributing</a> • <a href="#community">Community</a> </p>
<details> <summary><strong>Table of Contents</strong></summary>
</details>
After installing, you'll have all 68 skills available (invoke any by name, like /pm-skills:deliver-prd, /pm-skills:define-hypothesis, /pm-skills:deliver-user-stories) plus 10 /workflow-* orchestrator commands and the /chain ad-hoc runner, templates, sub-agents, and 95+ sample outputs.
Claude Code (recommended):
/plugin marketplace add product-on-purpose/agent-plugins
/plugin install pm-skills@product-on-purposeAlready installed via the old pm-skills-marketplace? It keeps working - no action needed. To move to the new home, see the v2.21.0 release notes.Cross-agent (Cursor, Copilot, Cline, and others via the open [skills CLI](https://github.com/vercel-labs/skills)):
npx skills add product-on-purpose/pm-skillsClone or download:
git clone https://github.com/product-on-purpose/pm-skills.gitMore resources:
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<details> <summary><strong>MCP Server: Maintenance Mode (effective 2026-05-04)</strong></summary>
The companion pm-skills-mcp server is in the v2.9.x maintenance line (latest v2.9.3) and remains available on npm for clients that need MCP transport. The catalog is frozen at the v2.9.2 build; subsequent v2.9.x patches do not change the catalog. Active development on the MCP server is paused; security patches and critical bug fixes will continue.
Recommendation: For new users, we recommend using the plugin. See Installation and Setup for other options.
</details>
What's New
<!-- count-exempt:start -->
<details> <summary><strong>v2.29.1 - Maintenance: skill docs pages no longer drop sections</strong></summary>
What changed. A documentation patch with no skill behavior change (catalog stays 68 skills / 6 sub-agents). The docs-site generator built each skill page from a fixed list of section names and silently dropped the rest, so about 27 of 68 pages shipped hollow (missing their method) - most visibly foundation-build-risk-review. The generator now renders every SKILL.md section verbatim, and a new output-based check-skill-page-sections CI gate fails the build if any section is dropped, so it cannot recur. PATCH.
Get started. v2.29.1 release notes
</details>
<details> <summary><strong>v2.29.0 - New skill: build risk review (pre-build gate) + a key-free router</strong></summary>
What changed. Two additions grow the catalog from 67 to 68 (foundation 10 to 11) and the sub-agents from 5 to 6. foundation-build-risk-review is a fast pre-build / feature-scope risk gate: given an idea, a feature request, or a scope change, it names the single assumption most likely to make the work fail and returns a verdict (build small, validate first, pivot first, or don't build yet) with a no-code validation step, then routes to the next skill. pm-skill-router is a key-free router sub-agent that makes the new-skill collision gate and the trigger router-eval runnable on the subscription with no API key. Additive MINOR; no change to existing skills' behavior.
Get started. v2.29.0 release notes
</details>
<details> <summary><strong>v2.28.0 - New skill: stakeholder briefings (1-to-N audience fan-out)</strong></summary>
What changed. One new foundation skill, foundation-stakeholder-briefings, grows the catalog from 66 to 67 (foundation 9 to 10). It turns any source artifact (a spec, discovery synthesis, research, GTM plan, experiment results, or a retro) into one canonical master document plus a set of audience-tailored briefings - one per stakeholder lens (executive, board, engineering, UX, PMM, sales, CS, legal, data, or a custom audience). Every briefing is a traceable projection of the master (it cites the master claim IDs it draws on and carries exactly one ask), so the versions never quietly disagree. Additive MINOR; no change to existing skills.
Get started. v2.28.0 release notes
</details>
<details> <summary><strong>v2.27.1 - Maintenance: classification sub-count drift gate</strong></summary>
What changed. A maintenance patch with no skill behavior change (catalog stays 66). The count-consistency CI gate now polices the four per-classification / per-phase skill sub-counts (phase, foundation, utility, tool) against their frontmatter source of truth, so a stale "10 utility skills" or "Foundation Skills (9)" fails CI like a stale total - closing the gap that let the classification split drift on a published page until a v2.27.0 hand audit caught it. The change is additive (the total-count check is unchanged); historical point-in-time mentions use word-form numbers or count-exempt ranges. Three stale sub-counts the new gate surfaced are fixed.
Get started. v2.27.1 release notes
</details>
<details> <summary><strong>v2.27.0 - Provable quality: trigger evals, generated catalog surfaces, eval-ready skill creation</strong></summary>
What changed. The provable-quality release - no new skills (catalog stays 66), just the machinery that makes quality verifiable and regression-protected. Trigger-accuracy evals (M-31): every measured skill carries labeled evals/trigger-fixtures.json; a controlled router eval scores per-skill recall/precision against a committed baseline; new CI gates fail on routing drift or a new-skill collision. Derived surfaces (M-32): skill-manifest.json and the AGENTS.md catalog are generated from frontmatter behind enforcing staleness gates, retiring the hand-sync drift class. Output-quality evals (M-33): the harness, six family rubrics, the unit-tested aggregation + verdict module, a three-arm informed control, and the asset-presence gate ship (per-skill results stay internal evidence). The creator/validator family (utility-pm-skill-builder / utility-pm-skill-validate 1.1.0) now bakes the eval contract into skill creation, and the reciprocal-boundary-pointer gate is enforcing.
Get started. v2.27.0 release notes
</details>
<details> <summary><strong>v2.26.0 - Authoring + quality: /chain ad-hoc runner, workflow builder, 26-skill convergence</strong></summary>
What changed. Two new authoring surfaces close the try-then-keep loop. The `/chain` command runs any ad-hoc ordered skill sequence (/chain deliver-prd -> deliver-user-stories <context>) through the existing pm-workflow-orchestrator engine, checkpointed by default, with the grammar written once as the Mode B Chain Expression Contract; no new engine, no new skill. The new `utility-pm-workflow-builder` skill (catalog 65 to 66) turns a proven chain or a fresh idea into a staged draft workflow packet (workflow file + command + promotion checklist) for human review. The quality-convergence effort completed: all 26 original-generation skills now carry "When NOT to Use" boundary pointers and enumerated output contracts, with zero instruction rewrites and zero template changes. The orchestrator's native delegation path was live smoke-tested on the installed plugin before tagging (recorded PASS; the procedure is now a repeatable runbook).
Get started. v2.26.0 release notes
</details>
<details> <summary><strong>v2.25.2 - Maintenance: validator-inventory manifest + parity gate, closes the Codex audit</strong></summary>
What changed. A maintenance patch that resolves the remaining 2026-06-06 Codex audit items and hardens the release gate; no new skills (catalog stays 65). Adds a single validator-inventory manifest (scripts/validation-manifest.yaml) and an enforcing CI parity referee (scripts/check-validator-parity.mjs), so the bash, PowerShell, and CI validator inventories can no longer drift; reconciles a live drift it caught (two validators enforcing in CI but missing from both local bundles); extends the root-doc-link checker to source files; promotes the em-dash-scar guard to enforcing (now multi-backtick aware); and corrects the CLAUDE.md "internal notes are gitignored" claim. A Codex adversarial review of the release ran first; its findings were resolved before tagging.
Get started. v2.25.2 release notes
</details>
<details> <summary><strong>v2.25.1 - Maintenance: docs-site Pattern S, resource index, em-dash-scar cleanup + CI guards</strong></summary>
What changed. A maintenance patch that banks accumulated untagged work since v2.25.0; no new skills (catalog stays 65). The documentation site moved to the Product on Purpose family layout (Pattern S) with full family-standard conformance; a generated, CI-gated resource index (docs/RESOURCES.md) now links every published page to its source; root-document links left by the relocation were repaired and an enforcing CI guard added; residual em-dash-sweep . scars were swept to - across user-facing and internal prose, with new advisory and enforcing guards to keep them out; three site dependencies were bumped; and the PowerShell pre-tag validator bundle was reconciled with the bash and CI inventory. No behavior change and no published-URL change.
Get started. v2.25.1 release notes
</details>
<details> <summary><strong>v2.25.0 - Activation and trust layer: the plugin's first hooks</strong></summary>
What changed. Adds the plugin's first hooks plus an advisory output-quality CI tier; no new skills (catalog stays 65). Opt-in house-rule guardrails (F-43): a PreToolUse hook that blocks em-dash and en-dash characters when you enable guardrails: true in .claude/pm-skills.local.md (placeholder and metric checks warn, never block). Confident-only phase router (F-44): a SessionStart hook that, only when a repo signal is strong (a phase-named branch or a recognized artifact), suggests the right Triple Diamond skills for where you are; it stays silent otherwise. Output-quality eval harness (M-30): three deterministic invariant validators over the recorded samples (no placeholders, exact-quote sourcing, no fabricated metrics), wired advisory in CI. The hooks are dependency-free and fail open. Additive minor; nothing existing was removed.
Get started. v2.25.0 release notes
</details>
<details> <summary><strong>v2.24.0 - Plan orchestrator: run a prioritized action plan end to end</strong></summary>
What changed. Ships the pm-workflow-orchestrator sub-agent (the fifth) and its cross-client dispatch skill utility-pm-workflow-orchestrator (utility): a governed runner that takes a saved foundation-prioritized-action-plan (or a user-named chain) and runs an ordered sequence of pm-skills against it, pausing for human go/no-go by default and refusing to advance past a failed or empty step. The plan skill foundation-prioritized-action-plan moves to v1.1.0, gaining an optional --run handoff that offers to run its own runnable prompts through the orchestrator. The catalog grows to 65 skills (utility 10 to 11; foundation unchanged at 9); sub-agents go 4 to 5. The orchestrator ships EXPERIMENTAL on all non-Claude clients, and the native sub-agent-to-skill path ships EXPERIMENTAL until a live smoke test. Additive minor; nothing existing was removed.
Get started. v2.24.0 release notes
</details>
<details> <summary><strong>v2.23.0 - New skill: prioritized action plan</strong></summary>
What changed. One new foundation skill, foundation-prioritized-action-plan, turns any PM input (notes, transcripts, drafts, executive asks, raw situations) into one evidence-grounded prioritized action plan: the critical next effort plus follow-ons, each with why, what, how, confidence, and source. Theory of Constraints ranks by the single binding constraint; Cynefin caps plan confidence (probes for Complex, stabilization for Chaotic). A source ledger is built before analysis and every claim cites an exact input quote, so it refuses High-confidence plans for uncertain situations. The catalog grows to 64 skills; additive minor, nothing existing changed.
Get started. v2.23.0 release notes
</details>
<details> <summary><strong>v2.22.0 - One menu entry per skill + native Codex support</strong></summary>
What changed. Each skill used to appear twice in the / menu (its full name plus a short command wrapper). The 63 wrappers are removed, so each capability now appears once, as the skill. Separately, a native .codex-plugin/plugin.json is added so Codex discovers the skills (it previously reported "No plugin skills"). All 63 skills are unchanged; only the redundant wrapper layer is gone (commands 73 to 10, keeping the 10 /workflow-*). If you saved a short command like /pm-skills:okr-writer, use the skill's full name (/pm-skills:foundation-okr-writer). Shipped as a minor.
Get started. v2.22.0 release notes
</details>
<details> <summary><strong>v2.21.0 - Marketplace Launch (additive)</strong></summary>
What changed. pm-skills is now published through the new product-on-purpose marketplace, a single home for multiple Product on Purpose plugins. This is a distribution change only: your skills, commands, and their behavior are identical (catalog stays 63; 73 commands). The previous install path keeps working, so existing installs need no action; the new marketplace is simply the recommended home going forward. Shipped as a minor because nothing you rely on was removed.
Get started. v2.21.0 release notes
</details>
<details> <summary><strong>v2.20.0 - Sprint Workflow Commands + Validation Hardening</strong></summary>
What changed. The three workshop methodologies are now single slash commands: /workflow-foundation-sprint, /workflow-design-sprint, and /workflow-foundation-to-design chain their per-day sprint skills end-to-end (slash commands 70 to 73; no new skills, catalog stays 63). Under the hood the gate got stricter: the command-sync validator now requires every advertised /workflow- command to have a real file, and the count-consistency validator now catches stale counts in table, parenthetical, and "N command files" phrasings (not just "N commands") - which surfaced and fixed count drift across several reference docs. The near-vestigial bundle-terminology validator was removed.
Get started. v2.20.0 release notes
</details>
<details> <summary><strong>v2.19.0 - Pre-Promotion Hardening</strong></summary>
What changed. Nothing you use behaves differently - no new skills, no changed commands, the catalog stays at 63. What improved is trust. The library's automated checks now catch the defect classes that slipped past CI in v2.18.0 and previously needed a human to spot: stale counts on the docs site, references to skills that do not exist, and dead internal links. Under the hood that means a new cross-reference validator, .mdx count scanning, same-page anchor validation (23 pre-existing breaks fixed), an enforced version badge, pinned line endings, an honestly-scoped local validator bundle, and a branded 404 page. This is the hardening pass before pm-skills is actively promoted, so anyone adopting it can rely on the catalog staying internally consistent.
Get started. v2.19.0 release notes
</details>
<details> <summary><strong>v2.18.0 - Highest-Consensus PM Skill Gaps</strong></summary>
What changed. Four new phase skills close the highest-consensus PM gaps: market-sizing (TAM/SAM/SOM via multi-framework triangulation), prioritization-framework (RICE, ICE, MoSCoW, Weighted Scoring, and Kano run in parallel with a cross-framework comparison), journey-map (stages, touchpoints, emotional curve, and moments of truth), and survey-analysis (honest analysis with explicit limitation warnings). The catalog grows from 59 to 63 skills; each new skill refuses to fabricate data and labels confidence honestly.
Get started. v2.18.0 release notes
</details>
<details> <summary><strong>v2.17.0 - Native Sub-Agent Registration</strong></summary>
What changed. The 4 sub-agents now register natively on Claude Code: their definitions moved to the canonical agents/ directory, so @pm-critic (and the other three) auto-discover and dispatch via @-mention. To free the agents/ name on case-insensitive filesystems, the agent-coordination directory was renamed from AGENTS/ to _agent-context/. Skill frontmatter also migrated to the metadata-nested structure per the agentskills.io spec, and the CI validators are now bash-3.2 portable. The 59-skill catalog is unchanged; cross-client clients keep working via the dispatch skills.
Get started. v2.17.0 release notes
</details>
<details> <summary><strong>v2.16.2 - Release Hygiene and GitHub Release Body Update</strong></summary>
What changed. Post-tag plan SHIPPED state updates and GitHub Release body corrections following the v2.16.1 patch cycle.
Get started. v2.16.2 release notes
</details>
<details> <summary><strong>v2.16.1 - Plugin Manifest Fix</strong></summary>
What changed. Removed the invalid agents field from plugin.json that was causing /plugin update pm-skills to fail with an "Invalid input" error since v2.16.0. If you ran into that error, update to this version.
Get started. v2.16.1 release notes
</details>
<details> <summary><strong>v2.16.0 - Active Orchestration with Sub-Agents</strong></summary>
What changed. First 4 active-orchestration sub-agents shipped (pm-critic, pm-skill-auditor, pm-changelog-curator, pm-release-conductor), giving Claude Code a stable interface for spawning sub-tasks against the catalog. 4 dispatch skills extend sub-agent-shaped flows to Codex, Cursor, Windsurf, Copilot, and Gemini CLI. The 6-gate pre-tag release runbook is now written down.
Why it matters. Foundation work for chained workflows that don't need a human in the handoff loop.
Get started. Runtime components - v2.16.0 release notes
</details>
<details> <summary><strong>v2.15.0 - Sprint Skills Launch</strong></summary>
What changed. 15 new skills under a new classification: tool taxonomy. Foundation Sprint family (Knapp/Zeratsky 2-day workshop methodology) + Design Sprint family (Knapp/Zeratsky/Kowitz 5-day workshop methodology) + standalone note-and-vote. Catalog grows from 40 to 55. New foundation-to-design workflow chains both end-to-end.
Why it matters. If you run structured workshop sessions, the agent runs the workshop with you using canonical moves; outputs are workshop artifacts.
Get started. Foundation sprint - Design sprint - v2.15.0 release notes
</details>
<details> <summary><strong>v2.14.x - Doc Stack Migration to Astro Starlight</strong></summary>
What changed. Retired MkDocs Material; migrated to Astro Starlight. Pagefind full-text search, native dark mode, Node 22.x build. v2.14.1 added the Mermaid style guide; v2.14.2 closed a cumulative docs hygiene patch.
Why it matters. Search works (full-text, instant). Forkers: Node 22.x is now required, not Python pip.
Get started. product-on-purpose.github.io/pm-skills - v2.14.0 release notes
</details>
<details> <summary><strong>v2.13.x - Plugin Install Path Correction</strong></summary>
What changed. Fixed /plugin marketplace add install. Moved marketplace.json to .claude-plugin/; added the required owner schema field; introduced an enforcing validate-plugin-install CI script.
Why it matters. Before v2.13.1, the marketplace install failed silently. After v2.13.1, it is the recommended Claude Code path.
Get started. v2.13.1 release notes
</details>
<details> <summary><strong>v2.12.0 - OKR Skills</strong></summary>
What changed. OKR-focused skill set: okr-writer (foundation) and okr-grader (measure), plus the operational pattern for using them across a quarter.
Why it matters. OKR structure, KR quality bar, and grading rubric are encoded as skills your agent runs consistently across cycles.
Get started. v2.12.0 release notes
</details>
<!-- count-exempt:end -->
<p align="right">(<a href="#readme-top">back to top</a>)</p>
Stop prompt-fumbling. Start shipping. Every time you ask an AI to help with product management, you start from zero. Generic responses. Inconsistent formats. Missing critical sections. Hours lost to repetitive prompt crafting.
PM-Skills gives your AI instant access to professional frameworks refined across hundreds of product launches, production-ready templates that capture institutional PM knowledge, and real-world examples that set the quality bar.
| Without PM-Skills | With PM-Skills |
|---|---|
| ⚠️ Generic AI responses | ✅ Professional PM frameworks |
| ⚠️ Inconsistent formats | ✅ Production-ready templates |
| ⚠️ Missing key sections | ✅ Comprehensive coverage |
| ⚠️ Starting from scratch | ✅ Building on best practices |
| ⚠️ Prompt engineering every time | ✅ One command, instant results |
| You are... | PM-Skills gives you... |
|---|---|
| A solo PM using AI for the first time | A starting point that skips prompt engineering and produces professional output immediately |
| A team lead standardizing PM output | Shared skill library your whole team invokes the same way, producing consistent artifacts |
| An AI/PM builder creating PM tools | Open-source, Apache 2.0 library of production-quality PM artifacts to build on |
PM-Skills includes three utility skills that form a complete Create - Validate - Iterate lifecycle for building and managing skills:
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#fffbeb', 'primaryBorderColor': '#fde68a', 'lineColor': '#92400e'}}}%%
flowchart LR
classDef create fill:#ea580c,stroke:#c2410c,color:#fff,font-weight:bold
classDef validate fill:#0284c7,stroke:#0369a1,color:#fff,font-weight:bold
classDef decision fill:#374151,stroke:#1f2937,color:#fff
classDef ship fill:#166534,stroke:#14532d,color:#fff,font-weight:bold
classDef iterate fill:#7c3aed,stroke:#6d28d9,color:#fff,font-weight:bold
Create["utility-pm-skill-builder<br/>Create new skill<br/>from an idea"]:::create
Validate["utility-pm-skill-validate<br/>Audit structure<br/>and quality"]:::validate
Decision{"Findings?"}:::decision
Ship["Ship<br/>to library"]:::ship
Iterate["utility-pm-skill-iterate<br/>Apply targeted<br/>improvements"]:::iterate
Create --> Validate
Validate --> Decision
Decision -- "PASS" --> Ship
Decision -- "WARN / FAIL" --> Iterate
Iterate --> ValidateWhy this matters: Skills are living artifacts that evolve. The builder creates them, the validator catches drift and quality gaps, and the iterator applies fixes. Together they keep the library consistent as it grows.
| Tool & Command | What it does |
|---|---|
Builder: /pm-skills:utility-pm-skill-builder | Creates a new skill from an idea. Runs gap analysis against existing skills, classifies by type and phase, generates draft files to a staging area, and promotes on confirmation. |
Validator: /pm-skills:utility-pm-skill-validate | Audits an existing skill against structural conventions and quality criteria. Produces a report with severity-graded findings and actionable recommendations. |
Iterator: /pm-skills:utility-pm-skill-iterate | Applies targeted improvements to a skill based on feedback or a validation report. Previews changes, writes on confirmation, and suggests a version bump. |
🔗 More resources:
<p align="left"> <a href="https://agentskills.io/specification"> <img src="https://img.shields.io/badge/Agent_Skills_Spec-compliant-orange?style=for-the-badge" alt="Agent Skills Spec"> </a> <a href="https://github.github.com/gfm/"> <img src="https://img.shields.io/badge/Markdown-GFM-black?style=for-the-badge&logo=markdown" alt="GitHub Flavored Markdown"> </a> <a href="https://github.com/features/actions"> <img src="https://img.shields.io/badge/GitHub_Actions-CI/CD-2088FF?style=for-the-badge&logo=github-actions&logoColor=white" alt="GitHub Actions"> </a> </p>
<p align="right">(<a href="#readme-top">back to top</a>)</p>
| Platform | Native Skills? | Notes |
|---|---|---|
| Claude Code | ✅ Yes | Plugin marketplace + 10 workflow commands |
| GitHub Copilot | ✅ Yes | AGENTS.md auto-discovery from clone |
| Cursor | ✅ Yes | AGENTS.md auto-discovery from clone |
| Windsurf | ✅ Yes | AGENTS.md auto-discovery from clone |
| Codex (OpenAI) | ✅ Yes | AGENTS.md auto-discovery from clone |
| OpenCode | ✅ Yes | Direct skill loading from clone |
| VS Code (Cline, Continue) | ✅ Yes | AGENTS.md auto-discovery from clone |
| Claude.ai / Claude Desktop | ✔️ Manual | ZIP upload to Project Files |
| ChatGPT / other LLMs | ✔️ Manual | Paste SKILL.md content into conversation |
Claude Code - Plugin Marketplace (recommended)
/plugin marketplace add product-on-purpose/agent-plugins
/plugin install pm-skills@product-on-purposeAlready installed via the old pm-skills-marketplace? It keeps working - no action needed. To move to the new home, see the v2.21.0 release notes.All 68 skills and their slash commands become available immediately. No clone required.
Cross-Agent via skills CLI (Cursor, Copilot, Cline, and others)
npx skills add product-on-purpose/pm-skillsThe open skills CLI from Vercel Labs scans the skills/ directory and installs all 68 skills into your agent's default skills directory. Works with Claude Code, Cursor, GitHub Copilot, Cline, and any other agent that supports the skills ecosystem. Discoverable via skills.sh/product-on-purpose/pm-skills.
Telemetry is anonymous and opt-out via DISABLE_TELEMETRY=1 or DO_NOT_TRACK=1.
Git Clone (manual path, everything included)
git clone https://github.com/product-on-purpose/pm-skills.git
cd pm-skillsGives you the full repo: skill files, slash commands, sample library, workflows, and documentation. Use this path when you want local access to sample outputs, plan to customize skills, or prefer not to depend on a CLI.
Optional: after cloning, run ./scripts/sync-claude.sh (macOS/Linux) or ./scripts/sync-claude.ps1 (Windows) to populate .claude/skills/ for agents that use that discovery path.
For Claude.ai, MCP clients, OpenCode, Windsurf, and ChatGPT, see the full Platform Setup Guide for step-by-step instructions.
| Platform | How | Guide |
|---|---|---|
| Claude.ai / Claude Desktop | ZIP upload to Project Files | Platform guide |
| MCP Server (any MCP client) | npx pm-skills-mcp | pm-skills-mcp repo |
| GitHub Copilot | AGENTS.md auto-discovery from clone | Platform guide |
| OpenCode | Direct skill loading from clone | Platform guide |
| Cursor / Windsurf | AGENTS.md auto-discovery | Platform guide |
| VS Code (Cline / Continue) | AGENTS.md auto-discovery | Platform guide |
| ChatGPT / other LLMs | Copy SKILL.md into conversation | Platform guide |
More resources:
<p align="right">(<a href="#readme-top">back to top</a>)</p>
Each skill is a self-contained instruction set in three files:
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#f8fafc', 'primaryBorderColor': '#cbd5e1', 'lineColor': '#64748b'}}}%%
flowchart LR
classDef user fill:#1e293b,stroke:#0f172a,color:#f8fafc,font-weight:bold
classDef agent fill:#4f46e5,stroke:#3730a3,color:#fff,font-weight:bold
classDef skillFile fill:#7c3aed,stroke:#5b21b6,color:#fff
classDef templateFile fill:#0284c7,stroke:#0369a1,color:#fff
classDef exampleFile fill:#059669,stroke:#047857,color:#fff
classDef output fill:#166534,stroke:#14532d,color:#fff,font-weight:bold
User["You<br/>deliver-prd 'topic'"]:::user
Agent["Your Agent"]:::agent
SKILL["SKILL.md<br/>the method"]:::skillFile
TEMPLATE["TEMPLATE.md<br/>the structure"]:::templateFile
EXAMPLE["EXAMPLE.md<br/>the quality bar"]:::exampleFile
Output["Complete artifact"]:::output
User -- invokes --> Agent
Agent -- reads --> SKILL
Agent -- fills --> TEMPLATE
Agent -- mirrors --> EXAMPLE
SKILL --> Output
TEMPLATE --> Output
EXAMPLE --> Outputskills/deliver-prd/
SKILL.md # the method the agent reads
references/
TEMPLATE.md # the structure the output follows
EXAMPLE.md # the worked example that anchors qualityWhen you run /pm-skills:deliver-prd "topic", the agent loads the skill, mirrors the example, fills the template, and produces a complete PRD. No prompt engineering required.
| Property | What it gives you |
|---|---|
| Declarative | The skill says what a good PRD is, not how to phrase a prompt |
| Example-anchored | The worked example sets the quality bar; the agent mirrors depth and structure |
| Structurally contracted | The template enforces sections-present and sections-complete |
🔗 More resources:
problem-statement when opportunity-tree is the right fit.<p align="right">(<a href="#readme-top">back to top</a>)</p>
<a id="the-skill-library"></a>
<p> <img src="https://img.shields.io/badge/Phase-30_skills-7c3aed?style=for-the-badge" alt="Phase Skills: 30"> <img src="https://img.shields.io/badge/Foundation-11_skills-059669?style=for-the-badge" alt="Foundation Skills: 11"> <img src="https://img.shields.io/badge/Tool_Families-15_skills-0284c7?style=for-the-badge" alt="Tool Family Skills: 15"> <img src="https://img.shields.io/badge/Utility-12_skills-ea580c?style=for-the-badge" alt="Utility Skills: 12"> </p>
<!-- count-exempt:start -->
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#f0f4ff', 'primaryBorderColor': '#c7d2fe', 'lineColor': '#6b7280', 'clusterBkg': '#f8fafc', 'clusterBorder': '#e2e8f0'}}}%%
flowchart TB
classDef discover fill:#0891b2,stroke:#0e7490,color:#fff,font-weight:bold
classDef define fill:#7c3aed,stroke:#6d28d9,color:#fff,font-weight:bold
classDef develop fill:#d97706,stroke:#b45309,color:#fff,font-weight:bold
classDef deliver fill:#16a34a,stroke:#15803d,color:#fff,font-weight:bold
classDef measure fill:#dc2626,stroke:#b91c1c,color:#fff,font-weight:bold
classDef iterate fill:#9333ea,stroke:#7e22ce,color:#fff,font-weight:bold
classDef tool fill:#0284c7,stroke:#0369a1,color:#fff
classDef foundation fill:#059669,stroke:#047857,color:#fff
classDef utility fill:#ea580c,stroke:#c2410c,color:#fff
subgraph PHASE["Triple Diamond Phase Skills (30)"]
direction LR
DI["Discover<br/>5 skills"]:::discover
DE["Define<br/>5 skills"]:::define
DEV["Develop<br/>4 skills"]:::develop
DEL["Deliver<br/>6 skills"]:::deliver
ME["Measure<br/>6 skills"]:::measure
IT["Iterate<br/>4 skills"]:::iterate
DI --> DE --> DEV --> DEL --> ME --> IT
IT -."feedback loop".-> DI
end
subgraph WORKSHOP["Workshop Tool Families (15 skills)"]
direction LR
FS["Foundation Sprint<br/>7 skills<br/>2-day strategic alignment"]:::tool
DS["Design Sprint<br/>7 skills<br/>5-day prototype-and-test"]:::tool
NV["note-and-vote<br/>1 skill<br/>standalone mechanic"]:::tool
FS --> DS
end
subgraph SUPPORT["Cross-Cutting Capabilities (23 skills)"]
direction LR
FOUND["Foundation<br/>11 skills<br/>persona, lean-canvas,<br/>OKRs, meetings"]:::foundation
UTIL["Utility<br/>12 skills<br/>meta-tooling"]:::utility
end
PHASE -.uses.-> SUPPORT
WORKSHOP -.uses.-> SUPPORT<!-- count-exempt:end -->
| Classification | Count | What's in it |
|---|---|---|
| Phase (Triple Diamond) | 30 | One skill per major PM activity across Discover, Define, Develop, Deliver, Measure, and Iterate |
| Foundation (cross-cutting) | 11 | Persona, lean canvas, OKRs, prioritized action plan, stakeholder briefings, and the full meeting skills family |
| Utility (meta-tooling) | 12 | pm-skill-builder, pm-skill-validate, pm-skill-iterate, pm-workflow-builder, pm-workflow-orchestrator, mermaid-diagrams, slideshow-creator, update-pm-skills, and helpers |
| Tool Families (workshop methods) | 15 | Foundation Sprint family (7) + Design Sprint family (7) + note-and-vote (1) |
| Skill | What it does |
|---|---|
| persona | Generate product or marketing personas with evidence and confidence ratings |
| lean-canvas | Capture problem, customer segment, value proposition, and key metrics on one page |
| okr-writer | Draft an objectives-and-key-results plan with tight, measurable key results |
| stakeholder-update | Compose a stakeholder-facing update from project state and recent activity |
| meeting-agenda | Draft a focused agenda from purpose, attendees, and time-box |
| meeting-brief | One-page brief priming attendees with context and pre-reads |
| meeting-recap | Synthesize a meeting transcript into decisions, actions, and follow-ups |
| meeting-synthesize | Cross-meeting synthesis distilling themes from multiple sessions |
| prioritized-action-plan | Turn any PM input into an evidence-grounded prioritized action plan via Theory of Constraints and Cynefin |
| stakeholder-briefings | Fan any source artifact into a master document plus audience-tailored briefings, one per stakeholder lens, each a traceable projection of the master |
#### Discover - Find and assess the right problem (5)
| Skill | What it does |
|---|---|
| interview-synthesis | Turn raw user research into actionable insights, patterns, and design implications |
| competitive-analysis | Map the competitive landscape and identify gaps and differentiation opportunities |
| stakeholder-summary | Understand who the key stakeholders are, what they need, and how to engage them |
| journey-map | Map the customer journey: stages, touchpoints, emotional curve, pain points, and moments of truth |
| market-sizing | Estimate market opportunity (TAM/SAM/SOM) with multiple frameworks and source-graded confidence |
#### Define - Frame the problem (5)
| Skill | What it does |
|---|---|
| problem-statement | Crystal-clear problem framing with scope, impact, and success criteria |
| hypothesis | Testable assumptions with measurable success conditions |
| opportunity-tree | Teresa Torres-style outcome-driven opportunity mapping |
| jtbd-canvas | Jobs to be Done framework for understanding customer motivation |
| prioritization-framework | Run RICE, ICE, MoSCoW, Weighted Scoring, and Kano in parallel with a cross-framework comparison |
#### Develop - Explore solutions (4)
| Skill | What it does |
|---|---|
| solution-brief | One-page solution pitch with tradeoffs and open questions |
| spike-summary | Document technical exploration outcomes and decisions |
| adr | Architecture Decision Records in Michael Nygard format |
| design-rationale | Why you made that design choice, documented for future reference |
#### Deliver - Ship it (6)
| Skill | What it does |
|---|---|
| prd | Comprehensive product requirements document with problem, metrics, stories, scope, and dependencies |
| user-stories | INVEST-compliant stories with acceptance criteria |
| acceptance-criteria | Given/When/Then testable scenarios |
| edge-cases | Error states, boundaries, and recovery paths |
| launch-checklist | End-to-end launch checklist so nothing gets missed |
| release-notes | User-facing release communication |
#### Measure - Validate with data (6)
| Skill | What it does |
|---|---|
| experiment-design | Rigorous A/B test planning with hypothesis, sample size, and success criteria |
| instrumentation-spec | Event tracking requirements for engineers |
| dashboard-requirements | Analytics dashboard specifications |
| experiment-results | Document and synthesize learnings from completed experiments |
| okr-grader | Score completed OKR sets at cycle close with KR-level scoring and learning synthesis |
| survey-analysis | Analyze survey results into persona segments, validated hypotheses, and honest limitation warnings |
#### Iterate - Learn and improve (4)
| Skill | What it does |
|---|---|
| retrospective | Team retros that produce real action items, not just feelings |
| lessons-log | Build organizational memory from repeated patterns and surprises |
| refinement-notes | Capture backlog refinement outcomes and decision rationale |
| pivot-decision | Evidence-based pivot/persevere framework with clear decision criteria |
🔗 More resources:
<p align="right">(<a href="#readme-top">back to top</a>)</p>
A Foundation Sprint is a short, structured workshop that clarifies the problem space, target users, success metrics, constraints, and business context before creative exploration begins. It ensures teams start with shared understanding and crisp definitions so downstream design and product decisions move faster and with fewer reversals.
Run the full methodology with the [foundation-sprint workflow](_workflows/foundation-sprint.md).
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#eff6ff', 'primaryBorderColor': '#bfdbfe', 'lineColor': '#3b82f6'}}}%%
flowchart LR
classDef sprint fill:#0284c7,stroke:#0369a1,color:#fff,font-weight:bold
classDef gate fill:#1d4ed8,stroke:#1e40af,color:#fff,font-weight:bold
R["1. Readiness<br/>Go / No-Go check"]:::gate
B["2. Basics<br/>Customer + Problem + Competition"]:::sprint
Di["3. Differentiation<br/>2x2 advantage map"]:::sprint
A["4. Approach Options<br/>3-5 high-level paths"]:::sprint
M["5. Magic Lenses<br/>Score approaches"]:::sprint
H["6. Founding Hypothesis<br/>Synthesize direction"]:::sprint
Br["7. Brief<br/>One-page output"]:::gate
R --> B --> Di --> A --> M --> H --> Br| Skill | What it does |
|---|---|
| foundation-sprint-readiness | Decision tree for evaluating whether a Foundation Sprint is the right next step |
| foundation-sprint-basics | Establish the customer, problem, and competitive context (the founding 3-tuple) |
| foundation-sprint-differentiation | Map your team's unique advantages on a 2x2 framework |
| foundation-sprint-approach-options | Generate 3-5 high-level strategic approaches |
| foundation-sprint-magic-lenses | Score approaches across 3-4 critical evaluation lenses |
| foundation-sprint-founding-hypothesis | Synthesize the chosen approach into a testable founding hypothesis |
| foundation-sprint-brief | Produce the one-page sprint brief that serves as input for a Design Sprint |
🔗 More resources:
<p align="right">(<a href="#readme-top">back to top</a>)</p>
A Design Sprint is a fast, structured process that helps teams understand a problem, explore solutions, build a prototype, and test it with real users in five days. It reduces risk by forcing alignment and validation before any heavy engineering investment.
Run the full methodology with the design-sprint workflow. Chain it after a Foundation Sprint with foundation-to-design.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#fdf4ff', 'primaryBorderColor': '#e9d5ff', 'lineColor': '#9333ea'}}}%%
flowchart LR
classDef sprint fill:#7c3aed,stroke:#6d28d9,color:#fff
classDef gate fill:#581c87,stroke:#3b0764,color:#fff,font-weight:bold
classDef day fill:#6d28d9,stroke:#5b21b6,color:#fff
R["Readiness<br/>Go / No-Go"]:::gate
Br["Brief<br/>Goal + Questions"]:::sprint
M["Day 1<br/>Map and Target"]:::day
S["Day 2<br/>Sketch"]:::day
D["Day 3<br/>Decide and Storyboard"]:::day
P["Day 4<br/>Prototype Plan"]:::day
T["Day 5<br/>Test and Score"]:::gate
R --> Br --> M --> S --> D --> P --> T| Skill | What it does |
|---|---|
| design-sprint-readiness | Decision tree for evaluating whether a Design Sprint is the right next step |
| design-sprint-brief | Pre-sprint brief: long-term goal and sprint questions |
| design-sprint-map-and-target | Customer journey map and chosen target moment |
| design-sprint-sketch | Structured 4-step individual sketch session |
| design-sprint-decide-and-storyboard | Heat map, straw poll, decider vote, and storyboard |
| design-sprint-prototype-plan | Realistic-enough Friday prototype plan |
| design-sprint-test-and-score | 5 customer interviews, scored patterns, and decision |
🔗 More resources:
<p align="right">(<a href="#readme-top">back to top</a>)</p>
| Skill | What it does |
|---|---|
| note-and-vote | Group decision mechanic usable inside any workshop or meeting - silent capture, share aloud, dot vote, discuss top-voted only, decider calls it |
| Skill | What it does |
|---|---|
| pm-skill-builder | Create new PM skills with gap analysis, classification, and guided drafting |
| pm-skill-validate | Audit a skill against structural conventions and quality criteria |
| pm-skill-iterate | Apply targeted improvements from feedback or validation reports |
| pm-workflow-builder | Author a new multi-skill workflow (or promote a proven /chain) into a staged draft packet for review |
| mermaid-diagrams | Create syntactically valid mermaid diagrams for product documents |
| slideshow-creator | Generate professional presentations from JSON deck specifications |
| update-pm-skills | Check for and apply updates to a local PM-Skills installation |
| pm-critic | Adversarial quality reviewer for PM artifacts - also available as a sub-agent in Claude Code |
| pm-skill-auditor | Cross-skill catalog auditor against structural and quality criteria - also available as a sub-agent |
| pm-changelog-curator | CHANGELOG manager and entry drafter following conventional commit rules - also available as a sub-agent |
| pm-release-conductor | Release orchestr |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.