소유자 데스크(Owner Desk)
채팅 속 질문은 묻히기 쉽고, 소유자는 에이전트가 물을 때가 아니라 자신이 시간이 있을 때 답변해야 합니다. 데스크는 질문을 채팅 밖으로 옮겨 보드에 표시합니다: 열려 있는 모든 항목이 있는 'Needs you' 탭, 기다릴 수 없는 항목만 표시하는 노란색 'Urgent' 탭, 답변된 항목의 'Decided' 탭, 나중에 처리할 'Later' 탭, 완료된 항목의 'Archive' 탭. 휴대폰이나 iPad에서는 좌우로 스와이프하여 탭을 이동할 수 있습니다. 소유자는 여기서 답변하고, 에이전트는 답변을 읽고 작업을 수행한 후 보관합니다.
필요한 것
-
db및comments기능을 갖춘 Claude 아티팩트, claude.ai 또는 Claude 데스크탑 앱에서 사용 가능합니다. 항목에 파일이 첨부될 경우에만assets를 추가하세요. -
도구:
Artifact: 보드 게시 및 파일 업로드ArtifactData: 항목 쓰기 및 읽기ArtifactComments: 보드 감시 및 에이전트를 깨우는 댓글에 응답
지연된 경우 ToolSearch로 불러오세요.
-
메인 루프 세션. 메인 루프 세션만 감시(watch)를 유지할 수 있습니다. 하위 에이전트(subagent)는 불가능합니다.
이러한 조건이 갖춰지지 않았다면, 보드가 없다고 말하고 질문을 번호 목록으로 채팅에 유지하세요. 보드가 있는 척 하지 마세요.
작성자
오직 하나의 세션만 작성합니다:
- 비서(chief of staff)가 있다면 비서 (비서 스킬 참조)
- 그렇지 않으면, 소유자와 함께 작업하는 세션
두 명의 작성자가 있으면 항목 번호가 중복되고 서로의 작업을 보관 처리할 수 있습니다.
보드 생성
-
템플릿
assets/desk.html을 채웁니다. 세 가지 플레이스홀더가 있습니다:{{TITLE}}: 보드 이름, 2~4단어 (예: "레시피 앱 데스크"){{EYEBROW}}: 제목 위의 작은 줄 (예: "레시피 앱 · 비서 작성"){{AGENT}}: 답변을 읽는 주체 (문장 중간에 읽히는 방식, 예: "비서", "Claude"). 따옴표 없이 일반 단어만 사용합니다.
예시:
sed -e 's/{{TITLE}}/레시피 앱 데스크/g' -e 's/{{EYEBROW}}/레시피 앱 · 비서 작성/g' -e 's/{{AGENT}}/비서/g' <skill>/assets/desk.html > desk.html -
Artifact도구로 게시합니다:capabilities: {"db": {}, "user": {}, "comments": {}}, 항목에 파일이 포함될 경우"assets": {}추가icon: "inbox"- 한 줄
description
게시하면 이 세션이 보드 감시를 시작합니다.
-
한 번 확인합니다:
ArtifactDatalist로items컬렉션을 조회합니다. 비어 있고 페이지에 "Nothing needs you."가 표시됩니다. -
소유자에게 링크를 제공하고, 보드가 비공개라고 알립니다.
-
링크를 프로젝트 파일(상태 페이지 또는 프로젝트 노트)에 기록하여 새 세션이 찾을 수 있도록 합니다.
Claude 외부의 일반 브라우저에서 열면, 페이지에 가짜 예제 항목과 함께 미리보기 및 스크린샷용임을 알리는 메모가 표시됩니다. 실제로는 아무것도 기록하지 않습니다.
답변으로 깨어나기
데이터베이스 쓰기는 에이전트를 깨우지 않습니다. Claude로 전송된 댓글이 깨웁니다. 소유자가 답변하거나, 작업을 완료 표시하거나, 질문하면 페이지는 항목의 자체 스레드에 짧은 댓글을 보냅니다 (예: "№ 12 · 이번주 금요일에 베타 오픈할까요? 답변: 예"). 이 댓글이 보드를 감시하는 세션을 깨웁니다.
- 게시는 감시를 시작하지만,
ArtifactCommentswatch(URL 없이)가 보드를 연결된 상태로 표시하고 자동 응답이 활성화된 경우에만 실제 감시가 됩니다. - 새 세션은 다시 감시해야 합니다.
ArtifactCommentswatch와 보드의url로 감시를 시작합니다. 자동 응답은 소유자가 직접 해당 링크를 메시지에 제공한 경우에만 활성화되므로, 링크는 소유자가 붙여넣는 재시작 프롬프트에 포함되어야 합니다. - 페이지는 소유자에게 현재 상황을 알려줍니다: "…답변 즉시 전달됩니다" 또는 "여기에 저장됨; …다음 확인 시 읽습니다".
- 댓글이 도달할 수 없는 경우 (댓글이 꺼져 있거나 감시 세션이 없음), 다음 대체 방법을 사용합니다:
- 매 턴 시작 시 데스크 읽기
- 소유자에게 답변 후 채팅에 "desk"라고 말해달라고 요청
- 소유자가 원하는 경우에만 정기 확인 예약
항목
각 항목은 items 컬렉션의 한 문서입니다. 문서 ID는 핸들(handle)입니다: 결정은 q<숫자>, 작업은 t-<단어>를 사용합니다. 소유자가 휴대폰에서 읽을 수 있으므로 전체적으로 일반 단어를 사용합니다.
| 필드 | 작성자 | 내용 |
|---|---|---|
kind | 에이전트 | "decision" 또는 "task" |
status | 둘 다 | "open"; 페이지가 "answered"로 설정; 에이전트가 "archived"로 설정 |
later | 에이전트 | true이면 Later 탭에 배치 |
urgent | 에이전트 | true이면 노란색 Urgent 탭과 Overview 상단에 배치. 오늘 마감이거나 사용자에게 문제가 발생한 경우 등 기다릴 수 없는 경우에만 사용 |
num | 에이전트 | 실행 번호, 채팅에서 사용하는 번호와 동일; 재사용하지 않음 |
title | 에이전트 | 선택지로 답변할 수 있는 질문 자체, 또는 작업을 나타내는 동작 |
body, bullets | 에이전트 | 짧은 단락 및 포인트: 왜 중요한지, 무엇에 영향을 미치는지 |
recommendation | 에이전트 | 먼저 답변을 제시하고, 그 다음 이유를 한두 문장으로 |
choices | 에이전트 | 2~4개의 답변; 기본값은 예/아니오 |
steps, stepsDone | 에이전트; 페이지 | 작업의 단계 및 체크된 단계 (인덱스) |
copies | 에이전트 | [{label, text}]: 소유자가 다른 곳에 붙여넣을 텍스트 |
links | 에이전트 | [{label, url, note}]: 가이드, 페이지, 첨부 파일 |
from | 에이전트 | 요청한 세션 |
priority | 에이전트 | 1이 가장 먼저; 열린 항목 정렬 |
created | 에이전트 | 게시 시간 (ISO 시간) |
answer | 페이지 | {choice, note, at} |
asks | 페이지; 에이전트 | [{q, at, via, a, aAt}]: 소유자의 항목 관련 질문; 에이전트가 a와 aAt을 채움 |
thread | 페이지 | 페이지가 이 항목에 사용하는 댓글 스레드; 건드리지 않음 |
outcome, archived | 에이전트 | 한 줄로 결과 설명; 보관 시간 |
assets/example-items.json에는 ArtifactData batch가 작성하는 7개의 가짜 항목이 있습니다. 보드를 테스트할 때 사용하고, 실제 소유자 보드에는 사용하지 마십시오.
항목 게시
- 새 항목은
ArtifactData로 추가합니다. 새 문서는set, 두 개 이상은batch를 사용합니다. 항목을 변경하기 위해 페이지를 다시 게시하지 마십시오. - 그런 다음 채팅에 추가된 항목을 각 항목의 링크와 함께 알립니다:
<보드 url>#<문서 id>는 해당 탭을 열고 그 위치로 스크롤합니다. - 또한 채팅에 열린 질문 목록을 유지하는 경우 (비서처럼), 둘을 동일하게 유지하십시오: 같은 번호, 같은 단어.
- 각 항목은 독립적으로 작성하십시오: 무엇을 결정하는지, 각 선택지에 따라 무엇이 바뀌는지, 그리고 권장 사항은 무엇인지.
- 작업은 정확한 단계,
copies에 붙여넣을 텍스트,links의 가이드를 나열합니다. - 파일 첨부: 먼저 전체 파일을 읽은 다음,
Artifact로 업로드하고 (보드url,asset: true)/_blob/<에셋 id>로 링크합니다. - 항목에 비밀번호, 키 또는 개인 기록을 절대 넣지 마십시오. 비밀이 필요한 작업은 입력 위치를 알려줄 뿐, 내용은 절대 알리지 않습니다.
읽기, 실행, 보관
댓글이 에이전트를 깨우거나 턴 시작 시:
ArtifactDataquery로items에서where: [["status", "==", "answered"]]조건으로 조회합니다. 각 항목의answer와 새로운asks를 읽습니다.- 답변에 따라 실행합니다. 비서가 있는 경우, 소유자의 선택과 메모를 요청한 세션에 그대로 전달합니다.
- 댓글과 항목은 일반적으로 일치합니다.
- 항목이 'answered'로 저장되지 않았지만 댓글에 답변이 있는 경우, 댓글이 소유자의 최신 의견입니다. 직접 항목에 기록하십시오.
- 항목을 보관합니다:
update로status: "archived", 한 줄outcome(예: "빌더가 베타를 금요일로 변경했습니다"),archived(시간)을 설정합니다. 모든 쓰기에는if_version을 사용하여 소유자가 그 사이에 답변을 변경해도 덮어쓰지 않도록 합니다. - 같은 항목의
asks에 있는 각 열린 항목에 답변합니다. 전체asks배열을a와aAt을 채워서if_version으로 고정하여 다시 보냅니다. - 댓글 스레드에 한 줄로 답변합니다 (예: "확인했습니다: 베타를 금요일로 변경합니다"), 그런 다음 스레드를 해결합니다 (
ArtifactCommentsreply, 그 다음resolve).
later: true로 항목을 미루고, later: false로 다시 가져옵니다. 결정된 항목은 실행할 때까지 Later에 남을 수 있습니다. 삭제 대신 보관: Archive는 결정된 내용의 기록입니다. 삭제는 소유자의 지시에만 합니다.
상태 및 로드맵 (선택 사항)
두 개의 추가 탭이 Overview와 항목 사이에 프로젝트 상태를 보여줍니다. 각 탭은 board 컬렉션에 문서를 작성하면 나타나며, 실시간으로 업데이트됩니다. 각각 ArtifactData로 작성합니다 (처음은 set, 그 다음은 if_version으로 고정하여 update). assets/example-board.json에는 가짜 쌍이 포함되어 있습니다.
board/status: 각 세션의 상태. 팀을 확인할 때마다 업데이트합니다. 비서는 상태 페이지를 업데이트할 때마다 작성합니다.
| 필드 | 내용 |
|---|---|
updated | 마지막 확인 시간 (ISO 시간); 페이지는 얼마나 지났는지 표시 |
oneLine | 프로젝트 상태를 한 문장으로 |
sessions | [{name, state, doing, last, restart}], 세션별 행. state는 한두 단어 ("작업 중", "대기 중", "한계에 도달하여 중단")이며, 페이지에서 색상으로 표시합니다. restart는 해당 세션을 재시작하기 좋은 시기일 때 "예"로 시작 |
done | 마지막 업데이트 이후 완료된 작업, 각각 한 줄 |
next | [{who, what}]: 다음 단계, 소유자의 것도 포함 (who: "you") |
Status 탭은 소유자의 긴급 및 열린 항목을 자동으로 계산합니다. oneLine에 반복하지 마십시오.
board/roadmap: 단계별 계획. 단계 또는 항목 중 하나가 변경될 때 업데이트합니다.
| 필드 | 내용 |
|---|---|
updated | 마지막 변경 시간 |
headline | 프로젝트가 계획의 어디에 있는지 한 문장으로 |
stages | [{id, name, state, when, summary, items}], 순서대로. state는 done, now, next 또는 later; items는 [{text, state}]이며 done, now 또는 next. now로 표시된 단계가 상단에 열림 |
페이지 변경
- 페이지 자체를 변경할 때만 페이지를 다시 게시합니다. 동일한 capabilities를 전달하거나,
capabilities를 생략하여 유지합니다. - 다른 세션이 보드를 게시한 경우, 먼저 읽고 (
Artifactread) 반환된 내용을 기반으로 구축합니다. - 항목은 데이터베이스에 저장되므로 재게시해도 유지됩니다.