{setup-skill-name}

Installs and configures BMad modules by merging settings into shared YAML config files.

Updated Sep 3, 2026
One-click install
npx skills add https://github.com/watchthelight/shatterfish --skill setup-skill-name-watchthelight
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: {setup-skill-name}
Source: https://github.com/watchthelight/shatterfish/tree/main/.claude/skills/bmad-module-builder/assets/setup-skill-template
Command: npx skills add https://github.com/watchthelight/shatterfish --skill setup-skill-name-watchthelight

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyyaml, and includes scripts (resource) and assets (resource) components.

What problem does it solve? Setting up a BMad module requires writing configuration values into multiple files (shared config, user config, help registry) while handling legacy per-module configs and avoiding stale entries. This Skill automates that entire installation and migration workflow. ## Core Features & Use Cases - Config Merging: Collects user preferences and writes them to _bmad/config.yaml (shared settings) and _bmad/config.user.yaml (personal settings like user name and language) using an anti-zombie pattern that removes stale module entries before writing fresh ones. - Legacy Migration: Detects old per-module config files, uses their values as fallback defaults, and deletes them after a successful merge. - Help Registry & Cleanup: Merges module help entries into module-help.csv and removes legacy installer directories after verifying skills are installed at .claude/skills/. - Use Case: A user asks to install the 'bmb' module; the Skill prompts for preferences, writes both config files, registers help entries, creates output directories, and cleans up legacy installer packages. ## Quick Start Ask the assistant to install and configure the BMad module for this project, providing your name and preferred language.

Frequently Asked Questions about {setup-skill-name}

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install a BMad module in my project?

Activate the setup skill, which reads module.yaml for variable definitions, prompts for configuration values with defaults, then runs merge scripts to write config.yaml, config.user.yaml, and module-help.csv under the _bmad directory.

How does BMad module config migration from legacy files work?

The merge-config.py script reads legacy per-module config.yaml files from _bmad/{module-code}/ and _bmad/core/, uses matching values as fallback defaults, and deletes the legacy files after a successful merge. Explicit answers always override legacy values.

What is the difference between config.yaml and config.user.yaml in BMad?

config.yaml holds shared project settings like output_folder and module-specific values, while config.user.yaml stores personal settings like user_name and communication_language that are intended to be gitignored. User-only keys are never written to the shared config.

Why does the setup script fail with an unresolved {project-root} token error?

The scripts reject path arguments containing the literal {project-root} token because it is only meaningful inside config values. You must resolve it to the actual project root path before running merge-config.py, merge-help-csv.py, or cleanup-legacy.py.

Can I run BMad module setup non-interactively with default values?

Yes, you can pass arguments like 'accept all defaults' or inline values such as a user name and language. The skill maps provided values to config keys, uses defaults for the rest, and still displays a full confirmation summary.