Implementing pm-product-discovery: Essential Tools and Commands for Structured Product Discovery

The pm-product-discovery plugin from the phuryn/pm-skills repository provides 13 markdown-based skills and 5 slash-commands that implement structured product discovery workflows directly in Claude Code.

This self-contained discovery module encodes proven product management frameworks into reusable, IDE-agnostic components. Whether you are validating assumptions for a new venture or prioritizing features for an existing product, the pm-product-discovery tools integrate directly into your CLI workflow to automate ideation, assumption mapping, and experiment design.

Core Architecture of pm-product-discovery

The plugin is organized into three distinct layers that work together to execute discovery workflows. According to the source code in phuryn/pm-skills, the architecture separates knowledge storage from workflow orchestration, making individual frameworks reusable across different contexts.

Skills Layer (Markdown-Based Knowledge Bases)

Skills are individual framework-driven assistants stored as plain markdown files. Each skill resides in pm-product-discovery/skills/*/SKILL.md and contains a YAML header, description, and step-by-step instructions that encode specific PM methodologies.

When invoked, the skill engine parses these markdown files and presents structured guidance to the user. Because skills are pure markdown, they are IDE-agnostic and function with any assistant that can read the SKILL.md format, including Gemini CLI, OpenCode, and Kiro.

Commands Layer (Pre-Wired Workflows)

Commands are slash-commands (e.g., /discover, /brainstorm) defined in pm-product-discovery/commands/*.md files. Each command describes a logical flow that chains multiple skills together, handling hand-offs automatically.

When you run a command, Claude first loads the relevant skills from their respective SKILL.md files, then executes them in sequence, prompting for missing data and aggregating outputs into a consolidated report.

Plugin Wrapper (Metadata Registration)

The pm-product-discovery/.claude-plugin/plugin.json file contains metadata that registers the plugin with Claude Code/Claude Cowork. This enables one-click installation and exposes the skills and commands as native tools within the assistant interface.

Available Skills and Frameworks

The repository includes 13 core skills covering the full discovery lifecycle, from initial ideation to metrics definition:

  • brainstorm-ideas-existing – Multi-perspective ideation for established products
  • brainstorm-ideas-new – Structured ideation for brand-new concepts
  • brainstorm-experiments-existing – Design experiments for incumbent products
  • brainstorm-experiments-new – Create "pretotypes" using Alberto Savoia's methodology for new ideas
  • identify-assumptions-existing – Surface risky assumptions across Value, Usability, Viability, and Feasibility dimensions
  • identify-assumptions-new – Map assumptions across 8 risk categories including Go-to-Market
  • prioritize-assumptions – Rank assumptions using an Impact × Risk matrix and suggest experiments
  • prioritize-features – Rank backlogs by Impact, Effort, Risk, and Strategic Alignment (see implementation in pm-product-discovery/skills/prioritize-features/SKILL.md)
  • analyze-feature-requests – Categorize and theme incoming feature requests
  • opportunity-solution-tree – Build Teresa Torres's OST (outcome → opportunities → solutions → experiments)
  • interview-script – Generate JTBD-focused interview scripts
  • summarize-interview – Extract JTBD insights, satisfaction signals, and action items from transcripts
  • metrics-dashboard – Design North Star-aligned product metrics dashboards

Built-in Commands for Discovery Workflows

The five slash-commands orchestrate these skills into complete workflows:

/discover – Runs the full discovery cycle: ideate → map assumptions → prioritize assumptions → design experiments (OST).

/brainstorm – Interactive selector for ideas or experiments × existing/new products, routing to the appropriate brainstorming skill.

/triage-requests – Ingests a CSV/JSON of feature requests, runs analyze-feature-requests followed by prioritize-features, and outputs a ranked backlog.

/interview – Two-stage workflow: prep generates an interview-script, while summarize processes transcripts through summarize-interview.

/setup-metrics – Executes metrics-dashboard to output a North Star-aligned metrics plan with input metrics.

Installation and Usage

To implement pm-product-discovery in your environment, install the plugin from the phuryn/pm-skills marketplace and invoke commands via the Claude CLI.

Installation


# Add the marketplace repository (one-time setup)

claude plugin marketplace add phuryn/pm-skills

# Install the discovery plugin

claude plugin install pm-product-discovery@pm-skills

Running Discovery Workflows

Execute the full discovery workflow on a new product idea:

claude /discover "AI-powered meeting summarizer for remote teams"

Run a single skill directly for feature prioritization:

claude "prioritize-features" <<EOF
Product: AI meeting summarizer
Goal: Reduce meeting fatigue and improve knowledge retention
Features:
  1. Transcribe audio
  2. Summarize key points
  3. Highlight action items
  4. Integrate with calendar
  5. Export to PDF
EOF

Process feature requests with file attachment:

claude /triage-requests --file ./feature_requests.csv

Generate an Opportunity-Solution Tree:

claude "opportunity-solution-tree" <<EOF
Outcome: Increase user activation by 15% in Q3
Opportunities:
  - Onboarding tutorial
  - In-app tips
  - Referral incentive
Solutions:
  - Video walkthrough
  - Contextual tooltips
  - Referral codes
Experiments:
  - A/B test tutorial vs. tips
  - Measure activation lift
EOF

Key Source Files and Implementation Details

Understanding the underlying file structure helps when customizing or extending the discovery workflows:

File Path Purpose
pm-product-discovery/skills/prioritize-features/SKILL.md Detailed instruction set for ranking features by multiple criteria
pm-product-discovery/skills/opportunity-solution-tree/SKILL.md Logic for building outcome-driven opportunity trees
pm-product-discovery/commands/discover.md Orchestration logic for the /discover command
pm-product-discovery/commands/brainstorm.md Command definition for /brainstorm routing
pm-product-discovery/.claude-plugin/plugin.json Plugin metadata that registers capabilities with Claude
README.md (lines 442-557) Master index of all 13 skills and 5 commands

The modular structure allows you to invoke individual skills for ad-hoc analysis or use commands for end-to-end discovery ceremonies, with all outputs formatted as structured markdown suitable for documentation or road-mapping tools.

Summary

  • pm-product-discovery provides 13 markdown-based skills encoding proven PM frameworks like Opportunity Solution Trees and JTBD interviews.
  • Five slash-commands (/discover, /brainstorm, /triage-requests, /interview, /setup-metrics) automate multi-step discovery workflows by chaining skills.
  • Installation requires adding the phuryn/pm-skills marketplace and installing the plugin via claude plugin install pm-product-discovery@pm-skills.
  • Skills reside in pm-product-discovery/skills/*/SKILL.md and commands in pm-product-discovery/commands/*.md, making the logic transparent and portable across AI assistants.
  • The plugin outputs structured markdown reports that integrate directly into product documentation and stakeholder communications.

Frequently Asked Questions

What is the difference between a skill and a command in pm-product-discovery?

A skill is a single-purpose framework encoded in a SKILL.md file (e.g., prioritize-features or opportunity-solution-tree), while a command is a workflow orchestrator that chains multiple skills together. For example, the /discover command runs four skills in sequence: ideation, assumption mapping, assumption prioritization, and experiment design.

Can I use pm-product-discovery without Claude Code?

Yes. Because the skills are pure markdown files following the SKILL.md specification, they are IDE-agnostic and work with any AI assistant that can parse the format, including Gemini CLI, OpenCode, and Kiro. However, the slash-command shortcuts (like /discover) are specific to Claude Code/Cowork.

How do I customize the prioritization criteria for feature requests?

The prioritization logic is defined in pm-product-discovery/skills/prioritize-features/SKILL.md. You can modify this file to adjust the weighting of Impact, Effort, Risk, and Strategic Alignment, or add custom criteria relevant to your organization. Changes take effect immediately for both direct skill invocation and the /triage-requests command.

Where does the plugin store user data and conversations?

The pm-product-discovery plugin itself is stateless—the markdown skills and commands contain only the framework logic. User data (such as feature request CSVs or interview transcripts) is processed ephemerally during the conversation and is not persisted in the repository files. For sensitive product data, ensure your Claude Code environment complies with your organization's data governance policies.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →