Community寫作與編輯github.com

kl-autonomous/agent-team-skills

為人類擁有者提供一個即時看板,這是一個附有小型資料庫的 Claude artifact,用於處理只有他們能決定或執行的所有事項。

agent-team-skills 是什麼?

這個技能建立一個互動式 Claude artifact,作為一個看板(或稱為「桌面」),將需要人類使用者(擁有者)關注的決策、任務、批准和其他待辦事項從聊天對話中分離出來。它在一個結構化的看板中顯示這些項目,包含多個分頁,例如「需要您處理」(開啟項目)、「緊急」(黃色分頁)、「已決定」(已回答)、「稍後」和「封存」(已完成)。擁有者可以直接在手機或 iPad 上透過滑動來回覆,而 agent 會透過 ArtifactComments 機制被喚醒。在 agent 讀取答案、執行對應動作並封存項目後,該項目即被完成。此技能對於處理多個開放式問題、需要擁有者介入的任務(如核准、上傳、登入、購買、帳戶變更),或當使用者要求儀表板、收件匣、待辦事項看板等情境時特別有用。它支援 claude.ai 和 Claude 桌面應用程式,需要啟用 `db` 和 `comments` 功能的 artifact,並且必須在提供 watch 功能的主循環 session 中執行。主要工作流程包括:建立看板、張貼項目、透過評論獲取答案,以及根據指示讀取、執行和封存項目。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kl-autonomous/agent-team-skills/tree/HEAD/skills/owner-desk

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Owner Desk

聊天中的問題容易被淹沒,而擁有者必須在 agent 提問時回答,而不是在他們有空的時間。這個桌面將它們移出聊天,放進一個看板:一個「需要您處理」的分頁,包含所有開啟的項目;一個黃色的「緊急」分頁,僅有不能等待的事項;一個「已決定」分頁,包含已回答的項目;一個「稍後」分頁,包含可以等待的事項;以及一個「封存」分頁,包含已完成的事項。在手機或 iPad 上,擁有者可以橫向滑動來切換分頁。擁有者在這裡回答;您則讀取答案、採取行動並封存。

需求

  • 具備 db 和 comments 功能的 Claude artifact,在 claude.ai 或 Claude 桌面應用程式上。只有當項目會攜帶附加檔案時,才加入 assets。

  • 工具:

    • Artifact:用於發佈看板和上傳檔案;
    • ArtifactData:用於寫入和讀取項目;
    • ArtifactComments:用於監看看板並回應喚醒您的評論。

    當它們被延遲時,使用 ToolSearch 載入它們。

  • 一個主循環 session。 只有主循環 session 可以持有監看;子 agent 無法做到。

如果沒有這些,請如實告知,並將問題以編號列表形式保留在聊天中。不要假裝有看板。

誰來寫入

僅限一個 session:

  • 如果有的話,由幕僚長寫入(參見 chief-of-staff 技能);
  • 否則,由與擁有者協作的 session 寫入。

兩個寫入者會將項目編號兩次,並封存彼此的工作。

建立看板

  1. 填入模板 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
    
  2. 使用 Artifact 工具發佈它:

    • capabilities: {"db": {}, "user": {}, "comments": {}},如果項目會攜帶檔案,則加上 "assets": {};
    • icon: "inbox";
    • 一行 description。

    發佈也會讓這個 session 開始監看看板。

  3. 檢查一次:在集合 items 上使用 ArtifactData list。它是空的,頁面會顯示「沒有需要您處理的事項。」

  4. 將連結給擁有者,並告知看板是私密的。

  5. 將連結寫入專案中的一個檔案(狀態頁面或專案筆記),以便新的 session 可以找到它。

如果在 Claude 外部、一般瀏覽器中開啟,頁面會顯示虛構的範例項目,並附上說明。這是為了預覽和截圖;它永遠不會寫入任何資料。

被答案喚醒

資料庫寫入不會喚醒您;只有發送給 Claude 的評論才會。當擁有者回答、標記任務完成或提出問題時,頁面會向該項目自己的評論串發送一條簡短評論,例如「№ 12 · 這個星期五開放測試版?答案:是」。該評論會喚醒監看該看板的 session。

  • 發佈會啟動監看, 但只有在 ArtifactComments watch(不帶 url)將看板列為已連接,並啟用自動回覆功能時,才算是真正的監看。
  • 一個新的 session 必須再次監看, 使用 ArtifactComments watch 和看板的 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>。
  • 切勿將密碼、金鑰或私人記錄放在項目中。 需要機密的任務應說明在哪裡輸入,而不是內容是什麼。

讀取、執行、封存

當評論喚醒您時,或在回合開始時:

  1. 在 items 上使用 ArtifactData query,條件為 where: [["status", "==", "answered"]]。讀取每個項目的 answer 和任何新的 asks。
  2. 根據答案採取行動。 如果有幕僚長,請將擁有者的選擇和備註逐字轉達給提出該項目的 session。
    • 評論和項目通常一致。
    • 如果項目未儲存為已回答,但評論中帶有答案,則該評論是擁有者最新的說法。請自行將其寫入項目中。
  3. 封存項目: 使用 update 設定 status: "archived"、一行 outcome(例如「建造者將測試版移至星期五」)以及 archived(時間)。每次寫入都使用 if_version 固定,以避免覆寫擁有者在此期間修改的答案。
  4. 回答同一個項目中 asks 的每個開放條目。 將整個 asks 陣列送回,並填入 a 和 aAt,固定版本。
  5. 在評論串中回覆一行(例如「收到:將測試版移至星期五」),然後解決該評論串(ArtifactComments reply,然後 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 發佈了看板,請先讀取它(Artifact read),並在回傳的內容基礎上建構。
  • 項目保存在資料庫中,因此它們會在重新發佈後保留。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能