Raxol symphony
Symphony: the Raxol tracker-driven coding-agent orchestrator (raxol_symphony, pre-alpha). Turns tracker issues into autonomous agent runs in isolated workspaces, surfaces evidence (CI/PR/asciinema), and supports human-in-the-loop paused runs across six surfaces. TRIGGER when: mix.exs lists :raxol_symphony; code imports Raxol.Symphony.*; there is a WORKFLOW.md driving an orchestrator; user asks about tracker-driven agent orchestration, Symphony runners (RaxolAgent/Codex), evidence capture, or paused-run resume with Raxol. DO NOT TRIGGER when: building a single Raxol agent or the core framework (use raxol skill); agent payments / ACP job sessions (use raxol-payments skill); generic multi-agent system design without Symphony (use agent-designer skill); the Claude Agent SDK (use claude-api).From its SKILL.md
npx -y skills add DROOdotFOO/agent-skills --skill raxol-symphonyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.9 KB, 750 tokens by cl100k_base, as published. Nobody here has run it
Raxol Symphony Skill
raxol_symphony (v0.1, pre-alpha) is an OTP port of OpenAI's Symphony: an orchestrator
that turns tracker work into autonomous coding-agent runs. Each issue gets an isolated
workspace, runs an agent until a workflow-defined handoff state, and surfaces evidence
(CI, PR comments, asciinema walkthrough) so engineers manage outcomes, not prompts.
Config is a WORKFLOW.md (YAML front-matter + a Liquid prompt template), hot-reloaded on
change. Pre-alpha: APIs may shift.
What You Get
- Orchestrator loop: poll tracker -> isolate workspace -> run runner -> collect evidence
- Runners: RaxolAgent (primary), Codex (JSON-RPC parity), AgentSession, Review, Noop
- Trackers: Linear (GraphQL), GitHub (state labels), Memory (tests)
- WORKFLOW.md hot-reload + a workflow graph adapter (saga-style)
- Evidence framework: CI, PR comments, complexity (cloc), asciinema recordings
- Six surfaces + a first-class paused-run substrate (pause/resume across surfaces)
Quickstart
{:ok, _pid} = Raxol.Symphony.start_link(workflow_path: "WORKFLOW.md")
<!-- WORKFLOW.md -->
---
tracker:
kind: linear
project_slug: demo
api_key: $LINEAR_API_KEY
active_states: ["Todo", "In Progress"]
terminal_states: ["Done", "Cancelled"]
runner:
kind: raxol_agent
agent:
backend: anthropic
model: claude-sonnet-4-6
max_turns: 20
---
You are working on issue {{ issue.identifier }}: {{ issue.title }}.
See also
raxol-- core agent/TUI framework Symphony runs agents onraxol-payments-- ACP job sessions used by the paused-run resume flowagent-designer-- general multi-agent orchestration patterns (non-Symphony)prd-to-plan/qa-- feeding a tracker with well-formed issues
Reading Guide
| Task | File |
|---|---|
| Orchestrator, trackers, runners, config | orchestrator.md |
| WORKFLOW.md, graph adapter, evidence | workflows-evidence.md |
| Surfaces + pause/resume + sandboxes | surfaces-pause.md |
Key Conventions
- One workspace per issue;
PathSafetysanitizes identifiers and asserts paths stay inside the workspace root. Never run an agent outside its workspace. - A runner returns
:ok(retry-continue),{:error, reason}(backoff retry), or{:pause, reason, token}(park in the orchestrator's paused map). - The Review runner's
Contractdeliberately carries no workspace reference -- reviewer isolation is an invariant.
Common Pitfalls
- Blocking on human input inline -- return
{:pause, reason, token}and let a surface/Resumerresume; don't sleep the runner. - Bad WORKFLOW.md --
WorkflowStorefalls back to the last-known-good config and recordslast_error/1; check it after edits. - Assuming production-ready -- v0.1 pre-alpha; pin versions and expect churn.
What ships with it: 3 files
11.0 KB alongside SKILL.md
- orchestrator.md4.3 KB
- surfaces-pause.md3.4 KB
- workflows-evidence.md3.4 KB