Files
BMAD-METHOD/docs/reference/core-tools.md
T
Brian aa6dece05d feat(bmad-spec): introduce Spec kernel distiller skill (#2417)
* feat(bmad-spec): add Spec kernel distiller skill

New 2-plan-workflows skill that distills any intent input (brain dump,
PRD, transcript, brief) into a spec.md carrying the five-field kernel:
Problem, Capabilities, Constraints, Non-goals, Success signal. Headless
callers receive JSON; interactive runs close conversationally with the
spec path and gap-coverage invitations.

Includes:
- SKILL.md with activation contract and conventions
- customize.toml exposing template path, output path, run-folder pattern
- assets/spec-template.md (five-field skeleton)
- assets/headless-schemas.md (JSON IO contracts)

* remove brain-dump fallback config from bmad-spec customize.toml

* refactor(bmad-spec): companions+sources model, routing tilt, flat output path

- Collapse `related:` into `companions:`; companion paths may point inside the spec folder (spec-authored) or outside it (adopted from an upstream skill), distinguished implicitly by path
- `sources:` reserved for fully-absorbed inputs; downstream does NOT read these
- Soften mutation contract: bmad-spec owns SPEC.md and spec-authored companions; adopted companions belong to their originating skill
- Add "when to spawn a companion" tilt: multi-item catalogs, tables, diagrams (always), editorial voice rules; sub-bullets in a kernel field signal it has outgrown the kernel
- Fix Spec Law rule 7 and Pass 2: load-bearing content lands in SPEC.md or a companion, not the decision log (the log records wrapper-drops only)
- Flatten output path to `{planning_artifacts}/specs/spec-{slug}-{date}/`, mirroring `prds/` and `ux-designs/`; drop `spec_folder_name` (no longer used)
- Extract Load-bearing definition into its own section above Spec Law

* chore(core): retire bmad-distillator, promote bmad-spec to core

- Delete bmad-distillator/ and all registry + doc references (superseded by bmad-spec; no skill or workflow in any BMad module invoked it)
- Add bmad-distillator to removals.txt so installer cleans it from existing IDE skill directories on update
- Move bmad-spec from bmm-skills/2-plan-workflows/ to core-skills/ (universal scope: game design, research hypotheses, editorial briefs, policy, business plans, not just software)
- Register bmad-spec in core module-help.csv and bmad-pro-skills marketplace plugin
- Drop bmad-distillator section from core-tools.md (en, vi-vn, cs, fr, zh-cn) and vi-vn dev guide; renumber subsequent sections

* refactor(bmad-spec): add lean-prose discipline + generalize help text

- Add Spec Law rule 8: lean prose. Every sentence carries load-bearing content; cut decoration, hedges, backstory, throat-clearing. Applies to SPEC.md, companions, and decision log.
- Update Self-Validate Pass 1 to enforce rules 1-6 and 8 (rule 7 stays in Pass 2)
- Prime the operation up-front: write lean from the first pass, every sentence must earn its place
- Note in Companions section that companions follow the same lean discipline
- Generalize core module-help.csv entry: domain-agnostic framing (software, game design, research, editorial, policy, business, anything intent-bearing); call out succinct, no-fluff and "locks the WHAT before the HOW" as the value props

* fix(bmad-spec): address PR review findings (CodeRabbit + Augment)

- headless-schemas.md: rewrite spec_path examples to point at the spec folder (not a file), rename source_artifact to sources[] array, add companions[] array, update verdict from "six rules" to "eight rules", disambiguate reason requirement (only when status=blocked)
- SKILL.md activation: fix config path from {project-root}/_bmad/config.yaml to {project-root}/_bmad/core/config.yaml (matches other BMM skills)
- customize.toml + SKILL.md Workspace: drop {date} from default run_folder_pattern (spec-{slug}); same slug = same folder = trivial in-place update, no glob-and-pick-most-recent needed. Override available for users who want dated history.
- spec-template.md: rename "## Success signals" (plural) to "## Success signal" (singular) to match SKILL.md kernel naming
- SKILL.md Frontmatter conventions: fix adopted-companion example path from _bmad-output/ux-designs/foo-ux/DESIGN.md to ../../ux-designs/ux-foo-bar-2026-05-23/DESIGN.md (matches actual flat-output convention)
- SKILL.md Spec Law: fix double-period typo in rule 2 ((stack, conventions)..)
- SKILL.md Overview: fix awkward "bloat with expansive line item details the kernel" phrasing; drop software-flavored downstream consumer list since bmad-spec is now a core skill serving any domain

* fix(bmad-spec): drop {planning_artifacts} dependency; output to {output_folder}/specs

bmad-spec is a core skill but its default path used {planning_artifacts}, a bmm-module variable. Core-only installs (no bmm) would fail at activation when the resolver tried to expand the path.

Land specs directly under {output_folder}/specs/spec-{slug}/ instead. Works in any install regardless of installed modules, and aligns with the long-term BMad direction of grouping artifacts as siblings under {output_folder}/<type>/ rather than nested under planning vs implementation parents.

In bmm installs, adopted-companion paths from spec to UX/PRD pick up one extra .. (e.g., ../planning-artifacts/ux-designs/<run>/DESIGN.md) since the spec folder is now one level up from planning-artifacts. Examples in SKILL.md and headless-schemas.md updated. module-help.csv output-location updated and stale -{date} fragment removed.

* docs(bmad-spec): add reference docs, trim headless schema, tighten defaults

- Add full bmad-spec entry to docs/reference/core-tools.md and table-row
  stubs to cs/fr/vi-vn/zh-cn (full translation pending).
- Strip headless-schemas.md to a minimal {status, files} success response
  and {status, error_code, reason} blocked response. Drop spec_path,
  capabilities, verdict, decision_log_path — all derivable from the files
  themselves.
- Narrow customize.toml persistent_facts default from recursive glob to
  single {project-root}/project-context.md; document override path.
- Drop unused {doc_workspace} convention line from SKILL.md.
- Clarify Self-Validate verdict handling for interactive vs headless.
- Document missing_slug error code in SKILL.md + headless schema.
2026-05-24 14:08:34 -05:00

14 KiB
Raw Blame History

title, description, sidebar
title description sidebar
Core Tools Reference for all built-in tasks and workflows available in every BMad installation without additional modules.
order
2

Every BMad installation includes a set of core skills that can be used in conjunction with any anything you are doing — standalone tasks and workflows that work across all projects, all modules, and all phases. These are always available regardless of which optional modules you install.

:::tip[Quick Path] Run any core tool by typing its skill name (e.g., bmad-help) in your IDE. No agent session required. :::

Overview

Tool Type Purpose
bmad-help Task Get context-aware guidance on what to do next
bmad-brainstorming Workflow Facilitate interactive brainstorming sessions
bmad-party-mode Workflow Orchestrate multi-agent group discussions
bmad-spec Workflow Distill any intent input into a SPEC kernel and companions, the canonical contract for downstream work
bmad-advanced-elicitation Task Push LLM output through iterative refinement methods
bmad-review-adversarial-general Task Cynical review that finds what's missing and what's wrong
bmad-review-edge-case-hunter Task Exhaustive branching-path analysis for unhandled edge cases
bmad-editorial-review-prose Task Clinical copy-editing for communication clarity
bmad-editorial-review-structure Task Structural editing — cuts, merges, and reorganization
bmad-shard-doc Task Split large markdown files into organized sections
bmad-index-docs Task Generate or update an index of all docs in a folder

bmad-help

Your intelligent guide to what comes next. — Inspects your project state, detects what's been done, and recommends the next required or optional step.

Use it when:

  • You finished a workflow and want to know what's next
  • You're new to BMad and need orientation
  • You're stuck and want context-aware advice
  • You installed new modules and want to see what's available

How it works:

  1. Scans your project for existing artifacts (PRD, architecture, stories, etc.)
  2. Detects which modules are installed and their available workflows
  3. Recommends next steps in priority order — required steps first, then optional
  4. Presents each recommendation with the skill command and a brief description

Input: Optional query in natural language (e.g., bmad-help I have a SaaS idea, where do I start?)

Output: Prioritized list of recommended next steps with skill commands

bmad-brainstorming

Generate diverse ideas through interactive creative techniques. — A facilitated brainstorming session that loads proven ideation methods from a technique library and guides you toward 100+ ideas before organizing.

Use it when:

  • You're starting a new project and need to explore the problem space
  • You're stuck generating ideas and need structured creativity
  • You want to use proven ideation frameworks (SCAMPER, reverse brainstorming, etc.)

How it works:

  1. Sets up a brainstorming session with your topic
  2. Loads creative techniques from a method library
  3. Guides you through technique after technique, generating ideas
  4. Applies anti-bias protocol — shifts creative domain every 10 ideas to prevent clustering
  5. Produces an append-only session document with all ideas organized by technique

Input: Brainstorming topic or problem statement, optional context file

Output: brainstorming-session-{date}.md with all generated ideas

:::note[Quantity Target] The magic happens in ideas 50100. The workflow encourages generating 100+ ideas before organization. :::

bmad-party-mode

Orchestrate multi-agent group discussions. — Loads all installed BMad agents and facilitates a natural conversation where each agent contributes from their unique expertise and personality.

Use it when:

  • You need multiple expert perspectives on a decision
  • You want agents to challenge each other's assumptions
  • You're exploring a complex topic that spans multiple domains

How it works:

  1. Loads the agent manifest with all installed agent personalities
  2. Analyzes your topic to select 23 most relevant agents
  3. Agents take turns contributing, with natural cross-talk and disagreements
  4. Rotates agent participation to ensure diverse perspectives over time
  5. Exit with goodbye, end party, or quit

Input: Discussion topic or question, along with specification of personas you would like to participate (optional)

Output: Real-time multi-agent conversation with maintained agent personalities

bmad-spec

Distill any intent input into the canonical SPEC contract for downstream work. Takes a brief, PRD, GDD, RFC, brain dump, transcript, UX folder, or mixed multi-source input and produces a SPEC.md carrying the five-field kernel (Why, Capabilities, Constraints, Non-goals, Success signal) plus companion files for load-bearing content that does not fit the kernel.

Use it when:

  • You need to lock the WHAT before the HOW for any kind of work (software, game design, research, editorial, policy, business).
  • You want a LLM Optimized succinct, no-fluff contract that downstream skills can consume without re-reading every upstream artifact.
  • You want to validate or update an existing spec.

How it works:

  1. Reads the input and any ancillary linked materials.
  2. Distills into the five-field kernel using a configurable template; routes overflow into appropriately-named companions.
  3. Runs a two-pass self-validate (coherence rules, then preservation of every load-bearing source claim).
  4. Writes SPEC.md, sibling companions, and a .decision-log.md under {output_folder}/specs/spec-{slug}/.

Spec Law enforces eight rules: capabilities carry both intent and success; intents are WHAT not HOW; constraints actually bend decisions; non-goals are explicit; success signals are concrete; capability IDs are stable; every load-bearing source claim is preserved; prose is lean.

Input:

  • input (required) — path or inline text. Vague idea, brain dump, PRD, GDD, RFC, brief, transcript, mockup folder, mixed multi-source.
  • slug (optional) — required only when input is sparse and no slug is derivable from a source filename.
  • target_spec_path (optional) — set to update an existing spec instead of creating a new one.

Output: Spec folder containing SPEC.md, any companion files, and a .decision-log.md. Headless callers receive a JSON response with the result status and the list of files written or modified.

:::note[Mutation contract] bmad-spec is the only writer of SPEC.md and of spec-authored companions. Other skills produce their own native artifacts and invoke bmad-spec headless when they need to express intent as the canonical contract or propose updates. :::

bmad-advanced-elicitation

Push LLM output through iterative refinement methods. — Selects from a library of elicitation techniques to systematically improve content through multiple passes.

Use it when:

  • LLM output feels shallow or generic
  • You want to explore a topic from multiple analytical angles
  • You're refining a critical document and want deeper thinking

How it works:

  1. Loads method registry with 5+ elicitation techniques
  2. Selects 5 best-fit methods based on content type and complexity
  3. Presents an interactive menu — pick a method, reshuffle, or list all
  4. Applies the selected method to enhance the content
  5. Re-presents options for iterative improvement until you select "Proceed"

Input: Content section to enhance

Output: Enhanced version of the content with improvements applied

bmad-review-adversarial-general

Cynical review that assumes problems exist and searches for them. — Takes a skeptical, jaded reviewer perspective with zero patience for sloppy work. Looks for what's missing, not just what's wrong.

Use it when:

  • You need quality assurance before finalizing a deliverable
  • You want to stress-test a spec, story, or document
  • You want to find gaps in coverage that optimistic reviews miss

How it works:

  1. Reads the content with a cynical, critical perspective
  2. Identifies issues across completeness, correctness, and quality
  3. Searches specifically for what's missing — not just what's present and wrong
  4. Must find a minimum of 10 issues or re-analyzes deeper

Input:

  • content (required) — Diff, spec, story, doc, or any artifact
  • also_consider (optional) — Additional areas to keep in mind

Output: Markdown list of 10+ findings with descriptions

bmad-review-edge-case-hunter

Walk every branching path and boundary condition, report only unhandled cases. — Pure path-tracing methodology that mechanically derives edge classes. Orthogonal to adversarial review — method-driven, not attitude-driven.

Use it when:

  • You want exhaustive edge case coverage for code or logic
  • You need a complement to adversarial review (different methodology, different findings)
  • You're reviewing a diff or function for boundary conditions

How it works:

  1. Enumerates all branching paths in the content
  2. Derives edge classes mechanically: missing else/default, unguarded inputs, off-by-one, arithmetic overflow, implicit type coercion, race conditions, timeout gaps
  3. Tests each path against existing guards
  4. Reports only unhandled paths — silently discards handled ones

Input:

  • content (required) — Diff, full file, or function
  • also_consider (optional) — Additional areas to keep in mind

Output: JSON array of findings, each with location, trigger_condition, guard_snippet, and potential_consequence

:::note[Complementary Reviews] Run both bmad-review-adversarial-general and bmad-review-edge-case-hunter together for orthogonal coverage. The adversarial review catches quality and completeness issues; the edge case hunter catches unhandled paths. :::

bmad-editorial-review-prose

Clinical copy-editing focused on communication clarity. — Reviews text for issues that impede comprehension. Applies Microsoft Writing Style Guide baseline. Preserves author voice.

Use it when:

  • You've drafted a document and want to polish the writing
  • You need to ensure clarity for a specific audience
  • You want communication fixes without style opinion changes

How it works:

  1. Reads the content, skipping code blocks and frontmatter
  2. Identifies communication issues (not style preferences)
  3. Deduplicates same issues across multiple locations
  4. Produces a three-column fix table

Input:

  • content (required) — Markdown, plain text, or XML
  • style_guide (optional) — Project-specific style guide
  • reader_type (optional) — humans (default) for clarity/flow, or llm for precision/consistency

Output: Three-column markdown table: Original Text | Revised Text | Changes

bmad-editorial-review-structure

Structural editing — proposes cuts, merges, moves, and condensing. — Reviews document organization and proposes substantive changes to improve clarity and flow before copy editing.

Use it when:

  • A document was produced from multiple subprocesses and needs structural coherence
  • You want to reduce document length while preserving comprehension
  • You need to identify scope violations or buried critical information

How it works:

  1. Analyzes document against 5 structure models (Tutorial, Reference, Explanation, Prompt, Strategic)
  2. Identifies redundancies, scope violations, and buried information
  3. Produces prioritized recommendations: CUT, MERGE, MOVE, CONDENSE, QUESTION, PRESERVE
  4. Estimates total reduction in words and percentage

Input:

  • content (required) — Document to review
  • purpose (optional) — Intended purpose (e.g., "quickstart tutorial")
  • target_audience (optional) — Who reads this
  • reader_type (optional) — humans or llm
  • length_target (optional) — Target reduction (e.g., "30% shorter")

Output: Document summary, prioritized recommendation list, and estimated reduction

bmad-shard-doc

Split large markdown files into organized section files. — Uses level-2 headers as split points to create a folder of self-contained section files with an index.

Use it when:

  • A markdown document has grown too large to manage effectively (500+ lines)
  • You want to break a monolithic doc into navigable sections
  • You need separate files for parallel editing or LLM context management

How it works:

  1. Validates the source file exists and is markdown
  2. Splits on level-2 (##) headers into numbered section files
  3. Creates an index.md with section manifest and links
  4. Prompts you to delete, archive, or keep the original

Input: Source markdown file path, optional destination folder

Output: Folder with index.md and 01-{section}.md, 02-{section}.md, etc.

bmad-index-docs

Generate or update an index of all documents in a folder. — Scans a directory, reads each file to understand its purpose, and produces an organized index.md with links and descriptions.

Use it when:

  • You need a lightweight index for quick LLM scanning of available docs
  • A documentation folder has grown and needs an organized table of contents
  • You want an auto-generated overview that stays current

How it works:

  1. Scans the target directory for all non-hidden files
  2. Reads each file to understand its actual purpose
  3. Groups files by type, purpose, or subdirectory
  4. Generates concise descriptions (310 words each)

Input: Target folder path

Output: index.md with organized file listings, relative links, and brief descriptions