Skip to content

refactor(agents): inline capabilities, remove bmad-manifest.json#2029

Merged
bmadcode merged 1 commit intomainfrom
fix/agent-skill-manifests
Mar 16, 2026
Merged

refactor(agents): inline capabilities, remove bmad-manifest.json#2029
bmadcode merged 1 commit intomainfrom
fix/agent-skill-manifests

Conversation

@bmadcode
Copy link
Copy Markdown
Collaborator

Summary

  • Inline agent capabilities directly into each agent's SKILL.md as a Capabilities table, replacing the dynamic manifest loading pattern
  • Remove all 9 bmad-manifest.json files that are no longer needed
  • Simplify agent activation by removing the manifest parsing step from On Activation

Test plan

  • All 232 installation component tests pass
  • All 52 agent schema validation tests pass
  • All 7 CSV file reference tests pass
  • Linting, markdown lint, and formatting checks pass
  • Verify agent activation works correctly with inline capabilities (manual test)

🤖 Generated with Claude Code

…fest.json

Replace dynamic manifest loading with static Capabilities tables directly
in each agent's SKILL.md. This eliminates the bmad-manifest.json files and
simplifies agent activation by removing the manifest parsing step.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bmadcode bmadcode merged commit e5062a8 into main Mar 16, 2026
7 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 16, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 93020b9b-9a85-4912-8ab1-4bcaba45726e

📥 Commits

Reviewing files that changed from the base of the PR and between 21123d6 and 6a0c5a1.

📒 Files selected for processing (27)
  • src/bmm/agents/bmad-agent-analyst/SKILL.md
  • src/bmm/agents/bmad-agent-analyst/bmad-manifest.json
  • src/bmm/agents/bmad-agent-analyst/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-architect/SKILL.md
  • src/bmm/agents/bmad-agent-architect/bmad-manifest.json
  • src/bmm/agents/bmad-agent-architect/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-dev/SKILL.md
  • src/bmm/agents/bmad-agent-dev/bmad-manifest.json
  • src/bmm/agents/bmad-agent-dev/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-pm/SKILL.md
  • src/bmm/agents/bmad-agent-pm/bmad-manifest.json
  • src/bmm/agents/bmad-agent-pm/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-qa/SKILL.md
  • src/bmm/agents/bmad-agent-qa/bmad-manifest.json
  • src/bmm/agents/bmad-agent-qa/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-quick-flow-solo-dev/SKILL.md
  • src/bmm/agents/bmad-agent-quick-flow-solo-dev/bmad-manifest.json
  • src/bmm/agents/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-sm/SKILL.md
  • src/bmm/agents/bmad-agent-sm/bmad-manifest.json
  • src/bmm/agents/bmad-agent-sm/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-tech-writer/SKILL.md
  • src/bmm/agents/bmad-agent-tech-writer/bmad-manifest.json
  • src/bmm/agents/bmad-agent-tech-writer/bmad-skill-manifest.yaml
  • src/bmm/agents/bmad-agent-ux-designer/SKILL.md
  • src/bmm/agents/bmad-agent-ux-designer/bmad-manifest.json
  • src/bmm/agents/bmad-agent-ux-designer/bmad-skill-manifest.yaml

📝 Walkthrough

Walkthrough

This PR refactors nine BMAD agents (analyst, architect, dev, PM, QA, quick-flow-solo-dev, Scrum Master, tech-writer, UX designer) by consolidating capability definitions into SKILL.md Capabilities tables, standardizing agent manifest identifiers with "bmad-agent-" prefixes, and replacing dynamic manifest-driven capability resolution with direct invocation of registered skill names.

Changes

Cohort / File(s) Summary
Agent Analyst
src/bmm/agents/bmad-agent-analyst/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table; removed dynamic manifest loading and menu generation; simplified activation flow to greet, remind about bmad-help, and present capabilities. Renamed manifest identifiers from "analyst" to "bmad-agent-analyst". Deleted bmad-manifest.json.
Agent Architect
src/bmm/agents/bmad-agent-architect/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table with create-architecture (CA) and implementation-readiness (IR); removed manifest-driven dynamic menu generation. Simplified CRITICAL Handling to invoke exact skill names from Capabilities table. Deleted bmad-manifest.json and renamed identifiers to "bmad-agent-architect".
Agent Dev
src/bmm/agents/bmad-agent-dev/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities section with dev-story (DS) and code-review (CR) mappings. Replaced manifest loading with static Capabilities table presentation. Updated identifiers from "dev" to "bmad-agent-dev". Deleted bmad-manifest.json.
Agent PM
src/bmm/agents/bmad-agent-pm/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table; removed dynamic menu generation and manifest reference. Updated CRITICAL Handling to invoke exact capability names. Renamed manifest fields from "pm" to "bmad-agent-pm". Deleted bmad-manifest.json containing six capabilities.
Agent QA
src/bmm/agents/bmad-agent-qa/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities section with QA code mapping to bmad-qa-generate-e2e-tests. Removed manifest-driven dynamic menu; simplified to static capability presentation. Updated identifiers to "bmad-agent-qa" and modified identity description. Deleted bmad-manifest.json.
Agent Quick-Flow-Solo-Dev
src/bmm/agents/bmad-agent-quick-flow-solo-dev/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table; removed manifest loading and dynamic menu rules. Simplified activation to greet and present capabilities from Capabilities section. Renamed identifiers from "quick-flow-solo-dev" to "bmad-agent-quick-flow-solo-dev". Deleted bmad-manifest.json.
Agent Scrum Master
src/bmm/agents/bmad-agent-sm/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table; replaced procedural manifest loading with reminder about bmad-help and static capabilities presentation. Updated CRITICAL Handling to use exact registered names. Renamed identifiers from "sm" to "bmad-agent-sm". Deleted bmad-manifest.json.
Agent Tech-Writer
src/bmm/agents/bmad-agent-tech-writer/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities section; removed explicit manifest loading and dynamic menu generation. Updated activation flow with reminder about bmad-help. Renamed identifiers to "bmad-agent-tech-writer". Deleted bmad-manifest.json containing five capabilities.
Agent UX-Designer
src/bmm/agents/bmad-agent-ux-designer/SKILL.md, bmad-manifest.json, bmad-skill-manifest.yaml
Added Capabilities table with create-ux (CU) mapping; removed manifest-driven capability loading. Simplified CRITICAL Handling to invoke exact skill names from Capabilities table without on-the-fly invention. Renamed identifiers from "ux-designer" to "bmad-agent-ux-designer". Deleted bmad-manifest.json.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • #1868 — Refactors skill infrastructure to use SKILL.md as canonical entrypoint with manifest installer parsing, directly aligned with this PR's SKILL.md consolidation approach.
  • #2021 — Updates agent manifest and skill files with similar changes to capability loading and presentation from manifest-based to static table-based patterns.
  • #1934 — Converts the UX agent's create-ux-design workflow into native skill bmad-create-ux-design, which this PR now invokes directly from the Capabilities table.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/agent-skill-manifests
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

You can customize the high-level summary generated by CodeRabbit.

Configure the reviews.high_level_summary_instructions setting to provide custom instructions for generating the high-level summary.

@augmentcode
Copy link
Copy Markdown

augmentcode bot commented Mar 16, 2026

🤖 Augment PR Summary

Summary: Refactors BMM agent skills to define capabilities inline in each agent’s SKILL.md, removing the per-agent bmad-manifest.json loading/menu-generation pattern.

Changes:

  • Added a ## Capabilities markdown table to each agent SKILL.md listing menu codes and the corresponding skill (and for Tech Writer, prompt) targets.
  • Simplified “On Activation” instructions to present capabilities from the inline table and removed the manifest parsing/dynamic menu generation steps.
  • Deleted the now-unused agent bmad-manifest.json files (9 total).
  • Updated each agent’s bmad-skill-manifest.yaml name and canonicalId values to align with the bmad-agent-* naming convention.

Technical Notes: This moves capability definitions from runtime JSON discovery into static agent content, reducing activation complexity and keeping menus co-located with agent behavior instructions. Automated installation/component/schema tests are noted as passing; manual verification of agent activation with inline capabilities is still pending.

🤖 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.

**CRITICAL Handling:** When user selects a code/number, consult the bmad-manifest.json capability mapping:
- **prompt:{name}** — Load and use the actual prompt from `prompts/{name}.md` — DO NOT invent the capability on the fly
- **skill:{name}** — Invoke the skill by its exact registered name
**CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

With capabilities now shown as an unnumbered table, the instruction to accept a "line number" (and earlier "number") is ambiguous because there’s no stable numeric mapping for the user to reference. Consider clarifying how numbers map to rows (or dropping numeric selection) to avoid incorrect skill invocations.

Severity: low

Other Locations
  • src/bmm/agents/bmad-agent-architect/SKILL.md:52
  • src/bmm/agents/bmad-agent-dev/SKILL.md:62
  • src/bmm/agents/bmad-agent-pm/SKILL.md:57
  • src/bmm/agents/bmad-agent-qa/SKILL.md:59
  • src/bmm/agents/bmad-agent-quick-flow-solo-dev/SKILL.md:53
  • src/bmm/agents/bmad-agent-sm/SKILL.md:53
  • src/bmm/agents/bmad-agent-ux-designer/SKILL.md:53

Fix This in Augment

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


| Code | Description | Skill or Prompt |
|------|-------------|-------|
| DP | Generate comprehensive project documentation (brownfield analysis, architecture scanning) | skill: bmad-document-project |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The Capabilities table uses values like skill: bmad-document-project, but the CRITICAL handling asks to invoke skills by their exact registered names; a user (or the agent) could treat the skill: prefix as part of the name and fail invocation. Consider separating “Type” from “Name”, or otherwise making it explicit that skill:/prompt: are annotations and not part of the callable identifier.

Severity: medium

Fix This in Augment

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

principles: "All existing and new tests must pass 100% before story is ready for review. Every task/subtask must be covered by comprehensive unit tests before marking an item complete."
module: bmm
canonicalId: bmad-dev
canonicalId: bmad-agent-dev
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Changing agent canonicalId to bmad-agent-* will change the installed agent skill IDs/filenames, but several user-facing references still mention the legacy IDs (e.g., bmad-dev, bmad-pm). Please ensure docs/help prompts and any canonicalId mappings are updated consistently so users aren’t instructed to invoke non-existent agent skills.

Severity: medium

Other Locations
  • src/bmm/agents/bmad-agent-analyst/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-architect/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-pm/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-qa/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-sm/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-tech-writer/bmad-skill-manifest.yaml:12
  • src/bmm/agents/bmad-agent-ux-designer/bmad-skill-manifest.yaml:12

Fix This in Augment

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

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