Agent skill

Job Stories

by phuryn in phuryn/pm-skills

Turns a feature into job stories in the When, I want to, so I can format, each with six to eight acceptance criteria tied to the user's situation and outcome.

MITAuto-check passedProduct & Project Management

Install Job Stories

skills CLI
$ npx skills add phuryn/pm-skills --skill job-stories -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install phuryn/pm-skills job-stories --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/phuryn/pm-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/pm-execution/skills/job-stories .claude/skills/job-stories && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
job-stories
GitHub stars
27k
Token cost
~743 tokens
SKILL.md length
367 words
Files
1
Skills in repo
67
Repo updated
First seen
Licence
MIT

At a glance

Turns a feature into job stories in the When, I want to, so I can format, each with six to eight acceptance criteria tied to the user's situation and outcome.

  • Works in 8 steps: Identify user situations that trigger… → Define motivations underlying the user's… → Clarify outcomes the user wants to achieve → …
  • Breaking a feature into JTBD-style backlog items
  • SKILL.md covers Step-by-Step Process, Story Template, Example Job Story and Output Deliverables
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

The skill takes a product name, the feature to break down, an optional link to design files and the user situations or scenarios involved. It identifies the situations that trigger a need, defines the motivations behind them, clarifies the outcomes people want, and applies the jobs-to-be-done idea of focusing on the job rather than the role.

Each story has a title, a description following the pattern of a situation, a motivation and an outcome, a design link and acceptance criteria written in observable, measurable language. The built-in example is a weekly snack spending tracker, with criteria such as a real-time update when an expense is logged, a progress bar and notifications at 80% of the budget. The output is a complete set of stories for the feature.

When your agent uses it

  • Breaking a feature into JTBD-style backlog items
  • Describing users by situation and motivation rather than by role
  • Writing acceptance criteria that check outcomes
  • Attaching design links to backlog stories

Example prompts

  • “Write job stories for a saved-searches feature in our job board app.”
  • “Turn these interview notes about late deliveries into job stories with acceptance criteria.”
  • “Rewrite our persona-based user stories as job stories that focus on the situation.”
  • “Create job stories for the checkout redesign and link the Figma file.”

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Identify user situations that trigger the need
  2. Define motivations underlying the user's behavior
  3. Clarify outcomes the user wants to achieve
  4. Apply JTBD framework: Focus on the job, not the role
  5. Create acceptance criteria that validate the outcome is achieved
  6. Use observable, measurable language
  7. Link to design mockups or prototypes
  8. Output job stories with detailed acceptance criteria

What it can do on your machine

Read from SKILL.md and the folder at commit c68487d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • productcompass.pm

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Job Stories loads about 743 tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 367 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~743

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from phuryn/pm-skills at commit c68487d, republished under its MIT licence (© phuryn). 367 words, ~743 tokens.

Download SKILL.mdSave it as .claude/skills/job-stories/SKILL.md (or your agent's skills folder).
name
job-stories
description
Create job stories using the 'When [situation], I want to [motivation], so I can [outcome]' format with detailed acceptance criteria. Use when writing job stories, creating JTBD-style backlog items, or expressing user situations and motivations.

Job Stories

Create job stories using the 'When [situation], I want to [motivation], so I can [outcome]' format. Generates stories with detailed acceptance criteria focused on user situations and outcomes.

Use when: Writing job stories, expressing user situations and motivations, creating JTBD-style backlog items, or focusing on user context rather than roles.

Arguments:

  • $PRODUCT: The product or system name
  • $FEATURE: The new feature to break into job stories
  • $DESIGN: Link to design files (Figma, Miro, etc.)
  • $CONTEXT: User situations or job scenarios

Step-by-Step Process

  1. Identify user situations that trigger the need
  2. Define motivations underlying the user's behavior
  3. Clarify outcomes the user wants to achieve
  4. Apply JTBD framework: Focus on the job, not the role
  5. Create acceptance criteria that validate the outcome is achieved
  6. Use observable, measurable language
  7. Link to design mockups or prototypes
  8. Output job stories with detailed acceptance criteria

Story Template

Title: [Job outcome or result]

Description: When [situation], I want to [motivation], so I can [outcome].

Design: [Link to design files]

Acceptance Criteria:

  1. [Situation is properly recognized]
  2. [System enables the desired motivation]
  3. [Progress or feedback is visible]
  4. [Outcome is achieved efficiently]
  5. [Edge cases are handled gracefully]
  6. [Integration and notifications work]
Show full SKILL.md (161 more words)Show less

Example Job Story

Title: Track Weekly Snack Spending

Description: When I'm preparing my weekly allowance for snacks (situation), I want to quickly see how much I've spent so far (motivation), so I can make sure I don't run out of money before the weekend (outcome).

Design: [Figma link]

Acceptance Criteria:

  1. Display Spending Summary with 'Weekly Spending Overview' section
  2. Real-Time Update when expense logged
  3. Progress Indicator (progress bar showing 0-100% of weekly budget)
  4. Remaining Budget Highlight in prominent color
  5. Detailed Spending Log with breakdown by category
  6. Notifications at 80% budget threshold
  7. Weekend-Specific Reminder at 90% by Thursday evening
  8. Easy Access and Navigation to detailed breakdown

Output Deliverables

  • Complete set of job stories for the feature
  • Each story follows the 'When...I want...so I can' format
  • 6-8 acceptance criteria focused on outcomes
  • Stories emphasize user situations and motivations
  • Clear links to design and prototypes

Further Reading

© phuryn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in pm-execution/skills/job-stories of phuryn/pm-skills.

Open the folder on GitHubat commit c68487d

Compare with similar skills

Job Stories next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Job Stories compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Job Stories this skillphuryn/pm-skills27k—~743Automated safety check: PassMIT
User Story Writerdeanpeters/Product-Manager-Skills7.2k2 repos~2.9kAutomated safety check: PassCustom licence
Ralph Tui Create Beadssubsy/ralph-tui2.5k1 repos~2.6kAutomated safety check: PassMIT
Agile Product Owneralirezarezvani/claude-skills28k3 repos~3.2kAutomated safety check: PassMIT
Ralph Tui Create Beads Rustsubsy/ralph-tui2.5k1 repos~2.8kAutomated safety check: PassMIT
To Specbestofjs/bestofjs3.1k21 repos~757Automated safety check: PassMIT

Similar skills

  • User Story Writer

    deanpeters/Product-Manager-Skills

    Writes user stories in Mike Cohn's format with Gherkin acceptance criteria, turning user needs into development-ready work with testable conditions.

    7.2k GitHub starsUsed in 2 repos~2.9k tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create Beads

    subsy/ralph-tui

    Convert PRDs to beads for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed
  • Agile Product Owner

    alirezarezvani/claude-skills

    Writes INVEST-checked user stories with acceptance criteria, splits epics, plans sprints from velocity and ranks the backlog with a weighted score.

    28k GitHub starsUsed in 3 repos~3.2k tokens
    Product & Project ManagementAuto-check passed
  • Convert PRDs to beads for ralph-tui execution using beads-rust (br CLI).

    2.5k GitHub starsUsed in 1 repo~2.8k tokens
    Product & Project ManagementAuto-check passed
  • To Spec

    bestofjs/bestofjs

    Turn the current conversation into a spec and publish it to the project issue tracker — no interview, just synthesis of what you've already discussed.

    3.1k GitHub starsUsed in 21 repos~757 tokens
    Product & Project ManagementAuto-check passed
  • Ralph Tui Create JSON

    subsy/ralph-tui

    Convert PRDs to prd.json format for ralph-tui execution. An agent skill from subsy/ralph-tui.

    2.5k GitHub starsUsed in 1 repo~2.6k tokens
    Product & Project ManagementAuto-check passed

More from phuryn/pm-skills

All 67 skills in this repo
  • Reviews a diff by anchoring on agreements between two sides of a boundary, forcing a concrete violating execution, and refuting each finding before reporting it.

    27k GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • A/B Test Analysis

    phuryn/pm-skills

    Validates an experiment's setup, works out lift, p-value and confidence interval from A/B test data, and recommends whether to ship, extend or stop.

    27k GitHub stars~893 tokensUpdated yesterday
    Auto-check passed
  • Team OKR Brainstorm

    phuryn/pm-skills

    Drafts three alternative sets of team OKRs, each with an inspiring objective and measurable key results, tied to the company strategy you provide.

    27k GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Analyzes uploaded cohort data to compute retention curves and feature adoption trends, builds heatmaps and charts, and suggests qualitative follow-up research.

    27k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Dummy Dataset Generator

    phuryn/pm-skills

    Generates realistic test datasets with custom columns, row counts and business constraints, output as CSV, JSON, SQL inserts or a runnable Python script.

    27k GitHub stars~983 tokensUpdated yesterday
    Auto-check passed
  • Grammar and Flow Checker

    phuryn/pm-skills

    Reviews a draft for grammar, logic and flow problems and returns located, prioritized fix suggestions without rewriting the whole text.

    27k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed

Questions about Job Stories

What does Job Stories do?

Turns a feature into job stories in the When, I want to, so I can format, each with six to eight acceptance criteria tied to the user's situation and outcome. The skill takes a product name, the feature to break down, an optional link to design files and the user situations or scenarios involved. It identifies the situations that trigger a need, defines the motivations behind them, clarifies the outcomes people want, and applies the jobs-to-be-done idea of focusing on the job rather than the role.

When should I use Job Stories?

Job Stories fits situations like: breaking a feature into JTBD-style backlog items; describing users by situation and motivation rather than by role; writing acceptance criteria that check outcomes; attaching design links to backlog stories.

How do I install Job Stories in Claude Code?

Run `npx skills add phuryn/pm-skills --skill job-stories -a claude-code`. Or copy the skill folder (pm-execution/skills/job-stories in phuryn/pm-skills) into .claude/skills/job-stories in your project. Claude Code loads it when a task matches its description.

How do I install Job Stories in Codex?

Run `npx skills add phuryn/pm-skills --skill job-stories -a codex`. Or copy the skill folder (pm-execution/skills/job-stories in phuryn/pm-skills) into .agents/skills/job-stories in your project. Codex loads it when a task matches its description.

Can I use Job Stories in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add phuryn/pm-skills --skill job-stories -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/job-stories, .gemini/skills/job-stories, .github/skills/job-stories and .opencode/skills/job-stories in your project.

What does Job Stories need to run?

SKILL.md names no scripts, command-line tools or credentials: Job Stories is instructions for the agent only.

Does Job Stories access the network?

SKILL.md names 1 domain. As links in the text: productcompass.pm. This is read from the text; nothing was executed.

Is Job Stories safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Job Stories use?

Job Stories is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Job Stories use?

About 743 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Job Stories?

Skills that share tags, products or a category with Job Stories: User Story Writer (deanpeters/Product-Manager-Skills, 7.2k stars), Ralph Tui Create Beads (subsy/ralph-tui, 2.5k stars), Agile Product Owner (alirezarezvani/claude-skills, 28k stars) and Ralph Tui Create Beads Rust (subsy/ralph-tui, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Job Stories?

phuryn (a GitHub user) maintains it in phuryn/pm-skills, which has 26,871 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 10, 2026.

Source: phuryn/pm-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.