Your AI product management co-pilot. Meeting briefings, PRDs, weekly status reports,
stakeholder intel, market sizing - all from one place, in seconds instead of hours.
One command. No configuration, no MCP servers, no reading the skill list first.
/pm-core:brief "Should we prioritize bulk import for mid-market?"
It finds the evidence in your folder, asks once whether it has the right sources, and returns a decision brief where every claim carries its source, the counter-evidence is stated, and the gaps are named instead of filled in. It ends by making you pick a state: decide, defer, experiment, or research.
Everything else in PM Pilot is reachable from there. Run it first, read the rest later.
In October 2025, Teresa Torres hand-checked the quotes ChatGPT produced from her own customer interviews. About 30% were either incorrect summaries of what the participant said or were not in the source material at all (Product Talk). One practitioner, one model, sample size not stated, so treat it as the sharpest available observation rather than a measured rate. It is still the only public number on this, and most discovery tooling ignores it.
pm-discovery refuses to. Every direct quote it produces gets searched back against the source transcript before delivery. Anything it cannot match is labelled [UNVERIFIED - edit before citing] rather than quietly smoothed over, and the synthesis footer states the count: 12/13 quotes verified against source.
It also enforces the sequence Teresa calls her single biggest anti-pattern to break. One interview at a time into a structured snapshot, then cross-interview synthesis reads the snapshots, never the raw transcripts.
/pm-discovery:interview-snapshot # one transcript in, verified snapshot out
/pm-discovery:product-discovery # frame the problem (starts with a braindump)
/pm-discovery:product-discovery interview # Mom Test guide with bias warnings
/pm-core:synthesize-interviews # snapshots in, themes and opportunity tree out
You can paste a quote from the output into a stakeholder deck without re-reading the transcript to check it. That is the whole point.
Bug Shepherd checks whether old bugs in your backlog still reproduce, using parallel agents against the live site instead of a person clicking through a hundred stale tickets. It reads a Jira, Linear, or GitHub Issues board, sorts each ticket into auto-cancel, needs-review, reproducible, or can't-determine, and only then touches the tracker. Nothing writes back without a person saying so, and as of commit d6c3849 the review step that grades a fix no longer grades its own work: it runs in a separate subagent that never saw the investigation.
The plugin stops and waits for you at four points: before it starts investigating a ticket, before it writes any fix code, before it pushes a PR, and before it batch-cancels tickets a triage run flagged as stale. On that last gate it echoes the exact list of tickets first, and one approval never closes more than safety.max_auto_cancel_batch of them.
Run /bug-shepherd:shepherd-sync first. If you have no config yet it copies plugins/bug-shepherd/templates/triage.config.yaml into .claude/triage.config.yaml, asks you for four values, and fills in the rest with cautious defaults:
| You provide | What it is |
|---|---|
project.name |
Anything. It goes in report headers. |
project.live_url |
The deployed site the agents check bugs against. It has to load without a login. |
project.tracker |
jira, linear, or github-issues |
project.tracker_project |
Jira project key, Linear team slug, or owner/repo |
Every other setting is documented inline in the template. Two defaults are worth knowing about, because they are the ones that keep a first run safe:
safety.auto_cancel_rulesships empty. Until you add a rule, no ticket is ever proposed for automatic cancellation, and every not-reproduced bug lands in the pile you read yourself.review.allow_shell_checksships false. Review rules that run a shell command are printed and confirmed with you each run, because that config file usually lives in the repo where anyone who can push can edit it.
The reproduction agent runs on a fixed tool allowlist: it can browse and read, and it has no shell, no file writes, and no way to reach the tracker. It reads bug reports written by other people, so it treats their text as a description of a bug and never as an instruction to itself. A ticket that declares its own verdict gets flagged for you rather than believed.
Two more things worth knowing before your first run. Cost sits mostly in screenshots, so the agents read the DOM first and only capture an image when the look of the thing is the question, capped by reproduction.max_screenshots_per_bug. And /shepherd-sync and /shepherd-triage need only a tracker connection and a browser, while /shepherd-start and /shepherd-review work on a git branch and a diff, so a PM with no checkout gets the triage half and can hand the rest to a developer.
You're a PM who's tried ChatGPT but nothing beyond that. You paste meeting notes into it sometimes. Maybe you've used a company chatbot. But you keep thinking: there has to be a better way to handle all the prep, the status reports, the context-gathering that eats half your week. You just haven't found it yet. PM Pilot is that better way - and you don't need to be technical to start using it.
You're a founder building your first product. You're wearing every hat - product, design, sales, support. You don't have a PM background, and you don't have time to learn PM frameworks from scratch. You need something that gives you the structure and the thinking tools without the overhead. PM Pilot gives you battle-tested product management workflows, ready to go, so you can focus on building.
| The old way | With PM Pilot |
|---|---|
| 45 minutes prepping for a 1:1. Digging through Jira, Slack threads, email, trying to remember what Sarah committed to last time. | prep for my 1:1 with Sarah - full briefing with talking points, open commitments, and political context in 30 seconds. |
| Friday afternoon scramble. Piecing together your weekly status from memory, half-forgotten Slack messages, and browser history. | weekly status - accomplishment report generated from your actual completed tickets, merged PRs, and meeting outcomes. |
| Staring at a blank PRD template. You know the feature, but organizing the thinking feels like pulling teeth. | write a PRD for [feature] - PM Pilot asks for your messy thinking first, then structures it. Better docs because the thinking happens before the formatting. |
| Two hours of Googling for market data. Tab after tab. No consistent methodology. Numbers you're not confident presenting. | size the market for [X] - TAM/SAM/SOM analysis with clear assumptions, data sources, and methodology you can defend in a boardroom. |
prep for my meeting with Sarah
Pulls recent interactions from Jira, Slack, and Calendar. Surfaces what Sarah is working on, what you owe her, what she owes you, and three suggested talking points.
weekly status
Generates your accomplishment report from actual completed work. Not from memory - from connected systems.
write a PRD for [feature]
Asks for your messy thinking first. Then structures it into a one-pager, brief, full PRD, or RFC.
size the market for AI-powered PM tools
TAM/SAM/SOM with data sources and clear assumptions.
If this looks useful, star this repo so other PMs can find it too.
One line. Nothing to clone, nothing to copy.
claude plugin marketplace add mshadmanrahman/pm-pilot
Then install the plugin you want:
claude plugin install pm-discovery@pm-pilot
In Claude Code or Cowork you can do the same from the UI: /plugin marketplace add mshadmanrahman/pm-pilot, then browse and install.
| Plugin | What you get | Install |
|---|---|---|
| pm-discovery | Customer discovery with verified quotes. Interview snapshots, Mom Test guides, opportunity trees, stakeholder one-pagers. | pm-discovery@pm-pilot |
| pm-core | PRDs, prioritization, market sizing, meeting prep, stakeholder intel, weekly status, critique. | pm-core@pm-pilot |
| pm-content | Voice-consistent drafting, Substack long-form, market and competitor research. | pm-content@pm-pilot |
| pm-dev | TDD workflow, verification loop, security review, research-before-build. | pm-dev@pm-pilot |
| pm-productivity | Session init, handoff docs, context compaction, parallel orchestration. | pm-productivity@pm-pilot |
| crucible | Stress-test a high-stakes decision with a council of up to 17 personas that debate and return a verdict. | crucible@pm-pilot |
| bug-shepherd | Zero-code bug triage. Check in parallel whether old bugs still reproduce, then sync to Jira, Linear, or GitHub. | bug-shepherd@pm-pilot |
| tech-to-pm | Turn engineering docs into structured, code-free context PMs and designers can use. | tech-to-pm@pm-pilot |
Want everything? Install all eight. Each one is independent, so start with the one that matches this week's problem.
After installing, run the setup wizard once:
/pm-core:configure-pm-pilot
It asks a few questions (your company name, which tools you use) and configures everything automatically.
New to Claude Code entirely? Start at claudecodeguide.dev first. It's a friendly, jargon-free guide that gets you set up in under an hour. Come back here once you're running.
Every skill is a plain markdown file. Open any SKILL.md under plugins/ and paste it into claude.ai or ChatGPT. You lose the Jira and Slack integrations, but the thinking works anywhere.
Good one to start with: plugins/pm-core/skills/meeting-prep/SKILL.md.
Three skills are listed free on Agensi as single-skill downloads: Crucible, Tech to PM Translator and Product Discovery. They are the same files as in this repo.
PM Pilot works immediately. But it gets dramatically more useful when Claude Code can see your actual work tools. You connect these through MCP servers - think of them as plugins that let Claude read from Jira, Slack, and more.
| Tool | What it unlocks | How to add |
|---|---|---|
| Jira / Confluence | meeting-prep, weekly-status, deep-context | Atlassian MCP |
| Slack | meeting-prep, weekly-status, deep-context | Slack MCP |
| Google Calendar | meeting-prep (knows your schedule) | GCal MCP |
| GitHub | weekly-status, code context | GitHub MCP |
| Granola | people-sync (updates stakeholder files from meeting transcripts) | Granola MCP |
No MCP servers connected? Skills like market-sizing, prd, prioritize, critique, writing-style, and tdd-workflow work with zero external connections. Start there and add integrations as you go.
prep for my 1:1 with Sarah
Pulls context from every connected source. Surfaces open commitments, recent work, talking points, and political context from your org survival map. Even without integrations, it structures your thinking and gives you a framework.
weekly status
No more Friday afternoon scramble. This pulls from actual completed tickets, merged PRs, and meeting outcomes - then writes your accomplishment report ready to paste into email or Slack.
write a PRD for [feature]
PM Pilot won't open a blank template. It asks you to dump your messy, unstructured thinking first. The contradictions, the unknowns, the things you're avoiding. Then it structures everything into a clean document. You get better docs because the thinking happens before the formatting.
size the market for [X]
TAM/SAM/SOM analysis with clear assumptions, data sources, and methodology. The kind of output you can put in front of a VP or investor without hedging.
tell me everything about Project X
Cross-channel research across all your connected tools. Jira tickets, Slack conversations, Confluence pages, meeting notes - synthesized into one brief. Perfect for when you inherit a project or need to get smart on something fast.
Want the full list of all 25 skills? See the complete skill reference at the bottom.
Claude forgets everything between sessions by default. PM Pilot fixes this with a structured memory system - a set of files Claude reads at the start of every session.
~/.claude/memory/
MEMORY.md - always loaded, under 200 lines - your current projects and people
project_*.md - one file per project you own
feedback_*.md - corrections you've made (so Claude doesn't repeat mistakes)
user_*.md - your preferences and working style
people/ - one file per key person (grows after every meeting)
sarah-chen.md
marco-vidal.md
Day 1: Memory is empty. You explain your projects once. Day 5: Memory has your projects, people, and preferences. Much less explaining. Day 15: Patterns and lessons saved. Almost zero re-explaining. Day 30: New sessions start with full context. You just say what to do.
The key insight: every correction you make gets saved. You tell Claude something once - it doesn't repeat the same mistake.
Two files that compound over time. Copy from the templates to activate:
| File | What it does |
|---|---|
memory/org-survival-template.md |
Power map of key stakeholders: what they actually want, their risk patterns, how to approach them. Read automatically by meeting-prep. |
memory/judgment-log-template.md |
Track PM judgment calls with Brier scores before the outcome is known. Watch your calibration improve over time. |
cp memory/org-survival-template.md ~/.claude/memory/org-survival.md
cp memory/judgment-log-template.md ~/.claude/memory/judgment-log.md
PMs spend 60% of their time on status updates, meeting prep, and context-gathering. Not on product thinking. Not on strategy. Not on the work that actually moves the needle.
PM Pilot gives you that time back.
It started as one PM's personal setup - 14 years of product experience across startups and enterprise, distilled into a set of reusable skills and workflows. The kind of system you'd build for yourself if you had the time. Now you don't have to.
This isn't another AI wrapper or SaaS tool. It's pure markdown files. No vendor lock-in, no subscription beyond what you already pay for Claude. You own it, you can read every line, and you can change anything that doesn't fit your workflow.
Five principles behind the design:
- Braindump before structure. Never open a template before the thinking is externalized.
- Memory over transcripts. A 200-line memory file beats a 50,000-token session replay.
- Skills load on demand. 25 skills, zero startup cost.
- Rules are compressed. ~950 tokens total, not 9,500.
- Every session compounds. Corrections become rules. Meetings become stakeholder intelligence.
| Skill | How to trigger it | What it does |
|---|---|---|
meeting-prep |
"prep for my meeting with X" | Briefing from Jira, Slack, Calendar + political context from your org survival map |
people-sync |
"sync people from meeting" | Reads Granola transcript, updates per-person stakeholder files with positions, pushbacks, commitments |
weekly-status |
"weekly status" | Accomplishment report from connected systems - not from memory |
deep-context |
"tell me everything about X" | Cross-channel research across all connected tools |
market-sizing |
"size the market for X" | TAM/SAM/SOM with data sources and clear assumptions |
ask-company |
"who owns X at my company" | Enterprise knowledge assistant (configure for your org) |
dogfood |
"dogfood this app" | Systematic QA with bug reports and repro steps |
lenny-podcast |
"what does Lenny say about X" | Search 269+ PM podcast episodes for relevant advice |
prd |
"write a PRD for X" | Braindump first, then structure: one-pagers, briefs, full PRDs, or RFCs |
prioritize |
"rank these features" | Score with RICE, ICE, WSJF, MoSCoW, Kano, or Value/Effort |
synthesize-interviews |
"synthesize these interviews" | Themes, pain points, and recommendations from raw interview notes |
critique |
"critique this doc" | Pressure-test any document for logic gaps, assumptions, and completeness |
issue-tree |
"structure this problem" | Split a messy problem into a Why/What/How tree, MECE-checked, before diagnosing or planning |
| Skill | How to trigger it | What it does |
|---|---|---|
session-init |
"resume" or start of day | Reads memory and handoffs to restore context - no cold starts |
handoff-doc |
"create a handoff" | Captures decisions, blockers, and next steps for session continuity |
strategic-compact |
(proactive) | Suggests context compaction at logical milestones |
orchestrator |
"orchestrate this" | Decomposes complex work into parallel sub-agent waves |
manifest-reader |
"what did agents find" | Summarizes results from sub-agent research |
meta-observer |
"observe my skills" | Tracks skill performance and emerging workflow patterns |
| Skill | How to trigger it | What it does |
|---|---|---|
tdd-workflow |
when writing new code | Enforces test-first development: RED, GREEN, REFACTOR |
verification-loop |
"verify" or before commits | Lint, type-check, test, security scan in sequence |
search-first |
before implementing anything | Research existing solutions before writing new code |
security-review |
after writing auth or API code | OWASP checklist with severity ratings |
| Skill | How to trigger it | What it does |
|---|---|---|
market-research |
"competitive analysis of X" | Source-attributed market and competitor research |
writing-style |
writing long-form content | Applies your voice profile to drafts |
writing-substack |
"write a Substack Note" | Platform-optimized short-form content |
| Command | What it does |
|---|---|
/plan |
Create implementation plan, wait for approval before coding |
/code-review |
Review staged changes for quality, security, maintainability |
/verify |
Full verification: lint + test + security |
/tdd |
Enforce test-driven development for a feature |
| Agent | What it does |
|---|---|
planner |
Phased implementation planning with risk analysis |
code-reviewer |
Code quality and security review |
build-error-resolver |
Fix build errors with minimal diffs |
tdd-guide |
Enforce RED-GREEN-REFACTOR cycle |
file-analyzer |
Summarize logs and verbose outputs |
Skills need to be in the right directory. Check:
ls ~/.claude/skills/pm-core/meeting-prep/SKILL.md
If missing, re-run the copy commands from the install section. Restart Claude Code after.
This skill pulls from connected tools (Jira, Slack, Calendar). If none are connected, it will tell you what's missing and do its best with what's available. Add MCP servers to unlock the full briefing.
MEMORY.md needs to be in a location Claude Code auto-loads:
- Works everywhere:
~/.claude/memory/MEMORY.md - Works in one project:
.claude/memory/MEMORY.mdin your project root
PM Pilot's rules use only ~950 tokens total - they're not the culprit. If sessions are filling up:
- Use
strategic-compactto compact at natural milestones - Use
handoff-docto save state, then/clearto start fresh - Use
orchestratorto move research into sub-agents
| Tool | What it does |
|---|---|
| PM Pilot | You are here - Claude Code configured for PMs |
| Discovery | AI product discovery for PMs |
| Bug Shepherd | Zero-code bug triage with parallel AI agents. Now a plugin in this repo |
| Tech-to-PM Translator | Convert developer docs into PM-friendly knowledge bases |
| Morning Digest | AI-powered daily briefing from calendar, email, and Slack |
| ROOT-KG | Your knowledge graph. Ask questions across all your notes, meetings, and emails |
| Ceremonies | Agile ceremonies that don't suck |
| Riff | LinkedIn engagement assistant for AI-drafted replies |
| Claude Code Guide | Friendly guide to Claude Code for absolute beginners |
PRs welcome. To add a skill:
- Create
plugins/<plugin>/skills/your-skill/SKILL.md - Follow the frontmatter format (name, description, origin, version) from any existing skill
- Include: clear triggers, step-by-step procedure, output format
- Keep under 200 lines
MIT
Built by a PM with 14 years of product experience across startups and enterprise. 97 clones from 39 unique cloners in the two weeks to 2026-09-03. Pure markdown, no build step, no dependencies.

