2.2 KiB
2.2 KiB
Lens: customization
Lane: the customize.toml surface and its wiring, per lenses/standards.md. The bar: every declared value reaches the place it changes; every value a team would override is declared.
- Persona keys (
identity,communication_style,principles) in[workflow], or a skill's scalars in[agent]: high; the skill wants to be an agent, or the reverse. - Not resolved: no
resolve_customization.pycall in activation, or{workflow.*}and{agent.*}tokens naming no key. High; overrides never reach the model. - Declared and hardcoded: the table declares a scalar the body hardcodes. High; every override is a silent no-op.
- Hardcoded values a team would override (
<purpose>_output_path, a template path, a completion hook): low each, medium at two or more. - Arrays of tables without
codeorid, or mixing the two: medium; the resolver can only append. - Boolean toggles: one medium, three or more high; a switch means the author never decided.
- Old-format config (
module.yaml,module-help.csv,_bmad/config.yaml), installer questions, a settings concept in the skill, or config read other than viaresolve_config.py: high. - The skill writing under
_bmad/custom/, mergingcustomize.tomlwith override files itself, or carrying its own reader for when_bmad/is absent: high. The resolver reads,bmad-customizewrites, setup installs;script_findingscarriescustom-iofor the script side. Users who will change a value and no line telling them to invokebmad-customize: low. - Jinja where
SKILL.mddoes not callrender_skill.py: high; it reaches the model verbatim. In a rendered skill,config.*orworkflow.*in a file named "template": high. - Agent (
shape_hintisagentormemory-agent):[agent]missingname,titleoricon, or a menu item with both or neither ofskillandprompt: high. A memory agent's[agent]duplicating its sanctum: medium; two selves drift.
Not flagged: a line telling the user to invoke bmad-customize; an empty persistent_facts (shipped skills carry none); name and title being fixed; reading project config at activation; a skill with no customize.toml and nothing a team would change.