Summary
During bmad-method install (BMAD core v6.7.1), manifest generation skips two internal WDS tool skills because frontmatter name does not match the parent directory name. The WDS module otherwise installs successfully (v0.4.2).
Error: SKILL.md name "wds-memory" does not match directory name "memory" — skipping
Error: SKILL.md name "wds-sync" does not match directory name "sync" — skipping
Environment
Root cause
BMAD installer enforces SKILL-05: name in SKILL.md frontmatter must exactly match the skill directory basename.
| Source path |
Directory |
name in frontmatter |
Installer result |
src/tools/memory/SKILL.md |
memory |
wds-memory |
skipped |
src/tools/sync/SKILL.md |
sync |
wds-sync |
skipped |
All workflow skills follow the convention correctly (e.g. src/workflows/wds-4-ux-design/ → name: wds-4-ux-design) and install to .claude/skills/.
Enforcement: bmad-method → tools/installer/core/manifest-generator.js (parseSkillMd).
Reproducible with BMAD validator:
node tools/validate-skills.js --json src/tools/memory # SKILL-05
node tools/validate-skills.js --json src/tools/sync # SKILL-05
Impact
- Not registered in BMAD skill manifest / help catalog generation for these two skills.
- Not copied to
.claude/skills/ by the BMAD installer (unlike the 13 wds-* workflow + agent skills).
- WDS runtime still partially works via file-path fallbacks:
shared-activation.md falls back to _bmad/wds/tools/sync/SKILL.md on first activation.
wds-sync copies tools/memory/SKILL.md → ~/.claude/wds/tools/memory/SKILL.md by path, not skill id.
- On a fresh machine with no prior
wds-sync run, ~/.claude/wds/ may not exist until an agent activates and runs sync — session memory (wrap, start, handoff) depends on that copy.
Suggested fix
Preferred: Rename source directories to match frontmatter (consistent with workflows):
src/tools/memory/ → src/tools/wds-memory/
src/tools/sync/ → src/tools/wds-sync/
Then update path references:
src/tools/sync/SKILL.md copy table ({WDS_SRC}/tools/memory/...)
src/data/shared-activation.md fallback (_bmad/wds/tools/sync/SKILL.md → .../wds-sync/...)
- Any other references to
tools/memory or tools/sync under src/
Optional: Keep global sync destination as ~/.claude/wds/tools/memory/ (short path) even if source dir is wds-memory — the sync skill already maps source → dest explicitly.
Additional finding (separate or same PR)
src/agents/wds-agent-mimir-builder/SKILL.md activation step references _wds/tools/memory/SKILL.md — stale path after BMAD standardization to _bmad/wds/. Saga/Freya use shared-activation.md with correct _bmad/wds paths; Mimir is the only agent with _wds/.
Read `_wds/tools/memory/SKILL.md` ...
Should be _bmad/wds/tools/... (or updated path if directories are renamed).
Related
Acceptance criteria
Summary
During
bmad-method install(BMAD core v6.7.1), manifest generation skips two internal WDS tool skills because frontmatternamedoes not match the parent directory name. The WDS module otherwise installs successfully (v0.4.2).Environment
bmad-methodinstaller)02dd2ff)_bmad/wds/(e.g.axonify-bmad)Root cause
BMAD installer enforces SKILL-05:
nameinSKILL.mdfrontmatter must exactly match the skill directory basename.namein frontmattersrc/tools/memory/SKILL.mdmemorywds-memorysrc/tools/sync/SKILL.mdsyncwds-syncAll workflow skills follow the convention correctly (e.g.
src/workflows/wds-4-ux-design/→name: wds-4-ux-design) and install to.claude/skills/.Enforcement:
bmad-method→tools/installer/core/manifest-generator.js(parseSkillMd).Reproducible with BMAD validator:
Impact
.claude/skills/by the BMAD installer (unlike the 13wds-*workflow + agent skills).shared-activation.mdfalls back to_bmad/wds/tools/sync/SKILL.mdon first activation.wds-synccopiestools/memory/SKILL.md→~/.claude/wds/tools/memory/SKILL.mdby path, not skill id.wds-syncrun,~/.claude/wds/may not exist until an agent activates and runs sync — session memory (wrap,start,handoff) depends on that copy.Suggested fix
Preferred: Rename source directories to match frontmatter (consistent with workflows):
src/tools/memory/→src/tools/wds-memory/src/tools/sync/→src/tools/wds-sync/Then update path references:
src/tools/sync/SKILL.mdcopy table ({WDS_SRC}/tools/memory/...)src/data/shared-activation.mdfallback (_bmad/wds/tools/sync/SKILL.md→.../wds-sync/...)tools/memoryortools/syncundersrc/Optional: Keep global sync destination as
~/.claude/wds/tools/memory/(short path) even if source dir iswds-memory— the sync skill already maps source → dest explicitly.Additional finding (separate or same PR)
src/agents/wds-agent-mimir-builder/SKILL.mdactivation step references_wds/tools/memory/SKILL.md— stale path after BMAD standardization to_bmad/wds/. Saga/Freya useshared-activation.mdwith correct_bmad/wdspaths; Mimir is the only agent with_wds/.Should be
_bmad/wds/tools/...(or updated path if directories are renamed).Related
bmad-modules.yaml→bmad-method-wds-expansion/npmPackage: bmad-wdsbmad-wds-*vswds-*naming in help/installer) — may overlap installer expectations but distinct from this SKILL-05 skip.Acceptance criteria
bmad-method installwith WDS produces no SKILL name/directory mismatch errors for memory/sync toolswrap/start/handoff) work on a clean machine after install only_bmad/wds/...path