mcpField
T
taskflow-inbox-triage

taskflow-inbox-triage

github.com/openclawエージェントワークフロー393.3k442 回インストール今日更新
リポジトリ

taskflow-inbox-triage について

taskflow-inbox-triage は、受信トレイの項目を business、personal、later の ID リストに振り分ける Lobster ワークフロー例です。承認後にプレビュー結果を返すだけで、実際の送信は行いません。受信トレイ読み取りやルート用アダプターは別途必要です。

主な機能

  1. 01最大 20 件の項目 ID を 3 リストに振り分け
  2. 02ID とルート値の検証
  3. 03承認待ちで停止して結果を返却
  4. 04コントローラーによる再開とキャンセル

活用シーン

  1. 01分類済み受信トレイ項目のバッチ確認
  2. 02業務・個人・後回しの項目の整理
  3. 03Lobster コントローラーの承認と再開処理のテスト

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openclaw/openclaw --skill taskflow-inbox-triage

インストール後、Claude Code で/taskflow-inbox-triageを入力して読み込まれたか確認します。

詳細

TaskFlow の受信トレイの振り分け

skills/taskflow/examples/inbox-triage.lobster を、skills/taskflow/SKILL.md に記載された管理対象の Lobster 実行/承認/再開手順で使用します。デフォルトのバッチは合成データで、すでに分類されています。このワークフローはすべての項目を business、personal、later の ID リストに振り分け、実際の承認のために一時停止した後、送信を行わずにそれらのリストを返します。

入力と結果

各項目には、空でない id(長さは最大 80 文字)と route(business、personal、later のいずれか)が必要です。バッチの上限は 20 項目です。無効な入力は明示的に失敗し、空のバッチでは 3 つの空リストが返されます。初回実行時に argsJson を指定すると、デフォルト値を上書きできます。たとえば、次のようにします。

{
  "items": [
    { "id": "demo-business-1", "route": "business" },
    { "id": "demo-personal-1", "route": "personal" },
    { "id": "demo-later-1", "route": "later" },
    { "id": "demo-business-2", "route": "business" }
  ]
}

このオブジェクトをシリアライズし、argsJson 文字列として渡します。この例を試すときは、合成 ID を使用してください。承認によって確認されるのはプレビューのみであり、実際の配信は許可も実行もされません。

実際の受信トレイ処理を明示的に接続する

実際のコントローラーには、上記の制約に従った入力を生成する受信トレイリーダーと分類器に加え、各ルートに対応するアダプターが必要です。

ルート実際のコントローラーに必要な処理
business認可済みの Slack アダプター経由で投稿し、返されたスレッド ID を保存してから、関連付けられた人間の返信を待ちます。
personal認可済みのチャネルアダプター経由で所有者に通知し、配信結果を記録します。
later明示的にスケジュールされた一日の終わりの実行に向けて、上限付きの要約参照を保持します。

これらのアダプターは、この例には含まれていません。振り分ける前にすべての項目を分類してください。先頭の要素だけを見て、混在するバッチの処理を決めてはいけません。想定上の組み込み openclaw.invoke ブリッジではなく、直接利用可能な分類ツールまたは実際のアダプターを使用してください。実際の副作用が発生する前に承認を得てください。

業務上の返信については、コントローラーがイベントリスナーを登録し、waitJson にスレッドとの関連付けを上限付きで指定して setWaiting を呼び出し、該当する返信が届いた後にのみ再開します。Lobster の承認トークン、エコーされた待機用 JSON、または setWaiting の呼び出しだけでは、そのリスナーは設定されません。組み込みの Lobster 入力/ask リクエストはサポートされていません。

分類で切り離された処理を使う場合は、runTask で関連付ける前に、公開されているリクエスター紐付けプラグインパスを通じて起動してください。結果を解釈する前に、実際の完了を待ってください。pending や観測タイムアウトは、終端状態の失敗ではありません。失敗した場合は、フローの結果を失敗またはブロックとして記録し、報告してください。起動または関連付けが拒否された後に、子処理を捏造してはいけません。

継続に必要な ID、小さな要約、カーソルのみを保存してください。再起動後またはリビジョン競合後は、所有者に紐付けられたフローを再読み込みし、次の遷移を適用する前に調整してください。finish を含むすべての変更を確認してください。確認していない結果から成功を報告してはいけません。コントローラーによる再開とキャンセルについては、Task Flow を参照してください。

コメント