| name | story-execution |
| description | Facilitate the execution and review of a single user story through implementation, testing, and acceptance. Invoke when a developer or team is ready to begin work on a specific backlog story that has a code-producing component. |
Adapted from bmad-method:bmad-dev-story (MIT, © 2025 BMad Code, LLC). See THIRD_PARTY_NOTICES.md.
When to use
Use this skill when a team member is beginning active work on a single user story that involves software implementation. Typical triggers include:
- A story has been selected from the Sprint Backlog and assigned to a developer or pair.
- The team's project has a code-producing component (application, script, integration, data pipeline, etc.).
- The developer needs a structured record of implementation decisions, tests, and review notes tied to the story's acceptance criteria.
This skill is optional for v1 installs. Teams whose semester project produces no code — a pure planning or research project — should skip this skill. The skill acknowledges that PM-only teams can omit story-level technical execution from their artifact set without losing any other phase-3 capability.
Do not invoke for sprint planning, standup preparation, or sprint review; those are separate skills with distinct purposes.
Summon the SME
Before facilitating, load the user-story reference to ground execution in established practice.
Reading the config. Check .pm-kit.config.json for the sourcesMode field:
- If
sourcesMode is "online" (opt-in): fetch the URL stored at the key sources.storyExecution in vendor/pm-kit/sources-index.json using your available web-fetch capability. Do not name a specific tool — use whatever your runtime provides. Ground the facilitation in what you read. Do not fabricate quotations or page numbers.
- If
sourcesMode is "offline" or the field is absent (the default): rely on your general knowledge of user stories as described by Mike Cohn and the agile community — covering the "As a / I want / So that" format, acceptance criteria, and the definition of done. Cite the canonical URL from vendor/pm-kit/sources-index.json at key sources.storyExecution in the output. Do not fabricate quotations or page numbers.
In both cases, the URL to cite is https://en.wikipedia.org/wiki/User_story.
Facilitation script
Walk the user through these steps in sequence. Do not skip steps or combine them.
Step 1 — Story summary. Ask the user to state the story ID, title, the user-story sentence ("As a … I want … so that …"), and the full list of acceptance criteria. Confirm all acceptance criteria are measurable and agreed upon before proceeding.
Step 2 — Implementation plan. Guide the developer in breaking the story into discrete technical steps. Each step should be completable in a single working session or less. Ask: "What are the technical sub-tasks needed to satisfy each acceptance criterion?"
Step 3 — Tests. Ask the developer to state what tests will verify the acceptance criteria. Record the test names or descriptions. Confirm at least one test exists per acceptance criterion.
Step 4 — Implementation execution. The developer performs the implementation work outside this skill. When implementation is complete, ask: "Is each acceptance criterion satisfied? Are all listed tests passing?"
Step 5 — Review notes. Capture the outcomes of the code or PM review: who reviewed, what was flagged, what was resolved, and what (if anything) was deferred.
Step 6 — Definition of Done verification. Walk through the team's Definition of Done item by item. Confirm each item is met. Record the outcome as a checklist in the artifact.
Step 7 — Lessons learned. Ask the developer for one or two short observations from this story: what went well, what would they do differently, or what process insight emerged.
Step 8 — Produce the artifact. Assemble the completed story execution record using the structure in TEMPLATE.md (sibling file). Fill every section. Leave no placeholder unfilled.
Step 9 — Save the artifact. Save the filled artifact to docs/pm-kit/outputs/story-execution/<short-slug>.md. <short-slug> is a kebab-case ASCII slug (max 40 chars) derived from the story ID and title (e.g., us-42-user-login). Confirm the final path with the user before writing. If the file exists, ask: overwrite, append a date suffix (e.g., -2026-04-20), or pick a new slug. The artifact begins with the three-line provenance header below (HTML comments, do not render):
<!-- Generated by agentic-pm-kit:story-execution on YYYY-MM-DD -->
<!-- Languages: communication=<value>, output=<value> -->
<!-- Source mode: offline | online -->
Languages
The kit separates the language used for live agent–user dialogue from the language used in the saved artifact. Both values live in .pm-kit.config.json and are free-form strings — read each value verbatim, never infer a language from the conversation, and never select from a hardcoded list.
Facilitation dialogue. Speak to the user during facilitation in the language at language.communication. Use the string verbatim.
Filled artifact (saved TEMPLATE.md output). Produce the written artifact in the language at language.output. If language.output is absent or empty, fall back to language.communication.
Example values either field might contain: "en-US", "es-MX", "Português brasileiro", "Mandarin Chinese". Accept any string as given.
Acceptance gate
When the story execution record is complete, point the user to CHECKLIST.md (sibling file) and ask them to verify each item. Remind them that the output must be marked PASS or FAIL. On FAIL, invite the user to return with specific notes so the facilitation can be resumed or corrected.