> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orxhestra.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Build orxhestra agent trees from declarative YAML orx files. Covers full schema, models, tools, agents, runner, and server.

# SKILL

# YAML Composer

Build an entire multi-agent setup from a single YAML file.

```bash theme={null}
pip install orxhestra[composer]
```

## Minimal example

```yaml theme={null}
defaults:
  model:
    provider: openai
    name: gpt-5.4

agents:
  assistant:
    type: llm
    instructions: "You are a helpful assistant."

main_agent: assistant
```

```python theme={null}
from orxhestra.composer import Composer

agent = Composer.from_yaml("orx.yaml")
async for event in agent.astream("Hello"):
    print(event.text)
```

## Named models

```yaml theme={null}
models:
  smart:
    provider: anthropic
    name: claude-opus-4-7
    max_tokens: 8192
  fast:
    provider: openai
    name: gpt-5.4-mini

agents:
  researcher:
    type: llm
    model: smart
  writer:
    type: llm
    model: fast
```

Extra keys on a model config are forwarded directly to the LangChain model constructor.

## Tools

```yaml theme={null}
tools:
  search:
    function: "myapp.tools.search_web"
  weather:
    mcp:
      url: "http://localhost:8001/mcp"
  exit:
    builtin: "exit_loop"

agents:
  agent:
    type: llm
    tools:
      - search
      - weather
      - function: "myapp.tools.inline_tool"  # inline tool def
```

## Agent types

* `llm` — LlmAgent
* `react` — ReActAgent
* `sequential` — SequentialAgent (runs agents in order)
* `parallel` — ParallelAgent (runs agents concurrently)
* `loop` — LoopAgent (repeats until exit\_loop or max\_iterations)
* `a2a` — A2AAgent (remote agent via A2A protocol)

## Multi-agent with transfer

```yaml theme={null}
agents:
  triage:
    type: llm
    instructions: "Route to the right specialist."
    tools:
      - transfer:
          targets: [sales, support]
  sales:
    type: llm
    instructions: "Handle sales inquiries."
  support:
    type: llm
    instructions: "Handle support tickets."

main_agent: triage
```

## Sequential pipeline

```yaml theme={null}
agents:
  researcher:
    type: llm
    tools: [search]
  writer:
    type: llm
  pipeline:
    type: sequential
    agents: [researcher, writer]

main_agent: pipeline
```

## Runner and Server

```yaml theme={null}
runner:
  app_name: "my-app"
  session_service: "memory"

server:
  app_name: "my-app"
  version: "1.0.0"
  url: "http://localhost:8000"
  skills:
    - id: qa
      name: Q&A
      description: "Answers questions"
```

```python theme={null}
runner = Composer.runner_from_yaml("orx.yaml")
app = Composer.server_from_yaml("orx.yaml")  # FastAPI app
```
