# How pm-product-discovery Assesses Market Viability: A 4-Step Framework

> Learn how pm-product-discovery assesses market viability using a 4-step framework. Score assumptions, validate risks with experiments, and ensure product-market fit before development.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: how-to-guide
- Published: 2026-06-14

---

**pm-product-discovery evaluates market viability through a structured workflow that identifies business assumptions, scores them on an Impact × Risk matrix, and validates high-risk items with targeted experiments like fake-door landing pages and pricing tests before engineering commits significant resources.**

The `pm-product-discovery` module in the `phuryn/pm-skills` repository provides product managers with a systematic approach to assess market viability. Instead of relying on intuition, this open-source framework forces teams to surface and test critical business assumptions through evidence-driven discovery cycles. Understanding how pm-product-discovery assesses market viability helps teams avoid costly build traps by validating revenue potential and scalability concerns early.

## The Four Risk Categories Framework

The assessment centers on four distinct risk categories: **Value**, **Usability**, **Viability**, and **Feasibility**. While Value examines whether customers want the solution and Usability tests if they can use it, **Viability** specifically addresses whether the business can support and monetize the product. According to the source code in [`pm-product-discovery/skills/identify-assumptions-existing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/identify-assumptions-existing/SKILL.md), the Viability perspective asks: *"Can marketing, sales, finance, and legal support it?"*

## Step-by-Step Market Viability Evaluation

### 1. Identify Critical Business Assumptions

The process begins with the **identify-assumptions-existing** skill, which forces teams to surface market-related doubts before writing code. As implemented in [`pm-product-discovery/skills/identify-assumptions-existing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/identify-assumptions-existing/SKILL.md), this step applies a specific **Viability checklist** that includes: *Can we sell/monetize it? Is it worth the cost? Can we scale?* This explicit listing captures assumptions about business case, revenue potential, and operational scalability.

### 2. Prioritize Using the Impact × Risk Matrix

Once assumptions are documented, the **prioritize-assumptions** skill places each item on an **Impact × Risk** matrix. According to [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md), assumptions flagged as **high-impact and high-risk** become "leap-of-faith" items that demand immediate validation. This scoring mechanism ensures that viability risks—such as uncertain pricing models or unproven sales channels—receive priority attention over low-risk assumptions.

### 3. Design Fast Validation Experiments

The **Opportunity Solution Tree** skill adds a bottom layer of fast, cheap experiments specifically designed to test **Viability** risks. As defined in [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md), these experiments include pricing tests, fake-door landing pages, and sales-lead generation campaigns. These lightweight validations prove whether a business case works by measuring real market signals like price acceptance and willingness-to-pay before heavy engineering investment.

### 4. Orchestrate the Full Discovery Cycle

The `/discover` command orchestrates the complete workflow automatically. As documented in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md), when this command reaches the **Critical Assumptions** table, the *Viability* column summarizes the market-fit assessment and directs the team to the next validation step. This command-line interface ensures the viability loop repeats until risks are either validated—allowing the team to proceed—or rejected—triggering a pivot or kill decision.

## Running Viability Assessments via CLI

You can trigger market viability evaluations directly in a pm-skills-enabled environment using these specific commands:

```bash

# Run a full discovery cycle for a new idea

/discover AI-writing assistant for non-native speakers

# Focus only on viability assumptions for an existing product

/identify-assumptions-existing "Feature X for our project-management tool"

# Prioritize assumptions (high-impact, high-risk get highlighted)

/prioritize-assumptions

# Generate experiments that specifically test market viability

/brainstorm-experiments-existing

```

Each command returns a markdown-formatted report containing a **Viability** section, an **Impact × Risk** matrix, and concrete experiment proposals.

## Summary

- **pm-product-discovery** uses four risk categories (Value, Usability, Viability, Feasibility) to frame market assessment.
- The workflow in [`pm-product-discovery/skills/identify-assumptions-existing/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/identify-assumptions-existing/SKILL.md) explicitly lists viability assumptions about monetization, cost, and scalability.
- High-risk assumptions are prioritized using the **Impact × Risk** matrix defined in [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md).
- Targeted experiments from [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md) validate viability through pricing tests and fake-door campaigns.
- The `/discover` command in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md) automates the full assessment cycle.

## Frequently Asked Questions

### What is the difference between Value and Viability in pm-product-discovery?

**Value** examines whether customers want the solution and would use it, while **Viability** focuses on whether the business can successfully market, sell, and support the product at a profit. According to the `phuryn/pm-skills` source code, Viability specifically asks if marketing, sales, finance, and legal can support the initiative, and whether the unit economics work.

### How does the Impact × Risk matrix determine which assumptions to test first?

The matrix defined in [`pm-product-discovery/skills/prioritize-assumptions/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/prioritize-assumptions/SKILL.md) plots assumptions by their potential **Impact** on the business outcome versus their **Risk** (uncertainty). Assumptions falling into the high-impact, high-risk quadrant become "leap-of-faith" items that must be validated immediately, ensuring teams address deal-breaking market viability questions before building features.

### What types of experiments validate market viability?

As implemented in [`pm-product-discovery/skills/opportunity-solution-tree/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/skills/opportunity-solution-tree/SKILL.md), viability experiments include **fake-door landing pages** to gauge willingness-to-pay, **pricing tests** to validate unit economics, and **sales-lead generation** campaigns to test market demand. These lightweight experiments provide real market signals without requiring full product development.

### How do I run a viability assessment for an existing feature?

Use the `/identify-assumptions-existing` command followed by your feature description to surface viability assumptions specific to current products. Then run `/prioritize-assumptions` to score them on the Impact × Risk matrix, and `/brainstorm-experiments-existing` to generate targeted validation experiments. The full cycle can be orchestrated via `/discover` as documented in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md).