How to Measure the Success of Product Discovery Using PM Skills: A Quantitative Framework

You can measure product discovery success by tracking quantitative signals emitted from each phase of the PM Skills framework—including interview coverage rates, assumption validation percentages, and North Star metric growth—using the structured markdown artefacts generated by skills like summarize-interview and metrics-dashboard.

Product discovery is a continuous loop of learning, yet without concrete metrics, teams cannot validate whether their research is actually reducing risk. The phuryn/pm-skills repository provides a standardized set of prompt-driven skills that not only guide discovery through structured interviews and assumption mapping, but also generate predictable markdown artefacts that serve as data sources. By parsing these outputs from skills such as summarize-interview and opportunity-solution-tree, you can instrument a lightweight analytics layer to objectively measure the success of product discovery across every phase.

The Discovery Loop Architecture

The PM Skills framework structures discovery as a pipeline: Customer Research → Assumption Mapping → Prioritization → Opportunity-Solution Trees → Experiment Design. Each phase uses specific skills defined in pm-product-discovery/skills/ that emit standardized markdown tables, enabling you to extract quantitative success signals automatically.

Customer Research Metrics

The summarize-interview skill processes raw interview transcripts and produces structured summaries including JTBD (Jobs-to-be-Done) analysis and satisfaction signals. According to pm-product-discovery/skills/summarize-interview/SKILL.md, this skill outputs explicit "Action Items" rows that you can count programmatically.

Key success signals:

  • Interview coverage: Total number of interviews completed per sprint
  • Actionability rate: Percentage of interviews generating at least one action item
  • Satisfaction extraction: Average satisfaction rating parsed from transcript summaries

Assumption Risk and Impact Scoring

After research, the identify-assumptions-existing and identify-assumptions-new skills surface risky assumptions across value, usability, viability, and feasibility dimensions. The prioritize-assumptions skill—defined in pm-product-discovery/skills/prioritize-assumptions/SKILL.md—then generates an Impact × Risk matrix that ranks assumptions by effort and strategic fit.

Key success signals:

  • Assumption inventory: Total assumptions identified per discovery cycle
  • High-risk concentration: Percentage of assumptions classified as high-impact
  • Prioritization efficiency: Effort-to-impact ratio of selected top-N assumptions (typically top 5)

Opportunity-to-Solution Conversion

The opportunity-solution-tree skill creates hierarchical maps connecting desired outcomes to opportunities, solutions, and experiments. As implemented in pm-product-discovery/skills/opportunity-solution-tree/SKILL.md, this skill produces tree structures where you can count nodes at each layer.

Key success signals:

  • Opportunity breadth: Number of opportunities surfaced per desired outcome
  • Solution diversity: Number of solutions per opportunity (target ≥ 3)
  • Experiment conversion rate: Percentage of opportunities that progress to the experiment layer

Tracking Experiment and North Star Metrics

Experiment Success Rates

The brainstorm-experiments-existing and brainstorm-experiments-new skills generate concrete experiment briefs containing hypotheses, methods, and success thresholds. By comparing the number of experiments launched versus designed, you calculate the discovery velocity.

Key success signals:

  • Design-to-launch ratio: Experiments launched versus experiments designed
  • Validation rate: Percentage of experiments that validate versus invalidate assumptions
  • Learning velocity: Assumptions tested per week

North Star Health Monitoring

The metrics-dashboard skill, defined in pm-product-discovery/skills/metrics-dashboard/SKILL.md, produces a full product-metrics specification including North Star, input metrics, health metrics, and business metrics. This output follows a predictable schema with columns for "Metric | Definition | Data Source" that you can parse automatically.

Key success signals:

  • North Star growth: Delta percentage per period against baseline
  • Input metric target attainment: Percentage of input metrics hitting predetermined targets
  • System health: Volume of critical-metric alerts per week

Automating Metrics Collection from Skill Artefacts

All PM Skills emit markdown artefacts with predictable table structures. You can pipe these into a data collection script to compute success metrics without manual transcription.

Example: Parsing Interview Outputs

When you invoke the interview skill:

/interview summarize —  
We interviewed 5 enterprise buyers about our AI-meeting-notes product.  
(Attach transcript.txt)

Claude returns a markdown table. Extract actionable insights by counting rows starting with - in the "Action Items" section:

import re

def extract_action_items(summary_md):
    # Match the Action Items section in SKILL.md output

    pattern = r'## Action Items\n((?:- .*\n)+)'

    match = re.search(pattern, summary_md)
    if match:
        return len(match.group(1).strip().split('\n'))
    return 0

Example: Calculating Assumption Risk

For the prioritization skill:

/prioritize-assumptions —  
Assumptions:  
1. Users will adopt a new note-taking UI.  
2. AI will correctly extract action items.  
3. Pricing model will be subscription-based.  

The output includes an Impact × Risk matrix. Parse this to tally high-impact, low-risk assumptions:

import pandas as pd

def count_high_impact_assumptions(matrix_md):
    # Parse the markdown table into a DataFrame

    df = pd.read_csv(pd.io.common.StringIO(matrix_md), sep='|', skipinitialspace=True)
    df.columns = [c.strip() for c in df.columns]
    
    # Filter for high impact, low risk

    critical = df[(df['Impact'] == 'High') & (df['Risk'] == 'High')]
    return len(critical)

Orchestrating End-to-End Discovery with the /discover Command

The /discover command chains multiple skills into a complete discovery workflow, making it the ideal instrumentation point for cycle time metrics. When you run /discover <product-idea>, Claude automatically invokes:

  1. brainstorm-ideas-new → generates ideas
  2. identify-assumptions-new → lists assumptions
  3. prioritize-assumptions → ranks top 5
  4. opportunity-solution-tree → maps outcomes to experiments
  5. metrics-dashboard → defines North Star and supporting metrics

By timestamping the start (first interview) and end (experiment launch), you derive the discovery cycle time. You can also calculate learning retention by tracking how many assumptions survive from initial identification through to experiment validation.

Example Automation Script

The following Python script demonstrates how to automate metric collection across the full discovery loop:

import pathlib, json, subprocess, time
from datetime import datetime

def run_skill(command):
    """Simulate calling the Claude CLI for a skill."""
    result = subprocess.check_output(["claude", "run", command])
    return result.decode()

# Track cycle time

start_time = datetime.now()

# 1. Interview summary

summary_md = run_skill("/interview summarize — attach transcript.txt")
actions = [line for line in summary_md.splitlines() if line.startswith("- ")]
action_count = len(actions)

# 2. Prioritize assumptions  

assumptions_md = run_skill("/prioritize-assumptions — ...")

# Parse matrix to count high-impact assumptions...

# 3. Build OST

ost_md = run_skill("/opportunity-solution-tree — ...")
opportunity_count = ost_md.count("Opportunity:")

# 4. Metrics dashboard

metrics_md = run_skill("/metrics-dashboard — ...")

# Calculate cycle time

cycle_time = (datetime.now() - start_time).days

print(f"Discovery cycle completed: {cycle_time} days")
print(f"Action items generated: {action_count}")
print(f"Opportunities identified: {opportunity_count}")

Summary

  • Measure interview success by tracking action item generation rates and satisfaction scores from the summarize-interview skill outputs in pm-product-discovery/skills/summarize-interview/SKILL.md.
  • Quantify assumption risk using the Impact × Risk matrix from prioritize-assumptions to calculate high-impact assumption percentages and effort-to-impact ratios.
  • Validate opportunity generation by counting solutions per opportunity (target ≥ 3) and tracking experiment conversion rates from the opportunity-solution-tree skill.
  • Monitor strategic health by parsing the North Star and input metric specifications from pm-product-discovery/skills/metrics-dashboard/SKILL.md to track growth percentages and alert volumes.
  • Optimize discovery velocity by instrumenting the /discover command to measure cycle time from first interview to experiment launch and calculate learning retention across the loop.

Frequently Asked Questions

What makes the PM Skills framework measurable compared to standard discovery methods?

Standard discovery often produces unstructured notes that resist quantitative analysis. The phuryn/pm-skills framework enforces standardized markdown outputs—such as the Impact × Risk matrices in prioritize-assumptions and the hierarchical trees in opportunity-solution-tree—that follow predictable schemas. Because every skill produces tables with consistent headings like "Metric | Definition | Data Source," you can parse them programmatically to calculate concrete KPIs like assumption validation rates and experiment success ratios.

How do I automate the collection of discovery metrics from Claude's outputs?

You can automate collection by writing lightweight scripts that parse the markdown artefacts. For example, use regular expressions to count action items in summarize-interview outputs, or use Pandas read_csv with sep='|' to parse the tables from metrics-dashboard and prioritize-assumptions. Store these parsed values in your analytics warehouse (e.g., Metabase) to visualize trends like "Assumptions → Experiments → Validated" conversion funnels.

Which metric best indicates healthy product discovery?

While no single metric captures discovery health, the experiment validation rate combined with cycle time provides the strongest signal. According to the framework's implementation, healthy discovery shows a high percentage of assumptions progressing to experiments (via brainstorm-experiments) and validating within short cycle times (measured via the /discover command). Additionally, consistent growth in the North Star metric—as defined in pm-product-discovery/skills/metrics-dashboard/SKILL.md—indicates that discovery efforts are translating into product outcomes.

How does the /discover command track end-to-end discovery performance?

The /discover command chains five core skills—brainstorm-ideas-new, identify-assumptions-new, prioritize-assumptions, opportunity-solution-tree, and metrics-dashboard—into a single workflow. By instrumenting this command with timestamps, you can measure cycle time (days from interview to experiment launch) and learning retention (percentage of assumptions that survive from identification through to experiment). The command's implicit definition in the PM Skills repository serves as the single integration point for measuring the entire discovery loop's efficiency.

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 →