The resolver script needs a YAML parser but Node has no native YAML
support. Rather than requiring every downstream project to add `yaml`
as a dependency or teaching the installer to copy individual npm
packages, we vendor yaml@2.8.2 (zero transitive deps, ~800KB) into
src/scripts/vendor/yaml/ and import it via relative path.
- `_installSharedScripts` is now a dumb recursive copy of src/scripts/
into _bmad/scripts/ — no per-dependency logic.
- Future shared scripts can drop additional vendored modules into
src/scripts/vendor/<name>/ and require('./vendor/<name>') from
their source file.
- Lint/format ignore src/scripts/vendor/** so vendored code isn't
subject to project style rules.
Shorter, cleaner path for user override files. Updates:
- resolver script path lookup + docstring
- all 6 agent SKILL.md fallback paths
- how-to doc examples
- .gitignore (also corrects stale .toml to .yaml)
- validator INSTALL_ONLY_PATHS entry
Extends ESLint CLI-script overrides to cover src/scripts/** and drops an
unused helper from the resolver to satisfy the pre-commit lint gate.
- Replace per-skill TOML defaults with customize.yaml using v6.1-compatible
schema (agent.metadata / agent.persona, snake_case fields)
- Port resolve-customization.py to resolve-customization.js (Node); one
shared copy at src/scripts/, invoked via --skill with three-layer merge
- Restore v6.1 fields: critical_actions, memories, menu; drop start_prompt
- Simplify menu items to {code, description, skill|prompt}; no action field
- Flatten SKILL.md to 8 atomic activation steps, boilerplate below frontmatter
- Tech-writer menu items reference skill-root prompt files via {skill-root}
- Dev agent Critical Actions moved from SKILL.md into customize.yaml
- Add {skill-name} path convention for portable fallback instructions
- Rewrite docs/how-to/customize-bmad.md for the new system