# DO NOT EDIT -- overwritten on every update. # # Workflow customization surface for gds-prd. # # Override files (not edited here): # {project-root}/_bmad/custom/gds-prd.toml (team) # {project-root}/_bmad/custom/gds-prd.user.toml (personal) [workflow] # --- Configurable below. Overrides merge per BMad structural rules: --- # scalars: override wins • arrays: append # Steps to run before the standard activation (config load, greet). # Use for pre-flight loads, compliance checks, etc. activation_steps_prepend = [] # Steps to run after greet but before the workflow begins. # Use for context-heavy setup that should happen once the user has been acknowledged. activation_steps_append = [] # Persistent facts the workflow keeps in mind for the whole run # (standards, compliance constraints, stylistic guardrails). # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed # path/glob whose contents are loaded as facts. # # Default loads project-context.md if gds-generate-project-context has produced one — this gives # the facilitator persistent awareness of the project's tech, domain, and constraints without # re-asking. Common opt-ins (set in team/user override TOML): # "skill:acme-studio:terms-and-conditions" # a skill that contains relevant info # "Every PRD requirement must be testable and traceable to a GDD pillar." # generic agent instruction persistent_facts = [ "file:{project-root}/**/project-context.md", ] # Executed when the workflow completes (after the user has been told the # PRD is ready). Accepts either a string scalar (single instruction) # or an array of instructions executed in order. Empty for none. on_complete = "" # Default PRD structure. Treated as a starting point — the LLM adapts it # to the product, project type, and domain. Override the path in team/user TOML # to enforce a different structure (e.g. regulated-industry, internal-tool). prd_template = "assets/prd-template.md" # Validation checklist used at the Validate intent and at Finalize step 3. # A subagent walks the checklist against prd.md and returns structured findings. # Override the path in team/user TOML to enforce a studio-specific checklist. validation_checklist = "assets/prd-validation-checklist.md" # HTML skeleton the synthesis pass fills directly when consolidating reviewer # outputs into a validation report. No substitution engine — the parent LLM # writes the final HTML. Fully overridable to match studio branding. # Uses inline CSS, no external dependencies, and native HTML
for # collapse — no JS. validation_report_template = "assets/validation-report-template.html" # Run folder location. The PRD, optional addendum, decision log, and optional # validation report all land inside `{output_dir}/{output_folder_name}/`. output_dir = "{planning_artifacts}/prds" output_folder_name = "prd-{project_name}-{date}" # Document standards applied to human-consumed docs at Finalize. Each entry is # a `skill:`, `file:`, or plain-text directive; the parent LLM applies the # findings before the user sees the draft. Empty by default — Game Dev Studio # ships no editorial-review skills. Add your own in team/user override TOML: # "skill:my-studio:editorial-review-prose" # "file:{project-root}/_bmad/style-guides/studio-voice.md" # "Convert all dates to ISO 8601 format." doc_standards = [] # External-source registry. Natural-language directives describing knowledge # bases, MCP tools, or internal systems the LLM may consult during the workflow # when a relevant need surfaces. The LLM does NOT query these preemptively — # it consults them on demand. If a named MCP tool is unavailable at runtime, # the LLM falls back to standard behavior and notes the gap. Empty by default. external_sources = [] # External-handoff routing. Natural-language directives the LLM applies at # Finalize to route outputs beyond local files (Confluence, Notion, Google # Drive, ticket systems, etc.). Handoffs run after the artifact is polished # and before the final user-facing message. URLs or IDs returned by the # destination are captured and surfaced to the user. Empty by default. external_handoffs = []