expansion update

This commit is contained in:
Brian Madison
2025-06-10 18:14:45 -05:00
parent e3a8f0315c
commit a18ad8bc24
5 changed files with 447 additions and 232 deletions

View File

@@ -4,7 +4,14 @@ This task helps you create a comprehensive BMAD expansion pack that can include
## Understanding Expansion Packs
Expansion packs extend BMAD with domain-specific capabilities. They are self-contained packages that can be installed into any BMAD project.
Expansion packs extend BMAD with domain-specific capabilities. They are self-contained packages that can be installed into any BMAD project. Every expansion pack MUST include a custom BMAD orchestrator agent that manages the domain-specific workflow.
## CRITICAL REQUIREMENTS
1. **Create Planning Document First**: Before any implementation, create a concise task list for user approval
2. **Verify All References**: Any task, template, or data file referenced in an agent MUST exist in the pack
3. **Include Orchestrator**: Every pack needs a custom BMAD-style orchestrator agent
4. **User Data Requirements**: Clearly specify any files users must provide in their data folder
## Process Overview
@@ -28,19 +35,83 @@ Request from the user:
- **Workflow Examples**: How work currently flows in this domain
- **Compliance Needs**: Any regulatory or standards requirements
- **Output Examples**: What final deliverables look like
- **Data Requirements**: What reference data files users will need to provide
#### 1.3 Create Planning Document
**STOP HERE AND CREATE PLAN FIRST**
Create `expansion-packs/{pack-name}/plan.md` with:
```markdown
# {Pack Name} Expansion Pack Plan
## Overview
- Pack Name: {name}
- Description: {description}
- Target Domain: {domain}
## Components to Create
### Agents
- [ ] {pack-name}-orchestrator (REQUIRED: Custom BMAD orchestrator)
- [ ] {agent-1-name}
- [ ] {agent-2-name}
### Tasks
- [ ] {task-1} (referenced by: {agent})
- [ ] {task-2} (referenced by: {agent})
### Templates
- [ ] {template-1} (used by: {agent/task})
- [ ] {template-2} (used by: {agent/task})
### Checklists
- [ ] {checklist-1}
- [ ] {checklist-2}
### Data Files Required from User
- [ ] {filename}.{ext} - {description of content needed}
- [ ] {filename2}.{ext} - {description of content needed}
## Approval
User approval received: [ ] Yes
```
**Wait for user approval before proceeding to Phase 2**
### Phase 2: Component Design
#### 2.1 Identify Required Agents
#### 2.1 Create Orchestrator Agent
For each proposed agent:
**FIRST PRIORITY**: Design the custom BMAD orchestrator:
- **Name**: `{pack-name}-orchestrator`
- **Purpose**: Master coordinator for domain-specific workflow
- **Key Commands**: Domain-specific orchestration commands
- **Integration**: How it leverages other pack agents
- **Workflow**: The complete process it manages
#### 2.2 Identify Specialist Agents
For each additional agent:
- **Role**: What specialist is needed?
- **Expertise**: Domain-specific knowledge required
- **Interactions**: How they work with existing BMAD agents
- **Interactions**: How they work with orchestrator and BMAD agents
- **Unique Value**: What can't existing agents handle?
- **Required Tasks**: List ALL tasks this agent references
- **Required Templates**: List ALL templates this agent uses
- **Required Data**: List ALL data files this agent needs
#### 2.2 Design Specialized Tasks
#### 2.3 Design Specialized Tasks
For each task:
@@ -50,7 +121,7 @@ For each task:
- **Outputs**: What gets produced?
- **Agent Usage**: Which agents will use this task?
#### 2.3 Create Document Templates
#### 2.4 Create Document Templates
For each template:
@@ -60,7 +131,7 @@ For each template:
- **Instructions**: How to complete each section
- **Standards**: Any format requirements
#### 2.4 Define Checklists
#### 2.5 Define Checklists
For each checklist:
@@ -71,18 +142,21 @@ For each checklist:
### Phase 3: Implementation
**Only proceed after plan.md is approved**
#### 3.1 Create Directory Structure
**IMPORTANT**: User-created expansion packs should start with a period (.) to ensure they are gitignored and don't conflict with repo updates.
```
```text
expansion-packs/
└── .{pack-name}/
└── {pack-name}/
├── plan.md (ALREADY CREATED)
├── manifest.yml
├── README.md
├── agents/
│ ├── {pack-name}-orchestrator.yml (REQUIRED)
│ └── {agent-id}.yml
├── personas/
│ ├── {pack-name}-orchestrator.md (REQUIRED)
│ └── {agent-id}.md
├── tasks/
│ └── {task-name}.md
@@ -91,6 +165,7 @@ expansion-packs/
├── checklists/
│ └── {checklist-name}.md
└── ide-agents/
├── {pack-name}-orchestrator.ide.md (REQUIRED)
└── {agent-id}.ide.md
```
@@ -99,58 +174,82 @@ expansion-packs/
Create `manifest.yml`:
```yaml
name: { Pack Name }
name: {pack-name}
version: 1.0.0
description: >-
{Detailed description of the expansion pack}
author: { Your name or organization }
author: {Your name or organization}
bmad_version: "4.0.0"
# Files to install (with . prefix for gitignore)
# Files to create in the expansion pack
files:
- source: agents/{agent-id}.yml
destination: agents/.{agent-id}.yml
- source: personas/{agent-id}.md
destination: bmad-core/personas/.{agent-id}.md
- source: tasks/{task-name}.md
destination: bmad-core/tasks/.{task-name}.md
- source: templates/{template-name}.md
destination: bmad-core/templates/.{template-name}.md
- source: checklists/{checklist-name}.md
destination: bmad-core/checklists/.{checklist-name}.md
- source: ide-agents/{agent-id}.ide.md
destination: bmad-core/ide-agents/.{agent-id}.ide.md
# ... more files
agents:
- {pack-name}-orchestrator.yml
- {agent-name}.yml
# Optional: Update existing teams
team_updates:
- team: team-technical.yml
add_agent: { new-agent-id }
personas:
- {pack-name}-orchestrator.md
- {agent-name}.md
ide-agents:
- {pack-name}-orchestrator.ide.md
- {agent-name}.ide.md
tasks:
- {task-name}.md
templates:
- {template-name}.md
checklists:
- {checklist-name}.md
# Data files users must provide
required_data:
- filename: {data-file}.{ext}
description: {What this file should contain}
location: bmad-core/data/
# Dependencies on core BMAD components
dependencies:
- {core-agent-name}
- {core-task-name}
# Post-install message
post_install_message: >-
{Pack Name} installed successfully!
post_install_message: |
{Pack Name} expansion pack ready!
New agents available: {list agents}
New tasks available: {list tasks}
Required data files:
- {data-file}.{ext}: {description}
Run 'npm run build' to generate bundles.
To use: npm run agent {pack-name}-orchestrator
```
### Phase 4: Content Creation
#### 4.1 Agent Creation Checklist
**Work through plan.md checklist systematically**
For each new agent:
#### 4.1 Create Orchestrator First
1. Create `personas/{pack-name}-orchestrator.md` with BMAD-style commands
2. Create `agents/{pack-name}-orchestrator.yml` configuration
3. Create `ide-agents/{pack-name}-orchestrator.ide.md`
4. Verify ALL referenced tasks exist
5. Verify ALL referenced templates exist
6. Document data file requirements
#### 4.2 Agent Creation Order
For each additional agent:
1. Create persona file with domain expertise
2. Create agent configuration YAML
3. Create IDE-optimized version (optional)
4. List all task dependencies
5. Define template usage
6. Add to relevant teams
3. Create IDE-optimized version
4. **STOP** - Verify all referenced tasks/templates exist
5. Create any missing tasks/templates immediately
6. Mark agent as complete in plan.md
#### 4.2 Task Creation Guidelines
#### 4.3 Task Creation Guidelines
Each task should:
@@ -160,7 +259,7 @@ Each task should:
4. Reference domain standards
5. Be reusable across agents
#### 4.3 Template Best Practices
#### 4.4 Template Best Practices
Templates should:
@@ -170,37 +269,70 @@ Templates should:
4. Mark required vs optional sections
5. Include domain-specific terminology
### Phase 5: Testing and Documentation
### Phase 5: Verification and Documentation
#### 5.1 Create README
#### 5.1 Final Verification Checklist
Before declaring complete:
1. [ ] All items in plan.md marked complete
2. [ ] Orchestrator agent created and tested
3. [ ] All agent references validated
4. [ ] All required data files documented
5. [ ] manifest.yml lists all components
6. [ ] No orphaned tasks or templates
#### 5.2 Create README
Include:
- Overview of the pack's purpose
- **Orchestrator usage instructions**
- Required data files and formats
- List of all components
- Installation instructions
- Usage examples
- Integration notes
- Integration with BMAD workflow
- Example scenarios
#### 5.2 Test Installation
#### 5.3 Data File Documentation
1. Run `node tools/install-expansion-pack.js .{pack-name}`
2. Verify all files copied correctly (should have . prefix)
3. Build agents to test configurations
4. Run sample scenarios
For each required data file:
```markdown
## Required Data Files
### {filename}.{ext}
- **Purpose**: {why this file is needed}
- **Format**: {file format and structure}
- **Location**: Place in `bmad-core/data/`
- **Example**:
```
{sample content}
```
```
## Example: Healthcare Expansion Pack
```
.healthcare/
```text
healthcare/
├── plan.md (Created first for approval)
├── manifest.yml
├── README.md
├── agents/
│ ├── healthcare-orchestrator.yml (REQUIRED)
│ ├── clinical-analyst.yml
│ └── compliance-officer.yml
├── personas/
│ ├── healthcare-orchestrator.md (REQUIRED)
│ ├── clinical-analyst.md
│ └── compliance-officer.md
├── ide-agents/
│ ├── healthcare-orchestrator.ide.md (REQUIRED)
│ ├── clinical-analyst.ide.md
│ └── compliance-officer.ide.md
├── tasks/
│ ├── hipaa-assessment.md
│ ├── clinical-protocol-review.md
@@ -212,6 +344,10 @@ Include:
└── checklists/
├── hipaa-checklist.md
└── clinical-data-quality.md
Required user data files:
- bmad-core/data/medical-terminology.md
- bmad-core/data/hipaa-requirements.md
```
## Interactive Questions Flow
@@ -222,43 +358,74 @@ Include:
2. "What are the main challenges or workflows in this domain?"
3. "Do you have any example documents or outputs? (Please share)"
4. "What specialized roles/experts exist in this domain?"
5. "What reference data will users need to provide?"
### Planning Phase
6. "Here's the proposed plan. Please review and approve before we continue."
### Orchestrator Design
7. "What key commands should the {pack-name} orchestrator support?"
8. "What's the typical workflow from start to finish?"
9. "How should it integrate with core BMAD agents?"
### Agent Planning
5. "For agent '{name}', what is their specific expertise?"
6. "What unique tasks would this agent perform?"
7. "How would they interact with existing BMAD agents?"
10. "For agent '{name}', what is their specific expertise?"
11. "What tasks will this agent reference? (I'll create them)"
12. "What templates will this agent use? (I'll create them)"
13. "What data files will this agent need? (You'll provide these)"
### Task Design
8. "Describe the '{task}' process step-by-step"
9. "What information is needed to complete this task?"
10. "What should the output look like?"
14. "Describe the '{task}' process step-by-step"
15. "What information is needed to complete this task?"
16. "What should the output look like?"
### Template Creation
11. "What sections should the '{template}' document have?"
12. "Are there any required formats or standards?"
13. "Can you provide an example of a completed document?"
17. "What sections should the '{template}' document have?"
18. "Are there any required formats or standards?"
19. "Can you provide an example of a completed document?"
### Integration
### Data Requirements
14. "Which existing teams should include these new agents?"
15. "Are there any dependencies between components?"
20. "For {data-file}, what information should it contain?"
21. "What format should this data be in?"
22. "Can you provide a sample?"
## Important Considerations
- **Plan First**: ALWAYS create and get approval for plan.md before implementing
- **Orchestrator Required**: Every pack MUST have a custom BMAD orchestrator
- **Verify References**: ALL referenced tasks/templates MUST exist
- **Document Data Needs**: Clearly specify what users must provide
- **Domain Expertise**: Ensure accuracy in specialized fields
- **Compliance**: Include necessary regulatory requirements
- **Compatibility**: Test with existing BMAD agents
- **Documentation**: Provide clear usage instructions
- **Examples**: Include real-world scenarios
- **Maintenance**: Plan for updates as domain evolves
## Tips for Success
1. **Start Small**: Begin with 1-2 agents and expand
2. **Get Examples**: Real documents make better templates
3. **Test Thoroughly**: Run complete workflows
4. **Document Well**: Others will need to understand the domain
5. **Iterate**: Refine based on usage feedback
1. **Plan Thoroughly**: The plan.md prevents missing components
2. **Build Orchestrator First**: It defines the overall workflow
3. **Verify As You Go**: Check off items in plan.md
4. **Test References**: Ensure no broken dependencies
5. **Document Data**: Users need clear data file instructions
## Common Mistakes to Avoid
1. **Missing Orchestrator**: Every pack needs its own BMAD-style orchestrator
2. **Orphaned References**: Agent references task that doesn't exist
3. **Unclear Data Needs**: Not specifying required user data files
4. **Skipping Plan**: Going straight to implementation
5. **Generic Orchestrator**: Not making it domain-specific
## Completion Checklist
- [ ] plan.md created and approved
- [ ] All plan.md items checked off
- [ ] Orchestrator agent created
- [ ] All agent references verified
- [ ] Data requirements documented or added
- [ ] README includes all setup instructions
- [ ] manifest.yml reflects actual files

View File

@@ -0,0 +1,91 @@
# {Pack Name} Expansion Pack Plan
## Overview
- **Pack Name**: {pack-identifier}
- **Display Name**: {Full Expansion Pack Name}
- **Description**: {Brief description of what this pack does}
- **Target Domain**: {Industry/domain this serves}
- **Author**: {Your name/organization}
## Problem Statement
{What specific challenges does this expansion pack solve?}
## Target Users
{Who will benefit from this expansion pack?}
## Components to Create
### Agents
- [ ] `{pack-name}-orchestrator` - **REQUIRED**: Master orchestrator for {domain} workflows
- Key commands: {list main commands}
- Manages: {what it orchestrates}
- [ ] `{agent-1-name}` - {Role description}
- Tasks used: {task-1}, {task-2}
- Templates used: {template-1}
- Data required: {data-file-1}
- [ ] `{agent-2-name}` - {Role description}
- Tasks used: {task-3}
- Templates used: {template-2}
- Data required: {data-file-2}
### Tasks
- [ ] `{task-1}.md` - {Purpose} (used by: {agent})
- [ ] `{task-2}.md` - {Purpose} (used by: {agent})
- [ ] `{task-3}.md` - {Purpose} (used by: {agent})
### Templates
- [ ] `{template-1}-tmpl.md` - {Document type} (used by: {agent/task})
- [ ] `{template-2}-tmpl.md` - {Document type} (used by: {agent/task})
### Checklists
- [ ] `{checklist-1}-checklist.md` - {What it validates}
- [ ] `{checklist-2}-checklist.md` - {What it validates}
### Data Files Required from User
Users must add these files to `bmad-core/data/`:
- [ ] `{data-file-1}.{ext}` - {Description of required content}
- Format: {file format}
- Purpose: {why needed}
- Example: {brief example}
- [ ] `{data-file-2}.{ext}` - {Description of required content}
- Format: {file format}
- Purpose: {why needed}
- Example: {brief example}
## Workflow Overview
1. {Step 1 - typically starts with orchestrator}
2. {Step 2}
3. {Step 3}
4. {Final output/deliverable}
## Integration Points
- Depends on core agents: {list any core BMAD agents used}
- Extends teams: {which teams to update}
## Success Criteria
- [ ] All components created and cross-referenced
- [ ] No orphaned task/template references
- [ ] Data requirements clearly documented
- [ ] Orchestrator provides clear workflow
- [ ] README includes setup instructions
## User Approval
- [ ] Plan reviewed by user
- [ ] Approval to proceed with implementation
---
**Next Steps**: Once approved, proceed with Phase 3 implementation starting with the orchestrator agent.