Skill Tracer
Skills › BMAD Method › bmad-toolsmith › ecosystem.md

ecosystem.md

19 lines · skills/bmad-toolsmith/ecosystem.md at bd70c64

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Ecosystem
2
3Loaded by `ship.md`. Its outcome: the skill names what it depends on, the user can install what is missing, and a module stays consistent when a skill joins it or replaces one.
4

Ecosystem

Loaded by ship.md. Its outcome: the skill names what it depends on, the user can install what is missing, and a module stays consistent when a skill joins it or replaces one.

Raw lines 1 to 4
5## What is installed
6
7Agents: `uv run {project-root}/_bmad/scripts/roster.py --skill {skill-root} --project-root {project-root}`. Modules and their help: `uv run {project-root}/_bmad/scripts/knowledge.py --root <skills root>`. Everything else: list the folder the user's agent reads skills from, and open a `SKILL.md` only when the name does not say what it does.
8

What is installed

Agents: uv run {project-root}/_bmad/scripts/roster.py --skill {skill-root} --project-root {project-root}. Modules and their help: uv run {project-root}/_bmad/scripts/knowledge.py --root <skills root>. Everything else: list the folder the user's agent reads skills from, and open a SKILL.md only when the name does not say what it does.

Raw lines 5 to 8
Runs code scripts/roster.py :7
Runs code scripts/knowledge.py :7
9## Dependencies
11From the discovery, decide for each installed skill: `required_skills` when the new skill invokes it, `recommended_skills` when it helps beside it, nothing otherwise. Write them into `bmod.toml` under `[skill]`: a plain name for a skill from the same source, `{ skill = "<name>", source = "<source>", version = "<min>" }` for another, version optional. For anything named but not installed, offer `npx skills add <repo> --skill <name>`; never run it unasked.

Dependencies

From the discovery, decide for each installed skill: required_skills when the new skill invokes it, recommended_skills when it helps beside it, nothing otherwise. Write them into bmod.toml under [skill]: a plain name for a skill from the same source, { skill = "<name>", source = "<source>", version = "<min>" } for another, version optional. For anything named but not installed, offer npx skills add <repo> --skill <name>; never run it unasked.

Raw lines 9 to 12
13## Joining or replacing
15When the built skill replaces another, record the old name in the module record's `retired.toml`: `renamed = [{ from, to }]` for a successor, `removed` for a skill that is gone. `bmad setup` then deletes the stale install and moves its `_bmad/custom/` files. When the skill sits beside others in a module, the record's `skills` list gains it, and `roster.toml` when it is an agent; edit both in place, matching the record's existing entries.

Joining or replacing

When the built skill replaces another, record the old name in the module record's retired.toml: renamed = [{ from, to }] for a successor, removed for a skill that is gone. bmad setup then deletes the stale install and moves its _bmad/custom/ files. When the skill sits beside others in a module, the record's skills list gains it, and roster.toml when it is an agent; edit both in place, matching the record's existing entries.

Raw lines 13 to 16
17## Distribution
19Smithy builds and packages offline. The install path from a public repo is `npx skills add <repo> --skill <name>`; say that and no more. When the user names a marketplace or registry, fetch its current docs then rather than describing it from memory.

Distribution

Smithy builds and packages offline. The install path from a public repo is npx skills add <repo> --skill <name>; say that and no more. When the user names a marketplace or registry, fetch its current docs then rather than describing it from memory.

Raw lines 17 to 19