| name | team |
| description | Start a temporary agent team in tmux panes for collaborative work, with at most 5 total agents including the main agent. Keep the main agent focused on user interaction, coordination, monitoring, and final integration while delegating independent work to teammates whenever feasible. Use proactively when a task can be split across independent files, modules, or concerns. Also trigger when the user asks to work on multiple things at once, speed up a large task, or mentions "ํ", "๋ณ๋ ฌ", "parallel", "๋์์", "๋๋ ์". |
| allowed-tools | Agent, Bash(tmux:*), TaskCreate, TaskUpdate, TaskList, TaskGet, SendMessage, TeamCreate, TeamDelete |
Agent Team Mode
๋ณ๋ ฌ ์์
์ ์ํ ์์ด์ ํธ ํ์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ค.
Input: $ARGUMENTS
์์
๋ฐฉ์นจ
- ์์
์ ๊ฐ๋ฅํ ํ team ๋ชจ๋(๋ณ๋ ฌ ์์ด์ ํธ)๋ฅผ ์ฐ์ ์ฌ์ฉํ๋ค. ๋จ์ผ ํ์ผ ์์ ์์ ๋ฑ ๋ถํด๊ฐ ์๋ฏธ ์๋ ๊ฒฝ์ฐ๋ง ์์ธ.
- ์ฌ์ฉ์๊ฐ "๋ณ๋ ฌ", "ํ", "๋์์" ๊ฐ์ ํํ์ ์ฐ์ง ์์๋ ์์
์ด ๋
๋ฆฝ subtask๋ก
๋๋๋ฉด team ๋ชจ๋ ์ฌ์ฉ์ ์ฐ์ ๊ฒํ ํ๋ค.
- ๋จ์ผ ํ์ผ์ ์์ ์์ , ์ฆ์ ์ฒ๋ฆฌํ๋ ํธ์ด ๋น ๋ฅธ ์ง๋ฌธ/๋ช
๋ น, ์์
๊ฐ ์์กด์ฑ์ด
๊ฐํด ๋ณ๋ ฌํ๊ฐ ์คํ๋ ค ์ํํ ๊ฒฝ์ฐ์๋ team ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
- ์ฌ์ฉ์๊ฐ "ํผ์ ์ฒ๋ฆฌ", "ํ ์ฐ์ง ๋ง", "์๋ธ์์ด์ ํธ ์ฐ์ง ๋ง"์ฒ๋ผ team ๋ชจ๋
๋น์ฌ์ฉ์ ๋ช
์ํ๋ฉด ๊ทธ ์์ฒญ์ ์ฐ์ ํ๋ค.
- team ๋ชจ๋๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌ top-level ์ฌ์ฉ์ ์์ฒญ์๋ง ์ด์ ์๋ ์์ ํ์ด๋ค.
์์ฒญ์ running/queued subtask๊ฐ ๋ชจ๋ ๋๋๋ฉด idle teammate์ pane์ ์ข
๋ฃํ๊ณ
TeamDelete๋ก ์ ๋ฆฌํ๋ค.
- ์ฌ์ฉ์๊ฐ "ํ ์ ์ง", "keep alive", "persistent team", "๋ค์ ์์
์๋ ์ฌ์ฌ์ฉ"์ฒ๋ผ
๋ช
์ํ ๊ฒฝ์ฐ์๋ง ์์ฒญ ์ข
๋ฃ ํ ํ์ ์ ์งํ๋ค.
- ๋ฉ์ธ ์์ด์ ํธ๋ฅผ ํฌํจํด ์ ์งํ๊ฑฐ๋ ๋์์ ํ๋ํ๋ ์์ด์ ํธ๋ ์ต๋ 5๊ฐ๋ก ์ ํํ๋ค.
์ฆ teammate๋ ์ต๋ 4๋ช
๊น์ง๋ง ์ฌ์ฉํ๋ค.
- team ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ์ธ ์์ด์ ํธ์ ๊ธฐ๋ณธ ์ญํ ์ ์ฌ์ฉ์ ์๋ต, ์กฐ์จ, ๋ชจ๋ํฐ๋ง,
์ต์ข
ํตํฉ์ด๋ค. ์ฌ์ฉ์์ ์ถ๊ฐ ์ง๋ฌธ์ ๊ณ์ ๋ฐ์ ์ ์๋๋ก ๋
๋ฆฝ subtask๋ ๊ฐ๋ฅํ
ํ teammate์๊ฒ ์์ํ๋ค.
- ๋ฉ์ธ ์์ด์ ํธ๋ ์ฆ์ ์ฒ๋ฆฌํ๋ ํธ์ด ๋น ๋ฅธ ์์ ์์
, teammate ๋ฐฐ์ ์ ํ์ํ
ํ์, ownership ์ถฉ๋์ด ์๋ ์งง์ ๋ณด์กฐ ์์
, ์ต์ข
ํตํฉ/๊ฒ์ฆ, ์ฌ์ฉ์๊ฐ ๋ฉ์ธ ์ง์
์ฒ๋ฆฌ๋ฅผ ์์ฒญํ ๊ฒฝ์ฐ์๋ง subtask๋ฅผ ์ง์ ๋งก๋๋ค.
- ์ด๋ฏธ teammate๊ฐ 4๋ช
์ ์ด๊ณผํ๋ฉด ์ teammate๋ฅผ ๋ง๋ค์ง ์๋๋ค. ์ด๋ฒ ์์
์๋ ์ต๋
4๋ช
๋ง ์ ํํ๊ณ , ์ด๊ณผ idle teammate๋ ์ ๋ฆฌํ๋ค.
- ์ด์ ์์ฒญ์์ ๋จ์ idle/stale ํ์ด๋ pane์ด ์์ผ๋ฉด ์ ์์
์ ์ฌ์ฌ์ฉํ์ง ๋ง๊ณ
์งํ ์ค task๊ฐ ์๋์ง ํ์ธํ ๋ค ๋จผ์ ์ ๋ฆฌํ๋ค. ์งํ ์ค task๊ฐ ์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ
๋จ์ ์์
์ ๋ณด๊ณ ํ๊ณ ์ ์์
์ ์ฌ๋ฐฐ์ ํ์ง ์๋๋ค.
- ํ์ฌ ์์ฒญ ์์์๋ ๊ธฐ์กด idle teammate๋ฅผ ์ฐ์ ์ฌ์ฌ์ฉํ๋ค. ๊ณ ์ ์ฌ๋กฏ ์ด๋ฆ์
์ ์งํ๊ธฐ๋ณด๋ค ํ์ฌ ์์
๋ชฉ์ ์ ๋ง๋ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํด ์ฌ์ฉํ๋ค.
- ๋ฐํ์์ด teammate ์ด๋ฆ ๋ณ๊ฒฝ์ ์ง์ํ์ง ์์ผ๋ฉด ์ค์ ์ด๋ฆ์ ์ ์งํ๋, task owner,
pane title, ๋ธ๋ฆฌํ, ์ต์ข
๋ณด๊ณ ์์ ํ์ฌ ๋ชฉ์ /์ญํ ์ด๋ฆ์ด ๋ช
ํํ ๋๋ฌ๋๊ฒ ํ๋ค.
์คํ ์ ์ฐจ
1. ์์
๋ถ์ ๋ฐ ๋ถํด
ํ์ ๋ง๋ค๊ธฐ ์ ์ ์์
์ ์ด๋ป๊ฒ ๋๋์ง ๋จผ์ ๊ฒฐ์ ํ๋ค. ์๋ชป๋ ๋ถํด๋ ์ถฉ๋๊ณผ ์ฌ์์
์ ์ ๋ฐํ๋ฏ๋ก ์ด ๋จ๊ณ๊ฐ ๊ฐ์ฅ ์ค์ํ๋ค.
์ฌ์ฉ์๊ฐ ๋ณ๋ ฌ ์์
์ ๋ช
์ํ์ง ์์๋ ๋
๋ฆฝ subtask๋ก ๋๋ ์ ์๋์ง ๋จผ์ ํ๋จํ๋ค.
๋ถํด ์ ๋ต:
| ์ ๋ต | ์ ํฉํ ์ํฉ | ์์ |
|---|
| ํ์ผ/๋ชจ๋ ๊ธฐ์ค | ์๋ก ๋ค๋ฅธ ํ์ผ์ ๋
๋ฆฝ์ ์ผ๋ก ์์ | API ๋ฆฌํฉํ ๋ง โ routes, controllers, middleware ๊ฐ๊ฐ |
| ๊ด์ฌ์ฌ ๊ธฐ์ค | ๊ฐ์ ์ฝ๋๋ฅผ ๋ค๋ฅธ ๊ด์ ์์ ๋ถ์ | ์ฝ๋ ๋ฆฌ๋ทฐ โ security, performance, test-coverage |
| ํ์ดํ๋ผ์ธ ๊ธฐ์ค | ์์ฐจ ๋จ๊ณ๋ฅผ ๋ณ๋ ฌ ์ค๋น | ๋ฐฐํฌ ์ค๋น โ lint ์์ + ํ
์คํธ ์์ฑ + ๋ฌธ์ ์
๋ฐ์ดํธ |
ํต์ฌ ์์น:
- ๊ฐ teammate์ ์์
์ด ๋ค๋ฅธ teammate ๊ฒฐ๊ณผ์ ์์กดํ์ง ์๋๋ก ํ๋ค. ์์กด์ฑ์ด ์์ผ๋ฉด ์์๋ฅผ ์ ํด ์ ํ ์์
์๋ฃ ํ ํ์ teammate์๊ฒ SendMessage๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฌํ๋ค.
- ๊ฐ์ ํ์ผ์ ๋ ๋ช
์ด์์ด ์์ ํ๋ฉด git ์ถฉ๋์ด ๋ฐ์ํ๋ค. ํ์ผ ์์ ๊ถ์ ๋ช
ํํ ๋๋๋ค.
- ์์
๋์ ๊ท ๋ฑํ๊ฒ ๋ถ๋ฐฐํ๋ค. ํ ๋ช
์ด ํ์ผ 10๊ฐ, ๋ค๋ฅธ ํ ๋ช
์ด 1๊ฐ๋ฉด ๋นํจ์จ์ ์ด๋ค.
- ์๋ก ๋ค๋ฅธ ํ์ผ/๋ชจ๋/๊ด์ฌ์ฌ๋ก ๋๋ ์ ์๋ ์์
์ team ๋ชจ๋ ์ ์ฉ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก
ํ๋ค.
- subtask ์๊ฐ ๋ง์๋ ์ด๋ฒ ์์
์ ๋ฐฐ์ ํ๋ teammate๋ ์ต๋ 4๋ช
์ผ๋ก ์ ํํ๋ค.
๋๋จธ์ง subtask๋ backlog์ ๋๊ณ , teammate๊ฐ ๋๋๋ ์ฆ์ ๋ค์ ๋
๋ฆฝ subtask๋ฅผ
์ฌ๋ฐฐ์ ํ๋ค. ๋ฉ์ธ ์์ด์ ํธ๋ backlog๋ฅผ ์ง์ ๋งก๊ธฐ๋ณด๋ค idle teammate ์ฌ๋ฐฐ์ ๊ณผ
ํตํฉ ํ๋จ์ ์ฐ์ ํ๋ค.
- ์ธ์๊ฐ ๋น์ด์์ผ๋ฉด ์ฌ์ฉ์์๊ฒ ์ด๋ค ์์
์ ๋ณ๋ ฌํํ ์ง ๋ฌผ์ด๋ณธ๋ค.
์์
์ ๋ฐฐ์ ํ๊ธฐ ์ ์ ํ์ผ ์์ ๊ถ ํ๋ฅผ ๋ง๋ ๋ค. ํ์๋ ์ต์ํ subtask,
teammate, edit scope, no-touch scope, done criteria๋ฅผ ํฌํจํ๋ค.
์์ ๊ถ์ด ๊ฒน์น๊ฑฐ๋ ๋ถ๋ช
ํํ๋ฉด teammate์๊ฒ ๋ฐฐ์ ํ๊ธฐ ์ ์ ๋ฉ์ธ ์์ด์ ํธ๊ฐ ๋จผ์
๋ฒ์๋ฅผ ์กฐ์ ํ๋ค.
ํ์๋ status์ depends on๋ ํฌํจํด queued, running, done,
blocked ์ํ๋ฅผ ์ถ์ ํ๋ค. teammate๊ฐ ์์ง ์ ํด์ง์ง ์์ ํญ๋ชฉ์ backlog๋ก
๊ฐ์ฃผํ๋ค. ๋ฉ์ธ ์์ด์ ํธ๊ฐ ์ง์ ๋งก๋ ํญ๋ชฉ์ teammate๋ฅผ main์ผ๋ก ํ์ํ๊ณ ,
์ง์ ์ฒ๋ฆฌํด์ผ ํ๋ ์ด์ ๋ฅผ done criteria๋ ๋ณ๋ ๋ฉ๋ชจ์ ๋จ๊ธด๋ค.
2. ํ ์์ฑ ๋ฐ teammate ์ํ ์ ๊ฒ
๊ธฐ๋ณธ๊ฐ์ ์์ฒญ ๋จ์ ์์ ํ์ด๋ค. ์ ์์ฒญ์ ์์ํ ๋ ์ด์ ์์ฒญ์์ ๋จ์ ํ์ด ์์ผ๋ฉด
TaskList, TaskGet, tmux pane ์ํ๋ฅผ ํ์ธํ๋ค. running task๊ฐ ์์ผ๋ฉด ๋จผ์
TeamDelete๋ก ์ ๋ฆฌํ๊ณ ์ TeamCreate๋ฅผ ์คํํ๋ค (team_name ์ง์ ).
running task๊ฐ ์์ผ๋ฉด ํด๋น teammate๋ฅผ ์ ์์
์ ์ฌ์ฌ์ฉํ์ง ์๊ณ ์ฌ์ฉ์์๊ฒ ๋จ์
์์
์ ๋ณด๊ณ ํ๋ค.
์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ํ ์ ์ง๋ฅผ ์์ฒญํ ๊ฒฝ์ฐ์๋ง ๊ธฐ์กด ํ์ ์ฌ์ฌ์ฉํ๋ค. ์ด ๊ฒฝ์ฐ์๋
์ ์์
์ ๋ฐฐ์ ํ๊ธฐ ์ ์ TaskList, TaskGet, tmux pane ์ํ๋ฅผ ํ์ธํด
teammate๋ฅผ ๋ถ๋ฅํ๋ค.
| ์ํ | ๊ธฐ์ค | ์ฒ๋ฆฌ |
|---|
| idle | ํ์ฌ ์์ฒญ ์์์ pane์ด ์ด์ ์๊ณ ์งํ ์ค task๊ฐ ์๊ฑฐ๋ ๋ง์ง๋ง task๊ฐ ์๋ฃ๋จ | backlog๊ฐ ์์ผ๋ฉด ์ฆ์ ์ฌ์ฌ์ฉ, ์์ผ๋ฉด ์ ๋ฆฌ ํ๋ณด |
| busy | task๊ฐ ์งํ ์ค์ด๊ฑฐ๋ ์๋ต์ ๊ธฐ๋ค๋ฆฌ๋ ์ค | ์ฌ์ฌ์ฉํ์ง ์์ |
| failed | ์ง์ task๊ฐ ์คํจํ๊ฑฐ๋ ์ค๋ฅ ์ํ | ์์ธ ํ์ธ ์ ์ฌ์ฌ์ฉํ์ง ์์ |
| stale | ์ํ๊ฐ ์ค๋๋์๊ฑฐ๋ ํ์ฌ ์์
๋งฅ๋ฝ๊ณผ ๋ง๋์ง ๋ถ๋ช
ํํจ | ์ฌ๋ธ๋ฆฌํ ํ์๋ง ์ฌ์ฌ์ฉ |
| dead pane | pane์ด ์ฃฝ์๊ฑฐ๋ ์ ๊ทผ ๋ถ๊ฐ | ์ฌ์ฌ์ฉํ์ง ์๊ณ ํ์ ์ ์ ๋ฆฌ |
์ํ ํ์๋ ๊ฐ๋ฅํ๋ฉด pane title๊ณผ task owner์ [idle] name, [busy] name,
[failed] name, [stale] name ํ์์ผ๋ก ๋ง์ถ๋ค. ๋ฐํ์์ด ์ง์ ์ํ ๋ณ๊ฒฝ์
์ง์ํ์ง ์์ผ๋ฉด ์ต์ข
๋ณด๊ณ ์ ๋ค์ ๋ฐฐ์ ๋ธ๋ฆฌํ์ ๊ฐ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
idle์ด ์๋ teammate์๋ ์ ์์
์ ๋ณด๋ด์ง ์๋๋ค. ๋จ, stale teammate๋ฅผ ์ฌ์ฌ์ฉํด์ผ
ํ๋ฉด ์ด์ ์์
๋งฅ๋ฝ์ ํ๊ธฐํ๊ณ ํ์ฌ ๋ธ๋ฆฌํ ๊ธฐ์ค์ผ๋ก ์์ํ๋ผ๋ ๋ฉ์์ง๋ฅผ ๋จผ์ ๋ณด๋ธ๋ค.
3. ์์
์์ฑ ๋ฐ teammate ๋ฐฐ์
๊ฐ subtask์ ๋ํด ์์๋๋ก:
- TaskCreate๋ก ์์
์ ์์ฑํ๋ค
- ๊ธฐ์กด idle teammate๊ฐ ์์ผ๋ฉด ์ฐ์ ์ฌ์ฌ์ฉํ๋ค
- ์ฌ์ฌ์ฉํ teammate๋ ํ์ฌ subtask ๋ชฉ์ ์ ๋ง๋ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํ๋ค. ์ด๋ฆ ๋ณ๊ฒฝ์ด
์ง์๋์ง ์์ผ๋ฉด task owner/pane title/๋ธ๋ฆฌํ์ ํ์ฌ ์ญํ ๋ช
์ ๋ฐ์ํ๋ค
- SendMessage๋ก ์ ์์
๋ธ๋ฆฌํ๋ฅผ ์ ๋ฌํ๋ค. ์ด์ ์์
์ปจํ
์คํธ์ ์์กดํ์ง
๋ง๊ณ ํ์ฌ ๋ธ๋ฆฌํ์ ํ์ผ ์ํ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ํ๋ผ๊ณ ๋ช
์ํ๋ค
- idle teammate๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ์ญํ ์ ์ฌ์ฌ์ฉ์ด ๋ถ์ ์ ํ ๊ฒฝ์ฐ์๋ง Agent๋ก ์
teammate๋ฅผ ์์ฑํ๋ค โ
team_name๊ณผ name ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋์ ์ง์ ํด์ผ tmux
pane์ ํ์๋๋ค
- TaskUpdate๋ก task์ owner๋ฅผ ํ์ฌ ์์
๋ชฉ์ ์ ๋ง๋ teammate name์ผ๋ก ํ ๋นํ๋ค
SendMessage ๋ธ๋ฆฌํ๋ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅธ๋ค.
์ญํ :
๋ชฉํ:
๋ด๋น ๋ฒ์:
์์ ๊ธ์ง:
ํ์ ์ฌ์ ํ์ธ:
์๋ฃ ์กฐ๊ฑด:
์ด์ ์์
๋งฅ๋ฝ์ ๋ฌด์:
์๋ฃ ๋ณด๊ณ ํ์:
4. ์ฐ์ ์ค์ผ์ค๋ง
subtask๊ฐ teammate ํ๋๋ณด๋ค ๋ง์ผ๋ฉด ํ ๋ฒ์ teammate 4๋ช
์ดํ๋ง ๋ฐฐ์ ํ๊ณ ๋๋จธ์ง๋
backlog์ ๋๋ค. batch ์ ์ฒด๊ฐ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค. teammate ํ๋๊ฐ
์๋ฃ๋ ๋๋ง๋ค ๋ณ๊ฒฝ ํ์ผ, ์คํจ ์ฌ๋ถ, ownership ์ถฉ๋ ๊ฐ๋ฅ์ฑ๋ง ์งง๊ฒ ํ์ธํ ๋ค,
backlog์์ ์์กด์ฑ์ด ์๊ณ ownership์ด ๊ฒน์น์ง ์๋ ๋ค์ subtask๋ฅผ ์ฆ์
SendMessage๋ก ๋ฐฐ์ ํ๋ค.
์ด๊ธฐ teammate ๋ฐฐ์ ์ด ๋๋๋ฉด ๋ฉ์ธ ์์ด์ ํธ๋ ์ฅ์๊ฐ ๊ตฌํ์ ๋ค์ด๊ฐ์ง ์๊ณ ์ฌ์ฉ์
์๋ต, ์งํ ๋ชจ๋ํฐ๋ง, backlog ์ฌ๋ฐฐ์ , ์งง์ ํตํฉ ์์
์ ์ํํ๋ค. ๋ฉ์ธ์ ์๋
๊ฒฝ์ฐ์๋ง subtask๋ฅผ ์ง์ ๋งก๋๋ค.
- idle teammate๊ฐ ์๊ณ , ๋๊ธฐ ์ค์ธ ์์
์ด ์๊ณ ๋
๋ฆฝ์ ์ด๋ฉฐ main์ด ์ฒ๋ฆฌํด๋ ์ฌ์ฉ์
์๋ต์ฑ์ด ํฌ๊ฒ ๋จ์ด์ง์ง ์๋ ๊ฒฝ์ฐ
- teammate ๋ฐฐ์ ์ ์ ํ์ํ ์งง์ ํ์์ด๋ ๋ฒ์ ์ ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ
- ์คํจ, ์ถฉ๋, ์์กด์ฑ ๋ณ๊ฒฝ ๋๋ฌธ์ backlog๋ฅผ ์ฌ๊ณํํ๊ฑฐ๋ ๋ถ๋ถ ํตํฉํด์ผ ํ๋ ๊ฒฝ์ฐ
- ๋ชจ๋ running/queued subtask๊ฐ ๋๋ ์ต์ข
ํตํฉ์ด๋ ๊ฒ์ฆ์ด ํ์ํ ๊ฒฝ์ฐ
์์
์ค์๋ TaskList/TaskGet๊ณผ pane ์ํ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํด idle teammate๊ฐ
queued subtask ์์ด ๋์ง ์๊ฒ ํ๋ค. idle teammate๊ฐ ์๊ณ queued subtask๊ฐ ์๋๋ฐ
์ฌ๋ฐฐ์ ํ์ง ์๋ ๊ฒ์ ์์ธ ์ํฉ์ผ๋ก ๋ณด๊ณ , ์ถฉ๋/์์กด์ฑ/์คํจ ๊ฐ์ ๊ตฌ์ฒด์ ์ด์ ๋ฅผ
์ฌ์ฉ์์๊ฒ ์ค๋ช
ํ๋ค.
์๋ฃ๋ subtask ๊ฒฐ๊ณผ๊ฐ ๋ค์ subtask์ ์
๋ ฅ์ด ๋๋ ๊ฒฝ์ฐ์๋ ๊ฒฐ๊ณผ ์์ฝ๊ณผ ๋ณ๊ฒฝ ํ์ผ์
SendMessage์ ํฌํจํ๋ค. ์ถฉ๋ ์ํ์ด ์์ผ๋ฉด ํ์ subtask๋ฅผ ์์ํ์ง ๋ง๊ณ ๋ฉ์ธ
์์ด์ ํธ๊ฐ ๋จผ์ ํตํฉ ํ๋จ์ ํ๋ค.
5. ์ฌ์ฌ์ฉ ๊ธ์ง ์กฐ๊ฑด
๋ค์ ์กฐ๊ฑด์์๋ idle๋ก ๋ณด์ด๋๋ผ๋ teammate๋ฅผ ์ฌ์ฌ์ฉํ์ง ์๋๋ค.
- ์ง์ ์์
์ด ์คํจํ๊ฑฐ๋, ์คํจ ์์ธ์ด ์์ง ์ ๋ฆฌ๋์ง ์์ ๊ฒฝ์ฐ
- ํ์ฌ ์์
๊ณผ ์ ๋ฌธ agent ์ฑ๊ฒฉ์ด ํฌ๊ฒ ๋ฌ๋ผ ์ด์ ์์คํ
/์ญํ ์ง์นจ์ด ๋ฐฉํด๋ ์ ์๋ ๊ฒฝ์ฐ
- ๋ณด์ ๊ฒํ , ์ต์ข
๋ฆฌ๋ทฐ์ฒ๋ผ ๋
๋ฆฝ ํ๋จ์ด ์ค์ํด ์ด์ ๋งฅ๋ฝ ์ค์ผ์ด ์ํํ ๊ฒฝ์ฐ
- ๊ฐ์ ํ์ผ ๋๋ ๊ฐ์ ownership ๋ฒ์๋ฅผ ๋ค๋ฅธ teammate๊ฐ ์ด๋ฏธ ์์ ์ค์ธ ๊ฒฝ์ฐ
- top-level ์ฌ์ฉ์ ์์ฒญ์ด ๋ฐ๋์๊ณ ์ฌ์ฉ์๊ฐ ๋ช
์์ ์ผ๋ก ํ ์ ์ง๋ฅผ ์์ฒญํ์ง ์์ ๊ฒฝ์ฐ
- ์ฌ์ฉ์๊ฐ ์ agent ์ฌ์ฉ, ๋จ๋
์ฒ๋ฆฌ, ๋๋ team ๋ชจ๋ ๋น์ฌ์ฉ์ ๋ช
์ํ ๊ฒฝ์ฐ
- pane์ด ์ฃฝ์๊ฑฐ๋, ์ํ ํ์ธ ๊ฒฐ๊ณผ dead/stale๋ก ๋ถ๋ฅ๋๊ณ ์ฌ๋ธ๋ฆฌํ์ด ์คํจํ ๊ฒฝ์ฐ
6. ๋ชจ๋ํฐ๋ง ๋ฐ ๊ฒฐ๊ณผ ํตํฉ
teammate์ ๋ฉ์์ง๋ ์๋์ผ๋ก ์ ๋ฌ๋๋ค. teammate๊ฐ ์์
์ ๋ง์น๋ฉด task๋ฅผ ์๋ฃ
์ํ๋ก ๊ฐฑ์ ํ๊ณ , backlog์ ๋ฐฐ์ ๊ฐ๋ฅํ subtask๊ฐ ์์ผ๋ฉด ์ฆ์ ๊ฐ์ teammate์๊ฒ
๋ค์ ๋ธ๋ฆฌํ๋ฅผ ๋ณด๋ธ๋ค. ์ถ๊ฐ ๋ฐฐ์ ํ subtask๊ฐ ์์ ๋๋ง teammate๋ฅผ idle ์ํ๋ก
ํ์ํ๋ค. ๋ฐํ์์ด idle ์ํ ํ์๋ฅผ ์ง์ ์ง์ํ์ง ์์ผ๋ฉด pane title, task owner,
์ต์ข
๋ณด๊ณ ์ค ๊ฐ๋ฅํ ์์น์ idle์ ํ์ํ๋ค.
teammate๋ ์์
์ข
๋ฃ ์ ์๋ ํ์์ผ๋ก ๋ณด๊ณ ํด์ผ ํ๋ค.
์ํ: done / blocked / failed
๋ณ๊ฒฝ ํ์ผ:
์คํํ ๊ฒ์ฆ:
๋จ์ ๋ฆฌ์คํฌ:
๋ฉ์ธ ํตํฉ ์ ์ฃผ์์ :
๋ชจ๋ teammate ์์
์ด ๋๋๋ฉด ๋ฉ์ธ ์์ด์ ํธ๊ฐ ์ต์ข
ํตํฉ์ ๋ด๋นํ๋ค. ์ต์ข
๋ณด๊ณ ์ ์
๋ฐ๋์ git diff/git status๋ก ๋ณ๊ฒฝ ๋ฒ์๋ฅผ ํ์ธํ๊ณ , ํ์ผ ownership ์ถฉ๋,
์ค๋ณต ์์ , ๋๋ฝ๋ ํ์ ์์
, ์คํํ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฒํ๋ค. ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ์๋
๊ด๋ จ lint/format/test ๊ฒฐ๊ณผ ๋๋ ์คํํ์ง ๋ชปํ ์ด์ ๋ฅผ ํจ๊ป ๋ณด๊ณ ํ๋ค.
7. ํ ์ ๋ฆฌ
๊ธฐ๋ณธ๊ฐ์ ์์ฒญ ์ข
๋ฃ ์ ์ ๋ฆฌ๋ค. ํ์ฌ top-level ์์ฒญ์ queued/running subtask๊ฐ ๋ชจ๋
๋๋๋ฉด ์งํ ์ค์ธ task๊ฐ ์๋์ง ํ์ธํ ๋ค idle teammate์ pane์ ์ข
๋ฃํ๊ณ
TeamDelete๋ฅผ ์คํํ๋ค. ์งํ ์ค ์์
์ด ์์ผ๋ฉด ์ข
๋ฃํ์ง ์๊ณ ๋์ teammate์
๋จ์ ์์
์ ๋จผ์ ๋ณด๊ณ ํ๋ค.
์ฌ์ฉ์๊ฐ "ํ ์ ์ง", "keep alive", "persistent team", "๋ค์ ์์
์๋ ์ฌ์ฌ์ฉ"์ฒ๋ผ
๋ช
์ํ ๊ฒฝ์ฐ์๋ง ์ ๋ฆฌ๋ฅผ ์๋ตํ๋ค. ์ด ๊ฒฝ์ฐ ์ต์ข
๋ณด๊ณ ์ ์ ์ง ์ค์ธ teammate์ idle
์ํ๋ฅผ ๋ช
ํํ ์ ๊ณ , ๋ค์ ์์ฒญ์์ ์ฌ์ฌ์ฉ ์ ์ํ ์ ๊ฒ์ ๋ค์ ์ํํ๋ค.
Teammate ํ๋กฌํํธ ์์ฑ๋ฒ
teammate๋ ํ์ฌ ๋ํ ์ด๋ ฅ์ ์ ํ ๊ณต์ ํ์ง ์๋๋ค. ๋ฐฉ๊ธ ํฉ๋ฅํ ๋๋ฃ์๊ฒ ๋ธ๋ฆฌํํ๋ฏ ์ถฉ๋ถํ ์ปจํ
์คํธ๋ฅผ ๋ด์์ผ ํ๋ค. ์ปจํ
์คํธ๊ฐ ๋ถ์กฑํ๋ฉด teammate๊ฐ ์๋ฑํ ๋ฐฉํฅ์ผ๋ก ์์
ํ๊ฑฐ๋ ๋ค์ ์ง๋ฌธํ๋๋ผ ์๊ฐ์ ๋ญ๋นํ๋ค.
ํฌํจํ ๋ด์ฉ:
- ๋ชฉํ: ๋ฌด์์ ํด์ผ ํ๋์ง, ์ ํ๋์ง
- ๋ฒ์: ๋ด๋น ํ์ผ/๋๋ ํ ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ๋ช
์
- ์ ์ฝ์ฌํญ: ์์ ๊ธ์ง ํ์ผ, ๋ฐ๋ผ์ผ ํ ์ปจ๋ฒค์
- ํ์ ์ฌ์ ํ์ธ: ๊ด๋ จ CLAUDE/AGENTS/README/CONTRIBUTING, issue/PR/์ค๊ณ ๋ฌธ์,
ํด๋น skill ๋ช
์ธ๋ฅผ ์ฝ๊ณ ์์ํ๋ผ๋ ์ง์
- ์๋ฃ ๋ณด๊ณ ํ์:
์ํ, ๋ณ๊ฒฝ ํ์ผ, ์คํํ ๊ฒ์ฆ, ๋จ์ ๋ฆฌ์คํฌ,
๋ฉ์ธ ํตํฉ ์ ์ฃผ์์
- ์๋ฃ ์กฐ๊ฑด: ์ด๋ค ์ํ๊ฐ ๋๋ฉด ์์
์๋ฃ์ธ์ง
์ข์ ์์:
src/api/handlers/ ๋๋ ํ ๋ฆฌ์ Go ํธ๋ค๋ฌ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํด์ค.
๋ฐฐ๊ฒฝ: ํ์ฌ ์๋ฌ ์ 500๋ง ๋ฐํํ๊ณ ๋ก๊ทธ๊ฐ ์์ด ๋๋ฒ๊น
์ด ์ด๋ ต๋ค.
๋ด๋น ๋ฒ์: src/api/handlers/*.go ํ์ผ๋ง
์์ ๊ธ์ง: src/api/middleware/, src/api/routes.go
์ปจ๋ฒค์
: ์๋ฌ ๋ก๊น
์ slog ์ฌ์ฉ, HTTP ์๋ต์ ๊ธฐ์กด errorResponse() ํฌํผ ์ฌ์ฉ
์๋ฃ ์กฐ๊ฑด: ๋ชจ๋ ํธ๋ค๋ฌ์์ ์๋ฌ ์ ์ ์ ํ ๋ก๊ทธ์ HTTP ์ํ ์ฝ๋ ๋ฐํ
ํ ๊ตฌ์ฑ ํจํด
์ฝ๋ ๋ฆฌ๋ทฐ (3๋ช
)
- security-reviewer: ๋ณด์ ์ทจ์ฝ์ (injection, auth, secrets ๋
ธ์ถ)
- quality-reviewer: ์ฝ๋ ํ์ง (๋ณต์ก๋, ์ค๋ณต, ๋ค์ด๋ฐ, ์๋ฌ ์ฒ๋ฆฌ)
- test-reviewer: ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง์ ํ์ง
๋ฆฌํฉํ ๋ง (๋ชจ๋ ์์ ๋ฐ๋ผ)
๊ฐ teammate๊ฐ ๋
๋ฆฝ๋ ๋ชจ๋/ํจํค์ง๋ฅผ ๋ด๋นํ๋ค. ๋ชจ๋ ๊ฐ ์ธํฐํ์ด์ค๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฒฝ์ฐ, ์ธํฐํ์ด์ค ์ ์๋ฅผ ๋จผ์ ํฉ์ํ ๋ค ๊ฐ์ ๊ตฌํํ๋๋ก ํ๋กฌํํธ์ ์ธํฐํ์ด์ค ๋ช
์ธ๋ฅผ ํฌํจํ๋ค.
๊ธฐ๋ฅ ๊ฐ๋ฐ (3-4๋ช
)
- backend: API/๋น์ฆ๋์ค ๋ก์ง
- frontend: UI ์ปดํฌ๋ํธ
- tester: ํ
์คํธ ์์ฑ
- docs (์ ํ): ๋ฌธ์ ์
๋ฐ์ดํธ
๋ถ์/์กฐ์ฌ (2-3๋ช
)
๊ฐ์ ๋ค๋ฅธ ๊ด์ ์์ ๋์ผ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ถ์ํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์ข
ํฉํ์ฌ ๋ณด๊ณ ํ๋ค.
๋ฌธ์ ์ํฉ ๋์
teammate ์์
์คํจ
SendMessage๋ก ์ถ๊ฐ ์ปจํ
์คํธ๋ฅผ ์ ๊ณตํ๊ฑฐ๋ ์์
๋ฒ์๋ฅผ ์กฐ์ ํ๋ค. ์ teammate๋ฅผ ๋ง๋ค์ง ๋ง๊ณ ๊ธฐ์กด teammate๋ฅผ ์๋ดํ๋ค.
ํ์ผ ์ถฉ๋ ๋ฐ์
ํ teammate์ ์์
์ ๋จผ์ ์๋ฃ์ํจ ํ, ๋ค๋ฅธ teammate์๊ฒ ๋ณ๊ฒฝ๋ ์ํ๋ฅผ SendMessage๋ก ์๋ ค์ค๋ค.
์์
๊ฐ ์์กด์ฑ ๋ฐ๊ฒฌ
์ ํ ์์
์ด ์๋ฃ๋๋ฉด SendMessage๋ก ํ์ teammate์๊ฒ ๊ฒฐ๊ณผ์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ค.
์ฃผ์์ฌํญ
- TeamCreate ์์ด Agent๋ง ์ฌ์ฉํ๋ฉด in-process๋ก ์คํ๋์ด tmux pane์ด ์์ฑ๋์ง ์๋๋ค
- Agent์
team_name์ด TeamCreate์ team_name๊ณผ ์ผ์นํด์ผ ํ๋ค
- teammate์ idle ์ํ๋ ํ์ฌ ์์ฒญ ์์์๋ง ์ ์์ด๋ค. ์์ฒญ ์ข
๋ฃ ํ์๋ ๋ช
์์
keep-alive ์์ฒญ์ด ์๋ ํ ์ ๋ฆฌํ๋ค
- ํ ์๋ช
์ฃผ๊ธฐ์ ์ฌ์ฌ์ฉ ๊ท์น์
์์
๋ฐฉ์นจ๊ณผ ํ ์ ๋ฆฌ ์น์
์ฐธ๊ณ