story-writing-invest

Validates user stories against the INVEST quality framework before engineering handoff.

3|2|Updated Aug 24, 2026
One-click install
npx skills add https://github.com/hero-engine/hero --skill story-writing-invest-hero-engine
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: story-writing-invest
Source: https://github.com/hero-engine/hero/tree/main/domains/pm/skills/story-writing-invest
Command: npx skills add https://github.com/hero-engine/hero --skill story-writing-invest-hero-engine

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Product specs often reach engineering too large, too vague, or prescribing implementation, causing friction at handoff and ambiguous definitions of done. This Skill applies the INVEST framework (Independent, Negotiable, Valuable, Estimable, Small, Testable) as a quality bar so every story is dev-ready before its status flips to ready. ## Core Features & Use Cases - Six-letter quality bar: Independently testable checks for Independence, Negotiability, Value, Estimability, Size, and Testability, each with pass/fail examples and fixes. - Splitting guidance: Five prioritized split patterns (by user flow step, data variation, rule complexity, acceptance criterion, happy path vs edge case) for stories that fail Small. - Kind typing and refusal rules: Distinguishes feature, bug, and chore specs with adjusted rigor, and defines hard anti-patterns that must block a ready-status flip. - Use Case: A PM drafts a story like "Add machine learning to search results." The Skill flags it as failing Estimable and Small, then guides splitting it into scoped, testable stories with clear user value before handoff. ## Quick Start Review my draft story spec against the INVEST criteria and tell me which letters it fails and how to fix them.

Frequently Asked Questions about story-writing-invest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a user story that passes INVEST criteria?▼

Write a story that ships independently, states the what without prescribing implementation, names clear user or business value, can be sized by engineering, fits one delivery cycle, and has unambiguously testable acceptance criteria. Each letter is checked separately.

How to split a user story that is too large?▼

Split by user flow step, data variation, rule complexity, individual acceptance criteria, or happy path versus edge cases, in that priority order. Avoid splitting by technical layer, which violates Independence and creates wire-it-up stories.

What is the difference between INVEST and EARS for stories?▼

INVEST shapes the story itself while EARS shapes the acceptance criteria. INVEST without EARS yields vague criteria failing Testable; EARS without INVEST yields tight criteria on an oversized or valueless story. Both are needed.

When should a story be blocked from ready status?▼

Block the flip when acceptance criteria are empty or TBD, the description prescribes implementation, the spec has no kind, user value is missing for non-chores, the story exceeds the size budget, or hard dependencies are unresolved.

Does INVEST apply to bugs and chores or only features?▼

INVEST applies to all kinds with adjustments. Bugs keep most criteria but Negotiable is looser since fixes may be specific. Chores waive the user-value test and may use lighter acceptance criteria such as tests still passing.