Mistral Agents Orchestrator
by @nissan
Multi-agent orchestration via Mistral's Agents API — register agents, manage conversations, delegate via handoffs, bind function calling tools. Use when buil...
clawhub install mistral-agents-orchestrator📖 About This Skill
name: mistral-agents-orchestrator description: Multi-agent orchestration via Mistral's Agents API — register agents, manage conversations, delegate via handoffs, bind function calling tools. Use when building multi-agent systems with Mistral models, coordinating specialist agents, or implementing agent-to-agent delegation patterns. Requires MISTRAL_API_KEY. version: 1.0.1 metadata: { "openclaw": { "emoji": "\ud83e\udd16", "requires": { "bins": [], "env": [ "MISTRAL_API_KEY" ] }, "primaryEnv": "MISTRAL_API_KEY", "network": { "outbound": true, "reason": "Calls Mistral Agents API (api.mistral.ai) for agent registration, conversations, and handoff delegation." }, "security_notes": "base64 used for encoding message payloads in API requests — standard format. UploadFile is a FastAPI type used for document ingestion to agent tools. 'system prompt' refers to Mistral agent configuration field — a standard API parameter, not prompt injection." } }
Mistral Agents Orchestrator
Production-tested multi-agent orchestration using Mistral's Agents API. Implements the orchestrator-delegate pattern where a lead agent coordinates specialist agents via Conversations and Handoffs.
Architecture
Orchestrator (Papa Bois pattern)
├── Registers specialist agents via Agents API
├── Creates conversations with handoff configuration
├── Delegates tasks by naming the target agent
└── Collects results from completed handoffsSpecialists (Anansi, Devi, Firefly patterns)
├── Receive delegated tasks with full conversation context
├── Execute their speciality (story gen, audio, code)
└── Return results to the orchestrator conversation
Key Concepts
Agents: Pre-registered on Mistral platform with specific system prompts and model configs. Each agent has a unique ID (ag_...).
Conversations: Multi-turn threads that preserve context across handoffs. The child's name, language, and prompt all carry through without re-injection.
Handoffs: The orchestrator names a specialist agent; Mistral routes the conversation to that agent. Context is preserved automatically.
Function Calling: Tools (like TTS, SFX) are bound to the orchestrator agent, not the delegates. Tools follow the conversation context.
Quick Start
from mistralai import Mistralclient = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
Register agents (one-time setup)
orchestrator = client.beta.agents.create(
model="mistral-large-latest",
name="orchestrator",
instructions="You coordinate specialist agents...",
)specialist = client.beta.agents.create(
model="mistral-large-latest",
name="writer",
instructions="You write content when delegated to...",
)
Create conversation with handoff
response = client.beta.conversations.create(
agent_id=orchestrator.id,
inputs="Write a blog post about AI agents",
handoffs=[{"agent_id": specialist.id, "name": "writer"}],
)
Patterns Learned
Files
scripts/orchestrator.py — Full orchestrator implementation with agent registration, conversation management, and handoff delegationreferences/agent-patterns.md — Common multi-agent patterns and when to use eachSecurity Notes
This skill uses patterns that may trigger automated security scanners:
💡 Examples
from mistralai import Mistralclient = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
Register agents (one-time setup)
orchestrator = client.beta.agents.create(
model="mistral-large-latest",
name="orchestrator",
instructions="You coordinate specialist agents...",
)specialist = client.beta.agents.create(
model="mistral-large-latest",
name="writer",
instructions="You write content when delegated to...",
)
Create conversation with handoff
response = client.beta.conversations.create(
agent_id=orchestrator.id,
inputs="Write a blog post about AI agents",
handoffs=[{"agent_id": specialist.id, "name": "writer"}],
)