Architecture overview, agent development patterns, and contribution guidelines for Convoke.
All agents follow a standard pattern:
- XML-based agent structure — Agent definition in markdown code blocks
- Config-driven personalization —
user_name,communication_language,output_folder - Step-file workflow pattern — Just-in-time sequential loading (steps are only loaded when reached)
- Menu-driven interaction — Numeric, text, and fuzzy command matching
- Artifact generation — Template-based professional output
See: Agent Architecture Framework
Key modules in scripts/update/lib/:
| Module | Responsibility |
|---|---|
utils.js |
getPackageVersion(), compareVersions(), findProjectRoot() |
refresh-installation.js |
Shared refresh (agents, workflows, config, guides) |
migration-runner.js |
Orchestration (deltas → refresh → validate) |
config-merger.js |
mergeConfig() with structural defaults for fresh installs |
validator.js |
Validates all agents (7 Vortex + 4 Gyre), workflows, config, manifest, skills |
Migrations live in scripts/update/migrations/registry.js (append-only).
- Never hardcode version strings — use
getPackageVersion()frompackage.json - Never use
process.cwd()directly — usefindProjectRoot()or acceptprojectRootparam - Migration files contain only delta logic —
refreshInstallation()handles file copying - Registry entries have no
toVersion— target is always the current package version - All filesystem functions accept a
projectRootparameter for testability
-
Clone an existing agent as a template:
cp _bmad/bme/_vortex/agents/contextualization-expert/SKILL.md \ _bmad/bme/_vortex/agents/your-agent/SKILL.md
-
Customize the agent definition:
- Update persona (role, identity, communication style, principles)
- Define menu options (workflows, chat, validate)
- Create workflow step files in
_bmad/bme/_vortex/workflows/your-workflow/steps/ - Add output templates
-
Register in manifest:
"your-agent","YourName","Your Title","icon","role","identity",...
-
Test thoroughly:
- Follow Emma's test plan structure (39 scenarios)
- Execute P0 tests (18 critical scenarios minimum)
- Target: 100% P0 pass rate
Use /bmad-team-factory for a guided workflow that handles the full creation process — composition pattern selection, agent scope definition, contract design, artifact generation, and integration wiring. The factory produces output that passes the same validation as native teams (Vortex, Gyre).
Three capabilities: Create Team (new team from scratch), Add Agent (extend existing team), Add Skill (new workflow for existing agent).
| Element | Convention | Example |
|---|---|---|
| Agent file | Role-based with dashes | discovery-empathy-expert.md |
| Frontmatter name | Spaces, lowercase | "discovery empathy expert" |
| Display name | First name | name="Isla" |
| User guide | Uppercase first name | ISLA-USER-GUIDE.md |
See: Emma Reference Implementation
Convoke/
├── _bmad/bme/
│ ├── _vortex/ # Team: Product Discovery (7 agents, 22 workflows)
│ ├── _gyre/ # Team: Production Readiness (4 agents, 7 workflows)
│ └── _enhance/ # Skill: Agent Capability Upgrades
├── _bmad-output/
│ ├── vortex-artifacts/ # Vortex generated artifacts
│ └── gyre-artifacts/ # Gyre generated artifacts
├── scripts/
│ ├── install-vortex-agents.js
│ ├── install-gyre-agents.js
│ ├── install-all-agents.js
│ ├── convoke-doctor.js
│ └── update/
│ ├── lib/ # Update system modules
│ └── migrations/ # Migration registry + delta files
├── tests/
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── p0/ # P0 gate tests (release quality)
├── docs/ # Documentation (you're here)
├── package.json # convoke-agents
├── CHANGELOG.md # Version history
└── UPDATE-GUIDE.md # Migration documentation
Agents and Workflows:
- Workflow improvements and template enhancements for all 11 agents (7 Vortex + 4 Gyre)
- New workflow variants and specialized templates
Testing:
- P0 test suites for Isla, Mila, Liam, Noah, and Max
- Edge case and performance testing
- Expanding coverage for known gaps (see Testing)
Documentation:
- Tutorials and video walkthroughs
- Translation/internationalization
Integration:
- IDE plugins
- Third-party tool integrations
npm test # Unit tests
npm run test:integration # Integration tests
npm run test:all # All tests
npm run test:coverage # Coverage with thresholds
npm run lint # ESLint- Domain Specialization — Each agent brings deep expertise in a specific domain rather than generic capabilities
- Standard Interface, Diverse Expertise — All agents use the same framework for consistency, but each has unique workflows and knowledge
- Research-Driven Design — Workflows based on proven frameworks (Jobs-to-be-Done, Lean Startup, Build-Measure-Learn)
- Test-First Development — 100% P0 test coverage required before operational approval
- Documentation as First-Class Citizen — User guides required for each agent
- Clear Error Messages — Users should never be confused about what went wrong or how to fix it
Back to README | Agents | Testing | FAQ