この記事でやること
- osFoundryのリンク済みチャットに割り当てたタスクを、6つの状態ごとに「いま何が起きていて、次に何をするか」で整理する
- Claudeのチャットに貼ってそのまま使える依頼文を、場面ごとに用意する
- 上限値と、運用でよく出る疑問をまとめる
接続の作り方(Connectedタブ → Add assistant → Claudeでカスタムコネクタ追加 → Add to project)と、link_current_chat でのリンクまでは済んでいる前提です。
表示例:プロジェクトに追加した接続と、その下のリンク済みチャット
前提・環境
- osFoundryの接続がプロジェクトに追加済み
- Claudeの会話の1つが、osFoundryの「Linked chats」に出ている(ラベル、プロジェクト名、「Project access active」、「Link ID」が並んでいる状態)
- その会話で、osFoundryのコネクタが有効になっている(左下の「+」→「Connectors」)
まず押さえる前提
この受け渡しは郵便受け方式です。osFoundryがタスクを入れ、Claudeのチャットは、こちらが会話を開いて頼んだときに取りに来ます。Claudeのカスタムコネクタには、MCPサーバーの側から会話のターンを始めさせる汎用のイベントトリガーがありません。なので、どの状態でも「次に動くのは誰か」を意識しておくと迷いません。
使われるツールは4つです。
| ツール | Claudeが呼ぶタイミング |
|---|---|
link_current_chat |
「このチャットをプロジェクトにリンクして」と頼んだとき(最初の1回) |
read_linked_chat_tasks |
「タスクを確認して」と頼んだとき |
claim_linked_chat_task |
待っているタスクに取りかかるとき |
submit_linked_chat_result |
結果を返すとき(completed か failed) |
ファイルを返すタスクでは、送信前に upload_linked_chat_artifact も使われます。
状態ごとの見方
osFoundryでリンク済みチャットの横の「Tasks」を開くと、タスクのカードに状態が出ます。内部のステータスは queued | claimed | completed | failed | cancelled | expired の6つで、画面の表示は次のとおりです。
Waiting for Claude(queued)
「Assign task」を押した直後の状態です。カードには、24時間後の期限と「Cancel」ボタンが出ます。
この状態のタスクは、こちらがClaudeの会話を開いて頼むまで待ちます。待っている時間が長くても、問題が起きているわけではありません。購読が有効でないときは、パネルにも「Open the host conversation to start each task.」と出ています。
次にやることは、リンクした会話を開いて頼むことです。
osFoundryのリンク済みチャットのタスクを確認して、待っているものがあれば取りかかって。
終わったら結果をosFoundryに返して。
Claimed by host chat(claimed)
Claudeが claim_linked_chat_task を呼び、作業に入った状態です。
同じ会話で「確認して」をもう一度頼んでしまっても大丈夫です。タスクが生きている間は、同じチャットからのクレームには同じクレームが返るので、作業者が2人に増えることはありません。Claudeのターンがリトライしたときも同じです。
結果の送信にはクレームIDが要ります。なので、回答はクレームしたタスクにしか着地しません。
Completed(completed)
Claudeが submit_linked_chat_result を status: "completed" で呼んだ状態です。「Result」を開くと本文が読めます。ファイルが添付されていれば、「Show returned files」で種類とサイズ付きの一覧が出ます。
以下は、依頼から完了までの表示例です。
表示例
あなた: osFoundryのタスクを確認して、待っているものをやって。
Claude → read_linked_chat_tasks { "chat_link_id": "…" }
← 待機中 1件「今週の議事録ノートから、決定事項だけを箇条書きにして。」
Claude → claim_linked_chat_task { "chat_link_id": "…", "task_id": "…" }
Claude → submit_linked_chat_result { …, "status": "completed",
"result": "- 公開日は来月第1週\n- …" }
Claude: 決定事項を5つにまとめて、osFoundryに返しました。
Failed(failed)
Claudeが status: "failed" で結果を返した状態です。たとえば、必要なノートが見つからなかったときがこれに当たります。
失敗として返すかどうかは、依頼文で指示しておくと扱いやすくなります。
osFoundryのタスクを確認して取りかかって。
必要な情報が見つからなかったら、推測で埋めずに failed で返して、
何が足りなかったかを結果に書いて。
Cancelled(cancelled)
osFoundry側で「Cancel」を押した状態です。キャンセルしたタスクは、すでに作業中だったClaudeのターンからでも完了にできません。Claudeのチャットで「作業は終わった」と言われても、osFoundry側のカードはCancelledのままです。ツールの説明にもこのことが書かれているので、Claudeが何度も送り直すことは起きにくくなっています。
頼み直したいときは、内容を直して新しいタスクとして「Assign task」します。
Expired(expired)
24時間のあいだに完了しなかったタスクです。クレームされないまま期限を迎えた場合も、作業の途中で止まった場合も、ここに入ります。
その日のうちに会話を開けないと分かっているなら、タスクを溜めず、開けるタイミングで割り当てるほうが扱いやすくなります。
場面別の依頼文
上に出てきたもの以外で、よく使う依頼文です。
osFoundryでこのチャットを自分のプロジェクトにエージェントとしてリンクして。
osFoundryのタスクを確認して取りかかって。成果物はMarkdownファイルにして、
結果を送る前にアップロードしておいて。
osFoundryのリンク済みチャットのタスクを一覧だけして。まだ取りかからないで。
最後の依頼なら read_linked_chat_tasks だけが呼ばれ、クレームは起きません。どのタスクが来ているかを先に会話の中で確かめたいときに使えます。
上限値
| 項目 | 上限 |
|---|---|
| タスク本文 | 100,000文字 |
| 結果 | 20,000文字 |
| 返却ファイル | 1つ8 MiB、1タスク8個まで |
| タスクの期限 | 24時間 |
結果が20,000文字に収まりそうにない作業は、本文を短くまとめてもらい、詳細をファイルで返してもらう形にすると扱いやすくなります。
権限まわりの確認
リンク済みチャットに何が渡るかは、カードの「Shared with this linked chat」で確かめられます。渡るのは、タスク文と、そのタスクに付いた画像やエディタ操作です。ワークスペース全体が渡るわけではなく、クレームも結果も、OAuth接続とリンク先プロジェクトに照らして毎回チェックされます。
止める操作は3段階あります。
| やりたいこと | 操作 |
|---|---|
| このタスクだけ止める | カードの「Cancel」 |
| このチャット1つを外す | 「Unlink」 |
| 接続ごと止める | 「Revoke connection」 |
接続をプロジェクトから外した場合も、受け箱はそのタスクを読み込まなくなります。
よくある疑問
1つのプロジェクトに複数のチャットをリンクできますか
できます。リンクは会話ごとに作られるので、用途の違う2つ目のチャットを別にリンクできます。タスクはLinked chatsの各チャットの「Tasks」から割り当てます。同じ受け箱はMessageの接続エージェントのページにもあり、「Work with a linked chat」の「Send work to」で渡し先のチャットを選べます。
osFoundryから会話の中身は見えますか
見えません。ラベルや会話の参照は、リンク時にClaudeが申告したものです。パネルにも「Labels are self reported」と出ています。osFoundryに届くのは、Claudeが submit_linked_chat_result で返した結果とファイルだけです。
タスクの中のエディタ操作をClaudeが勝手に実行しますか
しません。Claudeが要求できるのは、タスクで提示された操作だけです。実行はosFoundryが、既存の権限と承認のもとで行います。
一覧の更新はどのくらいの間隔ですか
osFoundryの画面は、15秒ごとに一覧を読み直します。Claudeが結果を返してから少し待てば、カードの表示が切り替わります。
アプリ内のエージェントが同じ仕組みをどう使うかはosFoundryのエージェントに、コネクタのプロトコルはMCPの解説にまとまっています。
まとめ
- Waiting for Claude は、こちらが会話を開いて頼むのを待っている状態です
- 二重に頼んでも同じクレームが返るので、作業者は増えません
- Cancelled と Expired のタスクは完了にならないので、頼み直すときは新しいタスクにします
- 何が渡るかは「Shared with this linked chat」、止め方は Cancel / Unlink / Revoke connection の3段階です
