Individual skill
symphony
Rust orchestration engine for coding agents. Polls issue trackers (Linear, GitHub), creates isolated per-issue workspaces, and runs coding agent sessions with lifecycle hooks, retry/backoff, concurrency control, and a live HTTP dashboard. Includes control metalayer (CONTROL.md / setpoints) for grounded development workflows.
SKILL.md
Source commit 7ac6f3c7232e0a38856877b4d7ba02a148bded23
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 7, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 11
- Repository last updated
- Jul 13, 2026
- License
- Apache-2.0
Observed agent integration: claude-code, codex
- bstack-orchestration Repository topic
- agent-skills Repository topic
- ai-agents Repository topic
- skills-sh Repository topic
- autonomous-agents Repository topic
- coding-agents Repository topic
- linear Repository topic
- orchestration Repository topic
- rust Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.agents/skills/symphony/SKILL.mddoc · 5,114 bytes.agents/skills/symphony/references/operator-runbook.mddoc · 2,603 bytes.agents/skills/symphony/references/troubleshooting.mddoc · 3,720 bytes.agents/skills/symphony/references/workflow-config.mddoc · 3,659 bytes.claude/settings.jsonasset · 273 bytes.control/commands.yamlasset · 2,100 bytes.control/policy.yamlasset · 18,454 bytes.control/state.jsonasset · 649 bytes.control/topology.yamlasset · 2,599 bytes.githooks/pre-commitruns · 772 bytes.githooks/pre-pushruns · 716 bytes.github/ISSUE_TEMPLATE/bug_report.ymlasset · 1,511 bytes.github/ISSUE_TEMPLATE/feature_request.ymlasset · 780 bytes.github/ISSUE_TEMPLATE/tracker_plugin.ymlasset · 1,507 bytes.github/workflows/ci.ymlasset · 6,005 bytes.github/workflows/release.ymlasset · 5,065 bytes.github/workflows/secret-scan.ymlasset · 834 bytes.gitignoreasset · 1,059 bytes.obsidian/app.jsonasset · 214 bytes.obsidian/appearance.jsonasset · 2 bytes.obsidian/core-plugins.jsonasset · 696 bytes.obsidian/graph.jsonasset · 1,396 bytes.planning/PROJECT.mddoc · 1,427 bytes.planning/REQUIREMENTS.mddoc · 8,958 bytes.planning/ROADMAP.mddoc · 4,145 bytes.planning/STATE.mddoc · 3,178 bytesAGENTS.mddoc · 7,698 bytesARCHITECTURE.mddoc · 5,179 bytesCHANGELOG.mddoc · 2,108 bytesCLAUDE.mddoc · 11,722 bytesCODE_OF_CONDUCT.mddoc · 2,568 bytesCONTRIBUTING.mddoc · 4,137 bytesCONTROL.mddoc · 13,996 bytesCargo.lockasset · 77,954 bytesCargo.tomlasset · 3,286 bytesDockerfileruns · 1,879 bytesEXTENDING.mddoc · 8,683 bytesLICENSEasset · 10,774 bytesMETALAYER.mddoc · 5,314 bytesMakefileruns · 3,269 bytesNOTICEasset · 436 bytesPLANS.mddoc · 36,530 bytesREADME.mddoc · 10,680 bytesSECURITY.mddoc · 3,115 bytesSKILL.mdcore · 2,400 bytesSKILL.mdcore · 2,400 bytesSKILL.mdcore · 2,400 bytesSKILL.mdcore · 2,400 bytesSKILL.mdcore · 2,400 bytesSPEC.mddoc · 77,359 bytesWORKFLOW.mddoc · 6,320 bytescliff.tomlasset · 1,773 bytescrates/symphony-agent/Cargo.tomlasset · 496 bytescrates/symphony-agent/src/lib.rsasset · 347 bytescrates/symphony-agent/src/protocol.rsasset · 5,743 bytescrates/symphony-agent/src/runner.rsasset · 33,114 bytescrates/symphony-arcan/Cargo.tomlasset · 590 bytescrates/symphony-arcan/src/client.rsasset · 12,434 bytescrates/symphony-arcan/src/event_mapper.rsasset · 3,936 bytescrates/symphony-arcan/src/lib.rsasset · 406 bytescrates/symphony-arcan/src/runner.rsasset · 18,745 bytescrates/symphony-config/Cargo.tomlasset · 547 bytescrates/symphony-config/src/lib.rsasset · 612 bytescrates/symphony-config/src/loader.rsasset · 33,610 bytescrates/symphony-config/src/template.rsasset · 14,077 bytescrates/symphony-config/src/types.rsasset · 11,466 bytescrates/symphony-config/src/watcher.rsasset · 1,724 bytescrates/symphony-core/Cargo.tomlasset · 359 bytescrates/symphony-core/src/issue.rsasset · 2,832 bytescrates/symphony-core/src/lib.rsasset · 543 bytescrates/symphony-core/src/session.rsasset · 2,122 bytescrates/symphony-core/src/state.rsasset · 4,226 bytescrates/symphony-core/src/workspace.rsasset · 462 bytescrates/symphony-egri/Cargo.tomlasset · 832 bytescrates/symphony-egri/src/batch.rsasset · 8,535 bytescrates/symphony-egri/src/config.rsasset · 313 bytescrates/symphony-egri/src/hive_adapter.rsasset · 699 bytescrates/symphony-egri/src/journal.rsasset · 2,262 bytescrates/symphony-egri/src/lib.rsasset · 510 bytescrates/symphony-egri/src/types.rsasset · 1,547 bytescrates/symphony-observability/Cargo.tomlasset · 578 bytescrates/symphony-observability/src/lib.rsasset · 793 bytescrates/symphony-observability/src/server.rsasset · 37,239 bytescrates/symphony-orchestrator/Cargo.tomlasset · 800 bytescrates/symphony-orchestrator/src/dispatch.rsasset · 16,002 bytescrates/symphony-orchestrator/src/hive.rsasset · 9,097 bytescrates/symphony-orchestrator/src/lib.rsasset · 340 bytescrates/symphony-orchestrator/src/reconcile.rsasset · 5,415 bytescrates/symphony-orchestrator/src/scheduler.rsasset · 43,638 bytescrates/symphony-tracker/Cargo.tomlasset · 598 bytescrates/symphony-tracker/src/github.rsasset · 22,216 bytescrates/symphony-tracker/src/graphql_tool.rsasset · 11,861 bytescrates/symphony-tracker/src/lib.rsasset · 4,328 bytescrates/symphony-tracker/src/linear.rsasset · 27,766 bytescrates/symphony-tracker/src/markdown.rsasset · 37,753 bytescrates/symphony-workspace/Cargo.tomlasset · 449 bytescrates/symphony-workspace/src/lib.rsasset · 26,552 bytesdashboard/.dockerignoreasset · 41 bytesdashboard/.gitignoreasset · 861 bytesdashboard/Dockerfileruns · 794 bytesdashboard/LICENSEasset · 557 bytesdashboard/README.mddoc · 3,330 bytesdashboard/apps/web/.env.exampleasset · 271 bytesdashboard/apps/web/.gitignoreasset · 1,166 bytesdashboard/apps/web/app/(dashboard)/controls/page.tsxruns · 4,302 bytesdashboard/apps/web/app/(dashboard)/issues/[identifier]/page.tsxruns · 5,318 bytesdashboard/apps/web/app/(dashboard)/issues/page.tsxruns · 725 bytesdashboard/apps/web/app/(dashboard)/layout.tsxruns · 515 bytesdashboard/apps/web/app/(dashboard)/metrics/page.tsxruns · 3,506 bytesdashboard/apps/web/app/(dashboard)/overview/page.tsxruns · 3,760 bytesdashboard/apps/web/app/(dashboard)/page.tsxruns · 114 bytesdashboard/apps/web/app/(dashboard)/workspaces/page.tsxruns · 1,828 bytesdashboard/apps/web/app/api/auth/[...all]/route.tsruns · 143 bytesdashboard/apps/web/app/api/trpc/[trpc]/route.tsruns · 371 bytesdashboard/apps/web/app/apple-icon.pngasset · 3,828 bytesdashboard/apps/web/app/favicon.icoasset · 15,086 bytesdashboard/apps/web/app/globals.cssasset · 9,895 bytesdashboard/apps/web/app/healthz/route.tsruns · 134 bytesdashboard/apps/web/app/icon.svgasset · 2,330 bytesdashboard/apps/web/app/layout.tsxruns · 1,207 bytesdashboard/apps/web/app/opengraph-image.pngasset · 1,020,951 bytesdashboard/apps/web/biome.jsoncasset · 541 bytesdashboard/apps/web/components.jsonasset · 423 bytesdashboard/apps/web/components/app-sidebar.tsxruns · 2,160 bytesdashboard/apps/web/components/dashboard/connection-indicator.tsxruns · 674 bytesdashboard/apps/web/components/dashboard/issues-table.tsxruns · 4,144 bytesdashboard/apps/web/components/dashboard/stat-card.tsxruns · 831 bytesdashboard/apps/web/components/dashboard/status-badge.tsxruns · 739 bytesdashboard/apps/web/components/dashboard/token-chart.tsxruns · 1,890 bytesdashboard/apps/web/components/icons.tsxruns · 2,230 bytesdashboard/apps/web/components/theme-provider.tsxruns · 301 bytesdashboard/apps/web/components/ui/accordion.tsxruns · 2,004 bytesdashboard/apps/web/components/ui/alert-dialog.tsxruns · 3,885 bytesdashboard/apps/web/components/ui/alert.tsxruns · 1,595 bytesdashboard/apps/web/components/ui/avatar.tsxruns · 1,430 bytesdashboard/apps/web/components/ui/badge.tsxruns · 1,139 bytesdashboard/apps/web/components/ui/breadcrumb.tsxruns · 2,735 bytesdashboard/apps/web/components/ui/button-group.tsxruns · 2,219 bytesdashboard/apps/web/components/ui/button.tsxruns · 2,156 bytesdashboard/apps/web/components/ui/card.tsxruns · 2,004 bytesdashboard/apps/web/components/ui/checkbox.tsxruns · 1,078 bytesdashboard/apps/web/components/ui/collapsible.tsxruns · 335 bytesdashboard/apps/web/components/ui/command.tsxruns · 4,914 bytesdashboard/apps/web/components/ui/dialog.tsxruns · 4,004 bytesdashboard/apps/web/components/ui/drawer.tsxruns · 3,043 bytesdashboard/apps/web/components/ui/dropdown-menu.tsxruns · 8,314 bytesdashboard/apps/web/components/ui/empty.tsxruns · 2,406 bytesdashboard/apps/web/components/ui/extra/action-container.tsxruns · 1,069 bytesdashboard/apps/web/components/ui/extra/scroll-area-viewport-ref.tsxruns · 1,195 bytesdashboard/apps/web/components/ui/form.tsxruns · 3,762 bytesdashboard/apps/web/components/ui/hover-card.tsxruns · 1,545 bytesdashboard/apps/web/components/ui/input-group.tsxruns · 5,087 bytesdashboard/apps/web/components/ui/input.tsxruns · 976 bytesdashboard/apps/web/components/ui/label.tsxruns · 622 bytesdashboard/apps/web/components/ui/popover.tsxruns · 1,649 bytesdashboard/apps/web/components/ui/progress.tsxruns · 751 bytesdashboard/apps/web/components/ui/scroll-area.tsxruns · 1,665 bytesdashboard/apps/web/components/ui/select.tsxruns · 5,765 bytesdashboard/apps/web/components/ui/separator.tsxruns · 710 bytesdashboard/apps/web/components/ui/sheet.tsxruns · 4,112 bytesdashboard/apps/web/components/ui/sidebar.tsxruns · 22,264 bytesdashboard/apps/web/components/ui/skeleton.tsxruns · 278 bytesdashboard/apps/web/components/ui/slider.tsxruns · 2,008 bytesdashboard/apps/web/components/ui/spinner.tsxruns · 335 bytesdashboard/apps/web/components/ui/switch.tsxruns · 1,160 bytesdashboard/apps/web/components/ui/table.tsxruns · 2,784 bytesdashboard/apps/web/components/ui/tabs.tsxruns · 1,909 bytesdashboard/apps/web/components/ui/textarea.tsxruns · 663 bytesdashboard/apps/web/components/ui/toggle.tsxruns · 1,583 bytesdashboard/apps/web/components/ui/tooltip.tsxruns · 2,223 bytesdashboard/apps/web/dashboard.config.tsruns · 613 bytesdashboard/apps/web/drizzle.config.tsruns · 351 bytesdashboard/apps/web/hooks/use-connection-status.tsruns · 371 bytesdashboard/apps/web/hooks/use-media-query.tsxruns · 468 bytesdashboard/apps/web/hooks/use-mobile.tsruns · 584 bytesdashboard/apps/web/hooks/use-mounted.tsruns · 200 bytesdashboard/apps/web/hooks/use-symphony-metrics.tsruns · 293 bytesdashboard/apps/web/hooks/use-symphony-state.tsruns · 289 bytesdashboard/apps/web/lib/auth-client.tsruns · 354 bytesdashboard/apps/web/lib/auth.tsruns · 660 bytesdashboard/apps/web/lib/config.tsruns · 94 bytesdashboard/apps/web/lib/db/client.tsruns · 348 bytesdashboard/apps/web/lib/db/migrate.tsruns · 1,109 bytesdashboard/apps/web/lib/db/migrations/0000_sloppy_spot.sqlasset · 2,377 bytesdashboard/apps/web/lib/db/migrations/meta/0000_snapshot.jsonasset · 10,069 bytesdashboard/apps/web/lib/db/migrations/meta/_journal.jsonasset · 205 bytesdashboard/apps/web/lib/db/queries.tsruns · 1,463 bytesdashboard/apps/web/lib/db/schema.tsruns · 2,970 bytesdashboard/apps/web/lib/env-schema.tsruns · 578 bytesdashboard/apps/web/lib/env.tsruns · 443 bytesdashboard/apps/web/lib/logger.tsruns · 949 bytesdashboard/apps/web/lib/utils.tsruns · 169 bytesdashboard/apps/web/logo.svgasset · 2,370 bytesdashboard/apps/web/next.config.tsruns · 201 bytesdashboard/apps/web/package.jsonruns · 2,488 bytesdashboard/apps/web/postcss.config.mjsruns · 146 bytesdashboard/apps/web/providers/session-provider.tsxruns · 1,393 bytesdashboard/apps/web/trpc/init.tsruns · 4,031 bytesdashboard/apps/web/trpc/query-client.tsruns · 932 bytesdashboard/apps/web/trpc/react.tsxruns · 1,910 bytesdashboard/apps/web/trpc/routers/_app.tsruns · 382 bytesdashboard/apps/web/trpc/routers/settings.router.tsruns · 767 bytesdashboard/apps/web/trpc/routers/symphony.router.tsruns · 1,411 bytesdashboard/apps/web/trpc/server.tsxruns · 1,273 bytesdashboard/apps/web/tsconfig.jsonasset · 669 bytesdashboard/apps/web/vercel.jsonasset · 127 bytesdashboard/bun.lockasset · 146,292 bytesdashboard/package.jsonruns · 788 bytesdashboard/packages/symphony-client/package.jsonruns · 199 bytesdashboard/packages/symphony-client/src/client.tsruns · 2,085 bytesdashboard/packages/symphony-client/src/index.tsruns · 317 bytesdashboard/packages/symphony-client/src/types.tsruns · 2,357 bytesdashboard/packages/symphony-client/tsconfig.jsonasset · 257 bytesdashboard/railway.tomlasset · 186 bytesdashboard/turbo.jsonasset · 916 bytesdist/symphony.skillasset · 5,397 bytesdocker-compose.ymlasset · 463 bytesdocs/Architecture Map.baseasset · 938 bytesdocs/Crates Dashboard.baseasset · 849 bytesdocs/Symphony Index.mddoc · 4,126 bytesdocs/Vault Conventions.mddoc · 8,353 bytesdocs/Vault Health.baseasset · 1,577 bytesdocs/architecture/Architecture Overview.mddoc · 5,235 bytesdocs/architecture/Crate Map.mddoc · 2,412 bytesdocs/architecture/Domain Model.mddoc · 2,520 bytesdocs/control/Consciousness Architecture.mddoc · 5,185 bytesdocs/control/Session Protocol.mddoc · 3,025 bytesdocs/conversations/.gitkeepasset · 0 bytesdocs/conversations/Conversations.mddoc · 782 bytesdocs/conversations/session-2026-03-06-88703d60.mddoc · 179,395 bytesdocs/conversations/session-2026-03-06-b37e7a97.mddoc · 1,100 bytesdocs/conversations/session-2026-03-16-5a510370.mddoc · 102,663 bytesdocs/conversations/session-2026-03-16-5a65e109.mddoc · 873 bytesdocs/conversations/session-2026-03-16-e856bd3c.mddoc · 90,170 bytesdocs/conversations/session-2026-03-17-2617354e.mddoc · 2,257 bytesdocs/conversations/session-2026-03-17-540676a7.mddoc · 200,957 bytesdocs/conversations/session-2026-03-17-635dce40.mddoc · 230,473 bytesdocs/conversations/session-2026-03-17-7f02c7e0.mddoc · 2,219 bytesdocs/conversations/session-2026-03-17-81b7171a.mddoc · 5,849 bytesdocs/conversations/session-2026-03-17-cd62fcc4.mddoc · 77,164 bytesdocs/conversations/session-2026-03-18-5ab8de40.mddoc · 8,366 bytesdocs/conversations/session-2026-03-18-72911522.mddoc · 114,561 bytesdocs/conversations/session-2026-03-18-8a3ce802.mddoc · 33,171 bytesdocs/crates/symphony-agent.mddoc · 2,455 bytesdocs/crates/symphony-config.mddoc · 1,558 bytesdocs/crates/symphony-core.mddoc · 992 bytesdocs/crates/symphony-observability.mddoc · 1,861 bytesdocs/crates/symphony-orchestrator.mddoc · 3,456 bytesdocs/crates/symphony-tracker.mddoc · 3,638 bytesdocs/crates/symphony-workspace.mddoc · 1,912 bytesdocs/marketing/blog-launch.mddoc · 8,931 bytesdocs/marketing/x-launch-post.mddoc · 2,459 bytesdocs/operations/Configuration Reference.mddoc · 5,533 bytesdocs/operations/Control Harness.mddoc · 3,966 bytesdocs/operations/Observability.mddoc · 4,634 bytesdocs/roadmap/Production Roadmap.mddoc · 3,276 bytesdocs/roadmap/Project Status.mddoc · 3,761 bytesdocs/roadmap/Roadmap Tracker.baseasset · 736 bytesevals/control-metrics.yamlasset · 1,524 bytesevals/symphony-prompts/README.mddoc · 4,367 bytesevals/symphony-prompts/baseline/stimulus-workflow.mddoc · 4,194 bytesevals/symphony-prompts/constraint-check.shruns · 2,378 bytesevals/symphony-prompts/evaluator.shruns · 1,804 bytesevals/symphony-prompts/ledger.jsonlasset · 0 bytesevals/symphony-prompts/problem-spec.yamlasset · 2,710 bytesevals/symphony-prompts/rollback.shruns · 497 bytesevals/symphony-prompts/run_eval.shruns · 1,636 bytesexamples/github-claude.mddoc · 2,448 bytesexamples/linear-claude.mddoc · 2,050 bytesexamples/linear-codex.mddoc · 1,128 bytesexamples/markdown-claude.mddoc · 2,008 bytesinstall.shruns · 1,899 bytesrailway.tomlasset · 186 bytesscripts/control/refresh_state.shruns · 2,420 bytesscripts/control/validate_policy.shruns · 1,397 bytesscripts/conversation-bridge-hook.shruns · 783 bytesscripts/conversation-history.pyruns · 43,192 bytesscripts/harness/audit_harness.shruns · 2,776 bytesscripts/harness/entropy_check.shruns · 1,875 bytesscripts/secret-scan.shruns · 4,397 bytesscripts/setup-branch-protection.shruns · 1,279 bytesscripts/test_secret_redaction.pyruns · 3,321 bytessrc/cli/client.rsasset · 8,749 bytessrc/cli/config_cmd.rsasset · 5,828 bytessrc/cli/control.rsasset · 4,429 bytessrc/cli/dashboard.rsasset · 11,887 bytessrc/cli/doctor.rsasset · 5,856 bytessrc/cli/init.rsasset · 11,214 bytessrc/cli/issues.rsasset · 3,702 bytessrc/cli/logs.rsasset · 7,034 bytessrc/cli/mod.rsasset · 14,121 bytessrc/cli/output.rsasset · 3,054 bytessrc/cli/run.rsasset · 2,856 bytessrc/cli/start.rsasset · 5,792 bytessrc/cli/status.rsasset · 3,917 bytessrc/cli/workspaces.rsasset · 3,710 bytessrc/main.rsasset · 7,295 bytesstart.shruns · 507 bytestests/cli_integration.rsasset · 8,551 bytes
Read excerpt
# symphony
Rust orchestration engine that polls issue trackers (Linear, GitHub), creates
isolated workspaces, and runs coding agents automatically.
## Install
```bash
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