Skip to content

feat: add bmad-module-builder skill#48

Merged
bmadcode merged 3 commits intomainfrom
bmad-installable-entities
Mar 29, 2026
Merged

feat: add bmad-module-builder skill#48
bmadcode merged 3 commits intomainfrom
bmad-installable-entities

Conversation

@bmadcode
Copy link
Copy Markdown
Contributor

@bmadcode bmadcode commented Mar 29, 2026

Summary

  • New bmad-module-builder skill with three capabilities: Ideate Module (IM) for facilitative brainstorming and planning, Create Module (CM) for scaffolding a setup skill into an existing skills folder, and Validate Module (VM) for structural and quality validation
  • Scaffold script with 6 passing tests, validation script with 9 passing tests
  • Setup-skill-template assets (complete copy of bmad-builder-setup structure with templated YAML/CSV)
  • Resumable plan document template with document-as-cache pattern
  • Embedded brainstorming techniques for creative ideation sessions
  • Multi-agent memory architecture guidance (personal, shared, or both sidecars)

Documentation:

  • New what-are-modules.md explanation doc (architecture, memory patterns, standalone vs expansion)
  • New build-your-first-module.md tutorial (full Diataxis structure)
  • Updated builder-commands.md with Module Builder reference section
  • Updated module-configuration.md — replaced "Upcoming Tooling" with actual module builder docs
  • Updated help CSVs (module-help.csv and bmad-builder-setup asset) with IM, CM, VM entries

Test plan

  • Scaffold script tests pass: python3 skills/bmad-module-builder/scripts/tests/test-scaffold-setup-skill.py
  • Validation script tests pass: python3 skills/bmad-module-builder/scripts/tests/test-validate-module.py
  • Path lint has only 2 expected findings (template SKILL.md inherits bmad-builder-setup patterns)
  • Script lint is clean (0 findings)
  • Docs build successfully
  • Help CSV entries render correctly in help system

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Introduced Module Builder with Ideate, Create (scaffold), and Validate capabilities.
  • Documentation

    • Added "Build Your First Module" tutorial and a new "What Are Modules" explanation.
    • Expanded Builder Commands Reference and added Ideate/Create/Validate references, templates, and guidance across docs.
  • Chores

    • Bumped plugin marketplace version to 1.2.0.

…dation

New skill (bmad-module-builder) with three capabilities:
- Ideate Module (IM): facilitative brainstorming for module planning
- Create Module (CM): scaffold setup skill into existing skills folder
- Validate Module (VM): structural and quality validation of module setup

Includes scaffold script with tests, setup-skill-template assets,
resumable plan document template, and embedded brainstorming techniques.

Documentation updates:
- New explanation doc: what-are-modules.md (architecture, memory patterns)
- New tutorial: build-your-first-module.md (full Diataxis tutorial)
- Updated builder-commands.md with Module Builder reference
- Updated module-configuration.md (replaced Upcoming Tooling section)
- Updated help CSVs with IM, CM, VM entries
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 29, 2026

Warning

Rate limit exceeded

@bmadcode has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 10 minutes and 5 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 10 minutes and 5 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ce58a6a3-ce24-4bf6-ae94-ac1586f6db73

📥 Commits

Reviewing files that changed from the base of the PR and between 8d3c301 and adb263a.

📒 Files selected for processing (85)
  • .github/ISSUE_TEMPLATE/issue.md
  • AGENTS.md
  • CHANGELOG.md
  • CONTRIBUTING.md
  • README.md
  • SECURITY.md
  • docs/404.md
  • docs/_STYLE_GUIDE.md
  • docs/explanation/index.md
  • docs/explanation/module-configuration.md
  • docs/explanation/progressive-disclosure.md
  • docs/explanation/scripts-in-skills.md
  • docs/explanation/skill-authoring-best-practices.md
  • docs/explanation/subagent-patterns.md
  • docs/explanation/what-are-bmad-agents.md
  • docs/explanation/what-are-modules.md
  • docs/explanation/what-are-skills.md
  • docs/explanation/what-are-workflows.md
  • docs/index.md
  • docs/reference/builder-commands.md
  • docs/reference/index.md
  • docs/reference/workflow-patterns.md
  • docs/tutorials/build-your-first-module.md
  • docs/tutorials/index.md
  • samples/bmad-agent-dream-weaver/SKILL.md
  • samples/bmad-agent-dream-weaver/dream-interpret.md
  • samples/bmad-agent-dream-weaver/dream-query.md
  • samples/bmad-agent-dream-weaver/dream-seed.md
  • samples/bmad-agent-dream-weaver/headless-wake.md
  • samples/bmad-agent-dream-weaver/init.md
  • samples/bmad-agent-dream-weaver/lucid-coach.md
  • samples/bmad-agent-dream-weaver/pattern-discovery.md
  • samples/bmad-agent-dream-weaver/recall-training.md
  • samples/bmad-agent-dream-weaver/references/memory-system.md
  • samples/bmad-excalidraw/SKILL.md
  • samples/bmad-excalidraw/diagram-generation.md
  • samples/bmad-excalidraw/guided-design.md
  • samples/bmad-excalidraw/references/diagram-types.md
  • samples/bmad-excalidraw/references/excalidraw-schema.md
  • skills/bmad-agent-builder/SKILL.md
  • skills/bmad-agent-builder/assets/SKILL-template.md
  • skills/bmad-agent-builder/assets/init-template.md
  • skills/bmad-agent-builder/assets/memory-system.md
  • skills/bmad-agent-builder/build-process.md
  • skills/bmad-agent-builder/quality-analysis.md
  • skills/bmad-agent-builder/quality-scan-agent-cohesion.md
  • skills/bmad-agent-builder/quality-scan-enhancement-opportunities.md
  • skills/bmad-agent-builder/quality-scan-execution-efficiency.md
  • skills/bmad-agent-builder/quality-scan-prompt-craft.md
  • skills/bmad-agent-builder/quality-scan-script-opportunities.md
  • skills/bmad-agent-builder/quality-scan-structure.md
  • skills/bmad-agent-builder/references/quality-dimensions.md
  • skills/bmad-agent-builder/references/script-opportunities-reference.md
  • skills/bmad-agent-builder/references/script-standards.md
  • skills/bmad-agent-builder/references/skill-best-practices.md
  • skills/bmad-agent-builder/references/standard-fields.md
  • skills/bmad-agent-builder/references/template-substitution-rules.md
  • skills/bmad-agent-builder/report-quality-scan-creator.md
  • skills/bmad-builder-setup/SKILL.md
  • skills/bmad-module-builder/assets/module-plan-template.md
  • skills/bmad-module-builder/assets/setup-skill-template/SKILL.md
  • skills/bmad-module-builder/assets/setup-skill-template/assets/module.yaml
  • skills/bmad-module-builder/references/create-module.md
  • skills/bmad-module-builder/references/ideate-module.md
  • skills/bmad-module-builder/references/validate-module.md
  • skills/bmad-workflow-builder/SKILL.md
  • skills/bmad-workflow-builder/assets/SKILL-template.md
  • skills/bmad-workflow-builder/build-process.md
  • skills/bmad-workflow-builder/quality-analysis.md
  • skills/bmad-workflow-builder/quality-scan-enhancement-opportunities.md
  • skills/bmad-workflow-builder/quality-scan-execution-efficiency.md
  • skills/bmad-workflow-builder/quality-scan-prompt-craft.md
  • skills/bmad-workflow-builder/quality-scan-script-opportunities.md
  • skills/bmad-workflow-builder/quality-scan-skill-cohesion.md
  • skills/bmad-workflow-builder/quality-scan-workflow-integrity.md
  • skills/bmad-workflow-builder/references/classification-reference.md
  • skills/bmad-workflow-builder/references/complex-workflow-patterns.md
  • skills/bmad-workflow-builder/references/quality-dimensions.md
  • skills/bmad-workflow-builder/references/script-opportunities-reference.md
  • skills/bmad-workflow-builder/references/script-standards.md
  • skills/bmad-workflow-builder/references/skill-best-practices.md
  • skills/bmad-workflow-builder/references/standard-fields.md
  • skills/bmad-workflow-builder/references/template-substitution-rules.md
  • skills/bmad-workflow-builder/report-quality-scan-creator.md
  • website/src/styles/custom.css

Walkthrough

Introduces a BMad Module Builder: three capabilities (Ideate Module, Create Module, Validate Module) plus templates, CLI scripts, scaffolding/merge/cleanup/validate tooling, tests, and comprehensive docs/tutorials to plan, scaffold, and verify installable modules.

Changes

Cohort / File(s) Summary
Plugin Version
\.claude-plugin/marketplace.json
Bumped plugin version 1.1.01.2.0.
New Module Builder Skill & Assets
skills/bmad-module-builder/SKILL.md, skills/bmad-module-builder/assets/*, skills/bmad-module-builder/references/*, skills/bmad-module-builder/scripts/*, skills/bmad-module-builder/scripts/tests/*
Added bmad-module-builder skill, templates, plan template, reference docs (ideate/create/validate), CLI scripts (scaffold/validate/merge-config/merge-help-csv/cleanup-legacy) and subprocess-based tests.
Setup Skill Template — assets & scripts
skills/bmad-module-builder/assets/setup-skill-template/assets/module.yaml, .../scripts/merge-config.py, .../scripts/merge-help-csv.py, .../scripts/cleanup-legacy.py
Added module.yaml template and robust merge/CSV/cleanup scripts handling legacy migration, anti-zombie behavior, JSON reporting, and CLI args.
Scaffold & Validate tooling + tests
skills/bmad-module-builder/scripts/scaffold-setup-skill.py, skills/bmad-module-builder/scripts/validate-module.py, skills/bmad-module-builder/scripts/tests/*
Added scaffold script to generate setup skill from template and validate script to deterministically check module structure and CSV integrity; added tests covering success and error paths.
Documentation — Explanation / Tutorials / Reference
docs/explanation/what-are-modules.md, docs/explanation/module-configuration.md, docs/explanation/index.md, docs/tutorials/build-your-first-module.md, docs/tutorials/index.md, docs/reference/builder-commands.md
New "What Are Modules" page; updated module-configuration to document builder workflow; added full tutorial and updated builder commands to include Module Builder (IM/CM/VM).
Various docs / samples / style fixes
docs/**, samples/**, AGENTS.md, README.md, CHANGELOG.md, CONTRIBUTING.md, SECURITY.md, docs/_STYLE_GUIDE.md
Widespread markdown formatting, quoting, spacing and table alignment edits across docs and samples; minor CSS literal case/style change in website/src/styles/custom.css.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant CM as Create Module (CM)
    participant Ideate as Ideate Module (IM)
    participant SkillScanner as Skill Discovery
    participant Scaffold as scaffold-setup-skill.py
    participant Merge as merge-config.py / merge-help-csv.py
    participant FS as File System

    User->>Ideate: Run Ideate Module (IM) / capture plan
    Ideate-->>User: Write plan to reports (module-plan-template)

    User->>CM: Invoke Create Module with skills folder (or plan)
    CM->>SkillScanner: Scan skills folder (read `SKILL.md`)
    SkillScanner->>FS: Read skill metadata & capabilities
    SkillScanner-->>CM: Return extracted capability list

    CM->>User: Prompt for module identity, CSV ordering, variables (or infer in headless)
    User-->>CM: Provide/confirm module.yaml and module-help.csv
    CM->>FS: Write temporary `module.yaml` and `module-help.csv`
    CM->>Scaffold: Invoke scaffold-setup-skill.py with metadata
    Scaffold->>FS: Copy template, substitute placeholders, write assets
    Scaffold-->>User: Return created setup-skill directory

    User->>Scaffold: Activate setup skill (or run scripts manually)
    Scaffold->>Merge: Invoke merge-config.py & merge-help-csv.py
    Merge->>FS: Read existing `_bmad/` configs and CSVs, apply anti-zombie merge, migrate legacy, delete legacy artifacts
    Merge-->>User: Print JSON summary of writes/cleanup
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Poem

🐰 Modules hop in tidy rows, I cheer,

I plan, scaffold, validate — then we're near.
Merge configs, tidy legacy away,
Builders bundle skills to brighten the day!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add bmad-module-builder skill' clearly and concisely summarizes the primary change—introducing a new skill for building modules with three key capabilities (Ideate, Create, Validate).
Docstring Coverage ✅ Passed Docstring coverage is 82.35% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bmad-installable-entities

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 29, 2026

🤖 Augment PR Summary

Summary: Adds a new bmad-module-builder skill to plan, scaffold, and validate installable BMad modules, plus documentation updates that formalize “modules” as a first-class concept.

Changes:

  • Bumped marketplace version to 1.2.0.
  • Added “What Are Modules?” explanation doc and linked it from the Explanation index.
  • Added a full “Build Your First Module” tutorial and updated Tutorials index.
  • Expanded Builder Commands reference to document Module Builder capabilities (IM/CM/VM) and trigger phrases.
  • Introduced skills/bmad-module-builder skill content (SKILL.md, references, module plan template).
  • Added scaffolding and validation Python scripts (plus tests) and a setup-skill template with merge/cleanup scripts.

Technical Notes: The scaffolder uses an anti-zombie approach (replaces existing setup skill), and the validation script emits a JSON report covering structure, CSV integrity, and reference consistency.

🤖 Was this summary useful? React with 👍 or 👎

Copy link
Copy Markdown

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 3 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

if target.exists():
if args.verbose:
print(f"Removing existing {setup_skill_name}/", file=sys.stderr)
shutil.rmtree(target)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--module-code is interpolated into setup_skill_name/target, and then shutil.rmtree(target) runs if that path exists; a module code containing path separators or .. could escape the intended --target-dir and delete unintended directories. Consider validating module-code against the documented 2–4 letter abbreviation before using it to construct a deletable path.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

module_code = args.module_code

# Build the list of directories to remove
dirs_to_remove = [module_code, "core"] + args.also_remove
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dirs_to_remove is built directly from --module-code and --also-remove and then deleted via shutil.rmtree, so unexpected values like ../path separators can potentially escape the _bmad/ directory and remove unrelated paths. Consider validating directory names (or otherwise ensuring resolved targets stay within --bmad-dir) before deletion.

Severity: high

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

# 5. Check column count consistency
expected_cols = len(CSV_HEADER)
for i, row in enumerate(rows):
if len(row) != expected_cols:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because rows come from csv.DictReader, len(row) is tied to the header and won’t detect short/malformed CSV lines (missing trailing columns), which can let invalid rows through. In those cases row.get('skill') can become None, and later (module_dir / skill / "SKILL.md") will raise a TypeError during the orphan-skill checks.

Severity: medium

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@bmadcode bmadcode merged commit 883c5d0 into main Mar 29, 2026
3 checks passed
bmadcode added a commit that referenced this pull request Mar 29, 2026
Module builder was merged via #48 but marketplace.json was not updated
with the new skill entry, description, or keywords.
bmadcode added a commit that referenced this pull request Mar 29, 2026
Module builder was merged via #48 but marketplace.json was not updated
with the new skill entry, description, or keywords.
bmadcode added a commit that referenced this pull request Mar 29, 2026
Module builder was merged via #48 but marketplace.json was not updated
with the new skill entry, description, or keywords.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant