작업판과 팀 대화
프로젝트 탭 아래쪽에는 작업판이, 오른쪽에는 팀 대화가 있습니다. 작업판은 프로젝트의 할 일과 사람이 정해야 할 일을, 팀 대화는 에이전트끼리 주고받은 메시지를 보여 줍니다.
작업판이란
작업판은 데이터 폴더의 boards/<프로젝트>.json 파일입니다. 보통 프로젝트 리더 에이전트가 이 파일을 쓰고 고칩니다. 쓰지 않아도 됩니다. 파일이 없으면 작업판 자리에 어떤 파일을 쓰면 되는지 안내가 나옵니다.
화면에서 작업을 추가하거나 순서를 바꾸거나 결정에 답하면 그 파일에 저장됩니다. ELOP Crew가 이 변경을 에이전트에게 따로 알리지는 않으니, 리더에게 작업판을 확인하라고 말해 주세요.
네 칸
| ? 결정 대기 | 사람이 답해야 할 질문입니다. 칸 제목의 숫자는 아직 답을 기다리는 질문 수입니다. 이미 내린 결정의 기록은 질문 뒤에 최근 것부터 "누가 결정 · 언제"로 나옵니다. |
|---|---|
| ▶ 진행 중 | 지금 하고 있는 작업입니다. |
| ○ 대기 | 할 차례를 기다리는 작업이 번호순으로 나옵니다. 막힌 작업은 ■ 표시와 함께 맨 뒤에 나옵니다. |
| ✓ 완료 | 끝난 작업이 최근 것부터 나옵니다. |
담당이 정해진 작업에는 맡은 에이전트의 이름이 오른쪽에 붙습니다.
작업 추가하기
- 대기 칸 아래의 + 작업 추가를 누릅니다.
- 할 일을 적고, 필요하면 담당에서 에이전트를 고릅니다. 정하지 않으려면 미정으로 둡니다.
- 보내기를 누릅니다. 작업은 대기 줄 맨 뒤에 들어갑니다. 그만두려면 취소를 누릅니다.
대기 순서 바꾸기
대기 중인 작업 옆의 ▲(위로), ▼(아래로)로 순서를 바꿉니다. 그사이 리더가 작업판을 고쳤다면 그사이 작업판이 바뀌었습니다라는 안내와 함께 새로 불러오니, 다시 해 주세요.
결정에 답하기
- 결정 대기 칸의 질문 옆 답하기를 누릅니다.
- 답을 입력 칸에 답을 적고 보내기를 누릅니다.
- 답은 질문 아래에 ↳ 로 나옵니다. 고치려면 바꾸기를 누릅니다.
작업판 파일 형식
리더에게 작업판을 맡기려면 이 형식을 알려 주면 됩니다. 저장소의 boards/example.json과 같습니다.
{
"updatedAt": "2026-01-01T00:00:00Z",
"tasks": [
{ "title": "진행 중인 작업", "session": "-0f", "status": "running" },
{ "title": "대기 1번", "session": "-74", "status": "queued", "order": 1 },
{ "title": "막힌 작업", "session": "-7c", "status": "blocked", "order": 2 },
{ "title": "끝난 작업", "session": "-27", "status": "done", "doneAt": "2026-01-01T00:00:00Z" }
],
"decisions": [
{ "title": "사람이 정해야 할 일", "status": "open", "order": 1 }
],
"roles": { "-0f": "auth · simulation", "-74": "e2e tests" }
}
status는running,queued,blocked,done가운데 하나이고,order가 대기 순서입니다.- 화면에서 답한 결정은
answered가 되고answer가 붙습니다. 이미 내린 결정의 기록은{ "text": "…", "by": "-7f", "at": "<ISO 시각>" }로 적습니다. roles는 세션마다 짧은 역할을 붙입니다. 역할은 카드의 이름 아래에 나옵니다.session과roles의 키에는 짧은 이름(-0f), 전체 세션 이름, 화면의 이름(민준,Tom)을 쓸 수 있습니다.
팀 대화
팀 대화는 같은 프로젝트의 에이전트가 Claude Code의 SendMessage 도구로 주고받은 메시지를 "보낸 쪽 → 받은 쪽"과 한 줄 요약으로 보여 줍니다. 최근 메시지가 위에 나옵니다. 메시지 본문은 보여 주지 않습니다.
- 리더는 자기 팀원을 압니다. 리더가 메시지를 받을 때 훅이 같은 프로젝트의 다른 세션 목록(메시지를 보낼 이름, 화면의 이름, 상태, 역할)을 붙여 줍니다. 팀원이나 역할이 바뀌었을 때만 붙이고, 리더가 아닌 세션에는 붙이지 않습니다.
- 리더는
config.json에 적힌 세션이고, 없으면 메시지를 가장 많이 보낸 세션(3개 이상)입니다.
에이전트에게 직접 말하기
내가 에이전트에게 메시지를 보내려면 카드를 눌러 에이전트 창의 입력창을 씁니다. 메시지 보내기 비서에게 "민준에게 테스트 다시 돌리라고 전해 줘"처럼 부탁해도 됩니다. 비서
config.json으로 정하기
데이터 폴더의 config.json에서 프로젝트마다 표시 이름, 리더, 고정 이름을 정할 수 있습니다. 탭 순서는 order에 저장됩니다. 모두 선택 사항입니다.
{
"order": ["my-app", "my-infra"],
"projects": {
"my-app": {
"label": "Display name",
"leader": "my-app-1a",
"names": { "-0f": "Tom", "my-app-74": "민준" }
}
}
}
데이터 폴더의 위치는 설정에서 확인하고 바꿉니다.
The board and team chat
Each project tab has a board along the bottom and team chat on the right. The board shows the project's tasks and the decisions waiting on a person; team chat shows the messages the agents send each other.
What the board is
The board is a file, boards/<project>.json in the data folder. Usually the project's leader agent writes and updates it. It is optional; without the file, the board's place says which file to write.
Adding a task, reordering the queue or answering a decision on the page saves to that file. ELOP Crew does not pass these changes on to the agents itself, so ask the leader to check the board.
The four columns
| ? Needs a decision | Questions a person has to answer. The count in the heading is the questions still waiting. Records of decisions already made follow, newest first, with who decided and when. |
|---|---|
| ▶ In progress | Tasks being worked on now. |
| ○ Queued | Tasks waiting their turn, numbered in order. Blocked tasks, marked ■, come last. |
| ✓ Done | Finished tasks, newest first. |
A task assigned to an agent shows that agent's name on the right.
Adding a task
- Click + Add a task under the Queued column.
- Type What needs doing and, if you like, pick an agent under Assign to. Leave it on Anyone to assign nobody.
- Click Send. The task goes to the end of the queue. Cancel drops it.
Reordering the queue
Use ▲ (Move up) and ▼ (Move down) next to a queued task. If the leader changed the board in the meantime, the page says The board changed meanwhile — reloaded, try again. Do it once more.
Answering a decision
- Click Answer next to a question in Needs a decision.
- Type in Your answer and click Send.
- Your answer shows under the question after ↳. Click Change to edit it.
The board file format
To hand the board to a leader, tell it this format. It is the same as boards/example.json in the repository.
{
"updatedAt": "2026-01-01T00:00:00Z",
"tasks": [
{ "title": "A task in progress", "session": "-0f", "status": "running" },
{ "title": "First in the queue", "session": "-74", "status": "queued", "order": 1 },
{ "title": "A blocked task", "session": "-7c", "status": "blocked", "order": 2 },
{ "title": "A finished task", "session": "-27", "status": "done", "doneAt": "2026-01-01T00:00:00Z" }
],
"decisions": [
{ "title": "Something a human has to decide", "status": "open", "order": 1 }
],
"roles": { "-0f": "auth · simulation", "-74": "e2e tests" }
}
statusis one ofrunning,queued,blockedordone;ordersets the queue position.- A decision answered on the page becomes
answered, with ananswer. A record of a decision already made is written as{ "text": "…", "by": "-7f", "at": "<ISO time>" }. rolesgives a session a short role, shown under its name on the card.sessionand the keys ofrolesmay be a short name (-0f), a full session name, or the name on the page (Tom,민준).
Team chat
Team chat lists the messages a project's agents send each other with Claude Code's SendMessage tool, as "sender → recipient" and a one-line summary, newest first. Message bodies are not shown.
- The leader knows its team. When it gets a prompt, a hook adds the project's other sessions: the name to message each one with, its name on the page, its state and role. This is added only when the team or a role has changed, and never to sessions other than the leader.
- The leader is the session named in
config.json, or else the one that sent the most messages (at least 3).
Talking to an agent yourself
To message an agent yourself, click its card and use the box in its dialog. Sending a message You can also ask the assistant, "tell Tom to run the tests again". The assistant
Settings in config.json
config.json in the data folder can set a display name, the leader and fixed names for each project. The tab order is saved there as order. All of it is optional.
{
"order": ["my-app", "my-infra"],
"projects": {
"my-app": {
"label": "Display name",
"leader": "my-app-1a",
"names": { "-0f": "Tom", "my-app-74": "민준" }
}
}
}
See and change where the data folder is in the settings.