一键导入
using-symphony
Use for Symphony Kanban operations including tickets, TUI/service runs, workflow prompts, delegation, and dispatch or worker failure triage.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use for Symphony Kanban operations including tickets, TUI/service runs, workflow prompts, delegation, and dispatch or worker failure triage.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when bootstrapping Symphony into an existing monorepo (multi-service Git repo) so each ticket gets an isolated git worktree workspace, the upstream 7-stage prompts are installed, and Claude Code permissions are wired up bidirectionally. Triggers on "set up symphony in my monorepo", "bootstrap symphony workspaces", "WORKFLOW.md per service", "worktree hooks", "symphony monorepo".
Use for Symphony OneShot runs that turn one prompt into ordered Kanban tickets with shared vault state, verification gates, QA evidence, and delivery proof.
| name | using-symphony |
| description | Use for Symphony Kanban operations including tickets, TUI/service runs, workflow prompts, delegation, and dispatch or worker failure triage. |
Symphony is a polling orchestrator that reads Kanban tickets and runs a coding-agent CLI (Codex, Claude Code, Gemini, or Pi) against each ticket in an isolated workspace. Use this skill for operator work: creating tickets, running the orchestrator, editing workflow config, bootstrapping Symphony into another repo, and triaging worker failures.
Start by reading the target WORKFLOW.md and one or two real kanban/*.md
files. Symphony behavior is workflow-specific, and forks commonly customize
lanes, prompts, hooks, workspace roots, and agent backends.
workspace.root (default
~/symphony_workspaces/<ID>). The default hooks attach that directory as a
git worktree on symphony/<ID>, leaving the host working tree untouched.TASK-001, then TASK-002, then TASK-003 in task-list order; Symphony
sorts by stable numeric suffix before mutable fields like priority.symphony/<ID> branch to be merged into
the configured target branch before the ticket moves to Done.Run this before launching or debugging a workflow:
symphony doctor ./WORKFLOW.md
Fix FAIL lines first. Doctor catches the common launch blockers: port collisions, missing agent CLI, missing Pi auth, placeholder clone URLs, unwritable workspaces, and missing board directories.
docs/symphony-prompts, and platform entry files. Do not
leave the operator with only a bare WORKFLOW.md; read
reference/bootstrapping.md for the exact bundle.Todo, Explore, Plan,
In Progress, Review, QA, Learn, Done) unless the user explicitly
requests a smaller workflow. If you change lanes, update both
tracker.active_states and prompts.stages.tracker.kind: file uses docs/symphony-prompts/file/...;
tracker.kind: linear uses docs/symphony-prompts/linear/....prompts.base and prompts.stages files,
not in a huge inline WORKFLOW.md body.git reset --hard in before_run; it can erase the agent's
previous-turn work before it is finalized.Add one file-board ticket and open the managed TUI launcher:
symphony board init ./kanban
symphony board new TASK-001 "<title>" --description "<spec>"
./tui-open.sh ./WORKFLOW.md
Run headless with service state and browser viewer:
symphony service start ./WORKFLOW.md --port 9999 --viewer-port 8765
symphony service status ./WORKFLOW.md
curl -s http://127.0.0.1:9999/api/v1/state | jq
Use symphony service ... for normal headless operation. It writes
per-workflow run state under .symphony/run/ and refuses duplicate starts for
the same WORKFLOW.md, preventing two orchestrators from dispatching the same
board.
For smoke demos without an installed agent CLI, set codex.command: python -m symphony.mock_codex; see reference/operations.md.
When initializing or rewriting a WORKFLOW.md, ask the operator whether
they want each state transition broadcast to Slack — it is the cheapest
hook for PMs to follow a board without opening the TUI. Make it a
question, not a default:
"Optional: post each ticket transition to Slack? If yes I need an incoming-webhook URL (or env-var name) and either 'every stage' or a filtered subset like Done + Blocked."
If they accept, add the block from reference/workflow-config.md
(Notifications (Slack) section). If they decline, omit it. The feature
is off whenever the block is absent — no extra cleanup needed.
| Need | Read |
|---|---|
| Bootstrap Symphony into a project | reference/bootstrapping.md |
| Add/list/show/move tickets, run TUI/API/service | reference/operations.md |
Edit WORKFLOW.md, agent kind, hooks, tracker, workspace | reference/workflow-config.md |
| Rename lanes, add per-state prompts, customize pipelines | reference/customization.md |
| Delegate independent sub-tasks to Symphony workers | reference/delegation.md |
Diagnose worker_exit, hook_failed, blank TUI, auth stalls | reference/troubleshooting.md |
| Set up/debug Windows, macOS, Linux behavior | reference/platform-compat.md |
Configure .gitignore for Symphony-generated docs/logs | reference/gitignore-recommendations.md |
If a service appears stuck, read log/symphony.log and the JSON state. Useful
events include:
dispatch issue_id=... - ticket picked uphook_completed hook=after_create - workspace seededagent_session_started session_id= - backend CLI startedagent_turn_completed turn=N total_tokens=... - a turn finishedagent_turn_failed ... stderr_tail=[...] - backend failure; inspect stderrworker_exit reason=normal - clean end-to-end completionIf dispatch appears but no agent_session_started follows within about a
minute, inspect backend auth, command, and stdin behavior. See
reference/troubleshooting.md.
symphony-oneshot.