Produktivität / to-story
Reshape a draft ticket, Jira issue, or GitHub issue from an engineer's braindump into a real user story with INVEST-clean acceptance criteria, and split stories that are too large using SPIDR.
Installation
Signierte, abgestufte Provenienz für diesen Skill. Integrität, Urheberschaft, Capability und Aktualität als Beleg, den du abwägst, nicht als Verifiziert-Badge.
A draft is a story if a designer, PM, or new engineer can read it cold and tell what's changing and why it matters. Otherwise it's a braindump — fine as a note to self, not yet a contract between roles.
If the work touches a user-visible outcome, force it through the Story shape even if the engineer wrote it as a Task. "Migrate auth middleware to v2" is the implementation; "Users stay signed in across tab reloads" is the story.
As a <role>, I want <goal>, so that <value>.
You don't have to keep the literal sentence shape. You do have to answer all three clauses somewhere:
| Letter | Question | Most common failure |
|---|---|---|
| Independent | Can this be built without waiting on two other stories? | Hidden dependencies, sequence isn't named |
| Negotiable | Is the how still open? | Solution already baked into description |
| Valuable | Who benefits, and how? | Disguised task |
| Estimable | Could three engineers roughly agree on size? | Scope unclear |
| Small | Fits in a sprint? | Too big — go to Step 5 |
| Testable | Can a neutral reader tell when it's done? | The most violated letter in practice |
If the only failing letter is S, the story needs splitting (Step 5). Anything else, fix the framing before splitting.
Use Given/When/Then or a bullet list of observable outcomes. The format matters less than this property: a neutral reader can verify the story is done without asking the engineer.
Bad: "the feature works correctly", "users can use X". Good: "Given a signed-in user, when they reload the page, then they remain signed in."
Keep ACs separate from implementation notes. Implementation goes in Subtasks, a tech-design doc, or the PR description — not in the ACs.
Try each letter in order. You usually have an answer by the second or third.
Two rules of thumb for picking among candidate splits:
Do not split horizontally by technical layer (backend story / frontend story / migration story). That breaks INVEST on Independent, Valuable, and Testable simultaneously — none of the slices delivers user-visible value on its own, and the integration cost cancels the speed gain.
Ready: has actor + outcome + reason; ≥1 testable AC; dependencies linked, not assumed; nobody walks out of refinement still unclear; fits in a sprint.
Done: ACs verified by someone who isn't the author; tests at the right level passing; merged and deployed; docs / release notes / announcements updated; ticket closed with a short note on what actually shipped (especially if scope changed).
Based on Stories, Not Braindumps — writing Jira work the team can actually use.