skills/papi-sdlc-user-stories/SKILL.md
Create or work with user stories — define a single actor goal, its interface, and falsifiable acceptance criteria. [PAPI SDLC]
npx skillsauth add stainsby/papi papi-sdlc-user-storiesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill whenever a unit of product or system behaviour needs to be captured from the perspective of a specific actor — whether for backlog grooming, epic decomposition, or as the specification source for a development or component task.
Reading these skills is REQUIRED to understand and execute this skill:
papi-sdlc-understandpapi-templates-understandA user story describes a single outcome for a single role. If the narrative requires more than one actor or more than one goal, split it into separate stories. Compound stories indicate unclear scope and produce untestable acceptance criteria.
The actor must identify a real, distinguishable role with distinct needs (e.g., "authenticated administrator", "background job scheduler", "third-party API consumer"). Generic actors like "user" or "system" are not acceptable — they obscure who actually benefits and make the story harder to prioritise and validate.
The "I want to" clause must describe a goal, not an implementation. If the narrative specifies a UI control, an API endpoint, or an algorithm, it has crossed into solution space. Reserve implementation decisions for the development or component task that fulfils the story.
The "so that" clause must describe an outcome that can be confirmed or refuted through the interface described in the story. If the benefit cannot be observed or measured, it is not a valid acceptance criterion anchor and the story needs to be rewritten.
Before writing acceptance criteria, the Interface section must clearly describe how the actor initiates the interaction and what observable response or state change they receive. Acceptance criteria must assert outcomes expressed in terms of that interface — not internal system state or implementation details.
Every story must include at least one acceptance criterion covering a negative case (e.g., invalid input, unauthorised access, resource not found) or a boundary condition. Stories with only happy-path criteria are incomplete.
A user story is a specification artefact, not a work item. Once a story reaches Ready status, one or more development or component tasks are created to fulfil it. The story remains as the authoritative statement of intent and is linked from those tasks.
The story document must not contain implementation notes, test results, fulfilment status, or audit findings. Those belong in task, testing, release, or audit artefacts. The story's only lifecycle signal is its Status field.
A user story is an upstream statement of intent and MUST NOT reference
component specifications, capability codes, or any other solution
structure. The dependency points the other way: the user-facing
components that fulfil a story reference it from their capability
**Users:** fields (see the papi-sdlc-component-specification skill),
never the reverse. This keeps stories stable when the architecture is
refactored.
Narrative, interface, and acceptance criteria must use vocabulary the named role would actually use. Reviewer check: would this role read the story and recognise their own world? If not, rewrite.
A story's Status must be consistent with the scope of its parent epic/release. Stories outside current scope stay Draft (or are removed). Do not mark a story Ready unless its scope agrees with that of its parent epic/release.
**Role:** field set, matches the narrative actor, and matches a role defined in the parent user-stories documentassets/user-stories-template.mdassets/user-story-template.mddevelopment
Plan and perform user-acceptance testing for user stories - exercise each story end-to-end through the real user interface in the appropriate role, with evidence. [PAPI SDLC]
development
Create or work with charter audit tasks that check alignment between the project's Charter and its user stories — both top-down and bottom-up. [PAPI SDLC]
development
Create, understand, or work with the project charter. [PAPI SDLC]
development
Manage a task with many repeated steps, or a long running task with many steps, so that it is tracked and resumable over more than one session if needed.