Install
$ agentstack add skill-jvogan-symphony-linear-starter-symphony-linear-orchestrator ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Symphony + Linear Orchestrator
Use this skill to onboard a repository for Symphony workers coordinated by an orchestrator and tracked in Linear.
Roles
- The orchestrator inspects the repo, plans work, runs setup, and reviews results.
- Symphony dispatches workers.
- Workers execute bounded issues.
- Linear stores issue planning, dependencies, and review state.
Required workflow
- Inspect the target repo, current
AGENTS.md, and any security or privacy constraints that workers must respect. - Run
scripts/doctor.pyto confirm the local toolchain and auth state. - Run
scripts/bootstrap.pyto render onboarding artifacts into the target repo's.orchestration/directory. Choose a lane deliberately, keep the first run conservative, and set workspace assertions that would catch a bad checkout quickly. - Merge the generated
AGENTS_ADDITIONS.mdcontent into the target repo manually. Do not let the script editAGENTS.mdfor you. - Create Linear issues using the contract in
references/linear-contract.mdor render them from structured JSON withscripts/issue_schema.py. - Run
scripts/preflight.pybefore starting any real run, then dispatch the wave: run your built Symphony binary against the rendered.orchestration/.WORKFLOW.md(e.g.symphony .orchestration/wave1.WORKFLOW.md --logs-root .orchestration/logs/wave1; see the README quickstart and https://github.com/openai/symphony for build + exact flags). Symphony spawns one worker per active Linear issue. - Start with
max_concurrent_agents: 1by default. Raise concurrency only after the repo baseline, issue boundaries, and review loop are proven. - When multiple workflows share one Linear project, use explicit routing labels such as
sym:small,sym:medium,sym:large, andsym:content. - Keep the workflow's
campaignmetadata aligned with the worker prompt: the default mode isorchestrator-review, workers move completed issues toIn Review, and the orchestrator integrates before moving issues toDone. - Treat
In Reviewas the orchestrator gate. Review worker output, integrate the result, then move the issue toDone. - After each execution wave, update
.orchestration/RUNBOOK.mdand.orchestration/LEARNINGS.md, then promote stable learnings intoAGENTS.md, the issue template, or workflow defaults. - Use the optional Release Manager lane only after workers reliably attach PR URLs and mark issues with
release:ready. Keep it single-writer (max_concurrent_agents: 1) and dry-run it before using--apply. For high-volume parallel merges, verify a GitHub merge queue is enabled first (scripts/release_manager.py --check-merge-queue) so a burst of PRs batches instead of serializing, and re-run the lane to drain and finalize -- or render the scheduled GitHub Action sample (bootstrap.py --with-release-manager) to run that drain loop hands-off. Seereferences/release-manager-lane.md. - For autonomous, goal-directed running (deciding the next wave from a goal, not just executing one wave), use the optional goal loop. Render it with
bootstrap.py --with-goal-loop, init the budget ledger withscripts/goal_state.py --init, and have an orchestrator agent run the per-lap prompt (.orchestration/goal-loop.PROMPT.md). Every lap consultsscripts/goal_state.py, which returnscontinue/done/stuckfrom real Linear state plus hard budget caps -- obeystuckand never code around it. Default posture is gated (the orchestrator reviewsIn Reviewand owns the merge); it flips to auto (via the Release Manager lane) or a per-label mix. Seereferences/autonomous-goal-loop.mdandreferences/planner-lane.md.
Safety defaults
- Keep most work in
Backlog. - Activate only the first execution wave. Fill worker slots only after the workflow, issue contract, and review loop are behaving predictably.
- Do not auto-merge.
- Do not default to snapshot promotion or automatic PR creation.
- If enabling autonomous deploys, route them through the Release Manager lane; normal workers must not push, rebase, merge, or deploy
main. - Treat the autonomous goal loop as opt-in and capped. The budget ledger's caps (
max_laps,max_dispatched,max_planner_depth,max_wall_clock_minutes) are hard stops, and astuckverdict fromscripts/goal_state.pyalways stops the loop and escalates to a human -- never override it. Do not enable auto-merge in the loop without real validation gates (required status checks or a merge queue) on the base branch. Keep planner recursion shallow. - Do not introduce machine-specific background services into the target repo.
- Do not inherit the whole shell environment by default. Use an explicit Codex environment allowlist and add variables only when the workflow requires them.
- Do not put secrets, credentials, tokens, session cookies, personal data, or raw customer payloads into Linear issue bodies, workflow files, learnings, or worker comments.
- Treat anyone who can create or edit routed Linear issues as part of the trusted execution boundary.
- Prefer bootstrap assertions and no-progress guardrails over relying on operator intuition after a run has already gone wrong.
- Integrate validated worker output quickly so the dependency chain keeps moving.
- Do not leave repeated lessons trapped in chat or issue comments. Promote durable learnings into repo guidance.
Reference map
- Read
references/orchestrator-model.mdwhen you need the operating model and role boundaries. - Read
references/linear-contract.mdbefore writing issue bodies or dependency chains. - Read
references/symphony-workflow.mdbefore rendering or editing a workflow. - Read
references/release-manager-lane.mdbefore enabling autonomous PR merge/deploy flow. - Read
references/autonomous-goal-loop.mdbefore running the goal loop for autonomous, goal-directed work; it covers the convergence/budget spine, the three layers, and the safety requirements. - Read
references/planner-lane.mdbefore dispatching planners that shape the next wave; it covers the recursion fences. - Read
references/repo-onboarding.mdwhen reviewing the target repo'sAGENTS.mdand local guidance. - Read
references/recovery-playbook.mdwhen a worker stalls, clones the wrong branch, or drifts from validation. - Read
references/self-improvement-loop.mdafter each run when you need to convert operator observations into durable runbooks, learnings, and better defaults. - Read
references/example-prompts.mdwhen you want prompt patterns for Codex or Claude Code.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jvogan
- Source: jvogan/symphony-linear-starter
- License: MIT
- Homepage: https://jvogan.github.io/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.