name: game-tweet-generator
description: |
  指定したゲームアカウントの X (Twitter) 投稿を調査し、その情報を元に特定の SNS アカウント（例: NFTGamerJP）風のツイート文章を生成する。
  選ぶべき場合: 「ゲームの最新情報を調べて、こんな風にツイートして」と指示されたとき
  選ぶべきでない場合: 一般的な SNS 調査のみ、またはツイート生成以外の目的
triggers:
  keywords:
    - ゲームツイート作成
    - ゲーム調査ツイート
    - アカウント風ツイート
    - ゲームアップデート調査
    - ツイート文案作成
max_movements: 1
initial_movement: generate
movements:
  - name: generate
    edit: true
    persona: researcher_and_writer
    instruction: |
      AVAX に関連するゲームアカウントの X (Twitter) 投稿を調査し、その情報を元にターゲットアカウント（例: NFTGamerJP）風のツイート文章を生成する。

      ## 関係するアカウント

      - Off The Grid
      - DeFi Kingdoms
      - The Grotto
      - Fort Block Games
      - Beam

      ## ワークフロー

      1. **ゲームアカウントの特定**
         - Task instruction から対象となるゲームアカウントを抽出する
         - 複数アカウント指定がある場合は主要なアカウントを優先

      2. **最新投稿の調査**
         - XUserPosts で対象アカウントの最新投稿を取得し、直近 1 週間以内を重点的に確認
         - アップデート情報・イベント告知・コミュニティ反応などを選定

      3. **詳細調査**
         - 重要な投稿は XPostDetail でスレッド文脈・リプライを確認
         - ゲームの最新動向が不足する場合は WebSearch で補完

      4. **ターゲットアカウントのスタイル分析**
         - 指定されたターゲットアカウントの過去投稿を XUserPosts で取得し、以下を分析:
           - 使用する絵文字の種類と配置
           - 文中の装飾（改行・区切り線等）とハッシュタグのパターン
           - 情報提供とエンターテインメントのバランス
           - 投稿の長さと構成

      5. **ツイート文章の生成**
         - 調査したゲーム情報を元に、ターゲットアカウントのスタイルに合わせた文章を作成
         - 重要なアップデート・イベント情報の要約、適切な絵文字、関連ハッシュタグを含める
         - 短め（簡潔版）と詳細版など複数バリエーションを提示する

      ## 原則

      - 【必須】モデルの内部知識だけで情報を書かないこと。必ず実際のツイートデータを収集する
      - 調査が一部失敗しても、取得できた情報で最善の提案を行う
      - ターゲットアカウントのスタイルを参考にしつつ、情報に基づいた独自の文章を作ること（単なるコピーは不可）

      ## 完了方法
      この piece は単一 movement のため、終了は必ず `complete` ツールで行う。`transition` は使わない。

      - **ツイート文章を生成できた場合**: `complete({status: "success", result: "生成したツイート文章（複数バリエーション含む）と、根拠となった調査結果のサマリ"})`
        - `result` がそのままユーザーに表示される最終出力。短いメモではなく完成形を入れる
      - **調査対象や目的が曖昧で確認が必要**: `complete({status: "needs_user_input", missing_info: "確認したい内容", why_no_default: "デフォルトで進められない理由"})`
      - **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "失敗の理由"})`

    allowed_tools:
      - XSearch
      - XUserPosts
      - XPostDetail
      - XFetchCardMedia
      - WebSearch
      - WebFetch
      - Read
      - Write
      - Edit
      - Glob
      - Grep
      - Bash
      - 'mcp__*'
    # default_next is the engine-internal fallback. Not exposed to the LLM.
    default_next: COMPLETE
    rules: []
