Getting Started
Claude Code (recommended)
/plugin marketplace add product-on-purpose/agent-plugins/plugin install pm-skills@product-on-purposeAll 68 skills become available immediately, no clone required. Invoke any skill by name, like /pm-skills:deliver-prd "Feature description". Already installed via the old pm-skills-marketplace? It keeps working, no action needed - see Setup by Platform to move to the new home.
Cross-agent (Cursor, GitHub Copilot, Cline, and others)
npx skills add product-on-purpose/pm-skillsInstalls all 68 skills into your agent’s default skills directory via the open skills CLI. No clone, no sync.
Clone or download
git clone https://github.com/product-on-purpose/pm-skills.gitGives you the full repo: skill files, the sample library, and workflows. Claude Code users can then run the sync helper to populate .claude/skills:
- macOS/Linux:
./scripts/sync-claude.sh - Windows:
./scripts/sync-claude.ps1
Prefer the full walkthrough? Read on.
Welcome to PM-Skills! This guide will help you understand what this repository offers and how to use it, regardless of your technical background.
Table of Contents
Section titled “Table of Contents”- What is PM-Skills?
- Core Concepts
- Ways to Use PM-Skills
- Method 1: Claude Code (Slash Commands)
- Method 2: Git Clone (Any AI Assistant)
- Method 3: Claude.ai / Claude Desktop
- Method 4: Copy-Paste (Universal)
- Method 5: openskills CLI
- Choosing the Right Method
- Your First Skill
- Workflows
- Troubleshooting
- Next Steps
What is PM-Skills?
Section titled “What is PM-Skills?”PM-Skills is an open-source collection of 68 product management skills that teach AI assistants how to create professional PM documents. The catalog spans 30 phase skills, 11 foundation skills, 12 utility skills, and 15 tool skills for structured workshops (the Foundation Sprint family of 7, the Design Sprint family of 7, and the tool-note-and-vote standalone). Think of it as a playbook that transforms generic AI responses into polished, consistent PM artifacts.
The Problem It Solves
Section titled “The Problem It Solves”Without PM-Skills:
You: "Write me a PRD"AI: *Produces a generic document missing key sections, inconsistent format*With PM-Skills:
You: "Write me a PRD"AI: *Produces a comprehensive PRD with problem statement, success metrics, user stories, scope boundaries, technical considerations, all in a professional, consistent format*What You Get
Section titled “What You Get”- 68 skills in
skills/covering the PM lifecycle (30 phase + 11 foundation + 12 utility + 15 tool) - Professional templates based on industry best practices
- Real-world examples showing what good looks like
- Works with any AI assistant (Claude, ChatGPT, Copilot, etc.)
Core Concepts
Section titled “Core Concepts”What are Skills?
Section titled “What are Skills?”A skill is a structured instruction set that teaches an AI assistant how to create a specific type of PM artifact.
For Non-Technical Users
Section titled “For Non-Technical Users”Think of a skill like a recipe card for an AI chef:
- The instructions tell the AI what questions to ask and what sections to include
- The template shows the exact format to use
- The example demonstrates what a great result looks like
When you ask the AI to create a PRD, it reads the “PRD recipe” and follows it step by step.
For Technical Users
Section titled “For Technical Users”Each skill is a directory containing:
skills/<skill-name>/├── SKILL.md # Prompt instructions for the AI├── references/│ ├── TEMPLATE.md # Output structure/format│ └── EXAMPLE.md # Annotated real-world exampleThe SKILL.md file contains:
- YAML frontmatter with metadata (
name,description,version,updated,license, and eitherphaseorclassification) - Structured instructions the AI follows
- Guidance on information gathering and output formatting
Skills follow the Agent Skills Specification for interoperability across AI platforms.
What are Slash Commands?
Section titled “What are Slash Commands?”A slash command is a shortcut that invokes a skill in AI assistants that support them.
For Non-Technical Users
Section titled “For Non-Technical Users”Instead of typing:
“Please use the PRD skill to create a product requirements document for a search feature”
You can simply type:
/pm-skills:deliver-prd search feature for e-commerce platform
The slash (/) tells the AI “use this skill” and everything after is your context.
For Technical Users
Section titled “For Technical Users”Slash commands are defined in the commands/ directory as markdown files:
---description: Create a Product Requirements Document---
Use the `prd` skill to create a comprehensive Product Requirements Document.
Read the skill instructions from `skills/<skill-name>/SKILL.md` and follow them.
Context from user: $ARGUMENTSThe $ARGUMENTS variable captures everything typed after the command name.
Note: Slash commands are platform-specific. They work natively in Claude Code but require different invocation methods on other platforms.
How Skills and Commands Relate
Section titled “How Skills and Commands Relate”flowchart TD
A["deliver-prd 'search feature'\nSlash Command"] --> C["SKILL.md\nInstructions"]
B["'Use the prd skill for...'\nNatural Language"] --> C
C --> D["TEMPLATE.md\nStructure"]
C --> E["EXAMPLE.md\nQuality Reference"]
C --> F["Your Context"]
D --> G["AI-Generated\nPM Artifact"]
E --> G
F --> G
Key insight: Skills are the underlying content. Commands are just one way to invoke them.
Ways to Use PM-Skills
Section titled “Ways to Use PM-Skills”| Method | Best For | Setup Time | Technical Level |
|---|---|---|---|
| Claude Code | Developers using Claude Code | None | Low |
| Git Clone | Copilot, Cursor, Windsurf users | 1 minute | Low |
| Claude.ai | Claude web/desktop users | 2 minutes | Low |
| Copy-Paste | Any AI (ChatGPT, etc.) | None | None |
| openskills CLI | Advanced users managing multiple skill sets | 5 minutes | Medium |
Method 1: Claude Code (Slash Commands)
Section titled “Method 1: Claude Code (Slash Commands)”Best for: Developers using Claude Code CLI or IDE extension
For Non-Technical Users
Section titled “For Non-Technical Users”If you’re using Claude Code, skills work automatically. Just type a slash command:
/pm-skills:deliver-prd "Search feature for our e-commerce platform"That’s it! Claude will create a full PRD using the skill.
For Technical Users
Section titled “For Technical Users”How It Works
Section titled “How It Works”Claude Code discovers the registered skill set via AGENTS.md and command definitions in commands/. The full repo catalog lives under skills/, including any path-only skills that have not been wired into AGENTS.md or slash commands yet.
- Navigate to a directory containing pm-skills (clone it or work within the repo)
- Start using slash commands immediately
# Basic usage/pm-skills:deliver-prd "feature description"
# With more context/pm-skills:deliver-prd "We need a search feature for our e-commerce platform. Users currently can't find products easily. Target: 20% improvement in product discovery."
# Chain skills/pm-skills:define-problem-statement "checkout abandonment issue"# ... review output .../pm-skills:define-hypothesis "from the problem statement above"# ... review output .../pm-skills:deliver-prd "based on the hypothesis above"Available Skills and Commands
Section titled “Available Skills and Commands”Every skill is invocable by name as /pm-skills:<skill-name> (examples below). Separately, the repo ships 10 /workflow-* orchestrator command files that chain several skills into one end-to-end process.
| Phase | Invoke the skill by name |
|---|---|
| Discover | /pm-skills:discover-interview-synthesis, /pm-skills:discover-competitive-analysis, /pm-skills:discover-stakeholder-summary |
| Define | /pm-skills:define-problem-statement, /pm-skills:define-hypothesis, /pm-skills:define-opportunity-tree, /pm-skills:define-jtbd-canvas |
| Develop | /pm-skills:develop-solution-brief, /pm-skills:develop-spike-summary, /pm-skills:develop-adr, /pm-skills:develop-design-rationale |
| Deliver | /pm-skills:deliver-prd, /pm-skills:deliver-user-stories, /pm-skills:deliver-acceptance-criteria, /pm-skills:deliver-edge-cases, /pm-skills:deliver-launch-checklist, /pm-skills:deliver-release-notes |
| Measure | /pm-skills:measure-experiment-design, /pm-skills:measure-instrumentation-spec, /pm-skills:measure-dashboard-requirements, /pm-skills:measure-experiment-results, /pm-skills:measure-okr-grader |
| Iterate | /pm-skills:iterate-retrospective, /pm-skills:iterate-lessons-log, /pm-skills:iterate-refinement-notes, /pm-skills:iterate-pivot-decision |
| Utility | /pm-skills:utility-pm-skill-builder, /pm-skills:utility-pm-skill-validate, /pm-skills:utility-pm-skill-iterate, /pm-skills:utility-mermaid-diagrams, /pm-skills:utility-slideshow-creator, /pm-skills:utility-update-pm-skills |
| Foundation | /pm-skills:foundation-persona, /pm-skills:foundation-lean-canvas, /pm-skills:foundation-okr-writer, /pm-skills:foundation-stakeholder-update, /pm-skills:foundation-meeting-agenda, /pm-skills:foundation-meeting-brief, /pm-skills:foundation-meeting-recap, /pm-skills:foundation-meeting-synthesize |
Plus 10 workflow commands: /workflow-feature-kickoff, /workflow-customer-discovery, /workflow-sprint-planning, /workflow-product-strategy, /workflow-post-launch-learning, /workflow-stakeholder-alignment, /workflow-technical-discovery, /workflow-foundation-sprint, /workflow-design-sprint, /workflow-foundation-to-design
Method 2: Git Clone (Any AI Assistant)
Section titled “Method 2: Git Clone (Any AI Assistant)”Best for: GitHub Copilot, Cursor, Windsurf, and other AGENTS.md-compatible tools
For Non-Technical Users
Section titled “For Non-Technical Users”-
Download the repository:
- Go to github.com/product-on-purpose/pm-skills
- Click the green “Code” button
- Click “Download ZIP”
- Unzip to a folder you’ll remember
-
Open in your coding tool:
- Open VS Code, Cursor, or your editor
- Open the pm-skills folder
-
Use the skills:
- Your AI assistant will automatically see the skills
- Ask: “Use the prd skill to create a PRD for [your feature]“
For Technical Users
Section titled “For Technical Users”# Clone the repositorygit clone https://github.com/product-on-purpose/pm-skills.git
# Or add as a submodule to your projectgit submodule add https://github.com/product-on-purpose/pm-skills.git .pm-skillsHow It Works
Section titled “How It Works”Modern AI coding assistants discover skills through the AGENTS.md file at the repository root. This file:
- Lists all 68 registered skills with paths and descriptions
- Provides workflows
- Documents available commands
When you ask the AI to use a skill, it:
- Reads
AGENTS.mdto locate the skill - Reads
SKILL.mdfor instructions - Reads
TEMPLATE.mdandEXAMPLE.mdfrom references - Generates output following the instructions
You: "Use the prd skill to create a PRD for adding dark mode"
AI: *Reads skills/deliver-prd/SKILL.md and follows the instructions*Or reference skills directly:
You: "Read skills/deliver-prd/SKILL.md and create a PRD for dark mode"Keeping Updated
Section titled “Keeping Updated”# If cloned directlycd pm-skillsgit pull origin main
# If using submodulegit submodule update --remote .pm-skillsMethod 3: Claude.ai / Claude Desktop
Section titled “Method 3: Claude.ai / Claude Desktop”Best for: Users of Claude’s web interface or desktop application
For Non-Technical Users
Section titled “For Non-Technical Users”-
Download the skills:
- Go to the Releases page
- Download the latest
pm-skills-vX.X.X.zipfile
-
Upload to Claude:
- Open Claude.ai or Claude Desktop
- Go to Settings (gear icon)
- Find Projects or Capabilities
- Click Add files or Upload
- Select the ZIP file you downloaded
-
Use the skills:
- In any conversation, type: “Use the prd skill to create a PRD for [your feature]”
- Claude will read the skill files and follow them
For Technical Users
Section titled “For Technical Users”Setup Options
Section titled “Setup Options”Option A: Project Knowledge
- Create a new Project in Claude
- Upload skill files to Project Knowledge
- Skills persist across conversations in that project
Option B: Conversation Upload
- Upload individual skill files at conversation start
- Reference them: “Using the uploaded prd skill…”
Structuring Uploads
Section titled “Structuring Uploads”For best results, upload:
- The specific
SKILL.mdyou need - Its
references/TEMPLATE.md - Its
references/EXAMPLE.md
Or upload the entire skills/ directory if your use case varies.
You: "I've uploaded the prd skill. Please use it to create a PRD for a feature that adds collaborative editing to our docs app."
Claude: *Reads the skill files and produces a structured PRD*Method 4: Copy-Paste (Universal)
Section titled “Method 4: Copy-Paste (Universal)”Best for: Any AI assistant (ChatGPT, Gemini, local LLMs, etc.)
For Non-Technical Users
Section titled “For Non-Technical Users”This method works with any AI. No setup required.
-
Find the skill you need:
- Go to github.com/product-on-purpose/pm-skills
- Navigate to
skills/→ choose a skill (names are prefixed by phase, e.g.,deliver-prd) - Example:
skills/deliver-prd/
-
Copy the skill content:
- Click on
SKILL.md - Click “Raw” to see plain text
- Select all and copy (Ctrl+A, Ctrl+C)
- Click on
-
Paste into your AI:
- Start a new chat
- Paste the skill content
- Add your request: “Now create a PRD for [your feature]”
-
Optional: Add template and example:
- Also copy
references/TEMPLATE.mdfor structure - Copy
references/EXAMPLE.mdfor quality reference
- Also copy
For Technical Users
Section titled “For Technical Users”Minimal Copy-Paste
Section titled “Minimal Copy-Paste”[Paste contents of SKILL.md]
---
Now use these instructions to create a PRD for: [your context]Full Copy-Paste (Recommended)
Section titled “Full Copy-Paste (Recommended)”# SKILL INSTRUCTIONS[Paste contents of SKILL.md]
# OUTPUT TEMPLATE[Paste contents of references/TEMPLATE.md]
# QUALITY EXAMPLE[Paste contents of references/EXAMPLE.md]
---
Using the above skill instructions, template, and example as reference,create a PRD for: [your context]Automating Copy-Paste
Section titled “Automating Copy-Paste”Create a script to concatenate files:
#!/bin/bash# Usage: ./get-skill.sh prd
SKILL=$1cat skills/$SKILL/SKILL.mdecho -e "\n---\n# TEMPLATE\n"cat skills/$SKILL/references/TEMPLATE.mdecho -e "\n---\n# EXAMPLE\n"cat skills/$SKILL/references/EXAMPLE.mdMethod 5: openskills CLI
Section titled “Method 5: openskills CLI”Best for: Power users managing multiple skill repositories
For Non-Technical Users
Section titled “For Non-Technical Users”This method requires comfort with command-line tools. If that’s not you, use one of the earlier methods instead.
For Technical Users
Section titled “For Technical Users”Prerequisites
Section titled “Prerequisites”- Node.js 18+ installed
- npm or yarn
# Install openskills globallynpm install -g openskills
# Install pm-skillsopenskills install product-on-purpose/pm-skills
# Sync to your environmentopenskills syncKnown Issues
Section titled “Known Issues”Note: openskills previously had issues with nested directories. pm-skills now ships flat
skills/phase-skill/plus a sync helper that populates.claude/skills/. After cloning, run./scripts/sync-claude.sh(or.ps1) before using openskills or Claude Code.
Once installed, skills are available globally:
# List installed skillsopenskills list
# Use in conversations# Skills are auto-discovered by compatible AI assistantsManaging Multiple Skill Sets
Section titled “Managing Multiple Skill Sets”# Install additional skill repositoriesopenskills install another-org/their-skills
# Update all skillsopenskills update
# Remove a skill setopenskills remove product-on-purpose/pm-skillsChoosing the Right Method
Section titled “Choosing the Right Method”Decision Tree
Section titled “Decision Tree”flowchart TD
A{"Using Claude Code?"} -- Yes --> M1["Method 1\nSlash Commands"]
A -- No --> B{"Using Copilot,\nCursor, or Windsurf?"}
B -- Yes --> M2["Method 2\nGit Clone"]
B -- No --> C{"Using Claude.ai\nor Claude Desktop?"}
C -- Yes --> M3["Method 3\nZIP Upload"]
C -- No --> D{"Quick, one-time use?"}
D -- Yes --> M4["Method 4\nCopy-Paste"]
D -- No --> M5["Method 5\nopenskills CLI"]
Comparison Matrix
Section titled “Comparison Matrix”| Feature | Claude Code | Git Clone | Claude Upload | Copy-Paste | openskills |
|---|---|---|---|---|---|
| Setup time | None | 1 min | 2 min | None | 5 min |
| Slash commands | Yes | No | No | No | Varies |
| Auto-updates | Yes | Manual | Manual | N/A | Yes |
| Works offline | Yes | Yes | Yes | Yes | Yes |
| Any AI platform | No | Most | Claude only | Yes | Most |
| Skill chaining | Easy | Easy | Medium | Hard | Easy |
Your First Skill
Section titled “Your First Skill”Let’s walk through using a skill for the first time.
Scenario
Section titled “Scenario”You’re starting a new feature and want to create a proper problem statement.
Step 1: Choose Your Method
Section titled “Step 1: Choose Your Method”Pick the method that matches your setup (see above).
Step 2: Invoke the Skill
Section titled “Step 2: Invoke the Skill”Claude Code:
/pm-skills:define-problem-statement "Users are abandoning checkout because the processis too long. We lose about $50k/month in abandoned carts."Other AI assistants:
Use the problem-statement skill to create a problem statement for:Users are abandoning checkout because the process is too long.We lose about $50k/month in abandoned carts.Step 3: Provide More Context
Section titled “Step 3: Provide More Context”The AI will likely ask clarifying questions:
- Who specifically experiences this problem?
- What have you tried before?
- What constraints exist?
Answer these to improve the output.
Step 4: Review and Iterate
Section titled “Step 4: Review and Iterate”The AI produces a structured problem statement. Review it and ask for:
- More detail in specific sections
- Different framing
- Additional considerations
Step 5: Chain to Next Skill
Section titled “Step 5: Chain to Next Skill”Once satisfied, use another skill:
Now use the hypothesis skill to create a testable hypothesisbased on this problem statement.Workflows
Section titled “Workflows”Workflows are pre-defined sequences of skills for common PM processes.
Feature Kickoff Workflow
Section titled “Feature Kickoff Workflow”Use when: Starting a new feature from scratch
Skills included:
problem-statement→ Frame the problemhypothesis→ Define testable assumptionsprd→ Specify requirementsuser-stories→ Break down for engineeringlaunch-checklist→ Prepare for release
Invocation:
# Claude Code/workflow-feature-kickoff "New search feature for e-commerce platform"
# Other assistants"Run the feature kickoff workflow for: [your feature]"Lean Startup Workflow
Section titled “Lean Startup Workflow”Use when: Rapid experimentation and validation
Skills included:
hypothesis→ State your assumptionexperiment-design→ Plan validationexperiment-results→ Analyze outcomespivot-decision→ Decide next steps
Triple Diamond Workflow
Section titled “Triple Diamond Workflow”Use when: Comprehensive product development
Skills included: All 30 phase skills across 6 phases
Additional Workflows (v2.9.0)
Section titled “Additional Workflows (v2.9.0)”| Workflow | Command | Use When |
|---|---|---|
| Customer Discovery | /workflow-customer-discovery | Transforming raw research into a validated problem |
| Sprint Planning | /workflow-sprint-planning | Preparing sprint-ready stories from a backlog |
| Product Strategy | /workflow-product-strategy | Framing a major strategic initiative |
| Post-Launch Learning | /workflow-post-launch-learning | Measuring results and capturing learnings after launch |
| Stakeholder Alignment | /workflow-stakeholder-alignment | Getting leadership buy-in before committing resources |
| Technical Discovery | /workflow-technical-discovery | Evaluating technical feasibility and architecture |
See _workflows/ directory for detailed workflow documentation.
Troubleshooting
Section titled “Troubleshooting””The AI doesn’t seem to know about the skills”
Section titled “”The AI doesn’t seem to know about the skills””Cause: Skills aren’t properly loaded or discovered.
Solutions:
- Ensure
AGENTS.mdis visible to the AI - Try explicit paths: “Read
skills/deliver-prd/SKILL.md” - Upload files directly in Claude.ai/Desktop
- Check that you’re in the correct directory
”The output doesn’t match the template”
Section titled “”The output doesn’t match the template””Cause: AI didn’t read the template file.
Solutions:
- Explicitly reference the template: “Use the template in
references/TEMPLATE.md” - Upload/paste the template alongside the skill
- Ask: “Reformat the output to match the template structure"
"The AI asks too many questions”
Section titled “"The AI asks too many questions””Cause: Not enough context provided upfront.
Solutions:
- Provide more detail in your initial request
- Include: who, what, why, constraints, prior attempts
- Pre-answer common questions in your prompt
”Slash commands aren’t working”
Section titled “”Slash commands aren’t working””Cause: Platform doesn’t support them or commands aren’t discovered.
Solutions:
- Verify you’re using Claude Code (not Claude.ai)
- Check
commands/directory exists - Use natural language: “Use the prd skill…” instead
”I get different results each time”
Section titled “”I get different results each time””Cause: AI variance is normal; context matters.
Solutions:
- Provide consistent, detailed context
- Save good outputs as additional examples
- Use the same conversation thread for related artifacts
Next Steps
Section titled “Next Steps”Learn More
Section titled “Learn More”- Categories Reference - understand skill organization
- Frontmatter Schema - technical skill structure
- Triple Diamond Framework - the organizing methodology
- Security Policy - how to report a vulnerability and what’s in scope
- Provenance and Trust - what ships, what runs at install, and how a release is verified
Explore Skills
Section titled “Explore Skills”Browse by phase:
- Discover: interview-synthesis, competitive-analysis, stakeholder-summary
- Define: problem-statement, hypothesis, opportunity-tree, jtbd-canvas
- Develop: solution-brief, spike-summary, adr, design-rationale
- Deliver: prd, user-stories, edge-cases, launch-checklist, release-notes
- Measure: experiment-design, instrumentation-spec, dashboard-requirements, experiment-results
- Iterate: retrospective, lessons-log, refinement-notes, pivot-decision
Contribute
Section titled “Contribute”Have ideas for new skills or improvements?
- See contribution guidelines in README (Contributing section)
- Open an issue on GitHub
- Submit a pull request
Quick Reference Card
Section titled “Quick Reference Card”Skill Invocation Cheat Sheet
Section titled “Skill Invocation Cheat Sheet”| Platform | How to Invoke |
|---|---|
| Claude Code | /skill-name "context" |
| Copilot/Cursor | ”Use the skill-name skill to…” |
| Claude.ai | Upload ZIP, then “Use the skill-name skill to…” |
| ChatGPT/Other | Copy-paste SKILL.md, then “Create a…” |
Most-Used Skills
Section titled “Most-Used Skills”| Need | Skill | Command |
|---|---|---|
| Define the problem | problem-statement | /pm-skills:define-problem-statement |
| Write requirements | prd | /pm-skills:deliver-prd |
| Create user stories | user-stories | /pm-skills:deliver-user-stories |
| Plan an experiment | experiment-design | /pm-skills:measure-experiment-design |
| Prepare for launch | launch-checklist | /pm-skills:deliver-launch-checklist |
Skill → Output Mapping
Section titled “Skill → Output Mapping”| Skill | Produces |
|---|---|
| problem-statement | Problem framing document |
| prd | Product Requirements Document |
| user-stories | User stories with acceptance criteria |
| hypothesis | Testable hypothesis statement |
| experiment-design | A/B test plan |
| retrospective | Team retro summary with actions |
Built by Product on Purpose for PMs who ship.