Communityライティング&編集github.com

kl-autonomous/agent-team-skills

人間のオーナーにライブボード(Claudeアーティファクト)を提供し、すべての判断やタスクをカード化。オーナーは好きなタイミングで回答でき、回答はコメント経由でエージェントを起こし、エージェントが行動してアーカイブします。

agent-team-skills とは?

このスキルは、AIエージェント(Claude Code, Cursor, Codex等)のユーザーがチャット内で埋もれがちな質問やオーナー専用タスクを、視覚的なボード(Claudeアーティファクト)に整理するためのものです。ボードには「Needs you(あなたが必要)」「Urgent(緊急)」「Decided(決定済み)」「Later(後で)」「Archive(アーカイブ)」のタブがあり、オーナーはスマートフォンやiPadから直感的に回答やタスクの完了チェックができます。回答は自動的にコメントとしてエージェントに送信され、エージェントはそれに基づいて行動し、アイテムをアーカイブします。主にclaude.aiやClaudeデスクトップアプリで動作し、`Artifact`, `ArtifactData`, `ArtifactComments`のツールを必要とします。また、メインループセッションでのみ使用可能で、サブエージェントでは動作しません。このスキルは、オーナーが「ダッシュボード」「受信箱」「ToDoボード」「意思決定ボード」を求める場合や、質問がチャットで埋もれる問題を解決したい場合に特に有用です。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

オーナーデスク

チャット内の質問は埋もれてしまい、オーナーはエージェントが尋ねたときに(自分の都合の良いときではなく)答えなければなりません。デスクはそれらをチャットからボードに移します。「Needs you(あなたが必要)」タブには保留中のすべてのアイテム、「Urgent(緊急)」タブは本当に待てないものがあるときだけ黄色で表示、「Decided(決定済み)」タブには回答済みのもの、「Later(後で)」タブには後回しにできるもの、「Archive(アーカイブ)」タブには完了したものが表示されます。スマートフォンやiPadでは、オーナーはスワイプでタブ間を移動します。オーナーはそこで回答し、あなたは回答を読んで行動し、アーカイブします。

必要なもの

  • db および comments 機能を持つClaudeアーティファクト(claude.ai または Claudeデスクトップアプリ上)。アイテムにファイルを添付する場合のみ assets を追加します。

  • ツール:

    • Artifact: ボードの公開とファイルのアップロードに使用。
    • ArtifactData: アイテムの書き込みと読み取りに使用。
    • ArtifactComments: ボードの監視と、あなたを起動するコメントへの応答に使用。

    これらが遅延ロードされている場合は、ToolSearch でロードします。

  • メインループセッション。 メインループセッションのみが監視を保持できます。サブエージェントはできません。

これらがない場合は、その旨を伝え、質問を番号付きリストとしてチャットに残します。ボードがあるふりをしないでください。

誰が書き込むか

1セッションのみ:

  • チーフ・オブ・スタッフがいる場合はそのセッション(チーフ・オブ・スタッフスキルを参照);
  • それ以外の場合は、オーナーと協業するセッション。

2つのライターが存在すると、アイテムに二重に番号が振られ、互いの作業をアーカイブしてしまいます。

ボードの作成

  1. テンプレート assets/desk.html を埋めます。3つのプレースホルダーがあります:

    • {{TITLE}}: ボードの名前(2〜4語)。例: 「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";
    • 1行の description。

    公開すると、このセッションがボードの監視を開始します。

  3. 一度確認します: ArtifactData の list をコレクション items に対して実行。空であり、ページには「Nothing needs you.」と表示されます。

  4. オーナーにリンクを渡し、ボードはオーナー専用であることを伝えます。

  5. リンクをプロジェクト内のファイル(ステータスページやプロジェクトノート)に書き込み、新しいセッションが見つけられるようにします。

Claude外の通常のブラウザで開くと、ページはダミーのサンプルアイテムとその旨のメモを表示します。これはプレビューやスクリーンショット用であり、実際の書き込みは一切行われません。

回答によって起動される

データベースへの書き込みではあなたは起動されません。Claude に送信されるコメントによって起動されます。オーナーが回答したり、タスクを完了としてマークしたり、質問をしたりすると、ページはアイテムのスレッドに短いコメントを送信します。例:「№ 12 · Open the beta this Friday? Answer: Yes」。このコメントがボードを監視しているセッションを起動します。

  • 公開により監視が開始されますが、ArtifactComments の watch(url なし)がボードを接続済みとしてリストし、自動返信が有効になっている場合にのみ監視となります。
  • 新しいセッションは再度監視する必要があります。ArtifactComments の watch とボードの url を使用します。自動返信は、オーナーが自身のメッセージでそのリンクを提供した場合にのみ有効になるため、リンクはオーナーが貼り付ける再起動プロンプトに含めます。
  • ページはオーナーに現在の状況を伝えます:「…回答した瞬間に通知されます」または「ここに保存されました。…は次のチェック時に読み取ります」。
  • コメントがあなたに届かない場合(コメントがオフになっている、または監視中のセッションがない場合)、以下の代替手段にフォールバックします:
    • 毎ターンの開始時にデスクを読み取る;
    • オーナーに回答後チャットで「desk」と言うよう依頼する;
    • オーナーが希望する場合に限り、スケジュールチェックを提案する。

アイテム

各アイテムはコレクション items 内の1つのドキュメントです。ドキュメントIDがそのハンドルです。決定には q<数字>、タスクには t-<単語> を使用します。オーナーがスマートフォンで読む可能性があるため、全体を通して平易な言葉を使用します。

フィールド書き手内容
kindあなた"decision" または "task"
status両方"open"; ページが "answered" を設定; あなたが "archived" を設定
laterあなたtrue で Later タブに移動
urgentあなたtrue で黄色の Urgent タブと Overview の最上部に表示。今日中の期限やユーザーに影響する障害など、待てないものだけに設定
numあなた通し番号。チャットで使用するものと同じで、再利用しない
titleあなた選択肢で回答可能な質問そのもの、またはタスクのアクション
body, bulletsあなた短い段落や箇条書き: 重要理由、影響範囲
recommendationあなたあなたの推奨回答とその理由を1〜2文で
choicesあなた2〜4の回答選択肢。デフォルトは Yes / No
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あなた結果(1行); アーカイブ日時

assets/example-items.json には7つのダミーアイテムが含まれており、ArtifactData の batch で書き込むことができます。ボードのテストに使用し、実際のオーナーのボードでは決して使用しないでください。

アイテムの投稿

  • ArtifactData を使用して新しいアイテムを追加します。新しいドキュメントには set を、2つ以上のアイテムには batch を使用します。アイテムを変更するためにページを再公開しないでください。
  • その後、チャットで追加した内容を各アイテムへのリンク付きで伝えます: <board url>#<doc id> でそのアイテムのタブが開きスクロールします。
  • チャットのオープン質問リストも管理している場合(チーフ・オブ・スタッフなど)、両方を同じに保ちます(同じ番号、同じ文言)。
  • 各アイテムは単独で完結するように記述します: 何が決定されるのか、各選択肢で何が変わるのか、あなたの推奨は何か。
  • タスクでは、正確な手順、copies に貼り付けるテキスト、links のガイドをリストします。
  • ファイルを添付する場合: まずファイル全体を読み、次に Artifact(ボードの url、asset: true)を使用してアップロードし、/_blob/<asset id> としてリンクします。
  • アイテムにパスワード、キー、個人記録を決して入れないでください。 秘密を必要とするタスクでは、どこに入力するかを示し、その内容自体は決して記述しません。

読み取り、実行、アーカイブ

コメントであなたが起動されたとき、またはターンの開始時に:

  1. ArtifactData の query を items に対して where: [["status", "==", "answered"]] で実行。各アイテムの answer と新しい asks を読み取ります。
  2. 回答に基づいて行動します。 チーフ・オブ・スタッフがいる場合は、オーナーの選択とメモをそのまま質問したセッションに伝えます。
    • 通常、コメントとアイテムは一致します。
    • アイテムが回答済みとして保存されていないが、コメントに回答が含まれている場合、コメントがオーナーの新しい発言です。自分でアイテムに書き込みます。
  3. アイテムをアーカイブします: status: "archived"、1行の outcome(「ビルダーがベータを金曜日に変更しました」)、archived(時刻)で update します。すべての書き込みを if_version で固定し、オーナーがその間に回答を変更しても上書きされないようにします。
  4. 同じアイテムの asks 内の各オープンエントリに回答します。asks 配列全体を a と aAt を記入して返し、if_version で固定します。
  5. コメントスレッドに1行で返信し(「了解しました。ベータを金曜日に移動します」)、その後スレッドを解決します(ArtifactComments の reply、その後 resolve)。

アイテムを later: true で一時的に保留し、later: false で戻します。決定済みアイテムは、実行時期が来るまで Later に残すことができます。削除ではなくアーカイブします。アーカイブは決定の記録です。削除はオーナーの指示があった場合のみ行います。

ステータスとロードマップ(オプション)

さらに2つのタブが、概要とアイテムの間にプロジェクトの状況を表示します。それぞれ、コレクション board にドキュメントを書き込むと表示され、ライブ更新されます。ArtifactData で書き込みます(初回は set、以降は update を if_version で固定)。assets/example-board.json にダミーのペアが含まれています。

board/status: 各セッションの状況。チームを確認するたびに更新します。チーフ・オブ・スタッフはステータスページを更新するたびにこれを書き込みます。

フィールド内容
updated最終確認日時(ISO形式)。ページは経過時間を表示
oneLineプロジェクトの状況を一文で
sessions[{name, state, doing, last, restart}]、セッションごとに1行。state は一言(「Working」「Waiting」「Stopped at a limit」)で、ページが色付けします。restart が「Yes」の場合、そのセッションを再起動する良いタイミング
done前回の更新以降に完了したこと、各行に1つ
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 を省略して維持します。
  • 別のセッションがボードを公開した場合、まず読み取り(Artifact の read)、返ってきたものに基づいて構築します。
  • アイテムはデータベースに保存されるため、再公開しても保持されます。

Individual skills in this repo

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

関連スキル