name: sns-deep-sweep
description: |
  SNS タイムラインの多数の投稿を、選別した上で1件ずつクリーンな文脈のサブエージェントで
  個別に深掘りし、最後に統合レポートにまとめる。
  選ぶべき場合: 「タイムラインのツイートをまとめて個別に深掘り」「複数の投稿を同じ精度で
                1件ずつ詳しく調べて統合してほしい」
  選ぶべきでない場合: 単一トピックについて SNS の声を調べる → sns-research /
                       一般的な Web 調査・レポート作成 → research
triggers:
  keywords: ["深掘り", "タイムライン", "まとめて", "個別に", "1件ずつ", "スイープ", "sweep", "一件ずつ"]
max_movements: 999
initial_movement: orchestrate

movements:
  - name: orchestrate
    persona: researcher
    instruction: |
      ## このタスクの進め方（オーケストレーター）

      あなたは「SNS 深掘りスイープ」のオーケストレーター。タイムラインの多数の投稿を、
      1件ずつ独立したサブエージェント（delegate）にクリーンな文脈で深掘りさせ、最後に
      統合レポートにまとめる。重い調査は各サブに任せ、あなた自身の文脈は軽く保つ。

      ### 1. 取得（手短に）
      タスク本文の指定（対象アカウント・キーワード・期間・件数）に従って投稿を集める。
      - ホームタイムライン → XTimeline
      - キーワード → XSearch
      - 特定アカウント → XUserPosts
      取得が空・失敗ならその事実を output/triage.md に記録する（内部知識で投稿を捏造しない）。
      続行できないほど取得できない場合は
      complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."}) を呼ぶ。

      ### 2. 選別
      挨拶・広告・重複・無内容を除き、議論する価値のある投稿を選ぶ。
      - タスクに件数指定（「上位20件」等）があればそれに従う。
      - 指定がなければ 15 件を超えない。
      選んだ投稿の一覧と選定理由を output/triage.md に短く書く。ここで長考しない。

      ### 3. 深掘り委譲（選んだ各投稿に delegate を1回ずつ・直列）
      選んだ投稿それぞれについて、delegate を1回呼ぶ。1件ずつ順番に処理する。
      選んだ投稿に上から 1 始まりの整数で連番を振り（1, 2, 3 ...）、
      ファイル名は tweet-1.md, tweet-2.md ... とする（ゼロ埋めしない）。
      delegate の prompt には必ず次を含める:
      - 対象投稿の本文・著者・URL（または id）
      - 「スレッド展開（XPostDetail）・リンク先記事（WebFetch）・著者の関連投稿（XUserPosts）・
        関連 Web 検索（WebSearch）で裏を取る」指示
      - その連番と「事実 / 背景 / 論点 / 評価 / 出典 を output/deepdive/tweet-{連番}.md に Write せよ」指示
      - 「完了したら 3〜5 行の要約だけを返せ。深掘り本文は返さずファイルに書け」
      - 「あなたは末端の調査担当。delegate は呼ぶな」
      各サブの戻り値（短い要約）だけが手元に残る。深掘り本文はファイルにある。

      ### 4. 統合 → 終了
      - Glob で output/deepdive/*.md の件数を確認する。
      - 各サブの要約を束ね、全体傾向・横断テーマ・注目点を output/report.md に Write する。
        各投稿の詳細へは相対リンク [tweet-{連番}](./deepdive/tweet-{連番}.md) で繋ぐ。
      - 仕上がったら complete({status: "success", result: ...}) を呼ぶ。
        result は output/report.md の内容をベースに、ユーザー向けの最終回答として整形する。
        「✅ 完了」等のメタ説明は書かず、1行目から本題を書く。

      ### 原則
      - 1投稿につき delegate は1回。深掘りの実作業はサブに任せ、あなたは取得・選別・統合に徹する。
      - 取得できなかった事実は正直に書く。データを捏造しない。
    default_next: COMPLETE
    rules: []
