{setup-skill-name}

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

1|Updated Sep 18, 2026
One-click install
npx skills add https://github.com/PastaSus/egg-defender --skill setup-skill-name-pastasus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: {setup-skill-name}
Source: https://github.com/PastaSus/egg-defender/tree/main/.agents/skills/bmad-module-builder/assets/setup-skill-template
Command: npx skills add https://github.com/PastaSus/egg-defender --skill setup-skill-name-pastasus

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 in a project requires collecting user preferences, writing them consistently across shared and personal config files, registering help entries, and cleaning up legacy installer files. Doing this manually is error-prone and leaves stale configuration behind. ## Core Features & Use Cases - Config Merging: Writes core settings and module-specific values into _bmad/config.yaml and personal settings into _bmad/config.user.yaml using an anti-zombie pattern that removes stale 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 Registration & Cleanup: Merges module help entries into module-help.csv and removes legacy installer directories after verifying skills are installed at .claude/skills/. - Use Case: When a user asks to install or configure a BMad module, the skill collects preferences (with support for headless arguments), writes all config files via scripts, creates output directories, and confirms the result. ## Quick Start Ask the assistant to install and configure the module in your project, optionally providing values like your user name and preferred language inline.

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 and provide your preferences, either interactively or inline (e.g. user name and language). The skill reads module.yaml, collects values with defaults, and runs merge scripts to write config.yaml, config.user.yaml, and module-help.csv.

How does BMad module config migration from legacy files work?

The merge scripts read old per-module config.yaml files from _bmad/{module-code}/ and _bmad/core/, use matching values as fallback defaults, then delete 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 sections, while config.user.yaml stores personal gitignored settings such as user_name, communication_language, and any module variable marked user_setting: true.

Why do the setup scripts reject the {project-root} token in paths?

The {project-root} token is only valid inside config values, not filesystem path arguments. The scripts validate all path arguments and exit with an error if the token is unresolved, preventing writes to a literal {project-root}/ directory.

Can I run BMad module setup without interactive prompts?

Yes, pass arguments like accept all defaults, --headless, or inline values such as your user name and language. Provided values are mapped to config keys, defaults fill the rest, and a full confirmation summary is still displayed.