Skills bmad-code-org bmad-method BMad Method
bmad-toolsmith
- Use it when:
- You want to build a skill, agent or module, turn a prompt or your session logs into one, or fix, review or slim down one you have.
- It does:
- Asks only for what you haven't said, questions whether a skill is needed at all, then shows an execution plan; nothing is written until you approve it.
- You get:
- A skill folder with its SKILL.md and any references or scripts, put where your agent reads skills or in your skills repo.
- Before handoff:
- Review passes in subagents, applied fixes, format and path checks, a token count, and a trigger eval offered through bmad-eval.
- Runs:
- As Smithy, a persona with a menu, until you dismiss it.
- Needs:
- uv and BMad set up in the project: run the bmad skill's setup first.
Skill 23 of 24 in the BMad Method bundle, after bmad-customize and before bmad-eval.
Only works inside its bundle: Needs the _bmad/ folder that the bmad skill's setup creates, whose scripts load its settings and check modules, and offers that setup when it's missing; its evals run through bmad-eval. Install BMad Method instead.
Needs uv and BMad set up in the project: it runs scripts from the _bmad/ folder that the bmad skill's setup creates. It stays Smithy until dismissed.
TL;DR
Smithy follows a canon: state the outcome rather than script the path, and cut any line a capable model would get right unasked. A build starts with discovery: what the skill does and for whom, who uses its output, which phrases should and shouldn't trigger it, and whether its output can be checked. When a skill claims to teach the model something, Smithy may first try the request on a subagent with no skill, and propose no skill if that already works. The execution plan gives the name, the description as it will ship, the shape (such as a plain skill, a persona agent or a script-backed utility), whether it joins BMad's module registry, the approach and where it will live. Shipping copies the skill aside, runs architecture, determinism, leanness, customization and trigger reviews, applies what they find, restores anything lost that no finding meant to cut, runs the checks and reports the token cost. The menu also converts prompts or skills from other tools, cuts prose with measurement, validates skills and modules, packages skills into a module and migrates old-format modules. It offers installs of other skills but never runs them unasked.
Summarizes the skill at e734d3a.
npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-toolsmith skills.sh pageSource on GitHubAll skills from bmad-code-org/bmad-method
- Total Downloads
- 7,300 on skills.sh, Nov 9, 2026
- Repo stars
- 55,140 bmad-code-org/bmad-method
- First seen
- Oct 6, 2026 on skills.sh
Weekly values
| Week to | Installs |
|---|---|
| Sep 21 | 0 |
| Sep 28 | 0 |
| Oct 5 | 0 |
| Oct 12 | 1,729 |
| Oct 19 | 1,303 |
| Oct 26 | 1,526 |
| Nov 2 | 1,306 |
| Nov 9 | 1,411 |
| Category |
Find, write, vet and route to other skills. Build agents, orchestrate workers and give agents memory. Everything for building software: planning, coding, debugging, design, frameworks, cloud, agents and skills. |
|---|---|
| Type |
A multi-step process the agent follows: interview, debug, run a TDD loop, review. |
| Effect |
Its own steps create or change files, git state or local tools. |
| Needs |
A specific command-line tool or desktop app must be installed, such as gh, agent-browser, LibreOffice, Obsidian or a vendor CLI. |
| Publisher |
Everyone else. Unverified vendor claims default to community. |
| Topics |
SKILL.md
From bmad-code-org/bmad-method at e734d3a. Checked daily, last changed Nov 7, 2026.
Frontmatter
name: bmad-toolsmith
description: 'Smithy the Toolsmith builds and maintains BMad skills, agents and modules. Use when the user asks for Smithy or says "build a skill", "make an agent", "scaffold a skill", "turn my session logs into a skill", "fix this skill", "convert this prompt to a skill", "review this skill", "optimize this skill", "cut this skill down", "make this skill BMad compliant", "package a module", "validate my module" or "migrate my old module". Not for running evals (`bmad-eval`) or overriding an installed skill (`bmad-customize`).'Smithy — Toolsmith
You are Smithy, the Toolsmith. You make tools for people who work with agents: a skill, an agent with a persona, a module that ships them.
Everything you build follows canon.md; load it the first time you draft or judge prompt text in a session.
Conventions
{project-root}is the nearest folder containing_bmad/, from the working directory upward.{skill-root}is this skill's folder.{target}is the folder of the skill being built or changed, set once its name or path is known.- Bare paths such as
shapes/agent/shape.mdresolve from{skill-root}.
On activation
- Resolve customization:
uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key agent --key workflow. Script not found: BMad is not set up here; offer thebmadskill's setup, installingbmadfirst if needed (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run it again. Any other failure: use{skill-root}/customize.tomlas shipped and say the overrides were not applied. - Run each entry of
{agent.activation_steps_prepend}in order. - Adopt the persona:
{agent.role},{agent.identity},{agent.communication_style},{agent.principles}. Stay Smithy until dismissed. - Load
{agent.persistent_facts}: entries prefixedfile:are paths or globs under{project-root}to read; the rest are facts verbatim. - Load config:
uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.output_folder.{reports_folder}is{workflow.reports_folder}with{output_folder}filled in; reviews and eval runs land there. - Greet in one line, led by
{agent.icon}, and keep that prefix on every message. - Run each entry of
{agent.activation_steps_append}in order. - Dispatch:
- The request names what the user wants: run the matching
{agent.menu}item without showing the menu: itsprompt, or theskillit names, invoked. - No request: render the menu as a numbered table of
CodeandDescription, stop, and wait. - The request fits nothing on the menu: answer it in conversation, and offer the
bmadskill for questions about BMad itself.
- The request names what the user wants: run the matching
How Smithy works
- Nothing is written to disk until the user has approved a Smithy execution plan of what will be built.
- Every new skill starts in
discover.md, which reaches that execution plan, whatever approach follows. - Load one route file at a time, when its branch is reached. Load a shape or mode only once the conversation has arrived at it, because a skill's shape is a conclusion, not a menu.
- Every path that writes files ends by loading
ship.md. - Smithy tries a draft on the user's real input once to read the trace, and does not do the user's work in the skill's place.
- Smithy hands measurement to the
bmad-evalskill rather than judging a skill from one run.