# Which Assumptions Does the identify-assumptions-existing Skill Prioritize?

> Discover how the identify-assumptions-existing skill prioritizes assumptions across Value, Usability, Viability, and Feasibility to reveal the riskiest hypotheses for current product features.

- Repository: [Pawel Huryn/pm-skills](https://github.com/phuryn/pm-skills)
- Tags: deep-dive
- Published: 2026-06-22

---

**The identify-assumptions-existing skill prioritizes assumptions across four core dimensions—Value, Usability, Viability, and Feasibility—to surface the riskiest hypotheses for existing product features.**

The `identify-assumptions-existing` skill is a component of the **phuryn/pm-skills** open-source product management toolkit. Designed for product discovery workflows, this skill specifically targets features already deployed in production to uncover hidden risks and validate ongoing value delivery. 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 framework evaluates every assumption against these four categories to generate weighted risk assessments for downstream prioritization.

## The Four Dimensions of Risk Assessment

The skill categorizes assumptions into four explicit dimensions defined in its configuration. These categories serve as the foundation for the **Impact × Risk matrix** used by the companion `prioritize-assumptions` skill.

### Value

**Value** assumptions concern whether the feature truly delivers measurable benefit to users and drives business outcomes. The skill flags statements like *"Customers will pay a premium for the new analytics dashboard"* or *"This feature reduces churn by 10%"* as high-priority Value hypotheses that require validation through revenue or retention metrics.

### Usability

**Usability** assumptions address experience risks and adoption barriers that could hinder user engagement. The framework captures hypotheses such as *"Users can navigate the new UI without formal training"* or *"The onboarding flow requires fewer than three clicks to complete."*

### Viability

**Viability** assumptions focus on financial sustainability and strategic alignment. The skill evaluates whether the feature supports long-term business goals, tagging statements like *"The feature will increase ARPU by ≥5%"* or *"Maintenance costs will remain below $10k annually."*

### Feasibility

**Feasibility** assumptions cover technical constraints and operational limitations that could block delivery or scale. Examples include *"Our data pipeline can support real-time updates without latency degradation"* or *"The legacy system can handle 10x traffic spikes."*

## How the Skill Weights Assumptions for Prioritization

The four dimensions are not merely labels—they function as weighting factors in the product discovery pipeline. 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), the output from `identify-assumptions-existing` feeds directly into an Impact × Risk calculation where **Value** and **Viability** assumptions typically carry higher business impact weights, while **Feasibility** assumptions often present the highest technical risk scores.

This weighting system ensures that product teams surface the most product-critical assumptions first, giving a clear view of where to run experiments or gather validation data before committing engineering resources.

## Implementation in the PM-Skills Toolkit

The skill is typically invoked within command chains defined in the repository. As shown in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md), you can chain it with other discovery skills using YAML configuration:

```yaml

# Example of a /discover command that chains skills

steps:
  - name: brainstorm-ideas
    skill: brainstorm-ideas
  - name: identify-assumptions-existing
    skill: identify-assumptions-existing
    input:
      # The idea to evaluate (generated in the previous step)

      idea: "{{ steps.brainstorm-ideas.output.top_idea }}"
  - name: prioritize-assumptions
    skill: prioritize-assumptions
    input:
      assumptions: "{{ steps.identify-assumptions-existing.output.assumptions }}"

```

The skill outputs a structured JSON array where each assumption is tagged with its category, impact level, and risk level:

```json
{
  "assumptions": [
    {
      "category": "Value",
      "statement": "Customers will pay a premium for the new analytics dashboard",
      "impact": "High",
      "risk": "Medium"
    },
    {
      "category": "Usability",
      "statement": "Users can navigate the new UI without training",
      "impact": "Medium",
      "risk": "High"
    },
    {
      "category": "Viability",
      "statement": "The feature will increase ARPU by ≥5%",
      "impact": "High",
      "risk": "Low"
    },
    {
      "category": "Feasibility",
      "statement": "Our data pipeline can support real‑time updates",
      "impact": "Low",
      "risk": "High"
    }
  ]
}

```

These assumptions are consumed by the **prioritize-assumptions** skill to plot risks on an Impact × Risk matrix and suggest specific experiments for validation.

## Summary

- The **identify-assumptions-existing** skill targets **existing features** rather than new product ideas.
- It categorizes assumptions into four dimensions: **Value, Usability, Viability, and Feasibility**.
- Output feeds into the **prioritize-assumptions** skill for Impact × Risk matrix analysis and experiment design.
- Skill definition is located at [`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) in the phuryn/pm-skills repository.

## Frequently Asked Questions

### What is the difference between identify-assumptions-existing and identify-assumptions-new?

The **identify-assumptions-existing** skill specifically evaluates assumptions for features already deployed in production, focusing on ongoing value delivery and technical debt risks. In contrast, `identify-assumptions-new` targets pre-launch features and ideation-phase concepts where market fit has not yet been established.

### How does the skill determine impact and risk levels for each assumption?

The skill assigns **Impact** and **Risk** scores based on the four-dimensional framework defined in [`SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/SKILL.md). **Value** and **Viability** assumptions typically receive higher impact weights due to their direct business consequences, while **Feasibility** assumptions often carry elevated risk scores due to technical uncertainty. These scores are later refined by the `prioritize-assumptions` skill into a visual matrix.

### Can I use identify-assumptions-existing without the prioritize-assumptions skill?

While the skill can run independently and output a JSON array of categorized assumptions, it is designed to operate within the phuryn/pm-skills pipeline. The four-dimensional categorization format is specifically optimized for consumption by the `prioritize-assumptions` skill, which converts the raw output into actionable experiment recommendations.

### Where is the skill definition located in the repository?

The canonical definition resides at [`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) in the phuryn/pm-skills repository. This file contains the complete input schema, output format, and the four-category risk framework documentation.