BMAD-METHOD/tools/installer/core
Brian Madison 30ba701c02 refactor(skills): lean agent personas + hardcode identity and invariants
Agent identity (name, title) and the Overview prose are now baked into
each SKILL.md rather than resolved from customize.yaml. This anchors
skill-discovery (description keywords still match), protects brand
identity (Mary is Mary), and leaves the customize.yaml surface for
behavior changes only.

customize.yaml slimming:
- Dropped metadata.title (hardcoded in SKILL.md heading + Overview)
- Dropped metadata.capabilities (dead field; nothing downstream read it)
- Luminary-anchored identity strings (Porter+Minto, Evans+Tufte,
  Cagan+Torres+Bezos, Norman+Cooper, Fowler+Vogels, Beck+Pragmatic
  Programmer) — higher signal density, ~55% token savings per persona
- Preserved distinctive communication_style voice beats per agent
- Principles trimmed to 3-4 cite-worthy heuristics each

SKILL.md changes (all 6 agents):
- New top-of-body heading: `# Name — Title`
- New `## Overview` section with hardcoded capability prose
- Step 2 (Adopt Persona) rewritten to layer customized persona on top
  of the Overview-established identity
- bmad-agent-dev gains an `## Operating Rules` section containing its
  8 non-negotiable behavioral invariants (moved from customize.yaml
  critical_actions, since they're brand-protected invariants, not
  team-customizable startup steps)

customize.yaml now defines per-agent:
- icon (cosmetic)
- persona.{role, identity, communication_style, principles} (customizable)
- critical_actions (empty by default, extensibility hook for teams)
- memories (empty by default, extensibility hook for teams)
- menu (default items, mergeable by code)

manifest-generator.js: dropped `capabilities` column from
agent-manifest.csv header, write, and read paths (field was write-only
noise — no consumer ever read it back).

Docs: customize-bmad.md now notes agent names are fixed by design so
skills can be reliably invoked by role or default name.
2026-04-18 22:53:57 -05:00
..
config.js refactor(installer): restructure installer with clean separation of concerns (#2129) 2026-03-27 06:50:07 -06:00
existing-install.js fix(installer): replace fs-extra with native node:fs to prevent file loss 2026-04-13 00:44:28 -05:00
install-paths.js feat(installer): provision _bmad/scripts/ and _bmad/custom/ on install 2026-04-18 13:44:50 -05:00
installer.js feat(skills): workflow customization pilot + resolver and installer fixes 2026-04-18 22:04:58 -05:00
manifest-generator.js refactor(skills): lean agent personas + hardcode identity and invariants 2026-04-18 22:53:57 -05:00
manifest.js fix(installer): replace fs-extra with native node:fs to prevent file loss 2026-04-13 00:44:28 -05:00