Summary
src/core-skills/bmad-help/SKILL.md documents a CSV schema for _bmad/_config/bmad-help.csv that does not match the schema actually written by the installer. Every Claude Code session that loads the bmad-help skill receives instructions to look up column names that do not exist in the CSV.
Expected
The ## CSV Interpretation section of src/core-skills/bmad-help/SKILL.md documents the format as:
module,skill,display-name,menu-code,description,action,args,phase,after,before,required,output-location,outputs
Actual
The installer writes the header at tools/installer/core/installer.js:885:
module,phase,name,code,sequence,workflow-file,command,required,agent-name,agent-command,agent-display-name,agent-title,options,description,output-location,outputs
The generated _bmad/_config/bmad-help.csv on a fresh 6.3.0 install confirms this — first line is the installer's header, not the SKILL.md header.
Concrete drift
Columns documented in SKILL.md that do not exist in the real CSV:
skill, display-name, menu-code, action, args, after, before
Columns in the real CSV that SKILL.md does not mention:
name, code, sequence, workflow-file, command, agent-name, agent-command, agent-display-name, agent-title, options
Downstream effects documented in SKILL.md that reference non-existent fields:
- "Rows with
_meta in the skill column" — there is no skill column; _meta actually appears in the phase column.
- "
after — skills that should ideally complete before this one" / "before — skills that should run after this one" — neither column exists.
- Response format says
[menu-code] and Skill name in backticks — the columns are code and name.
Relevant paths
- Doc (wrong schema):
src/core-skills/bmad-help/SKILL.md — ## CSV Interpretation section
- Generator (correct schema):
tools/installer/core/installer.js:885 (mergeModuleHelpCatalogs, headerRow)
- Generated artifact on install:
{project-root}/_bmad/_config/bmad-help.csv
Impact
The bmad-help skill instructs the LLM to navigate the catalog using column names that aren't there. It appears to limp along via fuzzy matching over row content, but the skill's routing logic (phase gating, required detection, _meta rows, after/before dependencies) is operating on a mental model that doesn't match the data. Other skills that reference the catalog will have the same problem.
Suggested fix
Update src/core-skills/bmad-help/SKILL.md to reflect the real installer-written schema. Re-audit downstream instructions in that file (and any other skill docs that reference catalog columns) for column names that need to change.
Environment
- BMAD version: 6.3.0 (installed 2026-04-13)
- Verified against canonical repo: local
SKILL.md matches upstream (whitespace-only diff)
Summary
src/core-skills/bmad-help/SKILL.mddocuments a CSV schema for_bmad/_config/bmad-help.csvthat does not match the schema actually written by the installer. Every Claude Code session that loads thebmad-helpskill receives instructions to look up column names that do not exist in the CSV.Expected
The
## CSV Interpretationsection ofsrc/core-skills/bmad-help/SKILL.mddocuments the format as:Actual
The installer writes the header at
tools/installer/core/installer.js:885:The generated
_bmad/_config/bmad-help.csvon a fresh 6.3.0 install confirms this — first line is the installer's header, not the SKILL.md header.Concrete drift
Columns documented in SKILL.md that do not exist in the real CSV:
skill,display-name,menu-code,action,args,after,beforeColumns in the real CSV that SKILL.md does not mention:
name,code,sequence,workflow-file,command,agent-name,agent-command,agent-display-name,agent-title,optionsDownstream effects documented in SKILL.md that reference non-existent fields:
_metain theskillcolumn" — there is noskillcolumn;_metaactually appears in thephasecolumn.after— skills that should ideally complete before this one" / "before— skills that should run after this one" — neither column exists.[menu-code]andSkill name in backticks— the columns arecodeandname.Relevant paths
src/core-skills/bmad-help/SKILL.md—## CSV Interpretationsectiontools/installer/core/installer.js:885(mergeModuleHelpCatalogs,headerRow){project-root}/_bmad/_config/bmad-help.csvImpact
The
bmad-helpskill instructs the LLM to navigate the catalog using column names that aren't there. It appears to limp along via fuzzy matching over row content, but the skill's routing logic (phase gating,requireddetection,_metarows, after/before dependencies) is operating on a mental model that doesn't match the data. Other skills that reference the catalog will have the same problem.Suggested fix
Update
src/core-skills/bmad-help/SKILL.mdto reflect the real installer-written schema. Re-audit downstream instructions in that file (and any other skill docs that reference catalog columns) for column names that need to change.Environment
SKILL.mdmatches upstream (whitespace-only diff)