Summary
src/core-skills/bmad-brainstorming/workflow.md instructs the LLM to load project_name from _bmad/core/config.yaml, but project_name is defined by the bmm module — it lives in _bmad/bmm/config.yaml. On a fresh install, the key simply isn't present where brainstorming looks for it.
Expected
bmad-brainstorming loads config values from the correct per-module location(s) so project_name resolves on a standard install.
Actual
src/core-skills/bmad-brainstorming/workflow.md lines 35–37:
Load config from `{project-root}/_bmad/core/config.yaml` and resolve:
- `project_name`, `output_folder`, `user_name`
- `communication_language`, `document_output_language`, `user_skill_level`
- `date` as system-generated current datetime
On a 6.3.0 install, _bmad/core/config.yaml contains only:
user_name
communication_language
document_output_language
output_folder
project_name lives in _bmad/bmm/config.yaml, which is consistent with src/bmm-skills/module.yaml defining project_name as a bmm module variable (prompt: "What is your project called?"). src/core-skills/module.yaml does not define project_name.
The installer itself already knows this. In tools/installer/core/installer.js (around lines 1414–1415), its own config resolver looks up project_name in bmm/config.yaml. Only bmad-brainstorming's SKILL doc points at the wrong file.
Blast radius
Swept src/core-skills/* for skills that reference project_name. Only bmad-brainstorming has this mismatch. All bmm skills that need project_name (e.g., bmad-product-brief, bmad-agent-dev) correctly load from bmm/config.yaml.
Relevant paths
- Skill doc (wrong config path):
src/core-skills/bmad-brainstorming/workflow.md:35
- Canonical home of
project_name: src/bmm-skills/module.yaml + _bmad/bmm/config.yaml on install
- Installer's own resolver (correct behavior reference):
tools/installer/core/installer.js lines ~1414–1415
Suggested fix
Change line 35 from {project-root}/_bmad/core/config.yaml to {project-root}/_bmad/bmm/config.yaml. A follow-up could split the load instruction so user_name/communication_language/output_folder come from core and project_name from bmm separately, since they genuinely live in different modules — but the one-line path fix is the immediate correctness fix.
PR incoming.
Summary
src/core-skills/bmad-brainstorming/workflow.mdinstructs the LLM to loadproject_namefrom_bmad/core/config.yaml, butproject_nameis defined by thebmmmodule — it lives in_bmad/bmm/config.yaml. On a fresh install, the key simply isn't present where brainstorming looks for it.Expected
bmad-brainstormingloads config values from the correct per-module location(s) soproject_nameresolves on a standard install.Actual
src/core-skills/bmad-brainstorming/workflow.mdlines 35–37:On a 6.3.0 install,
_bmad/core/config.yamlcontains only:project_namelives in_bmad/bmm/config.yaml, which is consistent withsrc/bmm-skills/module.yamldefiningproject_nameas a bmm module variable (prompt: "What is your project called?").src/core-skills/module.yamldoes not defineproject_name.The installer itself already knows this. In
tools/installer/core/installer.js(around lines 1414–1415), its own config resolver looks upproject_nameinbmm/config.yaml. Onlybmad-brainstorming's SKILL doc points at the wrong file.Blast radius
Swept
src/core-skills/*for skills that referenceproject_name. Onlybmad-brainstorminghas this mismatch. All bmm skills that needproject_name(e.g.,bmad-product-brief,bmad-agent-dev) correctly load frombmm/config.yaml.Relevant paths
src/core-skills/bmad-brainstorming/workflow.md:35project_name:src/bmm-skills/module.yaml+_bmad/bmm/config.yamlon installtools/installer/core/installer.jslines ~1414–1415Suggested fix
Change line 35 from
{project-root}/_bmad/core/config.yamlto{project-root}/_bmad/bmm/config.yaml. A follow-up could split the load instruction souser_name/communication_language/output_foldercome from core andproject_namefrom bmm separately, since they genuinely live in different modules — but the one-line path fix is the immediate correctness fix.PR incoming.