pm-skills-mcp
v2.1.0
Published
MCP server exposing 24 product management skills as tools, resources, and workflows
Maintainers
Readme
Want to customize skills or use slash commands? This server is powered by pm-skills—the open-source skill library you can fork and modify.
Quick Start (NPM Global Install)
npm install -g pm-skills-mcpThe Big Idea
PM-Skills MCP is an MCP server that transforms PM-Skills—a collection of 24 battle-tested product management skills—into programmatically accessible tools, resources, and prompts for any AI assistant that speaks the Model Context Protocol.
PM-Skills MCP is built on pm-skills, an open-source collection of 24 battle-tested product management skills. While pm-skills offers file-based access with slash commands and AGENTS.md discovery, pm-skills-mcp wraps those same skills in an MCP server for programmatic access.
Not sure which to use? See the Comparison section below.
One connection. 24 skills. Any MCP client.
Why MCP?
The Model Context Protocol is an open standard that lets AI assistants connect to external tools and data sources. Instead of manually copying skill files or uploading ZIP archives, PM-Skills MCP gives your AI direct, programmatic access to the entire PM skill library.
The Transformation
| File-Based Approach | MCP-Powered Approach |
| ---------------------------------- | --------------------------------- |
| Clone repo, navigate to skills | npx pm-skills-mcp - done |
| Copy/paste skill content into chat | AI invokes tools directly |
| Manual template injection | Automatic template retrieval |
| Platform-specific slash commands | Universal across all MCP clients |
| Static markdown files | Dynamic, parameterized tools |
| Works in one IDE/client | Works everywhere MCP is supported |
Key Features
- 35 MCP Tools - 24 PM skills + 5 workflow bundles + 6 utility tools
- 72 MCP Resources - Skills, templates, and examples accessible via URI
- 3 MCP Prompts - Guided conversation starters for common workflows
- 5 Workflow Bundles - Pre-built multi-skill workflows for common scenarios
- 66 Automated Tests - Comprehensive test coverage with Vitest
- Zero Configuration - Works out of the box with embedded skills
- Universal Compatibility - Claude Desktop, Cursor, Continue, and any MCP client
- Customizable - Override with your own skill modifications
- Lightweight - Minimal dependencies, fast startup
- Security Scanning - CodeQL analysis on every push
Built with...
- Model Context Protocol - Open standard for AI tool connectivity
- PM-Skills - The 24 PM skills this server exposes
- TypeScript - Type-safe implementation
- Vitest - Fast, modern testing framework
Works for...
PM-Skills MCP works with any client that supports the Model Context Protocol. Here's a quick overview:
Platform Compatibility
| Platform | Status | Integration Type | Notes | | ------------------- | ------------ | --------------------- | ---------------------------------- | | Claude Code | ✅ Native | MCP Server | Full tool access via CLI | | Claude Desktop | ✅ Native | MCP Server | Recommended for best experience | | Claude.ai | ✅ Native | MCP Server (Projects) | Via MCP integration in Projects | | Cursor | ✅ Native | MCP Server | AI-powered IDE | | VS Code | ✅ Native | Via Cline/Continue | Multiple MCP-compatible extensions | | Continue | ✅ Native | MCP Server | Open-source coding assistant | | Cline | ✅ Native | MCP Server | VS Code extension | | Windsurf | ✅ Native | MCP Server | AI-native IDE | | GitHub Copilot | 🔶 Indirect | Via MCP-enabled tools | Use with Copilot Chat + MCP | | ChatGPT / Codex | 🔶 Manual | Copy skill content | No native MCP support | | Any MCP Client | ✅ Universal | Protocol-level | Full compatibility |
See the Integration Guide for detailed setup instructions for each platform.
Comparison: pm-skills-mcp (this repo) vs. pm-skills
PM-Skills is available in two complementary forms:
| | pm-skills-mcp (this repo) | pm-skills |
|---|---|---|
| What it is | MCP server wrapping the skill library | Skill library as markdown files |
| Access method | npx pm-skills-mcp | Git clone, ZIP upload |
| Setup time | 30 seconds | 2-5 minutes |
| Skill invocation | MCP tool calls | Slash commands (Claude Code) |
| Auto-discovery | MCP protocol (Claude Desktop, Cursor) | AGENTS.md (Copilot, Cursor, Windsurf) |
| Template access | URI-based resources | Navigate file system |
| Workflow bundles | Tool-based execution | Manual orchestration |
| Customization | Set PM_SKILLS_PATH to custom folder | Edit files directly |
| Updates | npm update pm-skills-mcp | git pull |
Use pm-skills-mcp (this repo) when:
- You want instant setup with
npx pm-skills-mcp - You're using Claude Desktop, Cursor, or any MCP client
- You want programmatic tool access without managing files
- You prefer consistent interfaces across different AI clients
Use pm-skills (file-based) when:
- You prefer slash commands in Claude Code (
/prd,/hypothesis) - You want to browse, read, and customize skill files directly
- You're using GitHub Copilot or Windsurf with AGENTS.md discovery
- You want to fork and heavily customize skills for your team
Using Both Together:
Fork pm-skills to customize skills, then point pm-skills-mcp to your fork:
{
"mcpServers": {
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"],
"env": {
"PM_SKILLS_PATH": "/path/to/my/forked/pm-skills/skills"
}
}
}
}Getting Started
This section covers quick installation. For a comprehensive walkthrough including core concepts, your first tool invocation, workflows, and troubleshooting, see the Getting Started Guide.
NPM Global Install
npm install -g pm-skills-mcpRun directly:
pm-skills-mcpFrom Source
git clone https://github.com/product-on-purpose/pm-skills-mcp.git
cd pm-skills-mcp
npm install
npm run build
npm startQuick Start by Platform
The recommended client for pm-skills-mcp. Add to your Claude Desktop configuration:
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Configuration:
{
"mcpServers": {
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"]
}
}
}Restart Claude Desktop. You now have access to all 24 PM skills as tools.
Add to .claude/settings.json in your project or ~/.claude/settings.json globally:
{
"mcpServers": {
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"]
}
}
}Navigate to Settings → Features → MCP Servers, then add:
{
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"]
}
}Restart Cursor. The 24 PM skill tools will be available in AI chat.
With Cline:
- Install Cline from VS Code Marketplace
- Open Cline settings and configure MCP server:
{ "pm-skills": { "command": "npx", "args": ["pm-skills-mcp"] } }
With Continue:
- Install Continue from VS Code Marketplace
- Configure MCP in Continue settings
Any MCP-compatible client can use pm-skills-mcp. The general pattern:
- Configure an MCP server with command
npxand args["pm-skills-mcp"] - Restart the client
- All 24 PM skills become available as tools
See the Integration Guide for detailed instructions for all platforms.
Configuration
Environment Variables
| Variable | Default | Description |
| -------------------- | ---------- | ------------------------------- |
| PM_SKILLS_PATH | (embedded) | Path to custom skills directory |
| PM_SKILLS_FORMAT | full | Default output format |
| PM_SKILLS_EXAMPLES | false | Include examples by default |
Custom Skills Path
Override embedded skills with your customized versions:
{
"mcpServers": {
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"],
"env": {
"PM_SKILLS_PATH": "/path/to/my/custom/skills"
}
}
}
}Using Custom Skills from a pm-skills Fork
If you've forked pm-skills to customize skills:
- Clone your fork locally
- Make changes to skills in
skills/{phase-skill}/(e.g.,skills/deliver-prd/) - Point pm-skills-mcp to your fork:
{
"mcpServers": {
"pm-skills": {
"command": "npx",
"args": ["pm-skills-mcp"],
"env": {
"PM_SKILLS_PATH": "/path/to/my-pm-skills-fork/skills"
}
}
}
}See the pm-skills authoring guide for skill modification guidelines.
Usage
How It Works
┌─────────────────────────────────────────────────────────────┐
│ Your AI Assistant │
│ (Claude, Cursor, Continue, etc.) │
└──────────────────────────┬──────────────────────────────────┘
│ MCP Protocol
▼
┌─────────────────────────────────────────────────────────────┐
│ pm-skills-mcp Server │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 35 Tools │ │ 72 Resources│ │ 3 Prompts │ │
│ │ │ │ │ │ │ │
│ │ • 24 skills │ │ • templates │ │ • kickoff │ │
│ │ • 5 flows │ │ • examples │ │ • lean │ │
│ │ • 6 utils │ │ • skills │ │ • quick-prd │ │
│ │ │ │ │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Embedded PM-Skills Library │ │
│ │ 24 skills × (SKILL.md + TEMPLATE + EXAMPLE) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘- You ask your AI to create a PRD, hypothesis, or any PM artifact
- AI invokes the appropriate
pm_*tool via MCP - Server returns skill instructions, template, and optionally an example
- AI generates a professional-quality artifact following the skill framework
Tools
PM-Skills MCP wraps each skill from pm-skills as an MCP tool. The 24 skill tools (like pm_prd, pm_hypothesis) generate PM artifacts, while the 6 utility tools (like pm_list_skills, pm_search_skills) help you discover and validate skills. See the Comparison section for when to use MCP tools vs file-based slash commands.
Every skill tool accepts these parameters:
| Parameter | Required | Description |
|-----------|----------|-------------|
| topic | Yes | The subject or feature to create this artifact for. Be specific—"user authentication for mobile app" is better than "auth". |
| context | No | Additional requirements, constraints, or background. Use this for business context, technical constraints, or stakeholder needs. |
| format | No | Output verbosity: full (default, includes all guidance), concise (template + key points), or template-only (just structure). |
| includeExample | No | Set to true to include a completed example for reference. Helpful when learning a new skill. |
Example invocations:
# Basic usage
Use pm_prd with topic "user authentication for mobile app"
# With context
Use pm_hypothesis with topic "checkout abandonment" and context "We see 40%
cart abandonment. Hypothesis: users abandon due to required account creation."
# Request concise output with example
Use pm_user_stories with topic "dark mode" format "concise" includeExample trueThe Skills
🔍 Discover Phase - Find the right problem
| Tool | Description |
| ------------------------- | ------------------------------------------- |
| pm_interview_synthesis | Turn user research into actionable insights |
| pm_competitive_analysis | Map the landscape, find opportunities |
| pm_stakeholder_summary | Understand who matters and what they need |
📋 Define Phase - Frame the problem
| Tool | Description |
| ---------------------- | ----------------------------------------- |
| pm_problem_statement | Crystal-clear problem framing |
| pm_hypothesis | Testable assumptions with success metrics |
| pm_opportunity_tree | Teresa Torres-style outcome mapping |
| pm_jtbd_canvas | Jobs to be Done framework |
💡 Develop Phase - Explore solutions
| Tool | Description |
| --------------------- | ------------------------------- |
| pm_solution_brief | One-page solution pitch |
| pm_spike_summary | Document technical explorations |
| pm_adr | Architecture Decision Records |
| pm_design_rationale | Why you made that design choice |
🚀 Deliver Phase - Ship it
| Tool | Description |
| --------------------- | ------------------------------------------------- |
| pm_prd | Comprehensive product requirements |
| pm_user_stories | INVEST-compliant stories with acceptance criteria |
| pm_edge_cases | Error states, boundaries, recovery paths |
| pm_launch_checklist | Never miss a launch step again |
| pm_release_notes | User-facing release communication |
📊 Measure Phase - Validate with data
| Tool | Description |
| --------------------------- | ----------------------------------- |
| pm_experiment_design | Rigorous A/B test planning |
| pm_instrumentation_spec | Event tracking requirements |
| pm_dashboard_requirements | Analytics dashboard specs |
| pm_experiment_results | Document learnings from experiments |
🔄 Iterate Phase - Learn and improve
| Tool | Description |
| --------------------- | ---------------------------------------- |
| pm_retrospective | Team retros that drive action |
| pm_lessons_log | Build organizational memory |
| pm_refinement_notes | Capture backlog refinement outcomes |
| pm_pivot_decision | Evidence-based pivot/persevere framework |
🔗 Workflow Bundles - Multi-skill workflows
| Tool | Effort | Description |
| ------------------------------ | ------------- | -------------------------------------------------- |
| pm_workflow_feature_kickoff | standard | problem → hypothesis → solution → PRD → stories |
| pm_workflow_lean_startup | comprehensive | hypothesis → experiment → results → pivot decision |
| pm_workflow_triple_diamond | comprehensive | Full discovery to delivery sequence |
| pm_workflow_quick_prd | quick | Fast problem → PRD workflow |
| pm_workflow_experiment_cycle | standard | hypothesis → experiment → results → lessons |
🛠️ Utility Tools
| Tool | Description |
| ------------------- | ---------------------------------------------------------------- |
| pm_list_skills | List all available PM skill tools |
| pm_list_resources | List all available MCP resources |
| pm_list_workflows | List all workflow bundles with steps |
| pm_list_prompts | List available conversation prompts |
| pm_validate | Validate artifact against skill template |
| pm_search_skills | Search skills by keyword across names, descriptions, and content |
MCP Resources
Access skill content directly via MCP resources:
pm-skills://skills/{skill} → Full skill instructions
pm-skills://templates/{skill} → Template only
pm-skills://examples/{skill} → Worked exampleExamples:
pm-skills://skills/deliver-prd
pm-skills://templates/define-hypothesis
pm-skills://examples/measure-experiment-designNote: Phase information is available in resource metadata.
Prompts
MCP prompts provide guided conversation starters for common workflows. Use prompts/get with the prompt name and a topic to begin.
| Prompt | Description |
| ----------------- | ------------------------------------------------------------------------- |
| feature-kickoff | Complete feature kickoff: Problem → Hypothesis → Solution → PRD → Stories |
| lean-validation | Build-Measure-Learn cycle: Hypothesis → Experiment → Results → Pivot |
| quick-prd | Fast PRD creation when requirements are clear: Problem → PRD |
Usage example:
prompts/get name="feature-kickoff" arguments={"topic": "dark mode support"}Guides
Comprehensive documentation for setup, customization, and understanding pm-skills-mcp.
| Guide | Description | |-------|-------------| | Getting Started | Complete walkthrough from installation to your first tool invocation. Covers core concepts, platform-specific setup, workflows, and troubleshooting. | | Integration Guide | Detailed setup instructions for each MCP client (Claude Desktop, Cursor, Continue, Cline, etc.) with troubleshooting tips. | | Customization Guide | How to use custom skills with pm-skills-mcp. Covers environment variable overrides, forking pm-skills, and creating new skills. | | Migration Guide | Moving between file-based pm-skills and MCP-based pm-skills-mcp. Includes command-to-tool mapping and hybrid approaches. | | Architecture | Technical deep-dive for contributors. Covers server internals, data flow, extension points, and performance considerations. |
Project Status
Releases
All releases are available on the GitHub Releases page.
Install the latest version:
npm install -g pm-skills-mcpProject Structure
See docs/reference/project-structure.md for detailed descriptions.
pm-skills-mcp/
├── src/ # TypeScript source code
│ ├── index.ts # Entry point
│ ├── server.ts # MCP server implementation
│ ├── config.ts # Configuration management
│ ├── cache.ts # Skill caching layer
│ ├── skills/ # Skill loader and parser
│ ├── tools/ # MCP tool handlers (35 tools)
│ ├── resources/ # MCP resource handlers (72 resources)
│ ├── prompts/ # MCP prompt definitions (3 prompts)
│ ├── workflows/ # Workflow bundle logic
│ └── types/ # TypeScript type definitions
├── skills/ # Embedded PM skills (flat, copied from pm-skills v2.x)
│ ├── deliver-prd/ # Example: phase-prefixed skill directories
│ ├── define-hypothesis/ # Each skill has SKILL.md + references/
│ ├── discover-interview-synthesis/
│ └── ... # 24 skills total
├── docs/ # Documentation
│ ├── getting-started.md # Complete setup and first-use guide
│ ├── integration-guide.md # Client-specific configuration
│ ├── customization.md # Using custom skills with MCP
│ ├── migration-guide.md # Moving between file-based and MCP
│ ├── architecture.md # Technical internals for contributors
│ └── reference/ # Reference documentation
│ └── project-structure.md
├── tests/ # Vitest test suites (66 tests)
├── scripts/ # Build and utility scripts
├── dist/ # Compiled JavaScript output
├── .github/ # CI/CD workflows
│ └── workflows/ # ci.yml, publish.yml, codeql.yml
├── AGENTS.md # Agent discovery file
├── CONTRIBUTING.md # Contribution guidelines
├── SECURITY.md # Security policy
└── CHANGELOG.md # Version historyChangelog
See CHANGELOG.md for full version history.
| Version | Date | Highlights | | --------- | ---------- | ------------------------------------------------------------- | | 2.1.0 | 2026-01-27 | Flat skill structure alignment with pm-skills v2.x | | 1.1.0 | 2026-01-21 | Comprehensive documentation suite, platform compatibility | | 1.0.0 | 2026-01-21 | First stable release with 36 tools, 72 resources, caching | | 0.1.2 | 2026-01-20 | CI/CD infrastructure, branch migration to main | | 0.1.1 | 2026-01-20 | GitHub Actions CI/CD, ESLint + Prettier, npm package setup | | 0.1.0 | 2026-01-20 | Initial implementation with all 24 PM skills as MCP tools |
Roadmap
See the open issues for planned features.
- [x] Core MCP server with all 24 PM skills
- [x] Workflow bundle tools
- [x] MCP resources for direct skill access
- [x] MCP prompts for guided workflows
- [x] Automated npm publishing
- [ ] Skill versioning and compatibility tracking
- [ ] Additional workflow bundles
- [ ] Custom skill contribution support
Development
Testing
The project uses Vitest for testing with 66 tests across multiple test files.
# Run all tests
npm test
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverageTest coverage includes:
- Skill loader and parser
- Tool handler and response formatting
- Workflow bundle execution
- Prompt registration
- Output validation
- Server initialization
Code Quality
# Lint with ESLint
npm run lint
# Auto-fix lint issues
npm run lint:fix
# Format with Prettier
npm run format
# Check formatting
npm run format:check
# Type check
npx tsc --noEmitCI/CD
The project uses GitHub Actions for continuous integration and deployment:
CI Workflow (.github/workflows/ci.yml)
- Triggers on push/PR to
main - Tests on Node.js 18, 20, and 22
- Runs lint, format check, type check, and tests
- Clones pm-skills and embeds skills for testing
Publish Workflow (.github/workflows/publish.yml)
- Triggers on GitHub release creation
- Auto-publishes to npm with provenance
- Uses npm automation token for authentication
CodeQL Workflow (.github/workflows/codeql.yml)
- Security scanning for JavaScript/TypeScript
- Runs on push to main and weekly schedule
Security
We take security seriously. This project includes:
- CodeQL Analysis - Automated security scanning on every push
- Dependabot - Automated dependency updates for npm and GitHub Actions
- Vulnerability Reporting - See SECURITY.md for our security policy
To report a vulnerability, please email security concerns privately rather than opening a public issue. See SECURITY.md for details.
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
How to Contribute
Quick contribution steps:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes using Conventional Commits (
git commit -m 'feat: add amazing feature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please read our CONTRIBUTING.md for detailed guidelines.
Reporting Bugs
Please try to create bug reports that are:
- Reproducible - Include steps to reproduce the problem
- Specific - Include as much detail as possible (version, environment, etc.)
- Unique - Do not duplicate existing opened issues
- Scoped - One bug per report
About
Author
Howdy, I'm Jonathan Prisant, a product leader/manager/nerd in the church technology space who gets unreasonably excited about understanding + solving problems, serving humans, designing elegant systems, and getting stuff done. I enjoy optimizing and scaling workflows more than is probably healthy... NOT because I'm particularly fond of "business process definition", but because I think in systems and value the outcomes of increased "effectiveness and efficiency" (i.e. doing less of the boring work and more of the work I actually enjoy).
I am a follower of Jesus Christ, grateful husband to my beloved, proud (and exhausted) dad of 4 humans of various sizes and ages, D&D geek, 3d printing enthusiast, formerly-consistent strength trainer, smart home enthusiast, insatiable learner, compulsive tech-experimenter, writer-of-words that aggregate into sentences and paragraphs, and a bunch of other stuff too. I have too many projects going on across too many domains and need better self control, but hopefully you find this open-source repo helpful and useful.
If PM-Skills has helped you ship better products, consider giving the repo a star and sharing it with your team.
License
Distributed under the Apache License 2.0. See LICENSE for more information.
This means you can:
- Use PM-Skills MCP commercially
- Modify and distribute
- Use privately
- Include in proprietary software
The only requirements are attribution and including the license notice.
Security
We take security seriously. This project includes:
- CodeQL Analysis - Automated security scanning on every push
- Dependabot - Automated dependency updates for npm and GitHub Actions
- Vulnerability Reporting - See SECURITY.md for our security policy
To report a vulnerability, please email security concerns privately rather than opening a public issue.
Acknowledgments
- PM-Skills - The skill library that powers this MCP server. All 24 PM skills, templates, and examples come from pm-skills.
- Model Context Protocol - The protocol that makes this possible
- Anthropic - For creating MCP and Claude
Community
Have ideas for making PM-Skills MCP even better? Here are some ways to contribute and connect:
Feature Ideas
- Open a feature request to suggest improvements
- Join the Discussions to brainstorm with the community
Spread the Word
- Give the repo a star if you find it useful
- Share PM-Skills MCP with your team
- Write about how you use PM-Skills MCP in your workflow
Feedback
- Found something confusing? Open an issue
- Want to chat? Start a discussion
