agentsclimarketplace

Symphony

Skill broomva/symphony/.agents/skills/symphony

Rust orchestration daemon for coding agents — polls Linear/GitHub/Markdown, creates isolated workspaces, dispatches agent sessions with EGRI self-improvement.

Install
npx -y skills add broomva/symphony --skill symphony

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 10 stars10 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.

What its author says it does

Copied from the file, not written here

Expert guidance for Symphony — the Rust orchestration engine for coding agents. Use when users ask about installing Symphony (cargo install, curl|bash, docker), initializing projects (symphony init), configuring WORKFLOW.md for Linear or GitHub trackers, running in daemon or one-shot mode, setting up the control metalayer (CONTROL.md, setpoints), configuring lifecycle hooks (after_create, before_run, after_run, pr_feedback), monitoring with HTTP dashboard and Prometheus /metrics, extending with new trackers, or troubleshooting agent/hook failures. Triggers on "symphony", "WORKFLOW.md", "coding agent orchestration", "issue tracker automation", "control metalayer", or "agent dispatch".

SKILL.md

5.0 KB, as published. Nobody here has run it

Symphony

Rust orchestration engine that polls issue trackers (Linear, GitHub), creates isolated workspaces, and runs coding agents automatically.

Install

cargo install symphony-cli                # from source
curl -fsSL https://raw.githubusercontent.com/broomva/symphony/master/install.sh | sh  # binary
docker pull ghcr.io/broomva/symphony:latest  # container

Quick Start

symphony init                          # scaffold WORKFLOW.md (Linear default)
symphony init --tracker github          # GitHub Issues template
# Edit WORKFLOW.md — fill in project details, API key, repo
symphony validate WORKFLOW.md           # verify config
symphony start WORKFLOW.md              # run daemon

Commands

CommandPurpose
symphony init [--tracker github]Scaffold WORKFLOW.md
symphony start [WORKFLOW.md]Start daemon (polls tracker)
symphony run STI-123 --workflow-path WORKFLOW.mdOne-shot single issue
symphony statusQuery daemon state
symphony issuesList running + retrying
symphony issue STI-123Detail for one issue
symphony refreshTrigger immediate poll
symphony stopGraceful shutdown
symphony validate WORKFLOW.mdValidate config + template
symphony config WORKFLOW.mdShow resolved config
symphony logs [--follow] [--level LEVEL] [--since TIME]Tail daemon log file (filter by level/time)
symphony workspacesList workspace directories
symphony workspace STI-123 [--clean]Show/manage a workspace
symphony checkRun make smoke equivalent
symphony auditFull control audit
symphony test [--crate-name NAME]Run tests with filtering
symphony doctorPre-flight environment check

Flags: --port, --host, --token, --format json, --concurrency, --turns, --once, --tickets STI-1,STI-2

--format json is supported by: status, issues, workspaces, workspace, config.

WORKFLOW.md

YAML frontmatter (config) + Liquid template body (agent prompt). For complete reference: references/workflow-config.md.

Minimal example:

---
tracker:
  kind: linear              # or github
  api_key: $LINEAR_API_KEY
  project_slug: your-slug
codex:
  command: claude --dangerously-skip-permissions
---
Fix {{ issue.identifier }}: {{ issue.title }}
{{ issue.description }}

Agent Lifecycle

Poll tracker → fetch active issues → sort by priority → dispatch workers
    ├─ after_create hook (clone repo)
    ├─ before_run hook (rebase)
    ├─ render prompt + run agent (max_turns)
    ├─ after_run hook (commit, push, create PR)
    ├─ pr_feedback hook (capture review comments)
    ├─ done_state transition (auto-close issue)
    └─ retry (1s continuation / exponential backoff)

Control Metalayer

The control metalayer (CONTROL.md) grounds all development:

CHECK setpoints → IMPLEMENT → MEASURE (make smoke) → VERIFY → DOCUMENT → FEEDBACK

Set up: create CONTROL.md with setpoints, add sensors in Makefile, reference in agent prompt.

Extending

Implement TrackerClient trait (4 methods: fetch_candidate_issues, fetch_issues_by_states, fetch_issue_states_by_ids, set_issue_state). Register in create_tracker() factory.

Arcan Runtime

When runtime.kind: arcan is configured, Symphony dispatches work through the Arcan HTTP daemon instead of spawning local subprocesses.

runtime:
  kind: arcan
  base_url: http://localhost:3000    # Arcan daemon URL
  policy:
    allow_capabilities: [read, write, shell]
    gate_capabilities: [network]

Flow: health check (GET /health) → create session (POST /sessions) → execute run (POST /sessions/{id}/runs) → poll state until complete.

Arcan session IDs follow the pattern symphony-{issue_identifier}.

Key Environment Variables

VariablePurpose
LINEAR_API_KEYLinear API auth
GITHUB_TOKENGitHub API auth
ANTHROPIC_API_KEYClaude Code auth
SYMPHONY_API_TOKENSymphony HTTP API auth
SYMPHONY_PORTHTTP server port

Troubleshooting

See references/troubleshooting.md for auth failures, stuck retries, hook errors, missing PRs, and monitoring setup.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.