Skills › BMAD Method › bmad-product-brief › customize.toml
customize.toml
100 lines · skills/bmad-product-brief/customize.toml at bd70c64
1# DO NOT EDIT -- overwritten on every update.
2#
3# Workflow customization surface for bmad-product-brief.
4#
5# Override files (not edited here):
6# {project-root}/_bmad/custom/bmad-product-brief.toml (team)
7# {project-root}/_bmad/custom/bmad-product-brief.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# "Elvis has left the building" # generic agent instruction
33persistent_facts = []
35# Executed when the workflow completes (after the user has been told the
36# brief 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 brief structure. Treated as a starting point — the LLM adapts it
41# to the product, purpose, and domain. Override the path in team/user TOML
42# to enforce a different structure (e.g. regulated-industry, investor-deck).
43brief_template = "assets/brief-template.md"
45# Run folder location. The brief (`{run_folder_pattern}.md`) and optional addendum land inside
46# `{brief_output_path}/{run_folder_pattern}/`. Resume-check scans `{brief_output_path}` for prior unfinished runs.
47brief_output_path = "{output_folder}/{active_initiative}"
48run_folder_pattern = "brief-{slug}"
50# Document standards applied to human-consumed docs at finalize. Each entry is
51# a `skill:`, `file:`, or plain-text directive; the parent LLM applies the
52# findings before the user sees the draft. Encodes standards, not options.
53#
54# Examples:
55# "skill:bmad-review lenses=structure,prose"
56# "file:{project-root}/_bmad/style-guides/company-voice.md"
57# "Convert all dates to ISO 8601 format."
58#
59# Suggested order (broader passes first, narrower last):
60# 1. Structural (cuts, reorganization, section sizing)
61# 2. Content/voice/conventions (org standards, tone, terminology, compliance)
62# 3. Prose mechanics (grammar, clarity, typos)
63#
64# Override the array in team/user TOML to add additional standards. Append-only:
65# base entries cannot be removed or replaced (resolver has no removal mechanism).
66# The default entry runs bmad-review's two editorial lenses in order:
67# structure, then prose on top of the structure findings. The `lenses=` suffix
68# names them; drop it to let bmad-review pick what fits the content.
69doc_standards = [
70 "skill:bmad-review lenses=structure,prose",
71]
73# External-source registry. Natural-language directives describing knowledge
74# bases, MCP tools, or internal systems the LLM may consult during the workflow
75# when a relevant need surfaces. The LLM does NOT query these preemptively —
76# it consults them on demand (during Discovery, validation, drafting, etc.).
77# Each entry names the tool, the conditions for using it, and any fields the
78# tool needs. If a named MCP tool is unavailable at runtime, the LLM falls
79# back to standard behavior and notes the gap. Empty by default.
80#
81# Examples (set in team/user override TOML):
82# "When researching internal product context, consult corp:kb_search (database='product-docs') before web search."
83# "For voice-of-customer signal during Discovery, query corp:feedback_search with project={project_name}."
84# "When validating domain-compliance claims for a healthcare brief, cross-check against corp:hipaa_reference."
85external_sources = []
87# External-handoff routing. Natural-language directives the LLM applies at
88# Finalize to route outputs beyond local files (Confluence, Notion, Google
89# Drive, ticket systems, etc.). Each entry names the MCP tool, the destination,
90# and the fields the tool needs. Handoffs run after the artifact is polished
91# and before the final user-facing message. URLs or IDs returned by the
92# destination are captured and surfaced to the user. If a named tool is
93# unavailable at runtime, the handoff is skipped and flagged in the JSON
94# status; local files always exist regardless. Fires automatically — users
95# can opt out in their prompt for a specific run. Empty by default.
96#
97# Examples (set in team/user override TOML):
98# "After finalize, upload the brief and addendum.md to Confluence via corp:confluence_upload (space_key='PROD', parent_page='Product Briefs', label='brief')."
99# "Post a ready-for-review ping to Slack via corp:slack_post (channel='#product', text='New brief: '+{confluence_url})."
100external_handoffs = []