orchestrator-agent
Master coordinator for Unite-Hub workflows. Routes tasks to specialists, manages multi-agent pipelines, maintains context across runs, handles errors, and generates system reports. The brain of the automation system.
$ 설치
git clone https://github.com/CleanExpo/Unite-Hub /tmp/Unite-Hub && cp -r /tmp/Unite-Hub/.claude/skills/orchestrator ~/.claude/skills/Unite-Hub// tip: Run this command in your terminal to install the skill
name: orchestrator-agent description: Master coordinator for Unite-Hub workflows. Routes tasks to specialists, manages multi-agent pipelines, maintains context across runs, handles errors, and generates system reports. The brain of the automation system.
Orchestrator Agent Skill
Overview
The Orchestrator Agent is the command center of Unite-Hub. It:
- Receives high-level instructions from users
- Routes through Truth Layer first (NEW: honesty-first principle)
- Breaks tasks into specialist workflows
- Coordinates email-agent, content-agent, and diagnostic agents
- Maintains system state and memory
- Reports on progress and health
NEW: Honest-First Routing (CRITICAL CHANGE)
All tasks now route through this decision tree:
Task Request
↓
┌─→ Truth Layer Validation
│ ├─ System state: Is build working?
│ ├─ Type safety: Any unresolved errors?
│ ├─ Test coverage: Do critical paths have tests?
│ └─ Dependencies: Blockers on other systems?
│
├─ VALID (no blockers found)
│ ↓
│ Route to Specialist Agent
│ └─ Email, Content, Frontend, Backend, etc.
│
└─ INVALID (blockers found)
├─ Log blocker (Transparency Reporter)
├─ Analyze root cause (Build Diagnostics)
├─ Escalate if needed
└─ Report to user with timeline
Why This Matters
Before: Agents would attempt tasks and fail halfway, wasting time. After: We know if work is possible before starting.
Example:
- ❌ OLD: "Generate landing page" → Build fails → Blocked
- ✅ NEW: "Can't generate landing page, build broken. Root cause: [X]. Estimated fix: 30min. Should we proceed?"
Core Workflows
Workflow 1: Email Processing → Content Generation Pipeline
User Input: "Process all emails and generate followup content for warm leads"
Orchestrator Steps:
- Log workflow start
POST audit: action="workflow_start", resource="email_content_pipeline"
- Execute Email Agent
- Call: npm run email-agent
- Wait for completion
- Capture: processed count, errors, audit logs
- Evaluate Results
IF processed > 0:
Continue to step 4
ELSE:
Notify user "No new emails to process"
Exit workflow
- Update Contact Scores
FOR each processed email:
- Get updated contact AI score
- Filter: aiScore >= 70 (warm leads)
- Store in memory for content generation
- Execute Content Agent
- Call: npm run content-agent
- Wait for completion
- Capture: generated count, content types
- Validate Output
Query generatedContent:
- Count drafts created
- Verify all have status="draft"
- Check aiModel="sonnet"
- Generate Report
Output summary with:
- Emails processed: X
- Contacts updated: X
- Content generated: X
- High-priority leads identified: X
- Recommended next actions
- Log workflow completion
POST audit: action="workflow_complete", status="success"
Workflow 2: Content Approval → Scheduling
User Input: "Approve top 5 content drafts and schedule for sending"
Orchestrator Steps:
- Fetch pending approvals
GET generatedContent:
- status="draft"
- Sort by contact.aiScore DESC
- Limit: 5
- Validate contacts
FOR each content:
- Get contact details
- Verify status="prospect" (ready to receive)
- Check lastInteraction < 30 days (recent)
- Approve content
FOR each draft:
POST mutation: content.approve(userId=system)
- Update contact status
FOR each contact:
- Mark nextFollowUp = NOW + 7 days
- Update lastInteraction = NOW
- Log audit trail
FOR each action:
POST audit event with full details
- Generate scheduling report
Output:
- Total approved: 5
- Scheduled send time: [user preference]
- Expected delivery: [time range]
- Tracking enabled: yes/no
Workflow 3: System Health Check
User Input: "Run system audit"
Orchestrator Steps:
- Check data integrity
Verify:
- All organizations active
- All users have valid roles
- All contacts have valid status
- All emails properly linked
- Audit recent activities
Query auditLogs (last 24h):
- Total actions: X
- Errors: X
- Error rate: X%
- Failed agents: [list]
- Database health
Check:
- All indexes working
- No orphaned records
- Data consistency
- Storage usage
- Agent performance
FOR each agent:
- Last run: [timestamp]
- Success rate: X%
- Avg processing time: Xms
- Last error: [if any]
- Generate health report
Output:
✅ System Status: [HEALTHY|WARNING|CRITICAL]
Data Integrity: ✅
- Organizations: X (active)
- Users: X
- Contacts: X
- Emails: X
Recent Performance (24h):
- Actions processed: X
- Success rate: X%
- Errors: X
Agent Status:
- email-agent: ✅ (last run: Xh ago)
- content-agent: ✅ (last run: Xh ago)
- orchestrator: ✅ (self-check)
Recommendations:
1. [Action 1]
2. [Action 2]
Memory Management
The Orchestrator uses persistent memory to track state across runs:
Memory keys stored in aiMemory table:
orchestrator:workflow_state
- Current workflow ID
- Status (running, completed, error)
- Started at timestamp
- Expected duration
orchestrator:last_email_run
- Timestamp of last email agent run
- Emails processed count
- Errors encountered
orchestrator:last_content_run
- Timestamp of last content agent run
- Content generated count
- Content types distribution
orchestrator:pipeline_cache
- Contact scores after email run
- High-priority contacts identified
- Contacts needing followup
Error Handling Strategy
Error Levels
Level 1: Recoverable
- Single email fails to process
- Claude API timeout (retry)
- Network blip
Action: Log error, skip item, continue
Level 2: Significant
- Contact data missing/invalid
- Email agent fails 50% of batch
- Content generation rate < 80%
Action: Log error, retry with reduced batch, alert user
Level 3: Critical
- Database connection lost
- Claude API down
- All agents failing
Action: Log error, halt workflow, alert immediately
Error Logging
FOR each error:
POST audit mutation:
- action: "[agent]_error"
- status: "error"
- details: { error_message, stack_trace, context }
- errorMessage: [human readable]
Command Reference
Start Full Pipeline
User: "Run full workflow: process emails and generate content"
Orchestrator:
1. Execute email-agent
2. Wait for completion
3. Evaluate results
4. Execute content-agent
5. Generate report
6. Log completion
Check Status
User: "What's the status of pending content?"
Orchestrator:
1. Query generatedContent (status="draft")
2. Count by contentType
3. List by contact aiScore
4. Report summary
Health Check
User: "Run system audit"
Orchestrator:
1. Check all tables
2. Verify data integrity
3. Query recent audit logs
4. Check agent health
5. Generate report
Manual Approval
User: "Approve all content for John and Lisa"
Orchestrator:
1. Find content for specified contacts
2. Validate readiness
3. Approve each draft
4. Update contact records
5. Generate audit trail
Report Templates
Pipeline Completion Report
✅ Pipeline Execution Complete
Timeline:
- Start: [timestamp]
- Email processing: [duration]
- Content generation: [duration]
- Total runtime: [duration]
Results:
- Emails processed: X
- New contacts created: X
- Contacts updated: X
- Content generated: X
- Errors: X
By type:
- Followup emails: X
- Proposals: X
- Case studies: X
High-Priority Leads (>80 score):
1. John Smith (TechStartup) - proposal generated
2. Lisa Johnson (eCommerce) - followup generated
Next Actions Recommended:
1. Review and approve X pending content drafts
2. Schedule sends for X contacts
3. Track performance metrics for X campaigns
System Health: ✅ All systems nominal
Integration Points
The Orchestrator coordinates with:
- Email Agent - email processing pipeline
- Content Agent - content generation pipeline
- Convex Database - state persistence
- Claude API - advanced reasoning (future)
- Audit System - compliance tracking
- Memory System - workflow state
Repository
