claude-flow-novice
Version:
Claude Flow Novice - Advanced orchestration platform for multi-agent AI workflows with CFN Loop architecture Includes Local RuVector Accelerator and all CFN skills for complete functionality.
501 lines (369 loc) • 14 kB
Markdown
# Main Chat Spawn Pattern Examples
**How main chat spawns coordinator + agents in single message for different task types.**
---
## Pattern: Research Task
**User Request:** "Research authentication implementation options"
**Main Chat Thinks:**
- Task type: Research
- Topology: Hierarchical (coordinator + 3 specialists)
- Agents needed: researcher, code-analyzer, architect
- Dependencies: researcher + analyzer → architect
**Single Message Spawn:**
```javascript
// Initialize swarm first
executeSwarm({
swarmId: "research-auth-001",
objective: "Research authentication implementation",
strategy: "research",
mode: "hierarchical",
persistence: true
})
// Spawn ALL agents in single message
Task("coordinator-hybrid", `
Coordinate authentication research via Redis.
**Redis Channel:** swarm:research-auth:coordinator
**Agents Spawned:**
- researcher (agent-1)
- code-analyzer (agent-2)
- architect (agent-3)
**Orchestration:**
1. Monitor: swarm:research-auth:*:complete
2. Track agent completion status
3. Aggregate findings when all complete
4. Report summary to main chat
**Expected Flow:**
researcher + code-analyzer (parallel) → architect → summary
`, "coordinator")
Task("researcher", `
Research authentication patterns (OAuth, JWT, sessions).
Use Bash tool:
redis-cli lpush "swarm:research-auth:researcher:done" '{
"confidence": 0.85,
"findings": "JWT most suitable for stateless API...",
"timestamp": "'$(date +%s)'"
}'
`, "researcher")
Task("code-analyzer", `
Analyze existing authentication code in codebase.
Use Bash tool:
# Read from coordinator's broadcast
data=$(redis-cli --csv blpop "swarm:research-auth:analyzer:inbox" 0)
echo "Analyzing: $data"
redis-cli lpush "swarm:research-auth:analyzer:done" '{
"confidence": 0.90,
"patterns": ["Session-based in /src/auth", "No JWT implementation"],
"timestamp": "'$(date +%s)'"
}'
`, "code-analyzer")
Task("architect", `
Design authentication architecture based on research.
Use Bash tool:
# Read from coordinator's broadcast
researcher_data=$(redis-cli --csv blpop "swarm:research-auth:architect:inbox" 0)
echo "Architect received researcher data: $researcher_data"
redis-cli lpush "swarm:research-auth:architect:done" '{
"confidence": 0.88,
"design": "Hybrid approach: JWT for API, sessions for web...",
"timestamp": "'$(date +%s)'"
}'
`, "architect")
Task("coordinator-hybrid", `
Coordinate research task via Redis.
Use Bash tool:
# Wait for researcher to complete
data=$(redis-cli --csv blpop "swarm:research-auth:researcher:done" 0)
# Broadcast to BOTH dependents (analyzer + architect)
redis-cli lpush "swarm:research-auth:analyzer:inbox" "$data"
redis-cli lpush "swarm:research-auth:architect:inbox" "$data"
# Wait for both dependents to complete
timeout 300 redis-cli --csv blpop "swarm:research-auth:analyzer:done" 0
timeout 300 redis-cli --csv blpop "swarm:research-auth:architect:done" 0
# Publish final summary
redis-cli lpush "swarm:research-auth:coordinator:summary" '{
"status": "complete",
"confidence": 0.88,
"agents": {
"researcher": {"confidence": 0.85},
"code-analyzer": {"confidence": 0.90},
"architect": {"confidence": 0.88}
},
"result": "Authentication research and architecture design complete",
"timestamp": "'$(date +%s)'"
}'
`, "coordinator")
// Main chat done - coordinator handles everything from here
```
---
## Pattern: Security Fix
**User Request:** "Fix the SQL injection vulnerability in user.js"
**Main Chat Thinks:**
- Task type: Security fix
- Topology: Hierarchical (coordinator + 4 agents)
- Agents needed: code-analyzer, coder, reviewer, validator
- Dependencies: analyzer → coder → reviewer → validator
**Single Message Spawn:**
```javascript
executeSwarm({
swarmId: "security-fix-001",
objective: "Fix SQL injection in user.js",
strategy: "development",
mode: "hierarchical",
persistence: true
})
Task("coordinator-hybrid", `
Coordinate security fix workflow via Redis.
**Redis Channel:** swarm:security-fix:coordinator
**Agents Spawned:**
- code-analyzer (agent-1) → identifies vulnerability
- coder (agent-2) → implements fix
- reviewer (agent-3) → reviews fix
- validator (agent-4) → validates security
**Sequential Flow:**
analyzer → coder → reviewer → validator
Monitor completion and report when validator approves.
`, "coordinator")
Task("code-analyzer", `
Analyze user.js for SQL injection vulnerability.
**Redis Channel:** swarm:security-fix:analyzer
Identify exact lines with vulnerability and provide fix recommendations.
**On Completion:**
redis-cli publish "swarm:security-fix:analyzer:complete" '{
"confidence": 0.95,
"vulnerability": "Line 42: raw SQL concatenation",
"recommendation": "Use parameterized queries"
}'
`, "code-analyzer")
Task("coder", `
Implement SQL injection fix in user.js.
**Redis Channel:** swarm:security-fix:coder
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:security-fix:analyzer:complete" 0
Read analyzer findings, implement parameterized query fix.
**Post-Edit Hook (MANDATORY):**
node dist/hooks/post-edit-pipeline.js "src/user.js" --memory-key "swarm/security-fix/coder"
**On Completion:**
redis-cli publish "swarm:security-fix:coder:complete" '{
"confidence": 0.85,
"files": ["src/user.js"],
"changes": "Replaced concatenation with parameterized query"
}'
`, "coder")
Task("reviewer", `
Review security fix implementation.
**Redis Channel:** swarm:security-fix:reviewer
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:security-fix:coder:complete" 0
Read coder's changes, verify fix is correct and secure.
**On Completion:**
redis-cli publish "swarm:security-fix:reviewer:complete" '{
"confidence": 0.90,
"approved": true,
"findings": "Fix correct, no additional issues"
}'
`, "reviewer")
Task("validator", `
Validate security fix end-to-end.
**Redis Channel:** swarm:security-fix:validator
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:security-fix:reviewer:complete" 0
Run security tests, verify vulnerability is fixed.
**On Completion:**
redis-cli publish "swarm:security-fix:validator:complete" '{
"confidence": 0.92,
"validated": true,
"tests": "SQL injection tests pass"
}'
`, "validator")
```
---
## Pattern: Feature Implementation
**User Request:** "Implement user profile editing feature"
**Main Chat Thinks:**
- Task type: Feature implementation
- Topology: Mesh (coordinator + 5 agents, some parallel)
- Agents needed: analyst, architect, backend-dev, react-frontend-engineer, tester
- Dependencies: analyst → architect → (backend + frontend parallel) → tester
**Single Message Spawn:**
```javascript
executeSwarm({
swarmId: "feature-profile-edit",
objective: "Implement user profile editing",
strategy: "development",
mode: "mesh",
persistence: true
})
Task("coordinator-hybrid", `
Coordinate profile editing feature via Redis.
**Redis Channel:** swarm:profile-edit:coordinator
**Agents:** analyst → architect → (backend-dev || react-frontend-engineer) → tester
**Parallel Phase:**
- backend-dev and react-frontend-engineer work in parallel after architect
- tester waits for BOTH to complete
Monitor and aggregate results.
`, "coordinator")
Task("analyst", `
Analyze requirements for profile editing feature.
**On Completion:**
redis-cli publish "swarm:profile-edit:analyst:complete" '{
"requirements": ["Edit name, email, avatar", "Validation rules", "Save button"]
}'
`, "analyst")
Task("architect", `
Design profile editing architecture.
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:profile-edit:analyst:complete" 0
Design API endpoints, database schema changes, frontend components.
**On Completion:**
redis-cli publish "swarm:profile-edit:architect:complete" '{
"api": "PUT /api/users/:id/profile",
"schema": "Add updated_at timestamp",
"components": "ProfileEditForm component"
}'
`, "architect")
Task("backend-dev", `
Implement profile editing API.
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:profile-edit:architect:complete" 0
Implement PUT /api/users/:id/profile with validation.
**Post-Edit Hook:**
node dist/hooks/post-edit-pipeline.js "src/api/users.js" --memory-key "swarm/profile-edit/backend"
**On Completion:**
redis-cli publish "swarm:profile-edit:backend:complete" '{"confidence": 0.85}'
`, "backend-dev")
Task("mobile-dev", `
Implement profile editing UI.
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:profile-edit:architect:complete" 0
Build ProfileEditForm component with validation.
**Post-Edit Hook:**
node dist/hooks/post-edit-pipeline.js "src/components/ProfileEditForm.jsx" --memory-key "swarm/profile-edit/frontend"
**On Completion:**
redis-cli publish "swarm:profile-edit:frontend:complete" '{"confidence": 0.88}'
`, "mobile-dev")
Task("tester", `
Test profile editing feature end-to-end.
**Dependencies (WAIT FOR BOTH):**
timeout 300 redis-cli --csv blpop "swarm:profile-edit:backend:complete" 0
timeout 300 redis-cli --csv blpop "swarm:profile-edit:frontend:complete" 0
Run integration tests, verify feature works end-to-end.
**On Completion:**
redis-cli publish "swarm:profile-edit:tester:complete" '{
"confidence": 0.90,
"tests": "All profile edit tests pass"
}'
`, "tester")
```
---
## Pattern: Performance Optimization
**User Request:** "Optimize the dashboard query performance"
**Main Chat Thinks:**
- Task type: Performance optimization
- Topology: Hierarchical (coordinator + 4 agents)
- Agents needed: perf-analyzer, code-analyzer, coder, tester
- Dependencies: (perf-analyzer + code-analyzer parallel) → coder → tester
**Single Message Spawn:**
```javascript
executeSwarm({
swarmId: "perf-dashboard",
objective: "Optimize dashboard query performance",
strategy: "optimization",
mode: "hierarchical",
persistence: true
})
Task("coordinator-hybrid", `
Coordinate performance optimization via Redis.
**Agents:** (perf-analyzer || code-analyzer) → coder → tester
Monitor and report when optimization complete.
`, "coordinator")
Task("perf-analyzer", `
Profile dashboard query performance.
Identify slow queries, bottlenecks, N+1 problems.
**On Completion:**
redis-cli publish "swarm:perf-dashboard:perf-analyzer:complete" '{
"bottlenecks": ["N+1 query in getUserData", "Missing index on user_id"]
}'
`, "perf-analyzer")
Task("code-analyzer", `
Analyze dashboard query code structure.
Identify optimization opportunities in code.
**On Completion:**
redis-cli publish "swarm:perf-dashboard:code-analyzer:complete" '{
"opportunities": ["Eager loading", "Query batching", "Add index"]
}'
`, "code-analyzer")
Task("coder", `
Implement performance optimizations.
**Dependencies (WAIT FOR BOTH):**
timeout 300 redis-cli --csv blpop "swarm:perf-dashboard:perf-analyzer:complete" 0
timeout 300 redis-cli --csv blpop "swarm:perf-dashboard:code-analyzer:complete" 0
Implement eager loading, add database index, batch queries.
**Post-Edit Hook:**
node dist/hooks/post-edit-pipeline.js "src/dashboard/queries.js" --memory-key "swarm/perf-dashboard/coder"
**On Completion:**
redis-cli publish "swarm:perf-dashboard:coder:complete" '{"confidence": 0.85}'
`, "coder")
Task("tester", `
Validate performance improvements.
**Dependencies:**
timeout 300 redis-cli --csv blpop "swarm:perf-dashboard:coder:complete" 0
Run performance benchmarks, verify query time reduced.
**On Completion:**
redis-cli publish "swarm:perf-dashboard:tester:complete" '{
"confidence": 0.90,
"improvement": "Query time reduced from 2.5s to 0.3s"
}'
`, "tester")
```
---
## Key Patterns Summary
| Task Type | Topology | Agents | Dependencies |
|-----------|----------|--------|--------------|
| **Research** | Hierarchical | researcher, code-analyzer, architect | (researcher + analyzer) → architect |
| **Security Fix** | Hierarchical | analyzer, coder, reviewer, validator | analyzer → coder → reviewer → validator |
| **Feature** | Mesh | analyst, architect, backend, frontend, tester | analyst → architect → (backend \|\| frontend) → tester |
| **Optimization** | Hierarchical | perf-analyzer, code-analyzer, coder, tester | (perf + code) → coder → tester |
---
## Main Chat Responsibilities
**DO:**
✅ Minimal investigation to determine task type
✅ Select appropriate coordinator and topology
✅ Identify required agents and their dependencies
✅ Spawn ALL agents in single message with Redis coordination
✅ Wait for coordinator to report completion
**DON'T:**
❌ Orchestrate agents directly
❌ Spawn agents across multiple messages
❌ Handle agent coordination logic
❌ Monitor individual agent progress (coordinator does this)
---
## Coordinator Responsibilities
**DO:**
✅ Monitor all agent Redis channels
✅ Track agent completion status
✅ Handle errors and timeouts
✅ Aggregate results from all agents
✅ Report summary to main chat when complete
---
## Agent Responsibilities
**DO:**
✅ Declare Redis channel for status/completion
✅ Declare dependencies (which agents to wait for)
✅ Block on Redis channels until dependencies complete
✅ Publish completion message when done
✅ Include confidence score in completion message
**Example Agent Prompt Template:**
```javascript
Task("agent-role", `
[Task description]
**Redis Channel:** swarm:task-id:agent-role
**Dependencies:**
[If any dependencies:]
timeout 300 redis-cli --csv blpop "swarm:task-id:other-agent:complete" 0
[Task implementation]
**On Completion:**
redis-cli publish "swarm:task-id:agent-role:complete" '{
"confidence": 0.XX,
"result": "..."
}'
`, "agent-role")
```