> 인사책 MCP 문서 — 업무. 서버 주소 https://insacheck.com/api/mcp. 전체판 https://insacheck.com/docs/mcp.md · 색인 https://insacheck.com/docs/mcp/llms.txt

# 업무 (tasks)

업무 요청 · 진행 · 댓글 · 업무일지 · 프로젝트.

## 할 수 있는 일

- 도구 25개 · 흐름 23개 (AI 로 끝까지 18개 · 화면 안내 5개)
- TSK-01 내가 받은 업무를 봐요.
- TSK-02 오늘 꼭 볼 업무를 봐요.
- TSK-03 누구에게 업무를 요청해서 보내요.
- TSK-04 받은 업무에 댓글을 달아요.
- TSK-05 받은 업무를 확인했다고 알려요.
- TSK-06 받은 업무를 끝냈다고 알려요.
- TSK-07 기한이 지난 업무를 봐요.
- TSK-08 사람마다 다른 일을 한 번에 맡겨요.
- TSK-09 부서 사람 모두에게 같은 일을 맡겨요.
- TSK-10 여러 사람에게 맡긴 업무의 진행을 봐요.
- TSK-11 오늘 업무일지를 써요.
- TSK-12 내가 시킨 업무가 어디까지 됐는지 봐요.
- TSK-13 팀원들이 맡은 업무를 봐요.
- TSK-14 업무 하나를 자세히 열어 봐요.
- TSK-15 시킨 업무를 다시 해 달라고 해요.
- TSK-16 받은 업무의 기한을 바꿔 달라고 해요.
- TSK-17 아직 확인 안 한 사람에게 재촉해요.
- TSK-24 이번 주 안에 마감인 업무를 봐요.

## 도구

조회는 `run_read`, 쓰기는 `run_write` 에 도구 이름(`tool`)과 값(`args`)을 넣어 불러요. 「이름 그대로」인 기본 도구는 바로 불러요. 등급은 0 바로 조회 · 1 바로 하고 5분 안에 되돌리기 · 2 미리보기 → 확정 · 3 앱 승인이에요.

| 이름 | 조회/쓰기 | 등급 | 필요 역할 | 범위 | 설명 | 부르는 길 |
|---|---|---|---|---|---|---|
| `task_list` | 조회 | 0 바로 조회 | employee (직원) | view | 업무 목록. todo=내가 받은 일, sent=내가 시킨 일, overdue=기한 지난 일, people=팀 업무(부서장 이상). 기본 10개, 더 있으면 next_cursor. | 이름 그대로 |
| `task_get` | 조회 | 0 바로 조회 | employee (직원) | view | 업무 하나 전체(본문·사람·댓글·기한 이력·첨부 이름). 볼 수 없는 업무는 not_found. | 이름 그대로 |
| `task_create` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 업무를 요청합니다. 받는 사람(to)과 참조(cc)는 사람 번호나 이름, 기한(due)은 YYYY-MM-DD 또는 YYYY-MM-DD HH:MM(날짜만 주면 받는 사람의 그 날 퇴근 시각 — 없거나 사람마다 다르면 18:00). 미리보기 후 확정. | 이름 그대로 |
| `task_comment` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 업무에 댓글을 답니다. mention 으로 부른 사람(참여자·위 부서장만, 10명까지)은 참조가 됩니다. 미리보기 후 확정. | 이름 그대로 |
| `task_state` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | mine | 업무 상태를 바꿉니다. ack=확인했어요, done=끝났어요(받은 사람), redo=다시 해 주세요(요청한 사람만 · 받은 사람이 여럿이면 who), seen=봤어요(받은 사람과 참조인 · 참조인은 seen(봤음)). | 이름 그대로 |
| `task_due_request` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 받은 업무의 기한을 바꿔 달라고 요청합니다. to=새 기한(YYYY-MM-DD 또는 YYYY-MM-DD HH:MM), reason=이유. 미리보기 후 확정. | run_write |
| `task_nudge` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 아직 확인 안 한 받은 사람에게 재촉합니다(요청한 사람만 · 한 업무에 3번까지). 미리보기 후 확정. | run_write |
| `task_accept` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 내가 시킨 업무의 결과물(받은 사람이 올린 파일)을 확인하고 업무책에 보관하고, 책Drive 를 쓰는 회사는 내 드라이브에도 사본을 둡니다. 받은 사람에게는 확인했다고 알려요. 8MB 넘는 파일은 드라이브 복사만 건너뜁니다(업무책엔 그대로). 미리보기 후 확정. | run_write |
| `task_add_cc` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 이미 만든 업무에 참조를 추가합니다. 요청한 사람은 같은 회사 누구나, 그 밖의 참여자는 업무 참여자나 위 부서장만 넣을 수 있어요(참여자가 아니면 거절). 이미 있는 사람은 건너뛰고 알려 줘요. 미리보기 후 확정. | run_write |
| `task_reassign` | 쓰기 | 2 미리보기 → 확정 | dept_manager (팀장 이상) | send | 업무를 다른 사람에게 다시 맡깁니다(부서장 이상 · 볼 수 있는 업무만). from=지금 맡은 사람, to=새로 맡을 사람(이 업무에 아직 없는 사람). 미리보기 후 확정. | run_write |
| `task_file_put` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 업무에 결과물 파일을 올립니다. PDF · 사진(JPG · PNG · WEBP) 10MB까지. 두 길 중 하나: ① name=파일 이름 + content_base64=파일 내용(base64), mime 은 이름 끝으로 알 수 없을 때만 ② 내 메일함의 첨부를 그대로 올리기 — mail_id + attachment_id(mail_get 의 attachments · 내 메일만 · 내용은 서버가 직접 받아요). 업무에 든 사람(요청한 사람 · 받은 사람 · 참조)만 올릴 수 있어요. 미리보기 후 확정. | run_write |
| `task_multi` | 쓰기 | 2 미리보기 → 확정 | employee (직원) | send | 업무를 한 사람 이상에게 보냅니다. 1명이면 업무 1건, 2명 이상이면 사람마다 다른 일(mode=split · 한 묶음 · 최대 30명)이나 모두 같은 일(mode=same). people 의 칸마다 who(번호 또는 이름 · 최소 1명)와 그 사람 몫 task(세부 할 일 subtasks 도 가능). people 대신 dept 로 그 부서 전체에게도 보낼 수 있어요. 기한(due)은 YYYY-MM-DD 또는 YYYY-MM-DD HH:MM(날짜만 주면 받는 사람의 그 날 퇴근 시각 — 없거나 사람마다 다르면 18:00). 같은 이름이 여럿이면 needs_choice. 미리보기 후 확정. | run_write |
| `task_status` | 조회 | 0 바로 조회 | employee (직원) | view | 내가 볼 수 있는 여러 사람 업무의 진행률(묶음 % · 사람마다 진행/막힘/끝 · 늦은 사람 먼저). title 을 주면 그 제목이 든 업무만. 볼 업무가 없으면 빈 목록. | run_read |
| `journal_write` | 쓰기 | 1 바로 하고 5분 안에 되돌리기 | employee (직원) | mine | 업무일지를 씁니다(같은 날 다시 쓰면 덮어씀). date 를 안 주면 오늘, cc 는 참조(최대 20명). | run_write |
| `query_projects` | 조회 | 0 바로 조회 | employee (직원) | view | 회사 프로젝트 목록(상태·기간·PM·예산). "진행중인 프로젝트 뭐 있어?", "프로젝트 현황" 같은 질문에 사용. | run_read |
| `query_my_projects` | 조회 | 0 바로 조회 | employee (직원) | view | 본인이 투입된 프로젝트 목록. "내가 어떤 프로젝트에 있어?", "내 투입 현황" 같은 질문에 사용. | run_read |
| `create_project` | 쓰기 | 2 미리보기 → 확정 | hr_manager (관리자 이상) | admin | 프로젝트를 생성합니다. "OO고객사 차세대시스템 프로젝트 만들어 PRJ-2026-007 코드로" 같은 명령에 사용. 웹 「경비 → 프로젝트」와 같은 경비 관리 권한이 필요합니다. | run_write |
| `update_project` | 쓰기 | 2 미리보기 → 확정 | hr_manager (관리자 이상) | admin | 프로젝트 상태/기간/예산을 수정합니다. "차세대 프로젝트 종료처리", "OO프로젝트 예산 5천만원으로" 같은 명령에 사용. 웹 「경비 → 프로젝트」와 같은 경비 관리 권한이 필요합니다. | run_write |
| `assign_project_member` | 쓰기 | 2 미리보기 → 확정 | dept_manager (팀장 이상) | admin | 직원을 프로젝트에 투입합니다(투입률 %). "이주영 차세대프로젝트 50% 투입 PL로", "박철수 OO프로젝트 전담" 같은 명령에 사용. 부서장 이상. | run_write |
| `release_project_member` | 쓰기 | 2 미리보기 → 확정 | dept_manager (팀장 이상) | admin | 프로젝트 투입을 종료(철수)합니다. "이주영 차세대프로젝트에서 빼줘" 같은 명령에 사용. query_project_members 의 member_id 로 호출. 부서장 이상. | run_write |
| `query_project_members` | 조회 | 0 바로 조회 | dept_manager (팀장 이상) | view | 프로젝트 투입 인력과 투입률. "차세대프로젝트 누가 투입됐어?", "OO프로젝트 인력" 같은 질문에 사용. 부서장 이상. | run_read |
| `query_worker_allocation` | 조회 | 0 바로 조회 | dept_manager (팀장 이상) | view | 특정 직원의 프로젝트 투입률 합계(과투입 점검 — 합계 100% 초과 경고). "이주영 투입률 괜찮아?", "박철수 몇 프로젝트 뛰어?" 같은 질문에 사용. 부서장 이상. | run_read |
| `journal_list` | 조회 | 0 바로 조회 | employee (직원) | view | 업무일지 보기. 내 일지와 웹 업무일지 화면이 보여 주는 같은 범위(부서장은 맡은 부서) 목록. 기간(from·to)을 안 주면 오늘 하루. 기본 20개, 더 있으면 next_cursor. | run_read |
| `journal_get` | 조회 | 0 바로 조회 | employee (직원) | view | 업무일지 한 장 보기(본문·참조인·댓글·첨부 이름). 볼 수 없는 일지는 not_found. | run_read |
| `task_files` | 조회 | 0 바로 조회 | employee (직원) | view | 업무 첨부 파일 목록(이름·크기·형식·올린 사람·올린 때 · 파일 내용은 안 줘요). 내가 볼 수 있는 업무의 첨부만, 새것부터. | run_read |

도구마다 따로 읽는 문서: [task_list](https://insacheck.com/docs/mcp/tools/task_list.md) · [task_get](https://insacheck.com/docs/mcp/tools/task_get.md) · [task_create](https://insacheck.com/docs/mcp/tools/task_create.md) · [task_comment](https://insacheck.com/docs/mcp/tools/task_comment.md) · [task_state](https://insacheck.com/docs/mcp/tools/task_state.md) · [task_due_request](https://insacheck.com/docs/mcp/tools/task_due_request.md) · [task_nudge](https://insacheck.com/docs/mcp/tools/task_nudge.md) · [task_accept](https://insacheck.com/docs/mcp/tools/task_accept.md) · [task_add_cc](https://insacheck.com/docs/mcp/tools/task_add_cc.md) · [task_reassign](https://insacheck.com/docs/mcp/tools/task_reassign.md) · [task_file_put](https://insacheck.com/docs/mcp/tools/task_file_put.md) · [task_multi](https://insacheck.com/docs/mcp/tools/task_multi.md) · [task_status](https://insacheck.com/docs/mcp/tools/task_status.md) · [journal_write](https://insacheck.com/docs/mcp/tools/journal_write.md) · [query_projects](https://insacheck.com/docs/mcp/tools/query_projects.md) · [query_my_projects](https://insacheck.com/docs/mcp/tools/query_my_projects.md) · [create_project](https://insacheck.com/docs/mcp/tools/create_project.md) · [update_project](https://insacheck.com/docs/mcp/tools/update_project.md) · [assign_project_member](https://insacheck.com/docs/mcp/tools/assign_project_member.md) · [release_project_member](https://insacheck.com/docs/mcp/tools/release_project_member.md) · [query_project_members](https://insacheck.com/docs/mcp/tools/query_project_members.md) · [query_worker_allocation](https://insacheck.com/docs/mcp/tools/query_worker_allocation.md) · [journal_list](https://insacheck.com/docs/mcp/tools/journal_list.md) · [journal_get](https://insacheck.com/docs/mcp/tools/journal_get.md) · [task_files](https://insacheck.com/docs/mcp/tools/task_files.md)

## 말 → 호출 순서 (흐름)

### TSK-01 내가 받은 업무를 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「내가 받은 업무 보여줘」 「나한테 온 업무 있어?」 「오늘 할 일 뭐야」 「받은 일 목록 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 제목 · 마감
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 열 건씩 보여 주고 더 있으면 이어서 봐요. / 업무책을 쓰는 회사에서만 돼요.
- 끝: 받은 업무와 마감을 보여 줘요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 다른 사람이 받은 업무를 이 흐름으로 보지 않아요.

### TSK-02 오늘 꼭 볼 업무를 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「오늘 꼭 봐야 할 거 알려줘」 「오늘 마감 업무 뭐 있어?」 「오늘 확인할 거 정리해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"today","arguments":{"kind":"tasks"}}
     서버: 몸통 src/routes/mcp-tools/today-core.ts:today
     다음으로 넘길 값: 항목 번호 · 마감
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 업무책이 꺼진 회사는 업무 칸이 비어요.
- 끝: 오늘 마감이거나 기한이 지난 받은 업무를 보여 줘요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 알림을 읽음으로 바꾸지 않아요. / 메신저 글은 이 흐름에서 읽지 않아요.

### TSK-03 누구에게 업무를 요청해서 보내요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「김가상에게 금요일까지 견적 정리 요청해줘」 「이가상한테 보고서 써 달라고 업무 보내줘」 「박가상에게 내일까지 자료 정리 시켜 줘」 「업무 요청 보내기」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구에게 무엇을 언제까지 보낼까요?」)
  1-미리보기. tools/call {"name":"task_create","arguments":{"title":"견적 정리","body":"견적서를 정리해 주세요.","to":["김가상"],"due":"2026-10-23"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskCreate · 함수 src/routes/api-features/team-calendar/tasks.ts:taskCreateCore · 웹 API POST /api/worker/calendar/tasks {title, memo, assigneeIds, refIds, dueDate, dueTime}
     다음으로 넘길 값: confirmation_id
     그다음: 후보가 여럿이면(needs_choice) 「같은 이름이 여럿이에요. 누구에게 보낼까요?」 → 고른 id 로 같은 줄을 다시 · 미리보기를 사용자에게 보여 주고 「네」를 받아요
  1-확정. tools/call {"name":"task_create","arguments":{"title":"견적 정리","body":"견적서를 정리해 주세요.","to":["김가상"],"due":"2026-10-23","confirmation_id":"<1-미리보기.confirmation_id>"}}
     넘겨받는 값: 1-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskCreate · 함수 src/routes/api-features/team-calendar/tasks.ts:taskCreateCore · 웹 API POST /api/worker/calendar/tasks {title, memo, assigneeIds, refIds, dueDate, dueTime}
     다음으로 넘길 값: 업무 번호
```

- 필요한 값 · 되묻기: 받는 사람 이름 / 할 일 제목 / 마감 날짜(시각이 없으면 18시)
- 끝: 받는 사람에게 업무가 가고 알림이 가요.
- 화면: 업무 → ＋ 업무 요청 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 보내지 않아요. / 받는 사람을 서버가 대신 고르지 않아요.

### TSK-04 받은 업무에 댓글을 달아요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무에 댓글 달아줘」 「견적 정리 업무에 확인했다고 댓글 남겨줘」 「업무에 김가상 불러서 댓글 달아줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무에 댓글을 달까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  2-미리보기. tools/call {"name":"task_comment","arguments":{"body":"확인했어요. 금요일까지 드릴게요."}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskComment · 함수 src/routes/api-features/team-calendar/tasks.ts:taskCommentCore · 웹 API POST /api/worker/calendar/tasks/:uid/comments {body, mentions}
     다음으로 넘길 값: confirmation_id
     그다음: 후보가 여럿이면(needs_choice) 「같은 이름이 여럿이에요. 누구를 부를까요?」 → 고른 id 로 같은 줄을 다시 · 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"task_comment","arguments":{"body":"확인했어요. 금요일까지 드릴게요.","confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.0.id → id · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskComment · 함수 src/routes/api-features/team-calendar/tasks.ts:taskCommentCore · 웹 API POST /api/worker/calendar/tasks/:uid/comments {body, mentions}
     다음으로 넘길 값: 댓글 번호
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감) / 댓글 내용 / 부를 사람이 있으면 이름
- 끝: 업무에 댓글이 달리고 부른 사람에게 알림이 가요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 달지 않아요. / 참여자나 위 부서장이 아닌 사람은 부를 수 없어요.

### TSK-05 받은 업무를 확인했다고 알려요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무 확인했다고 알려줘」 「받은 업무 확인 눌러줘」 「견적 정리 확인했어요 처리해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무를 확인했나요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  2-미리보기. tools/call {"name":"task_state","arguments":{"to":"ack"}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: confirmation_id
     그다음: 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"task_state","arguments":{"to":"ack","confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.0.id → id · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: 업무 상태
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감)
- 끝: 요청한 사람에게 확인했다고 알려요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 바꾸지 않아요. / 내가 받지 않은 업무는 바꿀 수 없어요.

### TSK-06 받은 업무를 끝냈다고 알려요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무 끝났다고 알려줘」 「견적 정리 완료 처리해줘」 「받은 일 다 했어요 눌러줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무를 끝냈나요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  2-미리보기. tools/call {"name":"task_state","arguments":{"to":"done"}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: confirmation_id
     그다음: 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"task_state","arguments":{"to":"done","confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.0.id → id · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: 업무 상태
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감)
- 끝: 끝났다고 요청한 사람에게 알려요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 바꾸지 않아요. / 끝났다는 알림은 되돌릴 수 없어요.

### TSK-07 기한이 지난 업무를 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「기한 지난 업무 있어?」 「늦은 업무 알려줘」 「마감 넘긴 일 보여줘」 「밀린 업무 뭐야」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"task_list","arguments":{"view":"overdue"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 제목 · 마감
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요.
- 끝: 기한이 지난 받은 업무를 보여 줘요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 끝난 업무는 보여 주지 않아요.

### TSK-08 사람마다 다른 일을 한 번에 맡겨요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「김가상은 발표 자료 이가상은 장소 잡기로 업무 보내줘」 「사람마다 다른 일을 한 번에 맡겨줘」 「두 명에게 각각 다른 업무 요청해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「누구에게 어떤 일을 맡길까요?」)
  1-미리보기. tools/call {"name":"run_write","arguments":{"tool":"task_multi","args":{"title":"발표 준비","due":"2026-10-23","mode":"split","people":[{"who":"김가상","task":"발표 자료 만들기"},{"who":"이가상","task":"장소 잡기"}]}}}
     서버: 몸통 src/routes/mcp-tools/work-task-multi.ts:confirmSend · 함수 src/routes/task-request-tools.ts:sendTaskRequest · 웹 API POST /api/worker/calendar/tasks {title, dueDate, dueTime, split}
     다음으로 넘길 값: confirmation_id
     그다음: 후보가 여럿이면(needs_choice) 「같은 이름이 여럿이에요. 누구인가요?」 → 고른 id 로 같은 줄을 다시 · 미리보기를 사용자에게 보여 주고 「네」를 받아요
  1-확정. tools/call {"name":"run_write","arguments":{"tool":"task_multi","args":{"title":"발표 준비","due":"2026-10-23","mode":"split","people":[{"who":"김가상","task":"발표 자료 만들기"},{"who":"이가상","task":"장소 잡기"}]},"confirmation_id":"<1-미리보기.confirmation_id>"}}
     넘겨받는 값: 1-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-task-multi.ts:confirmSend · 함수 src/routes/task-request-tools.ts:sendTaskRequest · 웹 API POST /api/worker/calendar/tasks {title, dueDate, dueTime, split}
     다음으로 넘길 값: 업무 묶음 번호
```

- 필요한 값 · 되묻기: 묶음 제목 / 사람마다 맡을 일 / 마감 날짜
- 끝: 사람마다 다른 업무가 한 묶음으로 가요.
- 화면: 업무 → ＋ 업무 요청 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 보내지 않아요. / 한 번에 30명까지만 나눠 보내요.

### TSK-09 부서 사람 모두에게 같은 일을 맡겨요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「영업부 전체에게 점검표 내라고 업무 보내줘」 「부서 사람 모두에게 같은 일 시켜줘」 「경영지원 전원에게 금요일까지 제출 요청해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 부서에 무슨 일을 맡길까요?」)
  1-미리보기. tools/call {"name":"run_write","arguments":{"tool":"task_multi","args":{"title":"안전 점검표 제출","due":"2026-10-23","mode":"same","dept":"영업부"}}}
     서버: 몸통 src/routes/mcp-tools/work-task-multi.ts:confirmSend · 함수 src/routes/task-request-tools.ts:sendTaskRequest · 웹 API POST /api/worker/calendar/tasks {title, assigneeIds, dueDate, dueTime}
     다음으로 넘길 값: confirmation_id
     그다음: 미리보기를 사용자에게 보여 주고 「네」를 받아요
  1-확정. tools/call {"name":"run_write","arguments":{"tool":"task_multi","args":{"title":"안전 점검표 제출","due":"2026-10-23","mode":"same","dept":"영업부"},"confirmation_id":"<1-미리보기.confirmation_id>"}}
     넘겨받는 값: 1-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-task-multi.ts:confirmSend · 함수 src/routes/task-request-tools.ts:sendTaskRequest · 웹 API POST /api/worker/calendar/tasks {title, assigneeIds, dueDate, dueTime}
     다음으로 넘길 값: 업무 번호
```

- 필요한 값 · 되묻기: 부서 이름 / 할 일 제목 / 마감 날짜
- 끝: 부서 사람 모두에게 같은 업무가 가요.
- 화면: 업무 → ＋ 업무 요청 (/worker/calendar)
- 하면 안 되는 것: 확인 없이 보내지 않아요. / 모르는 부서 이름이면 보내지 않아요.

### TSK-10 여러 사람에게 맡긴 업무의 진행을 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「내가 시킨 업무 진행률 알려줘」 「발표 준비 누가 끝냈어?」 「여러 사람 업무 어디까지 됐어?」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무의 진행을 볼까요?」)
  1. tools/call {"name":"run_read","arguments":{"tool":"task_status","args":{"title":"발표 준비"}}}
     서버: 몸통 src/routes/mcp-tools/work-task-multi.ts:taskStatus · 함수 src/routes/task-request-tools.ts:readTaskProgress
     다음으로 넘길 값: 묶음 진행률 · 사람별 상태
```

- 필요한 값 · 되묻기: 업무 제목 일부(없으면 전부 봐요)
- 끝: 묶음 진행률과 사람마다 진행 상태를 보여 줘요.
- 화면: 업무 → 사람별 현황 (/worker/calendar)
- 하면 안 되는 것: 내가 볼 수 없는 업무는 보여 주지 않아요.

### TSK-11 오늘 업무일지를 써요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「오늘 업무일지 써줘」 「업무일지에 견적 정리 끝냈다고 적어줘」 「어제 일지 남겨줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「일지에 무엇을 적을까요?」)
  1. tools/call {"name":"run_write","arguments":{"tool":"journal_write","args":{"date":"2026-10-21","body":"견적서 정리를 마쳤고 내일 검토해요."}}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:journalWrite · 함수 src/lib/team-calendar-tasks-write.ts:buildJournalWrite · 웹 API PUT /api/worker/calendar/task-journals/:date {body, refs}
     다음으로 넘길 값: 일지 번호
     그다음: 후보가 여럿이면(needs_choice) 「같은 이름이 여럿이에요. 누구를 참조로 할까요?」 → 고른 id 로 같은 줄을 다시 · 답의 undo_id 로 5분 안 되돌릴 수 있어요
```

- 필요한 값 · 되묻기: 날짜(없으면 오늘) / 일지 내용 / 참조할 사람(있으면)
- 끝: 그날 업무일지가 저장돼요. 5분 안에 되돌릴 수 있어요.
- 화면: 업무 → 업무일지 (/worker/calendar)
- 하면 안 되는 것: 같은 날 다시 쓰면 앞 글을 덮어써요. / 내일 이후 날짜는 쓰지 않아요.

### TSK-12 내가 시킨 업무가 어디까지 됐는지 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「내가 시킨 일 어디까지 됐어?」 「보낸 업무 보여줘」 「내가 요청한 업무 현황 알려줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"task_list","arguments":{"view":"sent","fields":["title","due","assignees","progress"]}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 받은 사람 · 진행
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요.
- 끝: 시킨 업무와 받은 사람의 진행을 보여 줘요.
- 화면: 업무 → 보낸 업무 (/worker/calendar)
- 하면 안 되는 것: 다른 사람이 시킨 업무를 이 흐름으로 보지 않아요.

### TSK-13 팀원들이 맡은 업무를 봐요.
- 누가: 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「우리 팀 업무 보여줘」 「팀원들이 맡은 일 알려줘」 「팀 업무 현황 보여줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  1. tools/call {"name":"task_list","arguments":{"view":"people"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 받은 사람
```

- 필요한 값 · 되묻기: 따로 필요한 값은 없어요. / 팀장 이상만 볼 수 있어요.
- 끝: 내가 볼 수 있는 팀원의 업무를 보여 줘요.
- 화면: 업무 → 사람별 현황 (/worker/calendar)
- 하면 안 되는 것: 팀장 아래 직원에게는 팀 업무를 보여 주지 않아요.

### TSK-14 업무 하나를 자세히 열어 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무 자세히 보여줘」 「견적 정리 업무 내용 알려줘」 「업무 댓글까지 열어줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무를 열어 볼까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  2. tools/call {"name":"task_get","arguments":{}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskGet · 함수 src/lib/team-calendar-tasks-read.ts:readTaskDetail · 웹 API GET /api/worker/calendar/tasks/:uid
     다음으로 넘길 값: 본문 · 댓글 · 기한 변경 이력
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감)
- 끝: 본문 · 사람 · 댓글 · 기한 변경 이력 · 첨부 이름을 보여 줘요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 볼 수 없는 업무는 있는지도 알려 주지 않아요.

### TSK-15 시킨 업무를 다시 해 달라고 해요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무 다시 해 달라고 해줘」 「김가상에게 다시 해 달라고 전해줘」 「견적 정리 다시 해 주세요 처리해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무를 다시 시킬까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"sent"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  2-미리보기. tools/call {"name":"task_state","arguments":{"to":"redo","reason":"자료를 다시 정리해 주세요."}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: confirmation_id
     그다음: 후보가 여럿이면(needs_choice) 「누구에게 다시 해 달라고 할까요?」 → 고른 id 로 같은 줄을 다시 · 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"task_state","arguments":{"to":"redo","reason":"자료를 다시 정리해 주세요.","confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.0.id → id · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskState · 함수 src/routes/api-features/team-calendar/tasks.ts:taskStateCore · 웹 API POST /api/worker/calendar/tasks/:uid/state {to, w}
     다음으로 넘길 값: 업무 상태
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감) / 받은 사람이 여럿이면 누구인지 / 다시 해야 하는 이유
- 끝: 받은 사람에게 다시 해 달라고 알려요.
- 화면: 업무 → 보낸 업무 (/worker/calendar)
- 하면 안 되는 것: 내가 시킨 업무만 다시 해 달라고 할 수 있어요. / 확인 없이 알리지 않아요.

### TSK-16 받은 업무의 기한을 바꿔 달라고 해요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「그 업무 마감 미뤄 달라고 요청해줘」 「기한을 다음 주로 바꿔 달라고 해줘」 「마감 늘려 달라고 말해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무의 기한을 바꿀까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호
  (값이 없으면 먼저 물어요: 「언제로 바꿔 달라고 할까요?」)
  2-미리보기. tools/call {"name":"run_write","arguments":{"tool":"task_due_request","args":{"to":"2026-10-28","reason":"자료가 늦게 와서 시간이 더 필요해요."}}}
     넘겨받는 값: 1.items.0.id → id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskDueRequest · 함수 src/routes/api-features/team-calendar/tasks.ts:taskDueCore · 웹 API POST /api/worker/calendar/tasks/:uid/due {action, to, time, reason}
     다음으로 넘길 값: confirmation_id
     그다음: 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"run_write","arguments":{"tool":"task_due_request","args":{"to":"2026-10-28","reason":"자료가 늦게 와서 시간이 더 필요해요."},"confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.0.id → id · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskDueRequest · 함수 src/routes/api-features/team-calendar/tasks.ts:taskDueCore · 웹 API POST /api/worker/calendar/tasks/:uid/due {action, to, time, reason}
     다음으로 넘길 값: 요청한 기한
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감) / 바꿀 기한 / 바꾸려는 이유
- 끝: 요청한 사람에게 기한 변경 요청이 가요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 기한을 내 마음대로 바꾸지 않아요. / 확인 없이 요청하지 않아요.

### TSK-17 아직 확인 안 한 사람에게 재촉해요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「아직 확인 안 한 사람 재촉해줘」 「김가상에게 업무 확인하라고 알려줘」 「그 업무 독촉해줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「어느 업무를 재촉할까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"sent","fields":["title","assignees"]}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 받은 사람
  2-미리보기. tools/call {"name":"run_write","arguments":{"tool":"task_nudge","args":{}}}
     넘겨받는 값: 1.items.1.id → id · 1.items.1.assignees.0.id → who
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskNudge · 함수 src/routes/api-features/team-calendar/tasks.ts:taskNudgeCore · 웹 API POST /api/worker/calendar/tasks/:uid/nudge {w}
     다음으로 넘길 값: confirmation_id
     그다음: 후보가 여럿이면(needs_choice) 「누구에게 재촉할까요?」 → 고른 id 로 같은 줄을 다시 · 미리보기를 사용자에게 보여 주고 「네」를 받아요
  2-확정. tools/call {"name":"run_write","arguments":{"tool":"task_nudge","args":{},"confirmation_id":"<2-미리보기.confirmation_id>"}}
     넘겨받는 값: 1.items.1.id → id · 1.items.1.assignees.0.id → who · 2-미리보기.confirmation_id → confirmation_id
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskNudge · 함수 src/routes/api-features/team-calendar/tasks.ts:taskNudgeCore · 웹 API POST /api/worker/calendar/tasks/:uid/nudge {w}
     다음으로 넘길 값: 재촉 횟수
```

- 필요한 값 · 되묻기: 어느 업무인지(제목이나 마감) / 여러 명이면 누구인지
- 끝: 받은 사람에게 확인해 달라는 알림이 가요.
- 화면: 업무 → 보낸 업무 (/worker/calendar)
- 하면 안 되는 것: 한 업무에 3번까지만 재촉해요. / 내가 시킨 업무만 재촉할 수 있어요.

### TSK-18 업무책을 켜거나 꺼요.
- 누가: 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「업무책 켜줘」 「업무 기능 꺼줘」 「우리 회사 업무 요청 기능 켜고 싶어」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 업무책을 켜고 끄는 사람은 관리자예요.
- 끝: 업무책이 켜지거나 꺼져요.
- 화면: 설정 → 기능 켜기·끄기 → 업무책 (/admin/enterprise/settings/modules)
- 하면 안 되는 것: 켜고 끄는 일을 AI 가 대신하지 않아요. / 끄면 마감 알림이 멈춰요.

### TSK-20 업무에 결과물 파일을 올려요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「그 업무에 결과 파일 올려줘」 「견적서 파일을 업무에 붙여줘」 「결과물을 업무에 첨부해줘」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 결과물 올리기는 아직 열리지 않았어요.
- 끝: 업무 화면에서 파일을 붙여요.
- 화면: 업무 → 업무 열기 → 파일 붙이기 (/worker/calendar)
- 하면 안 되는 것: AI 로 파일을 올리지 않아요.

### TSK-21 이미 보낸 업무에 참조인을 더해요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「그 업무에 박가상도 참조로 넣어줘」 「참조인 한 명 더 추가해줘」 「업무에 이가상 참조 추가」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 참조 추가는 아직 열리지 않았어요.
- 끝: 업무 화면에서 참조인이 더해져요.
- 화면: 업무 → 업무 열기 → 참조 (/worker/calendar)
- 하면 안 되는 것: AI 로 참조인을 바꾸지 않아요.

### TSK-22 업무를 다른 사람에게 넘겨요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「그 업무 이가상에게 넘겨줘」 「담당을 다른 사람으로 바꿔줘」 「김가상 업무를 박가상에게 다시 맡겨줘」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 다시 맡기기는 아직 열리지 않았어요.
- 끝: 업무 화면에서 담당이 바뀌어요.
- 화면: 업무 → 업무 열기 → 다른 사람에게 넘기기 (/worker/calendar)
- 하면 안 되는 것: AI 로 담당을 바꾸지 않아요.

### TSK-23 시킨 업무를 취소해요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: 아직 AI 로 안 돼요 · 대신 화면
- 이렇게 말해요: 「내가 시킨 업무 취소해줘」 「그 업무 없던 일로 해줘」 「보낸 업무 취소하고 싶어」
- 호출 순서: 없음(화면에서 해요)
- 필요한 값 · 되묻기: 아직 AI 로 안 돼요 · 대신 화면에서 해요. / 취소하는 도구가 아직 없어요.
- 끝: 업무 화면에서 시킨 업무가 취소돼요.
- 화면: 업무 → 보낸 업무 → 업무 취소 (/worker/calendar)
- 하면 안 되는 것: AI 로 업무를 취소하지 않아요.

### TSK-24 이번 주 안에 마감인 업무를 봐요.
- 누가: 직원 · 팀장 · 관리자 · 대표
- 방식: AI 로 끝까지 돼요
- 이렇게 말해요: 「이번 주까지 끝내야 하는 일 뭐야」 「금요일까지 마감인 업무 보여줘」 「이번 주 마감 업무 정리해 줘」

호출 순서 (POST /api/mcp · tools/call):

```text
  (값이 없으면 먼저 물어요: 「언제까지 마감인 일을 볼까요?」)
  1. tools/call {"name":"task_list","arguments":{"view":"todo","due_to":"2026-10-23"}}
     서버: 몸통 src/routes/mcp-tools/work-tasks.ts:taskList · 함수 src/lib/team-calendar-tasks-read.ts:readTaskView · 웹 API GET /api/worker/calendar/tasks {view}
     다음으로 넘길 값: 업무 번호 · 제목 · 마감
```

- 필요한 값 · 되묻기: 마감 날짜가 필요해요. 말에 없으면 이번 주 금요일로 물어요. / 열 건씩 보여 주고 더 있으면 이어서 봐요.
- 끝: 그날까지 마감인 받은 업무를 보여 줘요.
- 화면: 업무 → 내 할 일 (/worker/calendar)
- 하면 안 되는 것: 다른 사람이 받은 업무를 이 흐름으로 보지 않아요. / 끝난 업무는 보여 주지 않아요.

### 이 영역 도구가 나오는 다른 흐름

- MSG-19 메신저에서 부탁받은 일을 업무로 보내요. → https://insacheck.com/docs/mcp/messenger.md
- MULTI-07 업무를 보내고 댓글을 달아 확인해요. → https://insacheck.com/docs/mcp/multi.md
- MULTI-23 근태가 이상한 직원을 찾고 확인 업무를 보내요. → https://insacheck.com/docs/mcp/multi.md

## 안 되는 것 · 대안

아직 AI 로 안 되는 일이에요. 대신 화면에서 해요.

- 업무책을 켜거나 꺼요. → 설정 → 기능 켜기·끄기 → 업무책 (/admin/enterprise/settings/modules)
- 업무에 결과물 파일을 올려요. → 업무 → 업무 열기 → 파일 붙이기 (/worker/calendar)
- 이미 보낸 업무에 참조인을 더해요. → 업무 → 업무 열기 → 참조 (/worker/calendar)
- 업무를 다른 사람에게 넘겨요. → 업무 → 업무 열기 → 다른 사람에게 넘기기 (/worker/calendar)
- 시킨 업무를 취소해요. → 업무 → 보낸 업무 → 업무 취소 (/worker/calendar)
