# How User Stories Are Managed Within the pm-product-discovery Framework

> Discover how user stories are managed in the pm-product-discovery framework. Learn to create structured stories after discovery and prioritization are complete within the pm-execution package.

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

---

**The pm-product-discovery framework delays user story creation until after discovery and prioritization are complete, then prompts users to generate structured stories via the pm-execution package.**

The **phuryn/pm-skills** repository implements a strict separation between product discovery and execution phases. Within the **pm-product-discovery** module, user stories are not drafted during initial ideation; instead, the framework guides teams through assumption mapping and prioritization first, then offers to convert the highest-priority items into properly formatted backlog items.

## The Discovery-First Workflow

Managing user stories in this framework follows a deliberate four-phase sequence that ensures only validated priorities become backlog items.

1. **Discovery and Prioritization** – Run either `/discover` for full-cycle discovery or `/triage-requests` for feature-request triage.
2. **Prompt for Stories** – After prioritization, the tool explicitly asks whether to create user stories for the top-ranked items.
3. **Generation** – Upon confirmation, the framework invokes the **user-stories** skill from the **pm-execution** package.
4. **Hand-off** – Generated stories feed directly into execution phases like backlog grooming and sprint planning.

This workflow ensures that every user story ties to a prioritized assumption or feature validated during discovery.

## Triggering Story Creation from Discovery Commands

The framework provides two primary entry points for initiating the user story workflow, each offering a prompt at the appropriate workflow stage.

### Triage Requests Command

When running `/triage-requests` to process incoming feature requests, the command executes a full triage cycle including brainstorming and assumption identification. At line 109-110 of [`pm-product-discovery/commands/triage-requests.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/triage-requests.md), the tool presents the prompt:

> "Want me to **create user stories** for the top‑priority items?"

Answering affirmatively triggers the generation process for the highest-ranked features identified during the triage session.

### Discovery Command

For new product concepts, the `/discover` command compiles a complete discovery plan. According to lines 22-23 in [`pm-product-discovery/commands/discover.md`](https://github.com/phuryn/pm-skills/blob/main/pm-product-discovery/commands/discover.md), the final checkpoint asks:

> "Should I **estimate effort** and create user stories for the MVP?"

This prompt appears after the discovery plan is finalized, allowing teams to generate stories scoped specifically to the Minimum Viable Product.

## User Story Generation via the pm-execution Package

When the user confirms story creation, the framework does not generate the stories internally. Instead, it invokes the dedicated **user-stories** skill located in [`pm-execution/skills/user-stories/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/user-stories/SKILL.md).

This skill enforces standard Agile practices by applying the **3 C's** (Card, Conversation, Confirmation) and **INVEST** criteria (Independent, Negotiable, Valuable, Estimable, Small, Testable). The output includes:

- Structured story titles
- Detailed descriptions
- Design links
- Acceptance criteria

The generated stories become the formal input for execution phases, bridging the gap between discovery insights and development work.

## Practical Usage Examples

### Creating Stories After Triage

Run the triage command on your feature list, then confirm the prompt to generate stories:

```bash

# Execute triage on incoming requests

/triage-requests <features.txt>

# Respond to the prompt

Want me to create user stories for the top‑priority items?  yes

```

### Creating Stories After Discovery

Execute a full discovery cycle for your concept, then approve the MVP story generation:

```bash

# Run discovery for a new product idea

/discover "AI writing assistant for non‑native speakers"

# Confirm at the final checkpoint

Should I estimate effort and create user stories for the MVP?  yes

```

### Behind-the-Scenes Skill Invocation

The discovery commands call the user-stories skill through the following definition in [`pm-execution/skills/user-stories/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/user-stories/SKILL.md):

```yaml
name: user-stories
description: "Create user stories following the 3 C's (Card, Conversation, Confirmation) and INVEST criteria..."

# Invoked automatically when discovery prompts receive affirmative responses

```

## Summary

- **User stories are created after discovery**, not during initial ideation, ensuring every story maps to a validated priority.
- **Two commands trigger generation**: `/triage-requests` for feature triage and `/discover` for new product concepts.
- **Prompts appear at workflow endpoints**: Line 109-110 of [`triage-requests.md`](https://github.com/phuryn/pm-skills/blob/main/triage-requests.md) and lines 22-23 of [`discover.md`](https://github.com/phuryn/pm-skills/blob/main/discover.md) contain the specific confirmation prompts.
- **Execution relies on pm-execution**: The `user-stories` skill in [`pm-execution/skills/user-stories/SKILL.md`](https://github.com/phuryn/pm-skills/blob/main/pm-execution/skills/user-stories/SKILL.md) handles actual generation using 3 C's and INVEST criteria.
- **Seamless hand-off**: Generated stories feed directly into backlog grooming and sprint planning workflows.

## Frequently Asked Questions

### When are user stories created in the pm-product-discovery framework?

User stories are created only after the discovery team has completed prioritization activities. The framework explicitly delays story generation until the `/discover` or `/triage-requests` commands have surfaced and ranked the highest-priority features or assumptions, preventing premature backlog items based on unvalidated ideas.

### What criteria are used for user story generation?

The framework invokes the **user-stories** skill from the **pm-execution** package, which applies the **3 C's** (Card, Conversation, Confirmation) and **INVEST** criteria. This ensures outputs are Independent, Negotiable, Valuable, Estimable, Small, and Testable, with complete acceptance criteria and design links.

### How does the framework connect discovery to execution?

After discovery commands prompt the user and receive confirmation, the **pm-product-discovery** module calls the **user-stories** skill located in the **pm-execution** package. This architectural separation ensures discovery insights translate into properly formatted, execution-ready backlog items without manual transcription or format conversion.

### Can I create user stories without running discovery first?

According to the source code in `phuryn/pm-skills`, the user story generation workflow is tightly coupled to the discovery commands. The prompts in [`triage-requests.md`](https://github.com/phuryn/pm-skills/blob/main/triage-requests.md) and [`discover.md`](https://github.com/phuryn/pm-skills/blob/main/discover.md) are the only documented triggers for invoking the user-stories skill, meaning the framework expects teams to validate priorities through discovery before generating stories.