Agent skill · software engineering · aj-geddes

bmad-handoff

Emits a dev-tool-agnostic handoff manifest from ready-for-dev stories so an external dev plugin or runner can pick up and execute the work. Use when the user says "generate a handoff", "create handoff manifest", "export stories for dev", "hand off to dev tool", "produce handoff manifest", "ready to hand off", "prepare handoff for external tool", "export ready-for-dev stories", or "create the handoff package". Also trigger when the user asks "what stories are ready for dev?" and wants an exportable artifact rather than a status report. Produces: handoff-manifest.json listing all ready-for-dev stories with id, story file path, status, owned file/module scope, wave/parallel_set, dependencies, acceptance-criteria summary, locked-sections note, and a schemaVersion field. See REFERENCE.md (bundled) for the full manifest schema and adapter notes for git-worktree parallel development and autonomous dependency-graph orchestrators.

Why this skill is useful

Generates a structured handoff manifest for development that includes specific story details and dependencies not commonly found in public documentation.

What it needs

Requires todowrite installed locally. About 5k tokens when loaded. Last updated 2026-06-20. 471 stars on the source repository.

What this skill does

BMAD Handoff Purpose: Scan the planning output folder for all stories at status ready-for-dev, compile them into a single handoff-manifest.json, and leave it where any downstream dev tool can read it — without coupling to any specific runner. This is the last artifact the planning plugin produces. What happens next is owned by the external dev tool, not by this skill. When to Run Run this skill after the story-writing phase is complete and you (or the user) have confirmed that at least one story carries status ready-for-dev. The manifest is a point-in-time snapshot; re-run the skill to refresh it. Workflow Use TodoWrite to track progress through these steps. 1. Locate the output folder Look for bmad-output/project-context.md (the default output folder) or ask the user for the output folder. Default: bmad-output/. 2. Discover story files Glob for /{epic}.{story}..story.md under the output folder. Accept alternative flat layouts (stories/.story.md) if the glob turns up nothing. 3. Filter to ready-for-dev Read the Status: header field of each story file (in the story header block, not a Status heading). Include only stories whose status value is exactly ready-for-dev. If none are found, report which statuses were seen and stop — do not produce an empty manifest. 4. Extract per-story fields For each qualifying story file, extract: Field Source in story file --- --- id Filename stem or ## Story heading ID storyFilePath Relative path from project root status Status: header field value epic First segment of filename, e.g. "2" in 2.1.stripe.story.md storyNumber Second segment, e.g. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aj-geddes/bmad-handoff

View the source on GitHub

Browse the @skills marketplace