Symphony Go banner
SaschaHeyer SaschaHeyer

Symphony Go

Testing community

Description

A Go implementation of the [Symphony specification](../SPEC.md) — a long-running automation service that reads work from issue trackers, creates isolated workspaces, and runs AI coding agents for each

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Symphony Go

A Go implementation of the [Symphony specification](../SPEC.md) — a long-running automation service that reads work from issue trackers, creates isolated workspaces, and runs AI coding agents for each issue.

Symphony supports two agent backends (**Gemini CLI** and **Claude Code**) and two issue trackers (**Linear** and **Jira Cloud**). Mix and match per workflow.

Architecture

![Symphony Go Architecture](symphony-go-architecture.png)

Agent Backends

Symphony supports two agent backends. Set the `backend` field in your WORKFLOW.md to choose:

Gemini CLI Claude Code
Config key backend: gemini (default) backend: claude
Protocol ACP — JSON-RPC 2.0 over stdio (long-running process) NDJSON stream — one CLI invocation per turn
Session model Single process, session persists in-memory --resume across invocations, persisted to .symphony-session-id
Tool access Client-side injection (ACP fs/terminal requests) MCP servers (configured externally via .mcp.json or user config)
Permission handling ACP session/request_permission auto-approve --permission-mode bypassPermissions flag
Default model gemini-3.1-pro-preview claude-sonnet-4-6
TTY requirement None Requires pseudo-TTY (script -q /dev/null wrapper, handled automatically)

Gemini CLI Setup

npm install -g @google/gemini-cli
gemini auth login

For Linear integration, install the MCP extension:

gemini extensions install @google/mcp-linear

Claude Code Setup

npm install -g @anthropic-ai/claude-code

For Linear integration, add the MCP server globally:

claude mcp add -s user --transport http linear-server https://mcp.linear.app/mcp

This makes the Linear MCP server available in all workspaces. Alternatively, write a `.mcp.json` file in the workspace via the `after_create` hook for a self-contained setup.

Issue T