Skip to content

feat: bmad-installable-entities batch — module builder, workflow convert, path convention fix#49

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

feat: bmad-installable-entities batch — module builder, workflow convert, path convention fix#49
bmadcode merged 6 commits intomainfrom
bmad-installable-entities

Conversation

@bmadcode
Copy link
Copy Markdown
Contributor

@bmadcode bmadcode commented Mar 29, 2026

Summary

  • bmad-module-builder skill — New skill for planning, creating, and validating BMad modules with ideation through 7 phases, scaffold generation, and validation scripts
  • Workflow builder --convert flag — One-command conversion of existing skills into BMad-compliant, outcome-driven equivalents with HTML comparison reports
  • Path convention rule fix — Corrected the {project-root} path standard across both builders (workflow + agent). The old rule wrongly restricted {project-root} to only _bmad paths; the correct semantic is that {project-root} is valid for any project-scope path. Replaced PROJECT_ROOT_NOT_BMAD_RE with DOUBLE_PREFIX_RE to catch {project-root}/{config-var} double-prefixing. Updated 12 files across scanners, reference docs, build process docs, and authoring guides.
  • Prettier formatting applied repo-wide
  • Module builder quality fixes — 5 quality analysis opportunities addressed
  • merge-help-csv header fix — Reconciled with canonical 13-column schema

Test plan

  • Run scan-path-standards.py against both builder skills — verify no false project-root-not-bmad findings
  • Run scan-path-standards.py against a skill with {project-root}/{config-var} — verify double-prefix finding fires
  • Run validate-module.py against an existing module to verify module builder validation
  • Run scaffold-setup-skill.py to verify module scaffolding
  • Verify --convert flag on workflow builder with a sample skill

🤖 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • New Features

    • Added Skill Conversion feature with HTML before/after comparison reports for transforming existing skills into BMad-compliant equivalents.
    • Added headless mode (--headless/-H) support for Module validation and conversion operations.
    • Enhanced module planning template with updated structure including Memory Architecture, Cross-Agent Patterns, and Persona definitions.
  • Documentation

    • Updated path convention guidance to broaden {project-root} usage for all project-scope paths and clarify ./ for skill-internal paths.
    • Expanded validation processes to support concurrent skill analysis and structured JSON reporting formats.

@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 29, 2026

This pull request is too large for Augment to review. The PR exceeds the maximum size limit of 100000 tokens (approximately 400000 characters) for automated code review. Please consider breaking this PR into smaller, more focused changes.

@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 49 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 49 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: 62dba95d-2cb6-458a-9c17-69e3495123b5

📥 Commits

Reviewing files that changed from the base of the PR and between 883c5d0 and 0da1de6.

⛔ Files ignored due to path filters (2)
  • skills/bmad-builder-setup/assets/module-help.csv is excluded by !**/*.csv
  • skills/module-help.csv is excluded by !**/*.csv
📒 Files selected for processing (25)
  • .claude-plugin/marketplace.json
  • docs/explanation/module-configuration.md
  • docs/explanation/skill-authoring-best-practices.md
  • docs/reference/builder-commands.md
  • skills/bmad-agent-builder/build-process.md
  • skills/bmad-agent-builder/references/quality-dimensions.md
  • skills/bmad-agent-builder/references/script-opportunities-reference.md
  • skills/bmad-agent-builder/references/standard-fields.md
  • skills/bmad-agent-builder/scripts/scan-path-standards.py
  • skills/bmad-builder-setup/scripts/merge-help-csv.py
  • skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py
  • skills/bmad-module-builder/SKILL.md
  • skills/bmad-module-builder/assets/module-plan-template.md
  • skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py
  • 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/build-process.md
  • skills/bmad-workflow-builder/references/convert-process.md
  • skills/bmad-workflow-builder/references/quality-dimensions.md
  • skills/bmad-workflow-builder/references/standard-fields.md
  • skills/bmad-workflow-builder/scripts/generate-convert-report.py
  • skills/bmad-workflow-builder/scripts/scan-path-standards.py
  • skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py

Walkthrough

This pull request introduces a comprehensive update to the BMad Builder ecosystem, including a new module-builder skill for planning and scaffolding BMad modules, revised path conventions for configuration and project-scope paths, updated CSV schemas for module help documentation, and extensive documentation improvements across setup flows, configuration management, and builder capabilities.

Changes

Cohort / File(s) Summary
Version & Metadata
.claude-plugin/marketplace.json
Plugin version bumped from 1.1.0 to 1.2.0.
Issue & Contribution Templates
.github/ISSUE_TEMPLATE/issue.md, CONTRIBUTING.md
Blank lines added after section headers in issue template and contribution guidelines for improved readability; table formatting adjusted in contribution guidelines.
Repository Documentation
AGENTS.md, CHANGELOG.md, README.md, SECURITY.md
Formatting improvements: blank lines added before code blocks and after section headers; Markdown tables adjusted for column alignment; documentation files improved for consistency; trailing newlines normalized.
Documentation Landing Pages
docs/index.md, docs/reference/index.md, docs/tutorials/index.md
Table formatting adjusted for consistent column alignment; tutorial index updated to include new "Build Your First Module" tutorial; reference index reformatted for readability.
Documentation 404 & Style Guide
docs/404.md, docs/_STYLE_GUIDE.md
Blank line removed from 404 page; style guide frontmatter and emphasis markup updated (double to single quotes, asterisk to underscore emphasis).
Core Explanation Documentation
docs/explanation/index.md, docs/explanation/what-are-*.md (6 files), 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
Frontmatter title formatting standardized to single quotes; Markdown table column alignment adjusted throughout; emphasis markup updated (asterisk to underscore); blank lines added for spacing; module-configuration.md updated with new CSV schema (module,skill,display-name,menu-code,description,action,args,phase,...).
New Module Documentation
docs/explanation/what-are-modules.md
New comprehensive documentation defining BMad modules, module structure (module.yaml, module-help.csv, setup skill), configuration patterns, memory architectures, module builder capabilities (Ideate/Create/Validate), and expansion module patterns.
Builder Commands Reference
docs/reference/builder-commands.md
Updated to document three builders (Agent, Workflow, Module); added Convert (CW) capability for Workflow Builder; added comprehensive Module Builder (IM/CM/VM) section with interaction constraints, inputs/outputs, and validation checks; expanded trigger phrases table.
New Module Tutorial
docs/tutorials/build-your-first-module.md
New comprehensive tutorial covering full module lifecycle: ideation (IM), skill building (BA/BW), scaffolding (CM), validation (VM); includes examples, FAQ, and reference table mapping capabilities to menu codes.
Workflow Patterns Reference
docs/reference/workflow-patterns.md
Table formatting adjusted for column alignment and spacing without changing content.
Dream Weaver Sample Skill
samples/bmad-agent-dream-weaver/ (6 files)
Emphasis markup updated (asterisk to underscore); blank lines added after section headings; numbered steps renumbered in headless-wake.md and lucid-coach.md; minor YAML formatting adjustments in memory-system.md examples (double to single quotes).
Excalidraw Sample Skill
samples/bmad-excalidraw/ (4 files)
Blank lines inserted before list sections; Markdown table formatting adjusted for alignment; no functional changes to diagram generation or validation logic.
Agent Builder Skills
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/build-process.md, skills/bmad-agent-builder/quality-analysis.md
Quick reference table formatting adjusted; SKILL template description whitespace added; init template blank lines added; build-process.md emphasis markup and table formatting updated; quality-analysis.md table column alignment improved.
Agent Builder Quality Scanners
skills/bmad-agent-builder/quality-scan-*.md (7 files)
Emphasis markup updated throughout (asterisk to underscore); Markdown table column alignment improved; blank lines added for spacing; no changes to scan logic or evaluation criteria.
Agent Builder References
skills/bmad-agent-builder/references/quality-dimensions.md, skills/bmad-agent-builder/references/script-*.md (3 files), skills/bmad-agent-builder/references/standard-fields.md, skills/bmad-agent-builder/references/template-substitution-rules.md
Path construction guidance updated: broadened from "{project-root} for _bmad paths only" to "{project-root} for any project-scope path, ./ for skill-internal"; emphasis markup updated; table formatting improved; blank lines added for readability.
Agent Builder Scripts
skills/bmad-agent-builder/scripts/scan-path-standards.py, skills/bmad-agent-builder/report-quality-scan-creator.md
Script: detection logic changed from project-root-not-bmad to double-prefix pattern ({project-root}/{config-variable}); version bumped 2.0.0 → 2.1.0; documentation: table and spacing formatting improved.
Builder Setup Skill
skills/bmad-builder-setup/SKILL.md, skills/bmad-builder-setup/scripts/merge-help-csv.py, skills/bmad-builder-setup/scripts/tests/test-merge-help-csv.py
SKILL.md: markdown escape added for _config/ directory name; merge-help-csv.py: CSV header schema updated (removed agent-name, skill-name, capability, empty column; added action; renamed columns); test: fixture rows and index assertions updated to match new schema (columns shifted by one position).
New Module Builder Skill
skills/bmad-module-builder/SKILL.md
New skill documentation defining three capabilities: Ideate Module (IM) for architecture planning, Create Module (CM) for scaffolding, Validate Module (VM) for integrity checks; CLI arguments and configuration loading patterns documented; intent routing and headless behavior specified.
Module Builder Assets & Templates
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
New template files for module planning document structure (frontmatter, vision, architecture, skill briefs, configuration, dependencies, roadmap); setup skill installation flow template; module.yaml template with code section, version, greeting placeholder.
Module Builder Setup Scripts
skills/bmad-module-builder/assets/setup-skill-template/scripts/cleanup-legacy.py, skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-config.py, skills/bmad-module-builder/assets/setup-skill-template/scripts/merge-help-csv.py
New scripts: cleanup-legacy.py removes legacy module directories with safety verification; merge-config.py merges module config into shared _bmad/config.yaml and config.user.yaml with legacy migration and anti-zombie patterns; merge-help-csv.py merges module help CSV entries with anti-zombie cleanup and legacy support.
Module Builder Core Scripts
skills/bmad-module-builder/scripts/scaffold-setup-skill.py, skills/bmad-module-builder/scripts/validate-module.py
New scripts: scaffold-setup-skill.py generates setup skill from template with frontmatter substitution and anti-zombie directory handling; validate-module.py checks module structure, CSV integrity, field requirements, reference validity, and outputs JSON findings by severity.
Module Builder Tests
skills/bmad-module-builder/scripts/tests/test-scaffold-setup-skill.py, skills/bmad-module-builder/scripts/tests/test-validate-module.py
New test suites: scaffold tests verify directory creation, placeholder substitution, anti-zombie behavior, and error handling; validate tests check well-formed modules, setup skill detection, CSV entry validation, duplicate detection, reference integrity, and missing field detection.
Module Builder References
skills/bmad-module-builder/references/ideate-module.md, skills/bmad-module-builder/references/create-module.md, skills/bmad-module-builder/references/validate-module.md
New comprehensive reference documentation: Ideate defines planning session flow with resume capability, phased process, and writing discipline; Create specifies step-by-step module generation from existing skills with capability collection and help CSV creation; Validate defines structural checks, quality assessment, and headless output schema.
Workflow Builder Enhancements
skills/bmad-workflow-builder/SKILL.md, skills/bmad-workflow-builder/assets/SKILL-template.md, skills/bmad-workflow-builder/build-process.md
Documentation: added Convert (CW) capability with --convert <path-or-url> CLI argument; intent routing updated to distinguish edit/fix/analyze from convert; build-process.md updated path conventions to use {project-root} for project-scope paths; SKILL template description whitespace adjusted.
Workflow Builder Quality Documentation
skills/bmad-workflow-builder/quality-*.md (8 files)
Emphasis markup updated (asterisk to underscore); Markdown table column alignment improved; blank lines added for spacing; path convention mentions updated from _bmad to project-scope; no changes to scan logic or criteria.
Workflow Builder References
skills/bmad-workflow-builder/references/quality-dimensions.md, skills/bmad-workflow-builder/references/classification-reference.md, skills/bmad-workflow-builder/references/complex-workflow-patterns.md, skills/bmad-workflow-builder/references/script-*.md (2 files), 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
Path construction guidance updated to {project-root} for project-scope paths; emphasis markup updated; table formatting improved; YAML examples updated to single quotes; blank lines added for readability.
New Convert Process Documentation
skills/bmad-workflow-builder/references/convert-process.md
New comprehensive reference defining automated, headless skill conversion workflow: capture original content, rebuild with headless parameters, generate conversion analysis JSON, run report generation; defines change categories (cuts, retained, verdict) and severity levels.
Workflow Builder Conversion Scripts
skills/bmad-workflow-builder/scripts/generate-convert-report.py, skills/bmad-workflow-builder/scripts/scan-path-standards.py, skills/bmad-workflow-builder/scripts/tests/test_generate_convert_report.py
New generate-convert-report.py: measures skill metrics (lines, words, tokens, sections, files), calculates percentage reductions, generates HTML comparison report with embedded JSON data, opens in browser; scan-path-standards.py updated to detect double-prefix pattern instead of project-root-not-bmad; comprehensive test suite for report generation pipeline.
Report Generation & Display
skills/bmad-workflow-builder/report-quality-scan-creator.md
Table and spacing formatting improved; blank lines added for readability; no changes to JSON schema or analysis requirements.
Website Styling
website/src/styles/custom.css
CSS color variables updated from uppercase to lowercase hex notation; font variable formatting collapsed to single line; no functional styling changes.

Sequence Diagram(s)

The changes introduce multiple new features with complex multi-component interactions that meet the criteria for visualization:

sequenceDiagram
    participant User
    participant ModuleBuilder as Module Builder Skill
    participant IM as Ideate Module<br/>(IM)
    participant CM as Create Module<br/>(CM)
    participant ScaffoldScript as scaffold-setup-skill.py
    participant VM as Validate Module<br/>(VM)
    participant ValidateScript as validate-module.py

    User->>ModuleBuilder: Request: Plan New Module
    ModuleBuilder->>IM: Route to Ideate Module
    IM->>IM: Check for existing plan
    IM->>User: Interactive planning session
    User->>IM: Define module architecture
    IM->>User: Generate module.yaml plan
    User->>User: Build individual skills
    User->>ModuleBuilder: Request: Create Module
    ModuleBuilder->>CM: Route to Create Module
    CM->>CM: Discover skills from folder
    CM->>CM: Ingest module plan (optional)
    CM->>CM: Generate module.yaml & CSV
    CM->>ScaffoldScript: Run scaffold-setup-skill.py
    ScaffoldScript->>ScaffoldScript: Copy template
    ScaffoldScript->>ScaffoldScript: Substitute frontmatter
    ScaffoldScript->>ScaffoldScript: Write module files
    ScaffoldScript->>User: Setup skill folder created
    User->>ModuleBuilder: Request: Validate Module
    ModuleBuilder->>VM: Route to Validate Module
    VM->>ValidateScript: Run validate-module.py
    ValidateScript->>ValidateScript: Parse module.yaml
    ValidateScript->>ValidateScript: Validate CSV schema
    ValidateScript->>ValidateScript: Check skill references
    ValidateScript->>ValidateScript: Verify field completeness
    ValidateScript->>User: Validation report (pass/fail)
Loading
sequenceDiagram
    participant User
    participant WorkflowBuilder as Workflow Builder Skill
    participant OriginalSkill as Original Skill<br/>(Input)
    participant BuildProcess as Build Process<br/>(Headless)
    participant RebuiltSkill as Rebuilt Skill<br/>(Output)
    participant AnalysisEngine as Convert Analysis<br/>Engine
    participant ReportGenerator as generate-convert-report.py
    participant HTMLReport as HTML Report<br/>(Browser)

    User->>WorkflowBuilder: --convert <path-or-url>
    WorkflowBuilder->>OriginalSkill: Capture content
    OriginalSkill->>AnalysisEngine: Store original metrics
    AnalysisEngine->>BuildProcess: Invoke (headless)
    BuildProcess->>BuildProcess: Auto-answer discovery
    BuildProcess->>BuildProcess: Rebuild from outcomes
    BuildProcess->>RebuiltSkill: Generate new skill
    RebuiltSkill->>AnalysisEngine: Calculate metrics
    AnalysisEngine->>AnalysisEngine: Categorize changes
    AnalysisEngine->>ReportGenerator: Pass analysis JSON
    ReportGenerator->>ReportGenerator: Measure both skills
    ReportGenerator->>ReportGenerator: Calculate reductions
    ReportGenerator->>ReportGenerator: Generate HTML
    ReportGenerator->>HTMLReport: Open in browser
    HTMLReport->>User: Display comparison
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Possibly related PRs

Poem

🐰 Modules bloom where builders dream
Plans scaffold into living streams
Convert shows what skill can be,
Validation sets the module free!
Hop 🎉

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

…O specs

Addresses issues found in test run:
- Module identity (name, code, description) locked down in phase 1 before
  skill names are written, preventing expensive find-and-replace later
- Writing discipline: raw ideas in phases 1-2, structured sections from phase 3+
- Orchestrator pattern presented as valid multi-agent option
- Output check: verify every agent produces tangible output
- Single-sidecar with daily/curated memory as recommended pattern
- Cross-agent interaction patterns explicitly prompted
- Config section must be filled even if empty ("no config needed")
- Skill briefs now self-contained with persona, inputs/outputs, memory contract
- New mandatory phase 6: capability review with user before finalizing
- HTML report output suggested where appropriate
- Plan template updated with matching structure
1. Parallel/subagent file-reading (CM, VM, IM)
   - CM and VM: parallel batch reads for ≤4 skills, subagent delegation
     for 5+ returning compact JSON instead of bloating parent context
   - CM: selective plan doc reading (structured sections only)
   - IM: cp command for template init instead of reading into context

2. Completion markers and session-resume protocol
   - VM: explicit "Validation complete" signal with follow-up guidance
   - IM: "Session complete" marker at Phase 7 end
   - IM: Session Resume section for re-entry from existing plan documents
   - IM: mandatory soft gate at Phase 2→3 transition

3. Headless output contracts and automation interfaces
   - CM: specified temp file paths at {bmad_builder_reports}, defined
     required vs inferrable inputs, structured JSON output contract with
     inferred object for surfacing wrong inferences
   - VM: added --headless mode with structured JSON for CI gating
   - SKILL.md: updated args to reflect VM headless support

4. Active handoff and workflow continuity
   - IM Phase 7: offers to invoke builder for first skill in roadmap
   - CM: plan doc intake reframed as recommended path with auto-extraction
   - VM: optional durable findings file-write after presenting results
   - CM, VM: config headers now include output format

5. IM writing discipline reinforcement
   - Phase 1: writes "Not ready — complete in Phase 3+" placeholder in
     all structured sections on template init
   - Phase 2: explicitly restricts writes to Ideas Captured only
…ersion

Add a new Convert (CW) capability to the Workflow Builder that takes any
existing skill — bloated, poorly structured, or simply non-BMad-compliant
— and produces a clean, outcome-driven equivalent with a visual
before/after HTML comparison report.

New files:
- references/convert-process.md: 3-step conversion workflow (capture
  original, delegate to build-process for headless rebuild, generate
  comparison report with categorized changes)
- scripts/generate-convert-report.py: Self-contained HTML report
  generator with dark/light mode, hero reduction banner, metrics table
  with visual bars, expandable cut/retained categories, and verdict
- scripts/tests/test_generate_convert_report.py: 11 unit tests covering
  measurement, reduction calculation, report assembly, HTML generation,
  XSS escaping, and end-to-end pipeline

Modified files:
- SKILL.md: Added --convert arg, Convert section, routing table entry,
  updated frontmatter description with convert trigger phrase
- module-help.csv (both installed and source copies): Added CW row
- docs/reference/builder-commands.md: Added Convert to capabilities
  overview, new Convert (CW) section with usage/process/report docs,
  comparison table vs other modes, new trigger phrase row
The path standards scanner incorrectly enforced that {project-root} was
only valid before /_bmad. The correct semantic is that {project-root} is
valid for ANY project-scope path — the distinction is project-scope vs
skill-internal, not _bmad vs everything else.

Changes across workflow-builder and agent-builder (12 files):

Scanner scripts (scan-path-standards.py):
- Removed PROJECT_ROOT_NOT_BMAD_RE (false-positive on valid paths like
  {project-root}/docs/report.md)
- Added DOUBLE_PREFIX_RE to catch {project-root}/{config-var} where
  config variables already contain {project-root} at runtime
- Updated category from project-root-not-bmad to double-prefix
- Bumped version to 2.1.0

Reference docs (standard-fields.md, quality-dimensions.md):
- Renamed "Project _bmad Paths" to "Project-Scope Paths"
- Added non-_bmad example ({project-root}/docs/report.md)
- Changed rule from "Only use {project-root} for _bmad paths" to
  "Use {project-root} for any project-scope path"

Build process docs (build-process.md):
- Updated path conventions section in both builders

Additional docs:
- convert-process.md: updated change-signal table
- script-opportunities-reference.md: fixed comment in script example
- builder-commands.md: updated scanner description
- skill-authoring-best-practices.md: updated path construction rule
merge-help-csv.py defined a 15-column HEADER (agent-name, skill-name,
capability, trailing empty) that diverged from the 13-column schema used
by validate-module.py, all module-help.csv files, and create-module.md.
This would silently corrupt or misalign CSV data during module setup.
@bmadcode bmadcode force-pushed the bmad-installable-entities branch from 9ce60a1 to 38bf61a Compare March 29, 2026 22:18
Module builder was merged via #48 but marketplace.json was not updated
with the new skill entry, description, or keywords.
@bmadcode bmadcode force-pushed the bmad-installable-entities branch from 83f17e2 to 0da1de6 Compare March 29, 2026 22:23
@bmadcode bmadcode merged commit 315f307 into main Mar 29, 2026
4 checks passed
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