waldstorm
Multi-agent orchestration that brings together specialized experts to analyze, plan, and execute tasks with comprehensive coverage.
Overview
- Analyze the task and select 3-5 relevant experts
- Create a team and dispatch expert teammates in parallel
- Collect findings from teammate messages and synthesize into prioritized action items
- Write implementation plan to file using
superpowers:writing-plans - Execute with checkpoints and progress journaling
Expert Panel
General Agents (Built-in)
Each expert has a dedicated agent definition in agents/ with frontmatter (name, description, tools, model, memory) and persona prompt:
| Agent | File | Focus Area |
|---|---|---|
| Senior Developer | senior-developer.md | Architecture, code quality, maintainability |
| DevOps Engineer | devops-engineer.md | CI/CD, deployment, observability |
| Code Reviewer | code-reviewer.md | Best practices, consistency, edge cases |
| Performance Expert | performance-expert.md | Bottlenecks, scalability, caching |
| Security Engineer | security-engineer.md | Vulnerabilities, auth, OWASP |
| QA/Testing Expert | qa-testing-expert.md | Test coverage, failure modes |
| Debugger/Troubleshooter | debugger-troubleshooter.md | Root cause analysis, logging |
| Database Expert | database-expert.md | Schema, queries, migrations |
| API Designer | api-designer.md | Interface contracts, versioning |
| Platform/Infra | platform-infra.md | Kubernetes, cloud architecture |
| Documentation Writer | documentation-writer.md | Clarity, examples, onboarding |
| Cost Analyst | cost-analyst.md | Resource efficiency, cloud spend |
Domain-Specific Agents (Project-Local)
Projects can define domain-specific agents in their plugin agents/ directories or in .claude/agents/.
Discovery: At task start, check for project-local agent definitions:
- Plugin agents:
plugins/*/agents/*.md - Project agents:
.claude/agents/*.md
Each agent file uses frontmatter (name, description, tools, model, memory) followed by persona prompt and analysis instructions.
Usage: Domain agents are selected alongside general agents when their description triggers match the task. Spawn them as teammates like general agents.
Instructions
Step 1: Understand the Task
Ask the user to describe the task if not already provided. Gather:
- What needs to be accomplished
- Any constraints or requirements
- Relevant context (files, systems involved)
Step 2: Discover Domain Agents
Check for project-local domain agents:
- Look for plugin
agents/directories and.claude/agents/in the project - If found, read agent descriptions to understand their specialties
- Note available domain agents and their trigger keywords
Domain agents bring specialized knowledge that general agents lack (e.g., specific APIs, data models, deployment patterns).
Step 3: Select Relevant Agents
Analyze the task domain and select 3-5 agents from both pools:
- General agents (built-in) for cross-cutting concerns
- Domain agents (project-local) for specialized knowledge
Use this guide for general agents:
| Task Domain | Recommended Agents |
|---|---|
| New feature | Senior Dev, Code Reviewer, QA, Security |
| Database work | Database Expert, Performance, Senior Dev |
| API changes | API Designer, Security, Code Reviewer |
| Infrastructure | DevOps, Platform/Infra, Cost Analyst, Security |
| Bug fix | Debugger, Senior Dev, QA |
| Performance issue | Performance Expert, Database, Debugger |
| Security audit | Security Engineer, Code Reviewer |
| Documentation | Documentation Writer, Senior Dev |
| Cost optimization | Cost Analyst, Platform/Infra, DevOps |
Announce: "Selected agents for this task: [list agents and why]"
If domain agents are selected, note their source.
Step 4: Create Team and Dispatch Agent Teammates
Create a team and spawn agent teammates for parallel analysis:
- Create team: Use
TeamCreatewithteam_name: "waldstorm-{task-slug}"(e.g.,waldstorm-add-auth) - Create tasks: Use
TaskCreatefor each agent's analysis task, including:- Subject:
"{Agent Name} analysis" - Description: the task description + what the agent should analyze
- Subject:
- Spawn teammates: Use the
Tasktool withteam_nameandnameparams to launch one teammate per agent. Each teammate's prompt should include the agent's persona and instructions from their agent definition file inagents/. - Assign tasks: Use
TaskUpdatewithownerto assign each task to its teammate
Each agent returns via message:
- Concerns (prioritized HIGH/MEDIUM/LOW)
- Recommendations (specific actions)
- Questions (clarifications needed)
Step 5: Collect and Synthesize
Wait for all teammate messages. Use TaskList to verify all expert tasks are completed.
Gather all expert outputs from messages and synthesize into prioritized action items:
## Prioritized Action Items
### Critical
1. [Expert tags] Description of critical action
### Important
2. [Expert tags] Description of important action
### Nice to Have
3. [Expert tags] Description of optional improvement
### Conflicts to Resolve
- [Expert A] recommends X; [Expert B] flags concern Y
- Options presented for user decision
Present synthesis to user. Ask if they want to:
- Proceed with all recommendations
- Modify priorities
- Exclude certain items
- Add additional concerns
Step 6: Generate Implementation Plan
REQUIRED: Invoke superpowers:writing-plans to write the implementation plan to file.
The plan MUST be saved to: docs/plans/YYYY-MM-DD-<feature-name>.md
The plan should:
- Incorporate expert recommendations
- Order tasks by dependency and priority
- Include checkpoints for review
- Note which expert's recommendation each task addresses
- Follow the bite-sized task granularity from writing-plans (each step is one action)
Step 7: Execute with Checkpoints
Invoke superpowers:executing-plans to begin implementation.
During execution:
- Journal all TODOs to a todo file for the plan
- Track completed items as you go
- Pause at checkpoints for review
- Flag if implementation reveals new concerns
Step 8: Cleanup
After execution is complete:
- Use
SendMessagewithtype: "shutdown_request"to gracefully shut down all teammates - Use
TeamDeleteto clean up the team and task list
Example Flow
User: "Add user authentication to the API"
waldstorm:
1. Selected experts: Security Engineer, API Designer, Senior Dev, QA
2. TeamCreate: "waldstorm-add-auth"
3. Spawning 4 expert teammates in parallel...
- Each reads their persona from experts/*.md
- Each analyzes and sends findings via SendMessage
4. Synthesis (from teammate messages):
- [CRITICAL] [Security] Use bcrypt for password hashing, not MD5
- [CRITICAL] [Security, API] Implement rate limiting on auth endpoints
- [HIGH] [API] Use JWT with short expiry + refresh tokens
- [HIGH] [QA] Add integration tests for auth flows
- [MEDIUM] [Senior Dev] Extract auth logic into dedicated service
5. User approves, writing plan...
6. Executing plan with checkpoints...
7. Shutdown teammates, TeamDelete
Superpowers Used
superpowers:writing-plans- Convert recommendations to implementation plansuperpowers:executing-plans- Execute with review checkpoints
