User story capture
Skill richfrem/agent-plugins-skills/plugins/exploration-cycle-plugin/skills/user-story-capture
Derives, groups, and refines user stories from exploration work, prototype behavior, and business context, with prioritization for the first implementation slice. Supports standard "As a / I want / So that" format and Gherkin "Given / When / Then" Acceptance Criteria format. Trigger with "generate user stories", "write acceptance criteria", "create Gherkin scenarios", "derive stories from requirements", or "create a backlog".From its SKILL.md
npx -y skills add richfrem/agent-plugins-skills --skill user-story-captureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.5 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
User Story Capture
Derive structured user stories and acceptance criteria from exploration session captures.
Usage
python ./scripts/execute.py \
--input <file> [<file2>...] \
--format <standard|gherkin> \
--output <output_file.md>
Formats:
standard(default):As a [user type], I want [goal], so that [benefit]— with priority table and gaps.gherkin: Standard +Given / When / ThenAcceptance Criteria blocks per story.
Flags:
--input PATH [PATH ...]: Session brief, BRD draft, prototype notes, or prior captures--output PATH: Destination file (default:exploration/captures/user-stories-draft.md)--format FORMAT: Output format (default:standard)
Interactive Co-Authoring Workflow
When invoked interactively, follow this 3-stage pattern. Do not dump a full story list at once.
Stage 1: Context Gathering
Ask all three questions in a single message before generating anything:
- Input files: Which source documents should I work from? (Check
exploration/— list what you find: session brief, BRD draft, prototype notes.) If no files exist, stop and ask for input before proceeding. - Primary actor: Which user role, system actor, or job-to-be-done is the highest priority for the first implementation slice? (Use role-neutral language — e.g., "the person approving requests", "the agent running evals", not just "the user".)
- Out-of-scope: Are there any actors or workflows we should explicitly exclude from this story set?
- Format: Should acceptance criteria use standard format (
As a / I want / So that) or Gherkin (Given / When / Then)? Default to standard unless Gherkin is requested.
After the user responds: read each input file they identify.
Stage 2: Iterative Refinement
Build the backlog in layers — do not jump straight to full Gherkin blocks.
-
Outline first: Based on the input files and primary actor, present a numbered list of lightweight story titles (one line each, no ACs yet). Ask: "Which of these should we keep, cut, or merge for the first slice?"
-
Curate: Apply changes. Mark any story derived from unclear or inferred source material as
[UNCONFIRMED]. -
Draft approved stories: For each kept story, write the full format:
- Standard:
As a [actor], I want [goal], so that [benefit]. - Gherkin: Add
Given / When / ThenAC blocks after the story statement.
Gherkin format rules:
Given= precondition or system state before the action (what is already true)When= the single action or event the actor performsThen= the observable, testable outcome (what changes or appears)- One
Whenper scenario. UseAndfor additionalGivenorThenclauses.
Present each story and ask: "Accurate? Anything to add or change?" Apply edits before the next story.
- Standard:
Stage 3: Reader Testing (Test-Driven ACs)
After all approved stories are drafted:
- For each priority story (top 3 if there are many), predict exactly 2 edge cases or failure modes that a QA engineer would test but that the current ACs do not cover. An edge case must be specific and testable — not generic ("what if it fails?") but concrete ("what if the file is missing at sync time?").
- Present the gaps: "Story [N] doesn't handle: [edge case 1], [edge case 2]. Should we add scenarios for these?"
- If yes: add
Given / When / Thenblocks for the confirmed edge cases. Mark inferred edge cases[UNCONFIRMED]until the user confirms they are real scenarios. - Collect all unresolved questions in a
## Story Gapssection at the end.
Anti-Hallucination Rules
- Do NOT invent user types, goals, or benefits not described in source captures.
- Do NOT fabricate edge cases in Gherkin AC without evidence from input files or explicit user confirmation.
- Mark inferred stories and scenarios
[UNCONFIRMED]— only promote to[CONFIRMED]after human sign-off. - Do NOT proceed without input files — stories generated from nothing are pure hallucination.
- Source citations required: each story must note which input file it derives from (e.g.,
(source: brd-draft.md, Functional Requirements)). Stories with no traceable source must be marked[UNCONFIRMED — inferred, not in source]. ## Story Gapssection is mandatory — list every open decision or missing actor definition exactly once.
What ships with it: 6 files
1.2 KB alongside SKILL.md, 1 of them executable
evals/
- evals.json863 B
- results.tsv60 B
references/
scripts/
- execute.pyruns46 B