YAML-first agent orchestration for humans.
Define multi-agent workflows in plain YAML. Run them against any LLM backend.
SirenSpec lets you describe multi-agent pipelines the same way you'd describe them to a colleague — in plain language, structured as YAML. No framework boilerplate, no hidden abstractions. Just agents, nodes, and edges.
version: "0.1"
agents:
analyst:
model: "anthropic:claude-haiku-4-5-20251001"
system: "You are a concise financial analyst."
nodes:
summarize:
agent: analyst
writes: output.summary
input:
message: "Summarize Q1 earnings for NVDA."sirenspec run workflow.yamlThat's it. One file. One command. A complete agent run with a structured JSON trace.
| Repository | Description |
|---|---|
| sirenspec | Core SDK — YAML parser, execution engine, CLI, guardrails |
| sirenspec/docs/cookbook | 12 runnable workflow examples |
Node types — four primitives cover most patterns:
- Agent — single LLM call, writes to a context path
- Swrm — fan-out to
Nagents in parallel, optionally synthesise - Factory — spawn one agent per item in a runtime list
- Tool — call an HTTP endpoint or Python callable, no LLM required
Providers — OpenAI, Anthropic, and Ollama out of the box, selected with a simple provider:model URI.
Guardrails — prompt-injection detection and output-length limits at the workflow or per-agent level.
Retry & failure handling — exponential backoff, fallback nodes, default outputs, and per-error-type retry rules.
Template interpolation — reference prior node outputs, environment variables, and runtime inputs directly in prompts with {{ expr }} syntax.
pip install sirenspec
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
sirenspec run path/to/workflow.yamlSee the full documentation and cookbook examples to go further.
SirenSpec is open source and welcomes contributions. To get started:
git clone https://github.com/TJLSmith0831/sirenspec
cd sirenspec
uv sync --extra dev
source .venv/bin/activate
pytestPlease open an issue before submitting a large PR so we can align on direction.