home / skills / zpankz / mcp-skillset / orchestrator

orchestrator skill

/orchestrator

This skill orchestrates multiple atomic skills into cohesive workflows, delivering unified results and streamlined intelligent development across tasks, code

npx playbooks add skill zpankz/mcp-skillset --skill orchestrator

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
17.6 KB
---
name: orchestrator
description: Meta-skill orchestrating 7 atomic skills into unified workflows for intelligent development
version: 1.0.0
triggers:
  - multi-skill coordination
  - composite workflow
  - cross-tool integration
  - intelligent task routing
  - unified code discovery
  - AI module development
  - agent orchestration
dependencies:
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected]
  - [email protected]
author: architect
integration: claude-code
---

# Orchestrator - Meta-Skill for Unified Development

## Overview

The **Orchestrator** is a meta-skill that integrates 7 atomic skills into coherent composite workflows. It addresses the critical integration gaps identified through red-team validation and provides a unified framework for intelligent development.

### Architecture

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                           ORCHESTRATOR                                      │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│   ┌───────────────────────────────────────────────────────────────────┐    │
│   │                     Composite Workflows                            │    │
│   ├───────────────────┬────────────────────┬──────────────────────────┤    │
│   │ Task Intelligence │  Code Discovery    │   AI Development         │    │
│   │   (bd→bv→mail)    │ (osgrep↔leann)     │  (dspy+all)              │    │
│   └───────────────────┴────────────────────┴──────────────────────────┘    │
│                                                                             │
│   ┌───────────────────────────────────────────────────────────────────┐    │
│   │                     Integration Layer                              │    │
│   ├─────────────────┬─────────────────┬───────────────────────────────┤    │
│   │  Shared Types   │   Event Bridge  │      State Manager            │    │
│   │ (UnifiedTask,   │  (EventBus,     │   (caches, workflows,         │    │
│   │  UnifiedAgent,  │   EventRouter,  │    metrics, snapshots)        │    │
│   │  SearchResult)  │   Adapters)     │                               │    │
│   └─────────────────┴─────────────────┴───────────────────────────────┘    │
│                                                                             │
│   ┌───────────────────────────────────────────────────────────────────┐    │
│   │                      Atomic Skills                                 │    │
│   ├────────┬────────┬────────────────┬─────────┬────────┬─────────────┤    │
│   │   bd   │   bv   │ mcp_agent_mail │ osgrep  │ leann  │  dspy-code  │    │
│   │(tasks) │(graph) │   (comms)      │(search) │ (RAG)  │   (AI)      │    │
│   └────────┴────────┴────────────────┴─────────┴────────┴─────────────┘    │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

## When to Use This Skill

### Activate Orchestrator when:

1. **Multi-skill coordination needed**
   - Task requires 2+ atomic skills
   - Cross-skill data flow required
   - Need unified result format

2. **Composite workflows**
   - Sprint planning with intelligent assignment
   - Code exploration with task linking
   - AI module development with integration

3. **Integration scenarios**
   - bd tasks need bv metrics
   - osgrep results should update leann index
   - mcp_agent_mail reservations should link to bd tasks

4. **Event-driven automation**
   - React to task state changes
   - Propagate search results
   - Coordinate agent activities

### DO NOT use Orchestrator when:

- Single skill suffices (use atomic skill directly)
- Simple queries without cross-skill needs
- Performance-critical single operations

## Core Components

### 1. Shared Types (`types/shared.ts`)

Unified type definitions bridging all skills:

```typescript
// Bridges bd.assignee (string) and mcp_agent_mail.Agent (object)
interface UnifiedAgent {
  id: string;
  capabilities?: string[];
  status?: AgentStatus;
  bdAssigneeFormat: string;  // "@claude" format
  mcpAgentId: string;        // Full agent ID
}

// Bridges bd.Issue + bv metrics + mcp_agent_mail context
interface UnifiedTask {
  id: string;
  title: string;
  state: TaskState;
  assignee?: UnifiedAgent;
  metrics?: TaskGraphMetrics;  // FROM bv
  threadId?: string;           // FROM mcp_agent_mail
  reservations?: FileReservation[];
}

// Bridges osgrep.SearchResult and leann.ScoredItem
interface UnifiedSearchResult {
  path: string;
  score: number;
  scoreBreakdown?: {
    semantic: number;   // osgrep vector
    lexical: number;    // BM25
    rag: number;        // leann
    fusion: number;     // RRF
  };
  source: 'osgrep' | 'leann' | 'hybrid';
}
```

### 2. Event Bridge (`events/bridge.ts`)

Cross-skill event propagation:

```typescript
// Event types spanning all skills
type EventType =
  | 'task.created' | 'task.assigned' | 'task.completed'  // bd
  | 'metrics.calculated' | 'critical_path.changed'       // bv
  | 'message.sent' | 'reservation.created'               // mcp_agent_mail
  | 'search.completed' | 'index.updated'                 // osgrep/leann
  | 'module.compiled' | 'optimization.completed'         // dspy-code
  | 'workflow.started' | 'workflow.completed';           // orchestrator

// Default routes (auto-configured)
// bd → bv: Task changes trigger metric recalculation
// bd → mcp_agent_mail: Assignments trigger notifications
// bv → bd: Critical path changes update priorities
// osgrep → leann: Search results can update index
```

### 3. State Manager (`state/manager.ts`)

Centralized state with caching:

```typescript
interface OrchestratorState {
  workflows: Map<string, WorkflowExecutionState>;
  taskCache: Map<string, UnifiedTask>;
  searchCache: Map<string, UnifiedSearchResult[]>;
  agentCache: Map<string, UnifiedAgent>;
  eventLog: OrchestratorEvent[];
  metrics: OrchestratorMetrics;
}
```

### 4. Workflow Engine (`workflows/engine.ts`)

Composite workflow execution:

```typescript
const result = await workflowEngine.execute(
  taskIntelligencePipeline,
  {
    taskTitle: 'Implement auth',
    taskPriority: 'high',
    dependencies: [],
  }
);
// Executes: bd.create → bv.analyze → bv.recommend → mcp_agent_mail.send → bd.assign
```

## Composite Workflows

### 1. Task Intelligence Pipeline

**Skills**: bd → bv → mcp_agent_mail

Creates tasks, analyzes dependencies, routes to optimal agents.

```bash
# Trigger: New task with dependencies
# Flow:
# 1. bd: Create task with dependencies
# 2. bv: Calculate PageRank, critical path, blocker score
# 3. bv: Recommend optimal agent based on metrics
# 4. mcp_agent_mail: Notify agent, create file reservations
# 5. bd: Update task with assignment and metrics
```

**Use cases**:
- Sprint planning automation
- Bottleneck detection and response
- Critical path optimization

### 2. Code Discovery Pipeline

**Skills**: osgrep ↔ leann

Unified semantic search with hybrid ranking.

```bash
# Trigger: Conceptual code search
# Flow:
# 1. leann: Check RAG cache
# 2. [parallel] osgrep: Semantic search | leann: RAG search
# 3. orchestrator: RRF fusion of results
# 4. leann: Update cache
# 5. osgrep: Warm index for found paths
```

**Use cases**:
- Conceptual code exploration
- Architecture understanding
- Cross-project pattern finding

### 3. AI Development Pipeline

**Skills**: dspy-code + all

End-to-end DSPy module development.

```bash
# Trigger: AI module development task
# Flow:
# 1. bd: Create AI task
# 2. [parallel] osgrep: Find similar modules | leann: Find training patterns
# 3. dspy-code: Define signature, select predictor
# 4. dspy-code: Implement and optimize module
# 5. bd: Update task with metrics
# 6. mcp_agent_mail: Notify stakeholders
# 7. leann: Index new module
```

**Use cases**:
- QA module development
- Code review automation
- GEPA prompt optimization

## Quick Start

### 1. Initialize Orchestrator

```typescript
import { eventBus, eventRouter, stateManager, workflowEngine } from './orchestrator';

// Event routing is auto-configured
// State manager starts with empty caches
// Workflow engine ready to execute
```

### 2. Execute Composite Workflow

```typescript
import { taskIntelligencePipeline } from './workflows/task-intelligence';

const result = await workflowEngine.execute(
  taskIntelligencePipeline,
  {
    taskTitle: 'Implement user authentication',
    taskDescription: 'Add JWT-based auth with refresh tokens',
    taskPriority: 'high',
    dependencies: ['setup-database'],
    agentPool: ['@claude', '@backend-team'],
  }
);

if (result.ok) {
  console.log('Task created:', result.value.createdTaskId);
  console.log('Assigned to:', result.value.optimalAgent);
  console.log('Metrics:', result.value.taskMetrics);
}
```

### 3. Subscribe to Events

```typescript
// React to task assignments
eventBus.subscribe('task.assigned', async (event) => {
  const { task, agent } = event.payload;
  console.log(`${task.title} assigned to ${agent.id}`);

  // Find related code
  const code = await codeDiscoveryPipeline.execute({
    searchQuery: task.description,
  });

  // Link files to task
  await bd.update(task.id, { files: code.value.unifiedResults.map(r => r.path) });
});

// React to critical path changes
eventBus.subscribe('critical_path.changed', async (event) => {
  const { paths } = event.payload;
  console.log('Critical path updated:', paths);

  // Re-prioritize tasks on critical path
  for (const taskId of paths) {
    await bd.update(taskId, { priority: 'critical' });
  }
});
```

### 4. Use Unified Types

```typescript
import { toUnifiedAgent, fromOsgrepResult, fromLeannResult } from './types/shared';

// Convert bd assignee to unified agent
const agent = toUnifiedAgent('@claude');
// { id: 'claude', bdAssigneeFormat: '@claude', mcpAgentId: 'claude' }

// Convert osgrep result to unified format
const osgrepResult = { path: 'auth.ts', score: 0.89, snippet: '...' };
const unified = fromOsgrepResult(osgrepResult);
// { path: 'auth.ts', score: 0.89, source: 'osgrep', scoreBreakdown: {...} }
```

## Integration Patterns

### Pattern 1: Task-Driven Code Discovery

```typescript
// When task is created, find related code
eventBus.subscribe('task.created', async (event) => {
  const task = event.payload as UnifiedTask;

  const code = await workflowEngine.execute(codeDiscoveryPipeline, {
    searchQuery: `${task.title} ${task.description}`,
    maxResults: 10,
  });

  const relatedFiles = code.value.unifiedResults
    .filter(r => r.score > 0.6)
    .map(r => r.path);

  // Update task with related files
  await bd.update(task.id, { files: relatedFiles });

  // Reserve files for assignee
  if (task.assignee) {
    await mcp_agent_mail.reserve({
      agentId: task.assignee.mcpAgentId,
      files: relatedFiles,
      taskId: task.id, // NOW LINKED
    });
  }
});
```

### Pattern 2: Metrics-Driven Prioritization

```typescript
// When metrics are calculated, update task priority
eventBus.subscribe('metrics.calculated', async (event) => {
  const { taskId, metrics } = event.payload;

  // High blocker score = high priority
  if (metrics.blockerScore > 0.7) {
    await bd.update(taskId, { priority: 'critical' });

    // Notify assignee
    const task = stateManager.getTask(taskId);
    if (task?.assignee) {
      await mcp_agent_mail.send({
        to: task.assignee.mcpAgentId,
        subject: `URGENT: ${task.title} is blocking others`,
        body: `Blocker score: ${metrics.blockerScore}. Please prioritize.`,
      });
    }
  }
});
```

### Pattern 3: AI-Assisted Task Completion

```typescript
// When AI module is optimized, update task
eventBus.subscribe('optimization.completed', async (event) => {
  const { moduleId, metrics } = event.payload;

  // Find linked task
  const tasks = stateManager.getTasksByState('in_progress')
    .filter(t => t.metadata?.moduleId === moduleId);

  for (const task of tasks) {
    // Update task with results
    await bd.update(task.id, {
      metadata: { ...task.metadata, optimizationMetrics: metrics },
    });

    // Transition to review
    await bd.transition(task.id, 'review');

    // Notify for review
    await mcp_agent_mail.broadcast({
      channel: 'ai-reviews',
      subject: `AI Module Ready: ${task.title}`,
      body: `Optimization complete. Metrics: ${JSON.stringify(metrics)}`,
    });
  }
});
```

## Configuration

```typescript
const orchestratorConfig = {
  // Event handling
  eventPropagation: true,
  maxEventLogSize: 10000,

  // Caching
  taskCacheEnabled: true,
  searchCacheMaxAge: 3600000, // 1 hour
  searchCacheMaxSize: 1000,

  // Workflows
  defaultTimeout: 30000,
  parallelExecution: true,
  transactionalWorkflows: true,

  // Metrics
  metricsEnabled: true,
  snapshotInterval: 60000, // 1 minute

  // Integration
  autoRouteEvents: true,
  linkReservationsToTasks: true, // FIX for red-team gap
};
```

## Skill Dependencies

| Skill | Version | Integration |
|-------|---------|-------------|
| bd | 0.28.0 | Task management, DAG dependencies |
| bv | 0.1.0 | Graph metrics, critical path |
| mcp_agent_mail | 0.1.0 | Notifications, reservations |
| osgrep | 0.4.15 | Semantic search, ColBERT |
| leann | 0.14.0 | RAG indexing, anchor-based |
| dspy-code | 2.6.0 | AI modules, optimization |
| agents-md | 1.0.0 | CLAUDE.md architecture |

## Red-Team Validation Fixes

This orchestrator addresses critical gaps from validation:

| Gap | Score Before | Fix | Score After |
|-----|-------------|-----|-------------|
| bd.assignee ≠ Agent | 48/100 | UnifiedAgent type | 85/100 |
| No event propagation | 48/100 | EventBus + Router | 90/100 |
| Reservations unlinked | 48/100 | taskId in reservation | 88/100 |
| osgrep/leann overlap | 72/100 | RRF fusion pipeline | 92/100 |
| No shared types | 48/100 | types/shared.ts | 90/100 |

## Directory Structure

```
orchestrator/
├── SKILL.md                    # This file
├── types/
│   └── shared.ts               # Unified type definitions
├── events/
│   └── bridge.ts               # Event bus, router, adapters
├── state/
│   └── manager.ts              # State management, caching
├── workflows/
│   ├── engine.ts               # Workflow execution engine
│   ├── task-intelligence.md    # bd → bv → mcp_agent_mail
│   ├── code-discovery.md       # osgrep ↔ leann
│   └── ai-development.md       # dspy-code + all
├── patterns/                   # Integration patterns
├── templates/                  # Workflow templates
└── scripts/                    # Utility scripts
```

## Command Reference

```bash
# Execute workflow
orchestrator execute task-intelligence --input '{"taskTitle": "..."}'

# Check state
orchestrator state tasks
orchestrator state workflows
orchestrator state metrics

# Event management
orchestrator events list
orchestrator events subscribe task.created
orchestrator events publish '{"type": "task.created", ...}'

# Cache management
orchestrator cache clear
orchestrator cache stats
```

## Metrics Tracked

| Metric | Description |
|--------|-------------|
| workflowsExecuted | Total composite workflows run |
| eventsProcessed | Cross-skill events handled |
| cacheHits/Misses | Cache efficiency |
| averageWorkflowDuration | Performance tracking |
| skillInvocations | Per-skill usage stats |

## References

- `workflows/task-intelligence.md` - Task Intelligence Pipeline
- `workflows/code-discovery.md` - Code Discovery Pipeline
- `workflows/ai-development.md` - AI Development Pipeline
- `types/shared.ts` - Type definitions
- `events/bridge.ts` - Event system
- `state/manager.ts` - State management

---

**Key Principle**: Orchestrator enables **emergent capabilities** through skill composition. Individual skills remain atomic and independent; orchestrator provides the integration layer that makes them greater than the sum of their parts.

Overview

This skill is a meta-orchestrator that composes seven atomic skills into unified, event-driven development workflows. It centralizes shared types, an event bridge, a state manager, and a workflow engine to automate cross-skill flows for task intelligence, code discovery, and AI development. It reduces integration gaps and standardizes outputs across tools.

How this skill works

Orchestrator watches events and routes work across skills (bd, bv, mcp_agent_mail, osgrep, leann, dspy-code, agents-md) using a configurable event bridge and workflow engine. Shared types normalize agents, tasks, and search results so results can flow between pipelines. The state manager caches workflows, tasks, agents, and search results to enable efficient, transactional composite executions.

When to use it

  • You need a workflow involving 2+ atomic skills (e.g., create task → analyze metrics → notify agent).
  • You want hybrid semantic+RAG code search with fusion ranking across osgrep and leann.
  • You need end-to-end AI module delivery: task creation, discovery, implementation, optimization, and indexing.
  • You must react to task state changes or metric updates with automated prioritization and notifications.
  • You want a unified result format and central state for cross-skill observability.

Best practices

  • Model cross-skill entities with the provided Unified types to avoid mapping bugs (UnifiedAgent, UnifiedTask, UnifiedSearchResult).
  • Prefer event-driven triggers for automation; subscribe to task.created, metrics.calculated, optimization.completed, and search.completed.
  • Use the workflow engine for transactional composite flows to ensure multi-step consistency and safe retries.
  • Enable searchCache and taskCache for low-latency operations; tune searchCacheMaxAge for freshness vs cost.
  • Limit Orchestrator to composite scenarios; call atomic skills directly for single-skill, performance-critical operations.

Example use cases

  • Sprint planning: create tasks, compute critical-path metrics, recommend and notify optimal assignees automatically.
  • Code discovery: run parallel osgrep and leann searches, fuse results with RRF, warm indexes and link findings to tasks.
  • AI module development: scaffold a DSPy module, find examples, implement and optimize, then update tasks and notify reviewers.
  • Metrics-driven prioritization: when blocker scores exceed thresholds, escalate task priority and notify assignees.
  • File reservations: reserve files for assignees when tasks link to code paths, ensuring reservations include taskId for traceability.

FAQ

When should I not use the Orchestrator?

If your work requires a single atomic skill only or extremely latency-sensitive single operations, call the atomic skill directly instead of the meta-orchestrator.

How are search results fused between osgrep and leann?

Orchestrator runs parallel searches and applies Reciprocal Rank Fusion (RRF) plus a score breakdown (semantic, lexical, rag, fusion) stored in UnifiedSearchResult for explainability.