Skills › BMAD Method › bmad-prd › customize.toml
customize.toml
148 lines · skills/bmad-prd/customize.toml at bd70c64
1# DO NOT EDIT -- overwritten on every update.
2#
3# Workflow customization surface for bmad-prd.
4#
5# Override files (not edited here):
6# {project-root}/_bmad/custom/bmad-prd.toml (team)
7# {project-root}/_bmad/custom/bmad-prd.user.toml (personal)
9[workflow]
11# --- Configurable below. Overrides merge per BMad structural rules: ---
12# scalars: override wins • arrays: append
14# Steps to run before the standard activation (config load, greet).
15# Use for pre-flight loads, compliance checks, etc.
16activation_steps_prepend = []
18# Steps to run after greet but before the workflow begins.
19# Use for context-heavy setup that should happen once the user has been acknowledged.
20activation_steps_append = []
22# Persistent facts the workflow keeps in mind for the whole run
23# (standards, compliance constraints, stylistic guardrails).
24# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
25# whose contents are loaded as facts.
26#
27# Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every
28# skill already sees; use this for context only this skill needs, loaded on demand rather than
29# carried as constant memory. Common opt-ins (set in team/user override TOML):
30# "file:{project-root}/**/project-context.md" # if you keep a project-context.md
31# "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
32# "Investor PRDs must include a market sizing section." # generic agent instruction
33persistent_facts = []
35# Executed when the workflow completes (after the user has been told the
36# PRD is ready). Accepts either a string scalar (single instruction)
37# or an array of instructions executed in order. Empty for none.
38on_complete = ""
40# Default PRD structure. Treated as a starting point — the LLM adapts it
41# to the product, project type, and domain. Override the path in team/user TOML
42# to enforce a different structure (e.g. regulated-industry, internal-tool, investor-input).
43prd_template = "assets/prd-template.md"
45# PRD quality rubric used at the Validate intent and at Finalize step 3.
46# A subagent walks the rubric against the PRD and writes a substantive review
47# organized by quality dimensions (decision-readiness, substance, strategic
48# coherence, etc.). Override the path in team/user TOML to enforce an
49# org-specific rubric (regulated-industry compliance, investor-pitch standards,
50# etc.). The filename "checklist" is retained for back-compat with override
51# files; the content is a judgment rubric, not a boolean checklist.
52validation_checklist_template = "assets/prd-validation-checklist.md"
54# HTML skeleton the synthesis pass fills directly when consolidating reviewer
55# outputs into a validation report. No substitution engine — the parent LLM
56# reads every {doc_workspace}/review-*.md, fills the skeleton's TEMPLATE_*
57# placeholders, and writes the result. Fully overridable to match org branding.
58# Uses inline CSS, no external dependencies, and native HTML <details> for
59# collapse — no JS.
60validation_report_template = "assets/validation-report-template.html"
62# Run folder location. The PRD (`{run_folder_pattern}.md`), optional addendum, memlog, and optional
63# validation report all land inside `{prd_output_path}/{run_folder_pattern}/`.
64# Resume-check scans `{prd_output_path}` for prior unfinished runs.
65prd_output_path = "{output_folder}/{active_initiative}"
66run_folder_pattern = "prd-{slug}"
68# Document standards applied to human-consumed docs at finalize. Each entry is
69# a `skill:`, `file:`, or plain-text directive; the parent LLM applies the
70# findings before the user sees the draft. Encodes standards, not options.
71#
72# Examples:
73# "skill:bmad-review lenses=structure,prose"
74# "file:{project-root}/_bmad/style-guides/company-voice.md"
75# "Convert all dates to ISO 8601 format."
76#
77# Suggested order (broader passes first, narrower last):
78# 1. Structural (cuts, reorganization, section sizing)
79# 2. Content/voice/conventions (org standards, tone, terminology, compliance)
80# 3. Prose mechanics (grammar, clarity, typos)
81#
82# Override the array in team/user TOML to add additional standards. Append-only:
83# base entries cannot be removed or replaced (resolver has no removal mechanism).
84# The default entry runs bmad-review's two editorial lenses in order:
85# structure, then prose on top of the structure findings. The `lenses=` suffix
86# names them; drop it to let bmad-review pick what fits the content.
87doc_standards = [
88 "skill:bmad-review lenses=structure,prose",
89]
91# External-source registry. Natural-language directives describing knowledge
92# bases, MCP tools, or internal systems the LLM may consult during the workflow
93# when a relevant need surfaces. The LLM does NOT query these preemptively —
94# it consults them on demand (during Discovery, validation, drafting, etc.).
95# Each entry names the tool, the conditions for using it, and any fields the
96# tool needs. If a named MCP tool is unavailable at runtime, the LLM falls
97# back to standard behavior and notes the gap. Empty by default.
98#
99# Lifecycle note: distinct from persistent_facts. persistent_facts are loaded
100# once at activation and kept in mind for the whole run; external_sources are
101# a registry consulted on demand and only when the conversation surfaces a
102# matching need.
103#
104# Examples (set in team/user override TOML):
105# "When researching internal product context, consult corp:kb_search (database='product-docs') before web search."
106# "For competitive landscape during Discovery, query corp:competitive_db with category={project_name}."
107# "When validating domain-compliance claims, cross-check against corp:hipaa_reference for healthcare or corp:pci_reference for fintech."
108external_sources = []
110# External-handoff routing. Natural-language directives the LLM applies at
111# Finalize to route outputs beyond local files (Confluence, Notion, Google
112# Drive, ticket systems, etc.). Each entry names the MCP tool, the destination,
113# and the fields the tool needs. Handoffs run after the artifact is polished
114# and before the final user-facing message. URLs or IDs returned by the
115# destination are captured and surfaced to the user. If a named tool is
116# unavailable at runtime, the handoff is skipped and flagged in the JSON
117# status; local files always exist regardless. Fires automatically — users
118# can opt out in their prompt for a specific run. Empty by default.
119#
120# Lifecycle note: distinct from persistent_facts and external_sources.
121# Fired once at Finalize step 6, never during Discovery or drafting.
122#
123# Examples (set in team/user override TOML):
124# "After finalize, upload the PRD and addendum.md to Confluence via corp:confluence_upload (space_key='PROD', parent_page='PRDs', label='prd')."
125# "Mirror the PRD to Notion via notion:create_page (database_id='abc123', title='PRD: '+{project_name})."
126# "When the PRD references a parent initiative, link via corp:jira_link on the epic key in frontmatter."
127external_handoffs = []
129# --- Finalize reviewers ---
130# Reviewers spawned at Finalize step 3 (and at the Validate intent) alongside
131# the structural checklist validator. The authoring skill assembles the gate
132# menu (validator + these reviewers + any ad-hoc reviewers it judges warranted
133# by the artifact content) and lets the user pick all, a subset, or skip. Gate
134# UX is stakes-calibrated: hobby/solo scope may run defaults quietly or skip;
135# higher stakes get the explicit menu.
136#
137# Entries follow the standard prefix convention (same as persistent_facts and
138# doc_standards):
139# "skill:NAME" invoke the named review skill as a subagent against the PRD
140# "file:PATH" load the file as a review prompt; spawn an adversarial
141# subagent applying that prompt to the PRD
142# plain text use the text directly as the subagent's review prompt
143#
144# Override TOML may append additional reviewers. Arrays append per BMad rules.
145#
146# Resolved on-demand by the authoring skill (not pulled at activation): only
147# when entering the Validate intent or assembling the gate at Finalize step 3.
148finalize_reviewers = []