Your PM workflows, inside your AI assistant. 13 product management workflows — daily briefs, PRDs, sprint reviews, competitor reports, and more — available through three installation routes depending on your setup.
You provide context (Slack messages, Jira tickets, customer feedback), and OpenPMKit generates structured, evidence-grounded PM artifacts through your AI assistant.
Product managers who use AI assistants (Claude Desktop, Cursor, Claude Cowork, Claude Code) and want structured, repeatable workflows instead of writing prompts from scratch every time.
| Route | Best For | Setup |
|---|---|---|
| A. MCP Server | Claude Desktop, Cursor, any MCP client | pip install + config |
| B. Claude Code Plugin | Claude Code Desktop & CLI | /plugin install |
| C. Claude Cowork Plugin | Claude Cowork | Marketplace install |
Anthropic PR: OpenPMKit's workflows (8 commands, 5 skills) have been submitted to Anthropic's official product-management plugin. If accepted, they'll be available to every Cowork and Claude Code user who installs that plugin.
| # | Tool | What It Produces | Category |
|---|---|---|---|
| 1 | daily_brief |
Morning synthesis of Slack, Jira, support, community | Autonomous |
| 2 | meeting_prep |
Account context, talking points, risks for customer meetings | Autonomous |
| 3 | voc_clustering |
Customer feedback clustered into themes with impact scores | On-Demand |
| 4 | competitor_research |
Competitor changes, feature gaps, strategic implications | On-Demand |
| 5 | roadmap_alignment |
Decision memo with options, trade-offs, recommendation | On-Demand |
| 6 | prd_draft |
Evidence-backed PRD with goals, requirements, timeline | On-Demand |
| 7 | sprint_review |
Sprint summary, metrics dashboard, demo highlights | Autonomous |
| 8 | prototype_generation |
Standalone interactive HTML prototype from a PRD | On-Demand |
| 9 | release_notes |
Customer-facing release notes from completed work | On-Demand |
| 10 | deck_content |
Slide content tailored for exec, team, customer, or stakeholder | On-Demand |
| 11 | feature_ideation |
Raw ideas transformed into structured feature concepts | Beta |
| 12 | one_pager |
500-word executive summary from multiple inputs | Beta |
| 13 | tldr |
30-second Slack/email-ready bullet summary | Beta |
pmkit_help— Lists every available tool with its required and optional fieldspmkit_workflow_details— Shows full field descriptions and examples for any workflow
OpenPMKit connects to your PM stack through three methods:
MCP servers (pre-configured, connect automatically):
| Integration | What it provides |
|---|---|
| Slack | Team messages, channel activity, stakeholder threads |
| Jira / Confluence (Atlassian) | Sprint data, tickets, epics, existing docs |
| Linear | Issues, projects, cycles |
| Asana | Tasks, projects, milestones |
| Monday.com | Boards, items, updates |
| Notion | Pages, databases, meeting notes |
| Figma | Design files, components, prototypes |
| Amplitude | Usage metrics, funnels, cohorts |
| Intercom | Support tickets, feature requests, conversations |
| Fireflies | Meeting transcripts, action items |
| Microsoft 365 | Email, calendar, documents |
Claude built-in integrations (connect in Claude's settings):
| Integration | What it provides |
|---|---|
| Gmail | Email threads, customer communications |
| Google Calendar | Meeting schedules, attendee context |
| Google Drive | Documents, spreadsheets, presentations |
Supported via manual paste (no MCP endpoint yet):
| Integration | What it provides |
|---|---|
| Gong | Call transcripts, revenue intelligence |
| Loom | Video transcript insights |
| Zendesk | Support ticket data |
| Zoom | Meeting recordings, transcripts |
AI-powered research (built-in skills, no setup needed):
| Skill | What it does |
|---|---|
| Competitive research | Searches competitor sites, Product Hunt, G2, changelogs |
| Social monitoring | Scans Reddit, Twitter/X, Hacker News, community forums |
| News tracking | Tracks industry news, analyst reports, market developments |
For full connector details including
~~categoryplaceholders, see plugin/CONNECTORS.md.
Each tool is self-documenting and conversational:
- Your AI assistant calls a tool (e.g.
prd_draft) - The MCP server checks if all required data is provided
- If anything is missing, it tells the assistant exactly what it needs — with descriptions and examples
- Once all data is there, it renders a complete structured prompt
- Your AI assistant uses that prompt to generate the artifact
You don't need to remember prompt formats. Just tell your assistant what you need in plain English.
You: "I need a PRD for our new search filters feature. We've had 47 support tickets about search."
Claude: Calls
prd_draft— sees it needstenant_name,feature_name, andcustomer_evidenceClaude: "What's your company name?"
You: "Acme Corp"
Claude: Calls
prd_draftwith all fields, gets back a structured prompt, generates a full PRD
- Python 3.10 or newer — Check with
python3 --version - pip (comes with Python) or uv (faster alternative)
git clone https://github.com/graemerycyk/openpmkit.git
cd openpmkit# Create an isolated environment (keeps your system Python clean)
python3 -m venv .venv
# Activate it
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows PowerShell
# .venv\Scripts\activate.bat # Windows CMDpip install -e .That's it. The server is now installed and ready.
pmkit-mcpThe server will start and wait for MCP client connections on stdio. Press Ctrl+C to stop. If it starts without errors, you're good.
No Python or server setup required. Install directly as a plugin with slash commands and skills:
Claude Code Desktop:
- Start a session, then type
/pluginto open the plugin manager - Go to the Marketplaces tab → click Add → enter
graemerycyk/openpmkit - Go to the Discover tab → find OpenPMKit → click Install
Claude Code CLI:
/plugin marketplace add graemerycyk/openpmkit
/plugin install openpmkitOptionally specify a scope:
| Scope | Flag | Effect |
|---|---|---|
| User (default) | --scope user |
Available across all your projects |
| Project | --scope project |
Shared with collaborators via git |
| Local | --scope local |
This repo only, gitignored |
All 15 slash commands will be available immediately. See plugin/README.md for the full command list.
Direct download: If the marketplace isn't working, download openpmkit.zip from this repo and install manually:
# Claude Code CLI
/plugin install /path/to/openpmkit.zip
# Or unzip to your plugins directory
unzip openpmkit.zip -d ~/.claude/plugins/In the Cowork plugins sidebar, click Add marketplace from GitHub and enter:
graemerycyk/openpmkit
Or click Add marketplace by URL and enter:
https://github.com/graemerycyk/openpmkit.git
Then click Sync and install OpenPMKit from the marketplace list.
Note: Cowork plugin marketplace support is still in preview.
You can also copy individual workflow skills directly — no plugin install or server needed:
git clone https://github.com/graemerycyk/openpmkit.git
cp -r openpmkit/plugin/skills/* ~/.claude/skills/Skills auto-activate when Claude detects a relevant task, or invoke directly with /skill-name.
The sections below apply to Option A (MCP Server) only. Options B and C handle connections automatically.
- Open Claude Desktop settings
- Go to Developer > Edit Config
- Add the PM Kit server:
macOS — edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"pmkit": {
"command": "/full/path/to/openpmkit/.venv/bin/pmkit-mcp"
}
}
}Windows — edit %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"pmkit": {
"command": "C:\\full\\path\\to\\openpmkit\\.venv\\Scripts\\pmkit-mcp.exe"
}
}
}- Restart Claude Desktop
- You should see PM Kit tools in the tools list (hammer icon)
Using uv instead of pip?
{
"mcpServers": {
"pmkit": {
"command": "uv",
"args": ["run", "--directory", "/full/path/to/openpmkit", "pmkit-mcp"]
}
}
}Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"pmkit": {
"command": "/full/path/to/openpmkit/.venv/bin/pmkit-mcp"
}
}
}Add to ~/.claude/settings.json:
{
"mcpServers": {
"pmkit": {
"command": "/full/path/to/openpmkit/.venv/bin/pmkit-mcp"
}
}
}Any client that supports the MCP stdio transport can connect. Point it at the pmkit-mcp binary in your .venv/bin/ directory.
Once connected, just talk to your AI assistant naturally. Here are some things you can ask:
"What PM tools do I have?"
"Show me what workflows are available"
"Generate my daily brief — I'm Jane at Acme Corp, here's today's Slack activity: [paste]"
"Prep me for my QBR with Globex Corp tomorrow"
"Draft a PRD for our new search filters feature based on this customer feedback: [paste]"
"Create a roadmap alignment memo — we need to decide between AI search and SSO for Q1"
"Analyze this competitor intel and tell me where we have gaps: [paste]"
"Generate a sprint review for Sprint 42, here are the completed stories: [paste]"
"Write release notes for v2.4.0 from these Jira tickets: [paste]"
"Create exec deck content for our Q4 product update"
"Give me a TL;DR of this sprint update for Slack"
"Turn this 3-page report into a one-pager for the board"
"Generate an HTML prototype from this PRD: [paste]"
Designed for recurring use — daily standups, meeting prep, sprint ceremonies:
-
Daily Brief (
daily_brief) — Synthesizes Slack messages, Jira updates, support tickets, and community activity into a morning brief with urgent items, sprint progress, customer signals, and recommended actions. -
Meeting Prep (
meeting_prep) — Compiles account history, open issues, health metrics, and Gong call insights into a prep pack with talking points, questions to ask, and risks/opportunities. -
Sprint Review (
sprint_review) — Generates a stakeholder-ready sprint summary with key accomplishments, velocity metrics, demo highlights, blockers/learnings, and next sprint preview.
Run these when you need a specific artifact:
-
VoC Clustering (
voc_clustering) — Clusters feedback from support, calls, community, and NPS into themes with mention counts, representative quotes, trend analysis, and prioritized recommendations. -
Competitor Research (
competitor_research) — Tracks competitor product changes with feature gap analysis, strategic implications, and recommended responses. -
Roadmap Alignment (
roadmap_alignment) — Creates a decision memo with 2-3 options, evidence for each, trade-offs, a recommendation, and next steps. Formatted for executive review. -
PRD Draft (
prd_draft) — Drafts a full PRD: problem statement, goals, user stories, requirements, success criteria, assumptions, risks, and timeline. All grounded in customer evidence. -
Prototype Generation (
prototype_generation) — Outputs a standalone HTML file with embedded CSS and JavaScript. Interactive, responsive, and ready to open in a browser. -
Release Notes (
release_notes) — Translates Jira tickets into customer-friendly release notes with highlights, new features, improvements, bug fixes, and a "coming soon" preview. -
Deck Content (
deck_content) — Generates slide-by-slide content with headlines, bullets, key metrics, visual suggestions, and speaker notes. Adapts tone and depth to the audience (exec, team, customer, stakeholder).
Newer, still being refined:
-
Feature Ideation (
feature_ideation) — Takes raw ideas, Slack threads, customer signals, and constraints and produces a structured feature concept with problem definition, solution options, assumptions to validate, and 2-week action plan. -
One-Pager (
one_pager) — Distills multiple documents into a 400-500 word executive summary with TL;DR, context, key findings, recommendations, and next steps. -
TL;DR (
tldr) — Creates a 3-5 bullet summary under 100 words, optimized for Slack and mobile. Includes emoji for scanning and a clear call-to-action.
openpmkit/
├── pmkit_mcp/ # Route A: MCP server package
│ ├── __init__.py # Version metadata
│ ├── __main__.py # python -m pmkit_mcp entry point
│ ├── server.py # MCP server — tool registration and handlers
│ ├── renderer.py # Template rendering and field validation
│ └── workflows/
│ ├── __init__.py # Public API
│ └── registry.py # All 13 workflow definitions (source of truth)
├── plugin/ # Routes B & C: Claude Code / Cowork plugin
│ ├── .claude-plugin/
│ │ └── plugin.json # Plugin manifest
│ ├── commands/ # 15 slash command .md files
│ └── README.md # Plugin installation and usage
├── .claude-plugin/
│ └── marketplace.json # Plugin marketplace catalog
├── scripts/
│ └── build_plugin.py # Generates command .md files from registry.py
├── tests/
│ ├── test_registry.py # Workflow definition integrity
│ ├── test_renderer.py # Prompt rendering correctness
│ └── test_server.py # MCP tool call integration
├── pyproject.toml # Package config, dependencies, tool settings
├── CLAUDE.md # Quick reference for AI coding assistants
├── AGENTS.md # Full developer and contributor guide
└── README.md # This file
You (natural language)
│
▼
AI Assistant (Claude Desktop / Cursor / Claude Code)
│
│ MCP protocol (stdio, JSON-RPC)
│
▼
┌──────────────────────────────┐
│ PM Kit MCP Server │
│ │
│ pmkit_help ──────────────── │ ──→ Lists all 13 tools
│ pmkit_workflow_details ──── │ ──→ Field docs for one tool
│ │
│ Tool Router │
│ │ │
│ ├─ Schema validation │ ──→ Rejects calls missing required fields
│ │ │
│ ├─ Renderer │ ──→ Substitutes {{placeholders}} with your data
│ │ │
│ └─ Workflow Registry │ ──→ 13 workflow definitions with prompts
│ │
│ Returns: {system_prompt, │
│ user_prompt} │
└──────────────────────────────┘
│
▼
AI Assistant processes the structured prompt → generates your artifact
The server is stateless (no database, no files, no sessions) and LLM-agnostic (it produces prompts — your AI assistant's model processes them). Works with Claude, GPT, Gemini, or any model behind your MCP client.
Make sure your virtual environment is activated:
source /path/to/openpmkit/.venv/bin/activateOr use the full path in your MCP config:
{ "command": "/full/path/to/openpmkit/.venv/bin/pmkit-mcp" }- Check the config file path is correct for your OS
- Make sure you used the full absolute path to
pmkit-mcp(not a relative path) - Restart Claude Desktop completely (quit and reopen)
- Check Claude Desktop logs for errors
You need to install the package:
cd /path/to/openpmkit
source .venv/bin/activate
pip install -e .Check the server runs standalone:
pmkit-mcpIf it starts without errors and waits for input, the server is fine. The issue is in the MCP client configuration.
For contributors and developers who want to modify workflows or add new ones.
git clone https://github.com/graemerycyk/openpmkit.git
cd openpmkit
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"pytest # all 24 tests
pytest -v # verbose output
pytest tests/test_server.py # just server testsruff check pmkit_mcp tests # linting
mypy pmkit_mcp # type checkingSee AGENTS.md for the step-by-step guide.
MIT