Difference Between User Stories, Job Stories, and WWAS Formats: A Product Management Guide

Job Stories emphasize situational context using Jobs-to-Be-Done principles, User Stories focus on user roles and INVEST criteria, and the WWAS (Why-What-Acceptance) format blends strategic rationale with deliverable descriptions for cross-functional alignment.

The phuryn/pm-skills repository provides three distinct backlog item formats, each architected for specific product management philosophies and team workflows. Understanding these structural differences helps you select the right template for research-driven discovery, traditional Scrum execution, or strategic roadmap planning.

Format Architecture and Philosophy

Job Stories: Context-Driven JTBD

Job Stories prioritize the situation that triggers a user need rather than the user’s identity. According to the template defined in pm-execution/skills/job-stories/SKILL.md, this format follows the structure: When [situation], I want [motivation], so I can [outcome].

This approach emphasizes Jobs-to-Be-Done (JTBD) thinking, making it ideal for research-driven teams who design around real-world scenarios. Choose this format when the circumstance matters more than the persona, such as when users across different roles face identical constraints.

User Stories: Role-Based INVEST

User Stories anchor requirements to specific personas using the classic structure: As a [user role], I want [capability], so that [benefit]. The template in pm-execution/skills/user-stories/SKILL.md enforces the 3 C’s (Card, Conversation, Confirmation) and INVEST qualities (Independent, Negotiable, Valuable, Estimable, Small, Testable).

This format works best for traditional Scrum or Kanban teams that map features to defined user personas. It creates clear, role-based requirements that facilitate estimation and sprint planning.

WWAS: Strategic Alignment

The WWAS (Why-What-Acceptance) format, defined in pm-execution/skills/wwas/SKILL.md, structures backlog items into three sections: Why (strategic context), What (deliverable description), and Acceptance (high-level criteria).

This format keeps items independent, valuable, and testable without over-specifying implementation. It excels in cross-functional environments where business stakeholders must quickly triage items against strategic goals during roadmap planning.

Command Implementation in pm-skills

All three formats execute through the same command-level entry point: /write-stories. The implementation in pm-execution/commands/write-stories.md handles format selection and template rendering through a consistent skill-delegation pattern.

The architectural flow follows three steps:

  1. Invocation: Run /write-stories <format> <feature description>, where <format> accepts the tokens job, user, or wwa.
  2. Skill Selection: The command loads the corresponding skill file (job-stories, user-stories, or wwas) based on the format token.
  3. Template Rendering: The selected skill returns a markdown template containing the title, description, design links, and acceptance criteria.

The command automatically appends acceptance criteria, design placeholders, and optional next-step prompts regardless of which format you select.

Practical Usage Examples

Below are concrete commands you can execute in the pm-skills interface to generate each format.

Job Story Example

/write-stories job When users view a pricing page, I want a clear cost-breakdown, so I can decide which plan fits my budget

Generated Output:

**Title:** Clear Cost-Breakdown on Pricing Page

Description: When users view a pricing page (situation), I want a clear cost-breakdown (motivation), so I can decide which plan fits my budget (outcome).

Design: [Link to Figma design]

Acceptance Criteria:
1. The cost-breakdown section appears above the "Choose Plan" button.
2. All pricing tiers display monthly and annual costs.
3. A tooltip explains any hidden fees.

User Story Example

/write-stories user As a marketing analyst, I want to export campaign data as CSV, so that I can perform offline analysis in Excel

Generated Output:

**Title:** Export Campaign Data

Description: As a marketing analyst, I want to export campaign data as CSV, so that I can perform offline analysis in Excel.

Design: [Link to design mockup]

Acceptance Criteria:
1. Export button is visible on the campaign dashboard.
2. Exported file contains campaign ID, spend, impressions, and click-through rate.
3. CSV adheres to RFC 4180 format.

WWAS Example

/write-stories wwa Dark mode for the mobile app

Generated Output:

**Title:** Dark Mode for Mobile App

Why: Users frequently report eye-strain during night usage; enabling a dark UI aligns with our accessibility goals and improves engagement metrics.

What: Add a toggle in the Settings screen that switches the app theme to a dark palette. Design specs are in [Figma link].

Acceptance Criteria:
- Theme changes instantly after toggle.
- All primary UI components respect the dark color tokens.
- No regression in contrast ratios for WCAG AA.

Summary

Frequently Asked Questions

When should I use Job Stories instead of User Stories?

Use Job Stories when the triggering situation matters more than the user’s demographic or role, such as when multiple personas encounter the same constraint (e.g., "When I’m on a flight with no wifi..."). Use User Stories when you need to trace specific features back to defined personas and enforce INVEST qualities for sprint estimation.

What does the WWAS format include that User Stories do not?

The WWAS format explicitly separates strategic Why statements from implementation What descriptions, making it easier for cross-functional teams to validate business value before committing to delivery. Standard User Stories embed the benefit in the "so that" clause but do not require the formal Why-What-Acceptance structure that WWAS enforces.

How do I invoke the different formats in pm-skills?

Invoke any format using the /write-stories command followed by the format token and description. Use job for Job Stories, user for User Stories, and wwa for WWAS. For example: /write-stories user As a... or /write-stories wwa Feature description.

Can I customize the templates in the pm-skills repository?

Yes. The templates live in their respective skill files under pm-execution/skills/job-stories/SKILL.md, user-stories/SKILL.md, and wwas/SKILL.md. You can modify the markdown templates and acceptance criteria defaults while preserving the shared command interface in pm-execution/commands/write-stories.md.

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 →