| name | cc-orchestra |
| description | Multi-project tmux orchestration for Codex. Sets up tmux session/window with CC instances per project, then dispatches prompts. Use when (a) the user says "cc-orchestra" or asks to orchestrate multiple projects, OR (b) the user mentions another project name as a dispatch target (e.g. "pacman์์ X ํด์ค", "thomas์ bo์ Y ์ ์ฉ", "<proj>์์ ..."), OR (c) the assistant determines that work belongs to a sibling project (file paths under another repo, plan document assigns the task there, build /test ownership lies elsewhere) while running as the main pane of an active task. Skip when the user says "์ฌ๊ธฐ์ / ์ด ํ์ผ / ํ์ฌ ํ๋ก์ ํธ" or the work is clearly within the current pane's project.
|
cc-orchestra
enc-mask ๊ฐ์ multi-project workspace์์ Codex ์ธ์คํด์ค๋ฅผ tmux๋ก ๊ตฌ์ฑํ๊ณ
๊ฐ๋ณ ํ๋ก์ ํธ pane์ prompt๋ฅผ dispatchํ๋ skill.
Commands (via zsh wrappers in functions.zsh)
| Command | Description |
|---|
ccup <task> <main> [sub...] | session ๋ชจ๋๋ก ํ๊ฒฝ ๊ตฌ์ฑ (default) |
ccup --window <task> <main> [sub...] | window ๋ชจ๋๋ก ํ๊ฒฝ ๊ตฌ์ฑ |
ccsend <proj> "prompt" | named project pane์ dispatch |
ccadd <task> <proj> <path> | ์คํ ์ค ํ๊ฒฝ์ pane ์ถ๊ฐ |
ccrm <task> <proj> | ์คํ ์ค pane ์ ๊ฑฐ |
cclist | ํ์ฑ task + pane ๋ชฉ๋ก |
ccdown <task> | ํ๊ฒฝ ์ข
๋ฃ |
Dispatch ๋ฐฉ๋ฒ
์ฌ์ฉ์๊ฐ ํน์ ํ๋ก์ ํธ์ ์์
์ ์ง์ํ๋ฉด ํด๋น ํ๋ก์ ํธ pane์ ccsend๋ก dispatch:
ccsend pacman "implement the ISMS-184 delivery ID bulk SSN encryption"
Dispatch trigger rules (CC)
๋ฉ์ธ pane์ CC๋ ์ฌ์ฉ์ ๋ฐํ์์ ๋ค๋ฅธ ํ๋ก์ ํธ ์ด๋ฆ์ด ๋ช
์๋๋ฉด ์๋์ผ๋ก ๊ทธ pane์ dispatch:
- "pacman์์ X ํด์ค" โ pacman pane์ dispatch
- "thomas์ bo ๋ชจ๋์ Y ์ ์ฉ" โ thomas, bo pane์ ์์ฐจ dispatch
- "์ฌ๊ธฐ์ / ์ด ํ์ผ / ํ์ฌ ํ๋ก์ ํธ" โ ์๊ธฐ ์์ ์ด ์ฒ๋ฆฌ
How to dispatch (CC commands)
CC์ Bash tool์ zsh function ccsend๋ฅผ ๋ณด์ง ๋ชปํ๋ค. wrapper script๋ฅผ 1์ค๋ก ํธ์ถ:
~/.Codex/skills/cc-orchestra/scripts/cc-dispatch.sh <proj> "<ํ๋กฌํํธ>"
wrapper ๋ด๋ถ์์ active-task.sh๋ก ํ์ฌ tmux session์ task๋ฅผ ์๋ ํ์ง ํ send.sh๋ก ์์. tmux ๋ฐ์ด๊ฑฐ๋ ๋งค์นญ 0/2+๊ฐ๋ฉด ๋น0 ์ข
๋ฃ โ ์ฌ์ฉ์์๊ฒ task๋ช
๋ช
์ ์์ฒญ.
dispatch ์ ํ์ธ ์ ์ฑ
โ trigger์ ๋ฐ๋ผ ๋ค๋ฆ:
| Trigger | ํ์ธ ์ฌ๋ถ | ์กฐ๊ฑด |
|---|
| A โ ์ฌ์ฉ์ ๋ฐํ์ ํ๋ก์ ํธ๋ช
๋ช
์ | ์ฆ์ dispatch | "pacman์์ X ํด์ค" ๊ฐ์ด ํ๋ก์ ํธ๊ฐ ๋ฐํ์ ํฌํจ |
| B โ CC ์์ฒด ํ์ผยท๊ณํ๋ฌธ์ ์ถ๋ก | ํ์ธ ํ dispatch | ์ฌ์ฉ์๊ฐ ํ๋ก์ ํธ๋ฅผ ์ธ๊ธํ์ง ์์ CC๊ฐ ์ถ๋ก ํ ๊ฒฝ์ฐ |
Trigger A์ผ ๋๋ cc-dispatch.sh ์ฆ์ ์คํ ํ ๊ฒฐ๊ณผ๋ง ์๋ด:
โ pacman pane์ ์ ์กํ์ต๋๋ค.
๋ก๊ทธ: tail -f /tmp/cc-<task>-pacman.log
Trigger B์ผ ๋๋ ๋ฉ์์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ + ํ์ธ ์์ฒญ:
๋ค์์ <proj> pane์ dispatchํ๋ ค๊ณ ํฉ๋๋ค. ์งํํ ๊น์?
<๋ฉ์์ง ๋ณธ๋ฌธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ>
How to add/remove panes (CC commands)
์ ํ๋ก์ ํธ pane ๋์ ์ถ๊ฐ:
~/.Codex/skills/cc-orchestra/scripts/cc-add.sh <proj> <path>
์ถ๊ฐ ์งํ dispatch๋ Codex ๋ถํ
๋๊ธฐ(~5์ด) ํ์. ์ฆ์ ๋ณด๋ด๋ฉด ์
๋ ฅ์ด ์นํ ์ ์์.
pane ์ ๊ฑฐ:
~/.Codex/skills/cc-orchestra/scripts/cc-remove.sh <proj>
ํ์ฑ task ๋ชฉ๋ก์ ~/.Codex/skills/cc-orchestra/scripts/list.sh (์ธ์ ์์, task ์๋ ํ์ง ๋ถํ์).
์ฃผ์์ฌํญ
- ๊ฐ pane์ CC ์ธ์คํด์ค๋ ํด๋น ํ๋ก์ ํธ cwd์์ ์์ โ AGENTS.md/.Codex/ ์๋ ๋ก๋ฉ
- pane ID๋
~/.cc-orchestra/<task>.env์ ์ ์ฅ๋จ
- ์ธ์
์ฌ์ ์ ํ์๋ env ํ์ผ ์ ํจ (tmux server ์ด์์๋ ๋์)