refactor(agents): inline capabilities, remove bmad-manifest.json#2029
refactor(agents): inline capabilities, remove bmad-manifest.json#2029
Conversation
…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>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (27)
📝 WalkthroughWalkthroughThis 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment Tip You can customize the high-level summary generated by CodeRabbit.Configure the |
🤖 Augment PR SummarySummary: Refactors BMM agent skills to define capabilities inline in each agent’s Changes:
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 👎 |
| **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. |
There was a problem hiding this comment.
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:52src/bmm/agents/bmad-agent-dev/SKILL.md:62src/bmm/agents/bmad-agent-pm/SKILL.md:57src/bmm/agents/bmad-agent-qa/SKILL.md:59src/bmm/agents/bmad-agent-quick-flow-solo-dev/SKILL.md:53src/bmm/agents/bmad-agent-sm/SKILL.md:53src/bmm/agents/bmad-agent-ux-designer/SKILL.md:53
🤖 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 | |
There was a problem hiding this comment.
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
🤖 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 |
There was a problem hiding this comment.
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:12src/bmm/agents/bmad-agent-architect/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-pm/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-qa/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-quick-flow-solo-dev/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-sm/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-tech-writer/bmad-skill-manifest.yaml:12src/bmm/agents/bmad-agent-ux-designer/bmad-skill-manifest.yaml:12
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Summary
SKILL.mdas a Capabilities table, replacing the dynamic manifest loading patternbmad-manifest.jsonfiles that are no longer neededOn ActivationTest plan
🤖 Generated with Claude Code