Ask any AI for a PRD, an exec update, or a launch plan and you get plausible filler — something 80% there and 100% generic that you still rewrite from scratch. The model can write fluently; it just doesn't know what “good” looks like for a specific professional deliverable.
PM Skills fixes that. Each “skill” is a structured SKILL.md file that encodes the real method a senior professional uses for one job — the sections, the rubric, the judgement, the anti-patterns. When the AI loads a skill, its first draft already has the right structure, the right questions asked, and the common mistakes avoided.
There are 313 skills across 23 professions — product, engineering, design, data, marketing, CS, legal, finance, HR, sales, ops, research, and more. They're open-source (MIT), eval-scored on a public rubric, and run anywhere a capable model reads instructions.
| Give it… | Get back… | Skill |
|---|---|---|
| messy progress notes | a tight 250-word CEO briefing | executive-update |
| a vague feature idea | a structured PRD with metrics & risks | prd-template |
| a backlog of ideas | a ranked, defensible priority list | rice-prioritisation |
| a raw incident timeline | a blameless postmortem with owners | incident-postmortem |
| a meeting transcript | decisions, owners & next steps | meeting-notes |
Rule of thumb: if you'd be happy to reuse the same outline next month, there's probably a skill for it — and it'll save you the most time.
The fastest way to feel it: the browser playground. No install, runs with your own model key (stored only in your browser), or a built-in no-key model.
| You use… | Command / how |
|---|---|
| Claude Code | npx pm-claude-skills add --agent claude |
| Cursor / Codex / 60+ agents | npx skills add mohitagw15856/pm-claude-skills |
| MCP (any client, on demand) | claude mcp add pm-skills -- npx -y pm-claude-skills-mcp |
| ChatGPT / Claude.ai / Cursor (hosted) | add connector URL pm-skills-mcp.pm-claude-skills.workers.dev |
| Python (LangChain / CrewAI) | pip install pm-skills |
| ChatGPT / Gemini (copy-paste) | paste an export from exports/ into a Custom GPT / Gem |
Everything is one source of truth: the same skill body powers all of these.
Every skill is a markdown file with two parts: a tiny frontmatter (name + a description with trigger phrases) and a body (the method, an output template, quality checks, and anti-patterns).
--- frontmatter (all the model sees when deciding to load it) --- name: prd-template description: "Create a PRD... Use when asked to write a PRD, product spec, or feature specification. Produces a complete PRD with problem, user stories, requirements, success metrics." --- body --- # PRD Template Skill ## Required Inputs # what it asks you for ## Template Structure # the sections it produces ## Quality Checks # the bar the output must pass ## Anti-Patterns # mistakes it refuses to make
/prd, /rice, /sprint-plan.skillprd-template command/prd
Feature: referral program for B2B users. Goal: +15% signups in Q3. Activated admins invite peers; both sides get account credit. MVP only. Reviewers: Eng, Growth.
Use the prd-template skill to write a PRD for this. Ask me anything critical that's missing; otherwise produce the draft.
PRD — B2B Referral Program 1. Overview — Problem, goal (+15% Q3 signups), non-goals (MVP: no tiers) 2. Target user — Activated admins on paid plans 3. User stories US1: As an admin, I can invite a peer by email and see status… US2: As an invitee, I get a credit applied on signup… (+ acceptance criteria) 4. Requirements — functional + edge cases (self-referral, fraud caps) 5. Success metrics — primary: invited→signup rate; guardrail: support tickets 6. Risks & open questions — abuse, attribution window, finance sign-off
Why it's better than a raw prompt: success metrics and a guardrail metric are there by default; abuse and attribution risks are surfaced; non-goals keep MVP honest. You spend your time deciding the attribution window — not remembering that a PRD needs one.
Next: feed this PRD into rice-prioritisation to position it, or go-to-market to plan the launch (see §8).
skillexecutive-update command/exec-summary
shipped onboarding redesign to all new accounts, activation looking way up. backend hiring is 2 roles behind, billing revamp now at risk for Q3. NRR flat. need contractor budget. audience: CEO. period: Q2.
Executive Update — Q2, for the CEO Headline: Activation up sharply after onboarding redesign; on track for Q2, with one staffing risk that needs a decision. Key metrics: activation ▲ (best quarter); NRR flat at 112%. Progress: onboarding redesign at 100% of new accounts; faster TTV. Risk & decision needed: backend hiring 2 roles behind → billing revamp at risk for Q3. Decision: approve contractor budget to hold the date. Next: roll the activation win into core; bring a Q3 staffing plan.
The skill's judgement: it leads with the headline and the decision needed (Pyramid Principle), keeps it ~250 words, and separates progress from the ask — exactly what a CEO wants. Add your real numbers and it's shippable.
skillrice-prioritisation command/rice scriptcomputes the maths by rule
Some skills ship a stdlib-only helper so the numbers are computed, not vibed. RICE is one:
# initiatives.json: [{name, reach, impact, confidence, effort}, ...] python3 scripts/rice_calculator.py initiatives.json # → ranked table with RICE scores + auto-flags: # quick-win (high score, low effort), moonshot (high impact/effort), # low-confidence (≤50%)
Initiative Reach Impact Conf Effort RICE Flag Onboarding revamp 5000 2.0 80% 3 2667 quick-win Referral program 5000 3.0 50% 2 3750 low-conf Enterprise SSO 800 3.0 100% 5 480 — → Sequence: validate referral confidence first; ship onboarding now.
How to use it well: let the script rank, then investigate any surprising top item before accepting it — RICE is a tool, not a verdict. The skill explicitly tells the model to do this, so it won't hand you a number it can't defend.
Other computed skills: sprint capacity (sprint-planning), customer health (cs-health-scorecard).
Individual skills are useful; chaining them is the superpower. A recipe runs several skills in order and passes each output forward as context for the next — a fuzzy idea comes out the other end as a joined-up set of artifacts.
/ship-a-feature "a referral program for B2B users"
ambiguity-resolver → prd-template → rice-prioritisation
frame the problem spec it position it
→ roadmap-narrative → go-to-market
place on roadmap launch plan
└──── each stage's output feeds the next ────┘
| Recipe | Does |
|---|---|
/ship-a-feature | idea → PRD → priority → roadmap → launch plan |
/close-the-quarter | metrics → churn → exec update → board deck |
/launch-a-product | competitors → positioning → GTM → checklist → press release |
/rescue-an-account | health score → churn cause → escalation → renewal plan |
/run-discovery | frame → interview guide → synthesis → prioritise |
Two ways to run a chain: the slash command in Claude Code, or visually in the browser Workflow Canvas (drag skills into a chain) — and the Auto-Agent will even pick the chain for you from a plain-English goal.
Generic output is the #1 complaint with AI. Skill Memory fixes it: tell the skills who you are once, and every skill produces output already tuned to your product, audience, and voice.
/setup-context (or copy templates/pm-context.example.md → pm-context.md) and fill it in. Skills read it as standing context.# pm-context.md (keep it short and concrete)
Company: Acme — collaborative analytics for RevOps teams
Audience I write for: CEO, board, eng team
Voice: crisp, no hype; lead with the decision; updates < 250 words
North-star metric: weekly active workspaces (define it exactly)
Competitors: BigCo (we win on time-to-value)
Without context: “write an exec update” → generic, you rewrite it.
With context: “write an exec update” → your voice, your metrics, your audience — shippable first try.
Skill Memory is one file. The Professional Brain is the full version: a durable, local markdown memory that skills read before answering and write to after — so runs stop starting cold and decisions keep their why. No vector DB; it's grep-able, auditable, Obsidian-compatible.
brain/ context.md knowledge/ decisions/ hypotheses/ stakeholders/ entities/ source/
Every fact is tagged by how strong it is, so a hunch never poses as data:
[data] · [interview] · [external] · [verbal] · [hunch] (strongest → weakest)
cp -r templates/brain ./brain (or run the /brain command → init).python3 skills/professional-brain/scripts/brain_query.py ./brain "retention" # → matches ranked by provenance, e.g.: # [data] knowledge/strategy.md: mobile NPS 6.2 vs web 8.1… # [verbal] stakeholders/sarah.md: wants retention tied to a metric…
knowledge/strategy.md and carries the tags through, instead of you re-pasting context.meeting-notes proposes decisions to write to decisions/ — append-only, dry-run by default, approved before anything is written.action-runner turns a skill's recommendations into real tickets / messages — risk-rated, approved per action, recorded back. Nothing acts silently.Try it with no install: the in-browser Brain at /brain.html (round-trips with the on-disk folder via markdown import/export).
A skill gives structure; a connector gives it your facts. Run the pm-skills MCP server alongside a data server (filesystem, GitHub, a database) and a skill acts on what that server exposes:
# Claude Code: add both, once claude mcp add pm-skills -- npx -y pm-claude-skills-mcp claude mcp add github -- npx -y @modelcontextprotocol/server-github # then just ask: "Get the prd-template skill, read GitHub issue acme/app#123, and write the PRD from it." "Run churn-analysis on exports/q2.csv." "Open a GitHub issue per item in the product-launch-checklist."
# read-only, no auth, CORS-open — base: # https://pm-skills-mcp.pm-claude-skills.workers.dev GET /v1/skills # list (?bundle= ?q= ?limit=) GET /v1/skills/{name}?format=md # the raw skill body GET /v1/workflows # the recipe chains
Full recipes in connectors/ (n8n.md, obsidian.md, lovable.md).
Quality is measured, not claimed. Three ways to check before you rely on a result:
red-team-review — it stress-tests the plan against a room of hostile expert personas and surfaces what breaks.pm-essentials + share one pm-context.md so everyone's output matches your house style.executive-update · prd-template · rice-prioritisation · competitor-teardown · meeting-notes
/prd · /rice · /sprint-plan · /retro · /exec-summary · /brain · /setup-context · the recipes in §8
| All skills, browsable | SKILLS.md · the live catalog & Skill Galaxy (/galaxy.html) |
| One-page cheatsheet | CHEATSHEET.md (+ PNG/PDF in docs-assets) |
| The Brain | BRAIN.md · BRAIN_QUICKSTART.md · /brain.html |
| Integrations | connectors/ (n8n, Obsidian, Lovable) + the REST API |
| Quality | the leaderboard · evals/ · Compare & Grade in the playground |
| Contribute / request | CONTRIBUTING.md · Skill Studio (make a skill → PR) |