bmad-spec

Distills intent inputs into a five-field SPEC.md kernel with companion files and append-only memlog.

Updated Sep 3, 2026
One-click install
npx skills add https://github.com/watchthelight/shatterfish --skill bmad-spec-watchthelight
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bmad-spec
Source: https://github.com/watchthelight/shatterfish/tree/main/.claude/skills/bmad-spec
Command: npx skills add https://github.com/watchthelight/shatterfish --skill bmad-spec-watchthelight

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve? Turning vague ideas, brain dumps, PRDs, transcripts, or mixed multi-source material into a single canonical specification is error-prone: decisions get lost, capability IDs drift, and downstream planning steps consume inconsistent documents. This Skill produces a preservation-validated machine contract (SPEC.md plus companions) that every downstream workflow reads from one place. ## Core Features & Use Cases - Spec distillation: Converts any intent input into the five-field kernel (Why, Capabilities, Constraints, Non-goals, Success signal) using a configurable template, with stable CAP-N capability IDs preserved across updates. - Memlog-driven derivation: Records every decision in an append-only .memlog.md and re-derives SPEC.md from it, so multiple skills can update the same spec without merge drift. - Validation and story breakdown: Runs two-pass self-validation (coherence and preservation) against eight Spec Law rules, and optionally breaks capabilities into a stories.yaml file with human-set checkpoints. - Use Case: Paste a customer email thread and a meeting transcript, and receive a spec folder containing SPEC.md, a glossary companion, and a memlog with open questions flagged for human decision. ## Quick Start Ask the assistant to distill the attached product brief into a spec using the bmad-spec skill and return the spec folder path.

Frequently Asked Questions about bmad-spec

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I turn a PRD or brain dump into a formal specification?

Provide the document or pasted content as input and the skill distills it into a SPEC.md kernel with Why, Capabilities, Constraints, Non-goals, and Success signal fields. Structured inputs are lifted directly; mixed inputs are sorted claim by claim.

What is the difference between SPEC.md and companion files?

SPEC.md holds the five-field kernel in lean prose, while companions hold load-bearing content that does not fit the kernel, such as glossaries, entity catalogs, and diagrams. Companions are listed in the SPEC.md frontmatter so downstream consumers read the full contract.

Can multiple runs update the same spec without losing capability IDs?

Yes. The same slug resolves to the same spec folder, and updates append to the append-only .memlog.md before re-deriving SPEC.md. Existing CAP-N identifiers are preserved, new capabilities get the next unused number, and retired IDs are never reused.

What happens when the input is too vague to distill?

Sparse input triggers either an express mode that logs gaps as open_questions entries or a guided walkthrough of the five fields. If the input is genuinely too thin, the skill stops and suggests running a PRD-style elicitation skill first.

Does the skill support headless or programmatic invocation?

Yes. When invoked without a TTY or by another skill, it runs headless and returns a JSON object with status and the list of files written, or a blocked status with an error_code such as insufficient_intent or missing_slug.

When should I not edit SPEC.md directly?

SPEC.md is derived from the memlog and is never hand-edited; manual edits are overwritten on the next derive. All changes go through the skill, which appends decisions to .memlog.md and re-renders the artifact.