Skip to content

Commit 43a0891

Browse files
committed
fix(docs,scanners): route conventions, style, and scanner self-containment
Scanners: - Remove absolute-path `Load` directive from both quality-scan-customization-surface.md files. The hardcoded /Users/brianmadison/... path would never resolve in consumer environments. Scanners now rely solely on their embedded Opportunity and Abuse lens tables, matching the self-contained convention of every other quality-scan-*.md in the codebase. Docs route convention: - Append `.md` to 12 internal cross-links to match the site convention (/explanation/foo.md, /how-to/foo.md form). Touches make-a-skill-customizable.md (4), what-are-bmad-agents.md (1), what-are-workflows.md (2), skill-authoring-best-practices.md (2), module-configuration.md (1), agent-memory-and-personalization.md (1). Docs external host: - Swap 3 end-user-guide links from bmadcode.github.io/bmad to docs.bmad-method.org/how-to/customize-bmad/ to point at the correct published docs site for BMAD-METHOD. Docs style: - Rewrite how-to hook from "Use this guide when..." to "This guide walks through..." matching the convention used by distribute-your-module.md. - Remove first-person voice from the bmad-session-prep worked example in customization-for-authors.md. "Here's how I'd customize it" -> "Here's how to think about its customization surface"; "I'm not trying to catalog every RPG; I ship one default" -> "The skill isn't trying to catalog every RPG; it ships one default"; "### What I'd NOT expose" -> "### What Not to Expose".
1 parent 0060f9c commit 43a0891

9 files changed

Lines changed: 14 additions & 18 deletions

docs/explanation/agent-memory-and-personalization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ ALLCAPS files form the skeleton: consistent structure across all memory agents.
4343

4444
### Sanctum Is the Customization Surface
4545

46-
For memory and autonomous agents, the sanctum is where customization belongs. PERSONA, CREED, and BOND are calibrated at First Breath, edited by the owner as the relationship develops, and shared across teams as sanctum files when a whole table wants the same voice. The parallel `customize.toml` override surface that stateless agents and workflows use (activation hooks, persistent facts, scalar swaps) is opt-out by default for memory archetypes. Opt in only when you have a narrow org-level need the sanctum cannot express, such as a pre-sanctum compliance acknowledgment before rebirth. See [Customization for Authors](/explanation/customization-for-authors) for the reasoning.
46+
For memory and autonomous agents, the sanctum is where customization belongs. PERSONA, CREED, and BOND are calibrated at First Breath, edited by the owner as the relationship develops, and shared across teams as sanctum files when a whole table wants the same voice. The parallel `customize.toml` override surface that stateless agents and workflows use (activation hooks, persistent facts, scalar swaps) is opt-out by default for memory archetypes. Opt in only when you have a narrow org-level need the sanctum cannot express, such as a pre-sanctum compliance acknowledgment before rebirth. See [Customization for Authors](/explanation/customization-for-authors.md) for the reasoning.
4747

4848
### Token Discipline
4949

docs/explanation/customization-for-authors.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'Customization for Authors'
33
description: How to decide whether your skill should support end-user customization, and what to expose when it does
44
---
55

6-
Shipping a `customize.toml` is opt-in per skill. This is the author-side counterpart to [How to Customize BMad](https://bmadcode.github.io/bmad/how-to/customize-bmad), which covers the end-user view. Read that first if you haven't; it shows what users experience when they override a skill. This guide is about deciding whether to give them that surface at all.
6+
Shipping a `customize.toml` is opt-in per skill. This is the author-side counterpart to [How to Customize BMad](https://docs.bmad-method.org/how-to/customize-bmad/), which covers the end-user view. Read that first if you haven't; it shows what users experience when they override a skill. This guide is about deciding whether to give them that surface at all.
77

88
## The Problem
99

@@ -54,7 +54,7 @@ Opt in only when you have a specific org-level need the sanctum can't express. P
5454

5555
A weekly session-prep workflow for tabletop RPG game masters. It reads the last session's log, reviews open campaign threads, drafts the scene spine, stats NPCs and encounters, and produces a GM notes document to run from.
5656

57-
Here's how I'd customize it, field by field.
57+
Here's how to think about its customization surface, field by field.
5858

5959
### `persistent_facts` (default globs the campaign bible)
6060

@@ -73,7 +73,7 @@ Every GM runs a different world. Without their campaign bible in context, the wo
7373
system_rules_template = "resources/dnd-5e-quick-reference.md"
7474
```
7575

76-
D&D 5e, Pathfinder 2e, and Call of Cthulhu reason about encounters in very different ways. A PF2e GM who overrides this with their own rules reference gets correctly-calibrated encounter math without the workflow pretending to know a system it doesn't. I'm not trying to catalog every RPG; I ship one default that covers most users and let everyone else swap in their own reference. The `*_template` suffix signals what changes if you touch it.
76+
D&D 5e, Pathfinder 2e, and Call of Cthulhu reason about encounters in very different ways. A PF2e GM who overrides this with their own rules reference gets correctly-calibrated encounter math without the workflow pretending to know a system it doesn't. The skill isn't trying to catalog every RPG; it ships one default that covers most users and lets everyone else swap in their own reference. The `*_template` suffix signals what changes if the user touches it.
7777

7878
### `session_notes_template` (scalar)
7979

@@ -107,9 +107,9 @@ activation_steps_prepend = [
107107

108108
Not every GM keeps session logs. The ones who do want the pre-load; the ones who don't would get a broken activation if it were baked in. Opt-in via the prepend hook lets both tables use the same skill.
109109

110-
### What I'd NOT expose
110+
### What Not to Expose
111111

112-
The stage sequence (recap, threads, spine, NPCs, notes) is the skill's identity. A GM who wants a very different flow (solo journaling, West Marches gossip round) should fork. Every stage I make optional erodes what the skill is.
112+
The stage sequence (recap, threads, spine, NPCs, notes) is the skill's identity. A GM who wants a very different flow (solo journaling, West Marches gossip round) should fork. Every stage made optional erodes what the skill is.
113113

114114
Mechanical encounter math toggles like `auto_balance_cr` or `verbose_stat_blocks` stay out. The LLM handles those naturally once it has the system reference. Toggles here would amount to telling the executor how to do its job.
115115

docs/explanation/module-configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ If you are building a single standalone agent or workflow, you do not need a sep
2525

2626
Module configuration (this doc) and per-skill customization (`customize.toml`) are different surfaces with different jobs. Configuration is about install-time answers: paths, language, team preferences, per-module install answers. It lives in `_bmad/config.toml` and `config.user.toml` at the project root and is consumed by many skills. Customization is about per-skill behavior overrides: activation hooks, persistent facts, swappable templates. It lives in `_bmad/custom/{skill-name}.toml` and is scoped to one skill.
2727

28-
Use configuration when the value is cross-cutting (every skill needs to know the output folder). Use customization when the value shapes one skill's behavior (this workflow's brief template). Some values legitimately fit both surfaces; the [End-User Customization Guide](https://bmadcode.github.io/bmad/how-to/customize-bmad) includes a decision table for that case. For the author-side decision about whether to expose customization at all, see [Customization for Authors](/explanation/customization-for-authors).
28+
Use configuration when the value is cross-cutting (every skill needs to know the output folder). Use customization when the value shapes one skill's behavior (this workflow's brief template). Some values legitimately fit both surfaces; the [End-User Customization Guide](https://docs.bmad-method.org/how-to/customize-bmad/) includes a decision table for that case. For the author-side decision about whether to expose customization at all, see [Customization for Authors](/explanation/customization-for-authors.md).
2929

3030
## What Module Registration Does
3131

docs/explanation/skill-authoring-best-practices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Six dimensions to keep in mind during the build phase. The quality scanners chec
3838

3939
## Shipping a Customization Surface
4040

41-
When your skill's users come from varied contexts (different orgs, different domains, different taste in output formats), a `customize.toml` surface lets them override specific fields without forking. It's opt-in per skill, and the decision is deliberate: every knob you ship is a promise the resolver will carry across releases. Before you opt in during the build, read [Customization for Authors](/explanation/customization-for-authors) for the decision framework and [How to Make a Skill Customizable](/how-to/make-a-skill-customizable) for the mechanics.
41+
When your skill's users come from varied contexts (different orgs, different domains, different taste in output formats), a `customize.toml` surface lets them override specific fields without forking. It's opt-in per skill, and the decision is deliberate: every knob you ship is a promise the resolver will carry across releases. Before you opt in during the build, read [Customization for Authors](/explanation/customization-for-authors.md) for the decision framework and [How to Make a Skill Customizable](/how-to/make-a-skill-customizable.md) for the mechanics.
4242

4343
## Common Patterns
4444

docs/explanation/what-are-bmad-agents.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Every agent ships a `customize.toml` next to its `SKILL.md`. The metadata block
9191

9292
For memory and autonomous agents, the sanctum is the primary customization surface. Persona, creed, bond, and capabilities all live there and evolve with the owner. A `customize.toml` override surface would compete with that, so the default for those archetypes is opt-out.
9393

94-
See [Customization for Authors](/explanation/customization-for-authors) for the decision guide, or [How to Customize BMad](https://bmadcode.github.io/bmad/how-to/customize-bmad) for the end-user view.
94+
See [Customization for Authors](/explanation/customization-for-authors.md) for the decision guide, or [How to Customize BMad](https://docs.bmad-method.org/how-to/customize-bmad/) for the end-user view.
9595

9696
## Building Agents
9797

docs/explanation/what-are-workflows.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Workflows are also excellent as the **internal capabilities** of an agent. Build
6666

6767
Workflow customization is fully opt-in. If you don't need users to override anything, don't ship a `customize.toml` at all; the workflow runs with hardcoded paths and defaults. If you do opt in, the builder walks you through Configurability Discovery, where you name the scalars (templates, output paths, hooks) you want to expose. Users override them through the three-layer model at `_bmad/custom/{skill-name}.toml` and `.user.toml`.
6868

69-
See [Customization for Authors](/explanation/customization-for-authors) for the decision guide and [How to Make a Skill Customizable](/how-to/make-a-skill-customizable) for the build-time steps.
69+
See [Customization for Authors](/explanation/customization-for-authors.md) for the decision guide and [How to Make a Skill Customizable](/how-to/make-a-skill-customizable.md) for the build-time steps.
7070

7171
## Building Workflows
7272

docs/how-to/make-a-skill-customizable.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: 'How to Make a Skill Customizable'
33
description: Opt your skill into end-user customization during the build, name your scalars well, and test an override
44
---
55

6-
Use this guide when you're building a skill and you've decided (see [Customization for Authors](/explanation/customization-for-authors)) that end users should be able to override parts of its behavior without forking. You'll hit the opt-in moment in the builder, pick names for the scalars you expose, and verify an override actually works.
6+
This guide walks through opting a skill into end-user customization during a build. You'll hit the opt-in moment in the builder, pick names for the scalars you expose, and verify an override actually fires. Read [Customization for Authors](/explanation/customization-for-authors.md) first if you haven't decided whether to opt in.
77

88
## When to Use This
99

@@ -15,13 +15,13 @@ Use this guide when you're building a skill and you've decided (see [Customizati
1515

1616
- Your skill is a single-purpose utility users will invoke and forget (overriding makes no sense)
1717
- You're building a memory or autonomous agent whose behavior lives in the sanctum (the sanctum is already the customization surface)
18-
- You haven't decided yet whether you need customization (read the [author guide](/explanation/customization-for-authors) first)
18+
- You haven't decided yet whether you need customization (read the [author guide](/explanation/customization-for-authors.md) first)
1919

2020
:::note[Prerequisites]
2121

2222
- The Agent Builder or Workflow Builder is available in your project
2323
- You've sketched what your skill does and roughly what stages or capabilities it has
24-
- You've read the [author guide](/explanation/customization-for-authors) and know which knobs you want to expose
24+
- You've read the [author guide](/explanation/customization-for-authors.md) and know which knobs you want to expose
2525
:::
2626

2727
## Steps
@@ -141,4 +141,4 @@ Users get:
141141

142142
- **Ship one good default. Skip the booleans.** A flag like `include_combat_section` usually means you haven't decided what the skill does yet. Pick the default. Users who want a radically different shape can fork.
143143
- **Sentence-shaped variance belongs in `persistent_facts`.** Tone, house rules, and domain constraints are sentences the skill carries through the run. Don't enumerate them as scalars.
144-
- **Read [Customization for Authors](/explanation/customization-for-authors) first.** It gives you the three questions to ask for each candidate knob before you start Configurability Discovery.
144+
- **Read [Customization for Authors](/explanation/customization-for-authors.md) first.** It gives you the three questions to ask for each candidate knob before you start Configurability Discovery.

skills/bmad-agent-builder/references/quality-scan-customization-surface.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ Your job is to find the sweet spot the author missed, in either direction, and t
1515

1616
**This is purely advisory.** Nothing here is broken. Everything is either an opportunity to expose or a risk to trim.
1717

18-
Load `/Users/brianmadison/bmad-code/bmad-bmb/custom-support/docs/explanation/customization-for-authors.md` if it's accessible for the decision framework; otherwise apply the principles below directly.
19-
2018
## Your Role
2119

2220
You are NOT checking structural completeness (structure), agent cohesion (agent-cohesion), sanctum architecture (sanctum-architecture), prose craft (prompt-craft), efficiency (execution-efficiency), or UX delight (enhancement-opportunities). You are the customization-surface economist.

skills/bmad-workflow-builder/references/quality-scan-customization-surface.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ Your job is to find the sweet spot the author missed, in either direction.
1313

1414
**This is purely advisory.** Nothing here is broken. Everything is either an opportunity to expose or a risk to trim.
1515

16-
Load `/Users/brianmadison/bmad-code/bmad-bmb/custom-support/docs/explanation/customization-for-authors.md` if it's accessible for the decision framework; otherwise apply the principles below directly.
17-
1816
## Your Role
1917

2018
You are NOT checking structural completeness (workflow-integrity), prose craft (prompt-craft), efficiency (execution-efficiency), or UX delight (enhancement-opportunities). You are the customization-surface economist.

0 commit comments

Comments
 (0)