Owner Desk
聊天中的問題容易被淹沒,而擁有者必須在 agent 提問時回答,而不是在他們有空的時間。這個桌面將它們移出聊天,放進一個看板:一個「需要您處理」的分頁,包含所有開啟的項目;一個黃色的「緊急」分頁,僅有不能等待的事項;一個「已決定」分頁,包含已回答的項目;一個「稍後」分頁,包含可以等待的事項;以及一個「封存」分頁,包含已完成的事項。在手機或 iPad 上,擁有者可以橫向滑動來切換分頁。擁有者在這裡回答;您則讀取答案、採取行動並封存。
需求
-
具備
db和comments功能的 Claude artifact,在 claude.ai 或 Claude 桌面應用程式上。只有當項目會攜帶附加檔案時,才加入assets。 -
工具:
Artifact:用於發佈看板和上傳檔案;ArtifactData:用於寫入和讀取項目;ArtifactComments:用於監看看板並回應喚醒您的評論。
當它們被延遲時,使用 ToolSearch 載入它們。
-
一個主循環 session。 只有主循環 session 可以持有監看;子 agent 無法做到。
如果沒有這些,請如實告知,並將問題以編號列表形式保留在聊天中。不要假裝有看板。
誰來寫入
僅限一個 session:
- 如果有的話,由幕僚長寫入(參見 chief-of-staff 技能);
- 否則,由與擁有者協作的 session 寫入。
兩個寫入者會將項目編號兩次,並封存彼此的工作。
建立看板
-
填入模板
assets/desk.html。它有三個佔位符:{{TITLE}}:看板名稱,兩到四個字,例如「Recipe App Desk」;{{EYEBROW}}:標題上方的一行小字,例如「Recipe app · from the chief of staff」;{{AGENT}}:讀取答案的角色名稱,因為它會出現在句子中間,例如「the chief of staff」或「Claude」。僅用純文字,不要加引號。
例如:
sed -e 's/{{TITLE}}/Recipe App Desk/g' -e 's/{{EYEBROW}}/Recipe app · from the chief of staff/g' -e 's/{{AGENT}}/the chief of staff/g' <skill>/assets/desk.html > desk.html -
使用
Artifact工具發佈它:capabilities: {"db": {}, "user": {}, "comments": {}},如果項目會攜帶檔案,則加上"assets": {};icon: "inbox";- 一行
description。
發佈也會讓這個 session 開始監看看板。
-
檢查一次:在集合
items上使用ArtifactDatalist。它是空的,頁面會顯示「沒有需要您處理的事項。」 -
將連結給擁有者,並告知看板是私密的。
-
將連結寫入專案中的一個檔案(狀態頁面或專案筆記),以便新的 session 可以找到它。
如果在 Claude 外部、一般瀏覽器中開啟,頁面會顯示虛構的範例項目,並附上說明。這是為了預覽和截圖;它永遠不會寫入任何資料。
被答案喚醒
資料庫寫入不會喚醒您;只有發送給 Claude 的評論才會。當擁有者回答、標記任務完成或提出問題時,頁面會向該項目自己的評論串發送一條簡短評論,例如「№ 12 · 這個星期五開放測試版?答案:是」。該評論會喚醒監看該看板的 session。
- 發佈會啟動監看, 但只有在
ArtifactCommentswatch(不帶url)將看板列為已連接,並啟用自動回覆功能時,才算是真正的監看。 - 一個新的 session 必須再次監看, 使用
ArtifactCommentswatch和看板的url。自動回覆僅在擁有者自己在訊息中提供該連結時才會啟用,因此該連結會放在擁有者貼上的重新啟動提示中。 - 頁面會告訴擁有者他們處於哪種情況:「…在您回答時會立即被告知」或「已儲存在此;… 會在下次檢查時讀取」。
- 如果評論無法送達您(評論功能關閉,或沒有 session 在監看),請回退到以下方案:
- 在每次回合開始時讀取桌面;
- 要求擁有者在回答後在聊天中說「desk」;
- 提供排程檢查,僅在擁有者想要時才執行。
一個項目
每個項目是集合 items 中的一個文件。其文件 ID 就是它的代號:使用 q<數字> 表示決策,使用 t-<單字> 表示任務。從頭到尾使用純文字,因為擁有者可能在手機上閱讀。
| 欄位 | 由誰寫入 | 內容 |
|---|---|---|
kind | 您 | "decision" 或 "task" |
status | 雙方 | "open";頁面設定為 "answered";您設定為 "archived" |
later | 您 | true 將其放在「稍後」分頁 |
urgent | 您 | true 將其放在黃色「緊急」分頁以及「概覽」頂端。僅用於不能等待的事項:今天到期的截止日期,或對使用者造成影響的錯誤 |
num | 您 | 一個連續編號,與您在聊天中使用的相同;永不重複使用 |
title | 您 | 問題本身,可透過選項回答,或作為行動的任務 |
body, bullets | 您 | 簡短段落和要點:為什麼重要,影響什麼 |
recommendation | 您 | 您的答案在前,然後是原因,一到兩句話 |
choices | 您 | 兩到四個答案;預設為「是 / 否」 |
steps, stepsDone | 您;頁面 | 一個任務的步驟,以及已勾選的步驟(索引) |
copies | 您 | [{label, text}]:擁有者將要貼到某處的文字 |
links | 您 | [{label, url, note}]:指南、頁面、附加檔案 |
from | 您 | 哪個 session 提出的 |
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 寫入。僅用於測試看板,切勿用於擁有者的真實看板。
張貼項目
- 使用
ArtifactData新增項目。使用set處理新文件,使用batch處理超過兩個項目。切勿重新發佈頁面來更改項目。 - 然後在聊天中告知您新增了什麼,並附上每個項目的連結:
<看板 url>#<文件 id>會開啟其分頁並滾動到該處。 - 如果您也從聊天中的開放問題列表(如同幕僚長所做的)工作,請保持兩者一致:相同的編號,相同的文字。
- 每個項目應獨立描述:要決定什麼,每種選擇會帶來什麼改變,以及您的建議。
- 一個任務需要列出確切步驟、
copies中要貼上的文字,以及links中的指南。 - 若要附加檔案: 先讀取整個檔案,然後使用
Artifact上傳(url為看板,asset: true),並連結為/_blob/<asset id>。 - 切勿將密碼、金鑰或私人記錄放在項目中。 需要機密的任務應說明在哪裡輸入,而不是內容是什麼。
讀取、執行、封存
當評論喚醒您時,或在回合開始時:
- 在
items上使用ArtifactDataquery,條件為where: [["status", "==", "answered"]]。讀取每個項目的answer和任何新的asks。 - 根據答案採取行動。 如果有幕僚長,請將擁有者的選擇和備註逐字轉達給提出該項目的 session。
- 評論和項目通常一致。
- 如果項目未儲存為已回答,但評論中帶有答案,則該評論是擁有者最新的說法。請自行將其寫入項目中。
- 封存項目: 使用
update設定status: "archived"、一行outcome(例如「建造者將測試版移至星期五」)以及archived(時間)。每次寫入都使用if_version固定,以避免覆寫擁有者在此期間修改的答案。 - 回答同一個項目中
asks的每個開放條目。 將整個asks陣列送回,並填入a和aAt,固定版本。 - 在評論串中回覆一行(例如「收到:將測試版移至星期五」),然後解決該評論串(
ArtifactCommentsreply,然後resolve)。
使用 later: true 擱置項目,使用 later: false 將其取回。已決定的項目可以留在「稍後」分頁,直到需要執行。封存而非刪除:封存是已決定事項的記錄。僅在擁有者指示下才刪除。
狀態與路線圖(可選)
在「概覽」與項目之間,另外兩個分頁向擁有者展示專案狀態。當您將文件寫入集合 board 時,每個分頁會出現並即時更新。使用 ArtifactData 寫入(第一次使用 set,然後使用 update 並用 if_version 固定版本)。assets/example-board.json 包含一組虛構的資料。
board/status:每個 session 的狀態。每次您檢查團隊時更新;幕僚長會在更新其狀態頁面時一同更新。
| 欄位 | 內容 |
|---|---|
updated | 您上次檢查的時間(ISO 時間);頁面會顯示多久以前 |
oneLine | 專案狀態,一句話 |
sessions | [{name, state, doing, last, restart}],每個 session 一行。state 是一兩個字(「工作中」、「等待中」、「達到限制停止」),頁面會為其上色。當是重新啟動該 session 的好時機時,restart 以「是」開頭 |
done | 自上次更新以來完成的事項,每行一項 |
next | [{who, what}]:下一步,包括擁有者的(who: "you") |
「狀態」分頁會自動計算擁有者的緊急和開啟項目數量;請勿在 oneLine 中重複。
board/roadmap:計劃,逐階段進行。當一個階段或其項目有所變動時更新。
| 欄位 | 內容 |
|---|---|
updated | 您上次更改的時間 |
headline | 專案在計劃中的位置,一句話 |
stages | [{id, name, state, when, summary, items}],按順序。state 為 done、now、next 或 later;items 為 [{text, state}],其中的 state 為 done、now 或 next。標記為 now 的階段會展開在頂部 |
更改頁面
- 僅在需要更改頁面本身時才重新發佈頁面。傳入相同的 capabilities,或省略
capabilities以保留它們。 - 如果另一個 session 發佈了看板,請先讀取它(
Artifactread),並在回傳的內容基礎上建構。 - 項目保存在資料庫中,因此它們會在重新發佈後保留。