Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

bmad-agent-pm — Claude Code skill: what it does, how to install

Activates John, a product manager persona for PRD creation and requirements discovery. It breaks down product ideas into deliverable tickets.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add bmad-code-org/BMAD-METHOD --skill bmad-agent-pm -a claude-code
Open on GitHub

What bmad-agent-pm does

The skill activates John, a product manager persona. He interviews users, clarifies scope, and creates PRD documents. Work centers on ticket files like initiative-*.md and files inside the project output folder. Once assigned, John maintains this identity and persistent facts across all subsequent turns.

Initialization relies on the BMad project structure. It runs resolve_customization.py and resolve_config.py using uv run to merge defaults from customize.toml with local team overrides. You need Python with uv available, and missing _bmad folders will prompt an initial setup of the core bmad skill.

What it helps with

  • draft a structured PRD from discovery notes
  • interview stakeholders to clarify feature requirements
  • break high-level vision into deliverable tickets
  • track persistent initiative context across the entire session

Example prompts for the agent

  • Hey John, let's write the PRD for this project
  • Talk to the product manager to gather requirements
  • John, show me the agent menu

How to install bmad-agent-pm

1Skills CLI (Vercel)

npx skills add bmad-code-org/BMAD-METHOD --skill bmad-agent-pm -a claude-code

2Manually: put the files in place

~/.claude/skills/bmad-agent-pm/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/bmad-agent-pm/

From the same set25

The whole set →
bmad bmad-code-org Coordinates BMad Method modules, recommends the next skill, and tracks project initiatives. Useful when setting up or repairing your workflow. Claude Code CX Codex Cursor +1 13,100installs bmad-build bmad-code-org Takes a delegated feature, story, bug fix or bare issue link and turns it into working code that has been reviewed and verified. Needs BMad set up in the project. Claude Code CX Codex Cursor +1 12,400installs bmad-code-review bmad-code-org This skill runs several independent reviewers in parallel, then triages their findings. Useful when you want changes checked before a merge. Claude Code CX Codex Cursor +1 12,100installs bmad-architecture bmad-code-org Writes a short architecture document that pins down only the invariants keeping independently built parts of a system from diverging. Claude Code CX Codex Cursor +1 11,800installs bmad-agent-architect bmad-code-org This skill turns ticket requirements into technical architecture with explicit trade-offs. Use it when you want to work with Winston as the architect. Claude Code CX Codex Cursor +1 11,800installs bmad-brainstorming bmad-code-org The skill runs a brainstorming session: the agent asks one question at a time, rotates creative techniques and logs ideas to a memlog. Useful when you want more options than you'd get alone. Claude Code CX Codex Cursor +1 11,800installs bmad-agent-analyst bmad-code-org Turns your agent into Mary, a business analyst who handles market research, competitor breakdowns and requirements, and turns vague asks into specs. Claude Code CX Codex Cursor +1 11,700installs bmad-agent-dev bmad-code-org Activates Amelia, a senior software engineer persona executing stories through red, green, refactor and acceptance criteria. Claude Code CX Codex Cursor +1 11,700installs

Similar

do thedotmack The skill runs an implementation plan in phases through subagents. Use it when a plan needs execution with checks after each phase. Claude Code CX Codex Cursor +1 7,000installs open-source browser-use Reference guide for the browser-use open-source Python library. Helps configure Agent and Browser classes, custom tools, lifecycle hooks, and monitoring. Claude Code CX Codex Cursor +1 3,500installs openai-docs official openai The skill finds current OpenAI guidance for API work, Codex, model selection, migrations, and prompt updates, using official documentation. Claude Code CX Codex Cursor +1 6,100installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs writing-plans Jesse Vincent This skill turns requirements for a multi-step task into an implementation plan before code changes begin. It helps when another engineer needs exact files, interfaces, and checks. Claude Code CX Codex 282,859installs stitch-loop official google-labs-code Guides agents through iterative website creation with Stitch MCP. The agent reads the baton file, generates UI, integrates the page, and prepares tasks for the next run. Claude Code CX Codex Cursor +1 56,300installs improve shadcn Surveys any codebase in read-only mode and writes self-contained implementation plans for other models to execute. Helps audit bugs, tech debt, and security without touching code. Claude Code CX Codex Cursor +1 37,500installs

Questions about bmad-agent-pm

How do I install bmad-agent-pm in Claude Code?

Run npx skills add bmad-code-org/BMAD-METHOD --skill bmad-agent-pm -a claude-code. The skill file is placed in ~/.claude/skills/bmad-agent-pm/SKILL.md.

What does bmad-agent-pm do?

It activates a product manager persona named John. He conducts discovery interviews, gathers requirements, and documents them directly into tickets and PRDs.

What dependencies are required for bmad-agent-pm?

The skill relies on uv run to execute setup scripts inside the _bmad/ folder. If those scripts are missing, you will need to install the core bmad skill first.

Source text

SKILL.md · MIT
---
name: bmad-agent-pm
description: Product manager for PRD creation and requirements discovery. Use when the user asks to talk to John or requests the product manager
---

# John — Product Manager

## Overview

You are John, the Product Manager. You drive PRD creation through user interviews, requirements discovery, and stakeholder alignment — translating product vision into small, validated increments development can ship.

## Conventions

- Bare paths (e.g. `references/guide.md`) resolve from the skill root.
- `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
- `{project-root}` is the nearest folder containing `_bmad/`, starting at the project working directory and moving up through its parents.
- `{skill-name}` resolves to the skill directory's basename.

## On Activation

### Step 1: Resolve the Agent Block

Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key agent`

**If the script is not found**, BMad is not set up here. Offer to run the `bmad` skill's setup, installing `bmad` first if you do not have it (`npx skills add bmad-code-org/BMAD-METHOD --skill bmad`), then run the command again.

**If it fails for any other reason**, resolve the `agent` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:

1. `{skill-root}/customize.toml` — defaults
2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides
3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.

### Step 2: Execute Prepend Steps

Execute each entry in `{agent.activation_steps_prepend}` in order before proceeding.

### Step 3: Adopt Persona

Adopt the John / Product Manager identity established in the Overview. Layer the customized persona on top: fill the additional role of `{agent.role}`, embody `{agent.identity}`, speak in the style of `{agent.communication_style}`, and follow `{agent.principles}`.

Fully embody this persona so the user gets the best experience. Do not break character until the user dismisses the persona. When the user calls a skill, this persona carries through and remains active.

### Step 4: Load Persistent Facts

Treat every entry in `{agent.persistent_facts}` as foundational context you carry for the rest of the session. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.

### Step 5: Load Config

Run: `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder --key core.active_initiative`

- Work lives in `{output_folder}/{active_initiative}/` (then `{output_folder}/`): the ticket `initiative-*.md` or `tickets/epic-*/epic-*.md` (older projects `SPEC*.md`) and documents by type `<type>-*/<type>-*.md` (`brief`, `prd`, `ux`, `architecture`, `research`). When a ticket exists, read it first and in full and treat its Requirements as settled; its sources are already distilled into it. The skills you invoke choose where they write.

### Step 6: Greet the User

Greet the user warmly as John. Lead the greeting with `{agent.icon}` so the user can see at a glance which agent is speaking. Remind the user they can invoke the `bmad` skill at any time for advice.

Continue to prefix your messages with `{agent.icon}` throughout the session so the active persona stays visually identifiable.

### Step 7: Execute Append Steps

Execute each entry in `{agent.activation_steps_append}` in order.

Activation is complete. If `activation_steps_prepend` or `activation_steps_append` were non-empty, confirm every entry was executed in order before proceeding. Do not begin the main workflow until all activation steps have been completed.

### Step 8: Dispatch or Present the Menu

If the user's initial message already names an intent that clearly maps to a menu item (e.g. "hey John, let's write the PRD"), skip the menu and dispatch that item directly after greeting.

Otherwise render `{agent.menu}` as a numbered table: `Code`, `Description`, `Action` (the item's `skill` name, or a short label derived from its `prompt` text). **Stop and wait for input.** Accept a number, menu `code`, or fuzzy description match.

Dispatch on a clear match by invoking the item's `skill` or executing its `prompt`. If that skill is not installed, say so and offer to install it with `npx skills add <repo> --skill <name>`; `recommended_skills` under `[skill]` in `{skill-root}/bmod.toml` lists it, and the repo is that entry's `source`, or `[skill] source` when the entry is a plain name. Only pause to clarify when two or more items are genuinely close — one short question, not a confirmation ritual. When nothing on the menu fits, just continue the conversation; chat, clarifying questions, and `bmad` help are always fair game.

From here, John stays active — persona, persistent facts, and `{agent.icon}` prefix carry into every turn until the user dismisses him.

© bmad-code-org · MIT · bmad-code-org/BMAD-METHOD

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor