Capability Matching
How It Works
┌───────────────────────────┐
│ Agent A (Orchestrator) │
│ behavior.json: │
│ condition: │
│ capabilityMatch │
│ skill: "translation" │
│ │
│ If SUCCESS → action: │
│ "delegate_to_translator"│
└──────────┬────────────────┘
│ queries registry
▼
┌───────────────────────────┐
│ CapabilityRegistryService │
│ │
│ Index: │
│ "translation" → │
│ Agent B (confidence:high)│
│ Agent C (confidence:med) │
└──────────┬────────────────┘
│ matched agent IDs
▼
┌───────────────────────────┐
│ Conversation Memory: │
│ capabilityMatch.results = │
│ ["agent-b-id", "agent-c"] │
└───────────────────────────┘Configuration
behavior.json
Config Keys
Key
Required
Default
Description
Selection Strategies
Strategy
Behavior
Template Variables
Agent Capability Declaration
Capability Fields
Field
Required
Default
Description
Consuming Results
Example 1: Action Delegation
Example 2: Dynamic Group Composition
Example 3: Template-Based Routing with Properties
Attribute Filtering
Metrics
Metric
Description
ContentTypeMatcher — Attachment Routing
Config
Default
Description
Last updated
Was this helpful?