* feat(toolsmith): make a single-skill module the default for one skill Registration is settled from the registry and shown in the read-back instead of asked. A skill joins a module only when the user is working on that module, named it, or chose its prefix. A bmod-<code> record folder is never written for one skill. * fix(toolsmith): ask whether a skill is part of a module Single-skill module stays the offered guess, but discovery now asks whether the skill joins a module or more skills are planned. A planned module settles its code and prefix on the first skill, so nothing is renamed later. * feat(toolsmith): read any agent's session logs and offer customization in from-logs The agent finds its own logs and confirms the location instead of assuming Claude Code. A corrected installed skill can be offered as a bmad-customize change instead of a new skill. * refactor(toolsmith): split discover into short sections and cut what a model infers Registration gets its own section, the five things and other enumerable items become lists, and the read-back carries the consumer and bar. * feat(toolsmith): start prose from one sentence and hold one topic to a paragraph The canon, leanness lens and cut roles now default to the one-sentence version of a passage and split mixed topics. The pre-pass reports long paragraphs and sentences. * refactor(toolsmith): cut prompt files to one topic per paragraph and inline ecosystem into ship Every route, mode and shape file is split into short paragraphs, bullets and cases, with what a model would infer removed. ecosystem.md only ever loaded from ship.md, so its content now lives there. * feat(toolsmith): let a memory agent add its name to its description at First Breath * fix(toolsmith): close a Markdown fence only on its own marker in the pre-pass * fix(toolsmith): let a single-skill module grow into a multi-skill module * fix(toolsmith): write dependencies to the table the module shape uses * feat(toolsmith): restore a memory agent's name after an update and skip global installs * docs(toolsmith): bring the help up to date and route to cut mode * refactor(toolsmith): call the read-back the Smithy execution plan and add help on sharing and subagents * docs(toolsmith): write the Toolsmith docs to replace the builder site
4.2 KiB
title, description, sidebar
| title | description | sidebar | ||
|---|---|---|---|---|
| Toolsmith | What the Toolsmith module is: one agent, Smithy, that builds skills, agents, and modules for BMad, and an eval runner beside it. |
|
Toolsmith is the module for authoring BMad content. Its agent, Smithy (bmad-toolsmith), builds a skill, an agent, or a module from a conversation about what you need. bmad-eval measures whether a skill works. Use Toolsmith when you want an agent to do a job the same way every time, and when you want to share that job with a team or publish it.
A skill is a folder with a SKILL.md file. Your coding tool reads the description in that file to decide when to load the skill, and the agent follows the rest of the file once it does. Everything Toolsmith builds starts from that folder.
Install Toolsmith
Toolsmith installs from the BMAD-METHOD repository. If you do not have BMad yet, start with Install BMad. Then add the module from your project folder:
npx skills add bmad-code-org/BMAD-METHOD --skill bmad-toolsmith --skill bmad-eval --skill bmod-toolsmith
Ask the bmad skill to run bmad setup toolsmith. The module asks no setup questions.
Talk to Smithy
Start the bmad-toolsmith skill, or ask for Smithy by name, and say what you want. You do not need to know the shape of the result, or which mode to use. Smithy shows a menu when you give no request.
| Code | What it does |
|---|---|
BUILD |
Build a new skill, agent, or module from a conversation |
SCAFFOLD |
Lay out a skill you will write yourself |
LOGS |
Propose a skill from your session logs, then build it |
EDIT |
Change, fix, or extend a skill |
CONVERT |
Rebuild a skill, prompt, or command from another tool as a BMad skill |
REVIEW |
Review a skill and write a report of findings |
CUT |
Cut a skill's prose to what changes what the model does |
PACKAGE |
Package one skill or several into a module |
VALIDATE |
Check a skill or module for what would stop it installing, loading, or firing |
MIGRATE |
Convert an old-format module to the current format |
EVAL |
Run, benchmark, or trigger-test a skill with bmad-eval |
How a Build Works
Every new skill follows the same path. If you use the scaffold approach to write the skill yourself, steps 3 and 4 are yours.
- Discovery. Smithy reads what you have already said and asks only for what is missing, one or two questions at a time.
- Smithy execution plan. Smithy shows the name, purpose, description, shape, registration, approach, location, and files. Nothing is written until you approve it, and you can change any line.
- Build. Smithy writes the skill, and tries it on a real input when you have one.
- Review. Five review lenses read everything Smithy wrote. Smithy fixes the defects they find and tells you what changed.
- Hand-off. Smithy validates the skill, offers a trigger eval, and tells you where the skill is and what to try first.
In This Section
| Page | Read it when you want to |
|---|---|
| Build Your First Skill | Go from an idea to a working skill, then a module |
| Ways to Build a Skill | Choose how a build runs |
| Shapes of a Skill | See what Smithy can make |
| Work on an Existing Skill | Edit, convert, review, cut, package, or validate a skill |
| Write a Good Skill | Learn the standard Smithy writes to and reviews against |
| Subagent Patterns | Spread a skill's work across subagents |
| Make a Skill Customizable | Let teams change a skill without forking it |
| Agents with Memory | Build an agent that remembers you between sessions |
| Modules and Registration | Decide how a skill registers with BMad |
| Distribute Your Module | Publish a module so others can install it |
| Migrate an Old Module | Bring a module.yaml module to the current format |
| Eval Runner | Measure whether a skill works |
The exact file formats are in Module Files and Eval Format.