You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/explanation/module-configuration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: How BMad modules handle user configuration through a setup skill, w
5
5
6
6
BMad modules register their capabilities with the help system and optionally collect user preferences. Multi-skill modules use a dedicated **setup skill** for this. Single-skill standalone modules handle registration themselves on first run.
7
7
8
-
When you create your own custom module, you can choose to either add a configuration skill, or you could just add the feature to every skill following the standalone pattern. for modules with more than 1-2 skills, it would be recommended to just have a setup skill.
8
+
When you create your own module, you can either add a configuration skill or embed the feature in every skill following the standalone pattern. For modules with more than 1-2 skills, a setup skill is the better choice.
9
9
10
10
## When You Need Configuration
11
11
@@ -32,7 +32,7 @@ Module registration serves two purposes:
32
32
33
33
### Why Register with the Help System?
34
34
35
-
The `bmad-help` skill reads `module-help.csv` to understand what capabilities are available, detect which ones have been completed (by checking output locations for artifacts), and recommend next steps based on the dependency graph. Without registration, `bmad-help` cannot discover or recommend your module's capabilities beyond what it knows basically from skill headers. the help provides richer potential info such as args, relationship to other skills, inputs and outputs, and any other relevant authored information. also if you have a skill with multiple capabilities, they each have their own help entry.
35
+
The `bmad-help` skill reads `module-help.csv` to understand what capabilities are available, detect which ones have been completed (by checking output locations for artifacts), and recommend next steps based on the dependency graph. Without registration, `bmad-help` cannot discover or recommend your module's capabilities beyond what it knows basically from skill headers. The help system provides richer detail: arguments, relationships to other skills, inputs and outputs, and any other authored metadata. If a skill has multiple capabilities, each one gets its own help entry.
36
36
37
37
### Two Registration Paths
38
38
@@ -82,7 +82,7 @@ Variables with a `prompt` field are presented to the user during setup. The `def
82
82
83
83
## Help Registration Without Configuration
84
84
85
-
You may not need any configurable values but still want to register your module with the help system. This is worth doing when:
85
+
You may not need any configurable values but still want to register your module with the help system. Registration is still worthwhile when:
86
86
87
87
- The skill description in SKILL.md frontmatter cannot fully convey what the module offers while staying concise
88
88
- You want to express capability sequencing, phase constraints, or other metadata the CSV supports
Copy file name to clipboardExpand all lines: docs/explanation/progressive-disclosure.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: 'Progressive Disclosure in Skills'
3
3
description: How to structure skills so they load only the context needed at each moment — from frontmatter through dynamic routing to step files
4
4
---
5
5
6
-
Progressive disclosure is the technique that separates basic skills from powerful ones. The core idea: never load more context than the agent needs _right now_. This keeps token usage low, prevents context pollution, and makes skills survive long conversations.
6
+
Progressive disclosure is what separates basic skills from powerful ones. The core idea: never load more context than the agent needs _right now_. This keeps token usage low, prevents context pollution, and lets skills survive long conversations.
Copy file name to clipboardExpand all lines: docs/explanation/scripts-in-skills.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: 'Scripts in Skills'
3
3
description: Why deterministic scripts make skills faster, cheaper, and more reliable — and the technical choices behind portable script design
4
4
---
5
5
6
-
Scripts are the reliability backbone of a well-built skill. They handle work that has clear right-and-wrong answers — validation, transformation, extraction, counting — so the LLM can focus on what it does best: judgment, synthesis, and creative reasoning.
6
+
Scripts handle work that has clear right-and-wrong answers — validation, transformation, extraction, counting — so the LLM can focus on judgment, synthesis, and creative reasoning.
7
7
8
8
## The Problem: LLMs Do Too Much
9
9
@@ -17,7 +17,7 @@ The pattern shows up everywhere: skills that try to LLM their way through struct
17
17
18
18
## The Determinism Boundary
19
19
20
-
The core design principle is **intelligence placement** — put each operation where it belongs.
20
+
The design principle is **intelligence placement**: put each operation where it belongs.
When a skill invokes this script with `uv run scripts/analyze.py`, the dependency (`pyyaml` in this example) is automatically resolved. The user never sees an install prompt, never needs to manage a virtual environment, and never pollutes their global Python installation.
94
94
95
-
**Why this matters for skill authoring:**Without PEP 723, skills that needed libraries like `pyyaml` or `tiktoken` would force users to run `pip install` — a jarring, trust-breaking experience that makes users hesitate to adopt the skill.
95
+
Without PEP 723, skills that need libraries like `pyyaml` or `tiktoken` would force users to run `pip install` — a jarringexperience that makes people hesitate to adopt the skill.
96
96
97
97
## Graceful Degradation
98
98
@@ -124,4 +124,4 @@ Look for these signal verbs in a skill's requirements — they indicate script o
The builders guide you through script opportunity discovery during the build process. The key insight: if you find yourself writing detailed validation logic in a prompt, it almost certainly belongs in a script instead.
127
+
The builders guide you through script opportunity discovery during the build process. If you find yourself writing detailed validation logic in a prompt, it almost certainly belongs in a script instead.
Copy file name to clipboardExpand all lines: docs/explanation/skill-authoring-best-practices.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -103,7 +103,7 @@ Graceful degradation: if subagents are unavailable, the main agent does a single
103
103
104
104
### Graceful Degradation
105
105
106
-
Every subagent-dependent feature should have a fallback path. Skills run across different platforms, models, and configurations. A skill that hard-fails without subagents is fragile. A skill that gracefully falls back to sequential processing is robust everywhere.
106
+
Every subagent-dependent feature should have a fallback path. Skills run across different platforms, models, and configurations. A skill that hard-fails without subagents is fragile. One that falls back to sequential processing works everywhere.
description: Six patterns for using subagents effectively — from simple data delegation through persona-driven parallel reasoning to evolutionary systems
4
4
---
5
5
6
-
Subagents are isolated LLM instances that a parent skill spawns to handle specific tasks. They have their own context window, receive instructions, and return results. Used well, they keep the parent context small while enabling massive parallel work.
6
+
Subagents are isolated LLM instances that a parent skill spawns to handle specific tasks. Each gets its own context window, receives instructions, and returns results. Used well, they keep the parent context small while enabling parallel work at scale.
7
7
8
8
All patterns share one principle: **the filesystem is the single source of truth**. Parent context stays tiny (file pointers + high-level plan). Subagents are stateless black boxes — instructions in, response out, isolated context.
9
9
@@ -101,7 +101,7 @@ The most powerful pattern for quality. Spawn diverse specialists in parallel —
101
101
102
102
## Pattern 6: Evolutionary & Emergent Systems
103
103
104
-
These turn stateless subagents into something that feels alive. All use the filesystem blackboard as connective tissue.
104
+
These turn stateless subagents into something that feels alive. All build on the filesystem blackboard.
@@ -114,9 +114,9 @@ These turn stateless subagents into something that feels alive. All use the file
114
114
115
115
The single most important thing to get right with subagent patterns is **preventing the parent from reading the data it is delegating**. If the parent reads all the files before spawning subagents, the entire pattern is defeated — you have already spent the tokens, bloated the context, and lost the isolation benefit.
116
116
117
-
This happens more often than you might expect. You write a skill that should spawn subagents to each read a document and return findings. You run it. The parent agent helpfully reads every document first, then passes them to subagents, then collects distilled summaries. The subagents still provide fresh perspectives (a real benefit), but the context savings — the primary reason for the pattern — are gone.
117
+
This happens often. You write a skill that should spawn subagents to each read a document and return findings. You run it. The parent agent helpfully reads every document first, then passes them to subagents, then collects distilled summaries. The subagents still provide fresh perspectives, but the context savings — the primary reason for the pattern — are gone.
118
118
119
-
**The fix is defensive language in your skill.**You need to explicitly tell the parent agent what it should and should not do. The key is being specific without being verbose.
119
+
**The fix is defensive language in your skill.**Explicitly tell the parent agent what it should and should not do. Be specific without being verbose.
120
120
121
121
:::note[Example from the BMad Quality Optimizer]
122
122
The optimizer's instructions say: **"DO NOT read the target skill's files yourself."** It then tells the parent exactly what it _should_ do: run scripts (which return structured JSON), spawn subagents (which do the reading), and synthesize from their outputs. The parent never touches the raw files.
@@ -131,7 +131,7 @@ The optimizer's instructions say: **"DO NOT read the target skill's files yourse
131
131
|**Use pre-pass scripts**| Run a lightweight script that extracts metadata (file names, sizes, structure) so the parent can plan without reading |
132
132
|**Be explicit about the boundary**| "Your role is ORCHESTRATION. Scripts and subagents do all analysis" |
133
133
134
-
**Testing is how you catch this.** Run your skill and watch what actually happens. If you see the parent reading files it should be delegating, tighten the language. This is normal iteration — the builders are tuned with these patterns, but different models and tools may need more explicit guidance. Review the existing BMad quality optimizer prompts (`prompts/quality-optimizer.md`) and scanner agents (`agents/quality-scan-*.md`) for working examples of this defensive language in practice.
134
+
**Test and watch what actually happens.** If the parent reads files it should be delegating, tighten the language. This is normal iteration — the builders are tuned with these patterns, but different models and tools may need more explicit guidance. Review the BMad quality optimizer prompts (`prompts/quality-optimizer.md`) and scanner agents (`agents/quality-scan-*.md`) for working examples of this defensive language.
Copy file name to clipboardExpand all lines: docs/explanation/what-are-bmad-agents.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ Every skill in the BMad ecosystem is ultimately a skill file, but agents carry t
15
15
|**Capabilities**| Actions the agent can perform, either as internal prompt commands or by calling external skills |
16
16
|**Memory**| A sidecar directory where the agent stores what it learns about you, your preferences, and past interactions |
17
17
18
-
Together these create something that feels less like running a command and more like talking to a specialist who already knows you.
18
+
Together, they make the interaction feel less like running a command and more like talking to a specialist who already knows you.
19
19
20
20
## How Memory Works
21
21
@@ -55,6 +55,6 @@ If you are unsure, start with a workflow. You can always wrap it inside an agent
55
55
56
56
## Building Agents
57
57
58
-
The **BMad Agent Builder** (`bmad-agent-builder`) walks you through a six-phase conversational discovery process — from intent through capabilities, requirements, drafting, building, and quality optimization. It produces a ready-to-use skill folder you can drop into your tools' skills directory.
58
+
The **BMad Agent Builder** (`bmad-agent-builder`) walks you through six phases of conversational discovery — intent, capabilities, requirements, drafting, building, and quality optimization — and produces a ready-to-use skill folder you can drop into your tools' skills directory.
59
59
60
60
See the [Builder Commands Reference](/reference/builder-commands.md) for details on the build process phases and capabilities.
Copy file name to clipboardExpand all lines: docs/explanation/what-are-modules.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The `.claude-plugin/` convention originates from Claude Code, but the format wor
18
18
19
19
The Module Builder generates the appropriate `marketplace.json` during the Create Module (CM) step - but you will want to verify it lists the proper relative paths to the skills you want to deliver with your module.
20
20
21
-
This is very powerful also if you want to include remote URL skills in your own module to combine them.
21
+
This also means you can include remote URL skills in your own module to combine them.
22
22
23
23
## What a Module Contains
24
24
@@ -43,7 +43,7 @@ The first architecture decision when planning a module is whether to use a singl
43
43
|**Hybrid**| Some capabilities need persistent persona/memory while others are procedural | Best of both worlds but more skills to build and maintain |
44
44
45
45
:::tip[Agent-First Thinking]
46
-
Many users default to building multiple single-purpose agents. Consider whether one agent with rich internal capabilities and routing would serve users better. A single agent accumulates context, maintains memory across interactions, and provides a more seamless experience.
46
+
Many users default to building multiple single-purpose agents. Consider whether one agent with rich internal capabilities and routing would serve users better. A single agent accumulates context, maintains memory across interactions, and provides a smoother experience.
47
47
:::
48
48
49
49
## Multi-Agent Modules and Memory
@@ -103,7 +103,7 @@ When a module has external dependencies, the setup skill should check for their
103
103
104
104
Modules can include user interfaces — dashboards, progress views, interactive visualizations, or even full web applications. A UI skill might show shared progress across the module's capabilities, provide a visual map of how skills relate, or offer an interactive way to navigate the module's features.
105
105
106
-
Not every module needs a UI. But for complex modules with many capabilities, a visual layer can make the experience significantly more accessible.
106
+
Not every module needs a UI. But for complex modules with many capabilities, a visual layer makes the experience much more accessible.
Copy file name to clipboardExpand all lines: docs/explanation/what-are-workflows.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: 'What Are BMad Workflows?'
3
3
description: How workflows guide users through structured processes, how they differ from agents and simple skills, and when to build one
4
4
---
5
5
6
-
BMad Workflows are skills that guide users through a **structured process** to produce a specific output. They are the workhorses of the BMad ecosystem — focused, composable, and generally stateless.
6
+
BMad Workflows are skills that guide users through a **structured process** to produce a specific output. They do most of the heavy lifting in the BMad ecosystem — focused, composable, and generally stateless.
7
7
8
8
## What Makes a Workflow a Workflow
9
9
@@ -64,6 +64,6 @@ Workflows are also excellent as the **internal capabilities** of an agent. Build
64
64
65
65
## Building Workflows
66
66
67
-
The **BMad Workflow Builder** (`bmad-workflow-builder`) uses the same six-phase conversational discovery as the Agent Builder — intent, classification, requirements, drafting, building, and quality optimization. It produces a ready-to-use skill folder.
67
+
The **BMad Workflow Builder** (`bmad-workflow-builder`) uses the same six-phase conversational discovery as the Agent Builder — intent, classification, requirements, drafting, building, and quality optimization — and produces a ready-to-use skill folder.
68
68
69
69
See the [Builder Commands Reference](/reference/builder-commands.md) for details on the build process phases and capabilities.
0 commit comments