com um clique
x-mention-reaction
Xの未チェックreply/quote/@メンションを収集し、返信・引用RT・スキップ候補を作ってマスター承認に回す。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Xの未チェックreply/quote/@メンションを収集し、返信・引用RT・スキップ候補を作ってマスター承認に回す。
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Baseado na classificação ocupacional SOC
| name | x-mention-reaction |
| description | Xの未チェックreply/quote/@メンションを収集し、返信・引用RT・スキップ候補を作ってマスター承認に回す。 |
Hermesは判断と文章生成を担当し、X投稿境界・pending state・guard・記録はprofile内CLIに任せる。
node scripts/nikechan-x.mjs mention-context
node scripts/nikechan-x.mjs mention-propose --items-json '<json>'
node scripts/nikechan-x.mjs notify-mention-pending --thread
node scripts/nikechan-x.mjs mention-resolve --text "<Discord返信本文>" --notify
node scripts/nikechan-x.mjs mention-pending
node scripts/nikechan-x.mjs mention-approve --ids m1,m2
node scripts/nikechan-x.mjs mention-cancel --reason "<理由>"
mention-context を読むmention-context.candidates[].personContext は公開可能な投影だけとして扱うnickname をそのまま使うnickname、 / nicknameさん、 の形にしない。名前呼びは文中に自然に入る時だけ使うnickname が空の場合は相手を名前で呼ばないbody と originalTweetText は mention-context.candidates[] の原文をそのまま使い、要約・翻訳しないmediaContext に photo / video / animated_gif がある候補は、返信案・引用案を作る前に必ず vision_analyze で実メディアを確認するreplyAction=skip / quoteAction=skip にする。周辺文脈だけで推測しないmediaEvidence に入れるreason / replyText / quoteText は必ず日本語で書くmention-propose に渡し、guardとpending保存を通すmention-propose 後に notify-mention-pending --thread を実行し、最終応答は [SILENT] にするmention-context の candidates が空なら、通知せず [SILENT] にするmention-context の candidates がある場合は、既存pendingがあっても必ず新しい候補を作って mention-propose に渡す。CLIが古いpendingをsupersededとして退避するthreadId / notifiedAt を理由に notify-mention-pending --thread を省略しないmention-propose には次の形で渡す。
{
"items": [
{
"id": "m1",
"tweetLogId": "tweet_logs.id",
"postId": "相手ツイートID",
"username": "username",
"displayName": "表示名",
"type": "reply",
"body": "相手の本文を原文コピー(要約・翻訳禁止)",
"originalTweetId": "元ツイートID。なければ省略",
"originalTweetText": "元ツイート本文を原文コピー。なければ省略",
"mediaContext": "候補にメディアがある場合はmention-contextの値をそのまま含める",
"mediaEvidence": "画像を踏まえる場合はvision_analyzeで確認した具体的な視覚情報",
"replyAction": "reply",
"quoteAction": "skip",
"reason": "日本語の判断理由",
"replyText": "日本語の返信本文"
}
]
}
候補thread内のマスター返信は、固定文言ではなくLLM判断で扱う。
m1 / m2 指定があれば該当候補だけ、指定がなければ現在提示中の実行対象を承認するnode scripts/nikechan-x.mjs mention-approve --ids m1,m2 を実行し、結果を短く報告するpending.items と pending.candidates を元に全候補JSONを作り直し、node scripts/nikechan-x.mjs mention-propose --preserve-thread true --items-json '<json>' を実行するneeds_approval、JSON、実行ログを通常は出さない。マスターがログ確認を求めた場合だけ最小限に出す補助コマンド:
node scripts/nikechan-x.mjs thread-context --thread-id "<Discord thread id>"
node scripts/nikechan-x.mjs mention-resolve --text "<Discord返信本文>" --notify
mention-resolve は補助用。thread返信の主判断はLLMが行い、承認なら mention-approve、修正なら mention-propose --preserve-thread true を直接使う。
NIKECHAN_X_RELEASE_MODE=dry-run ではX API投稿も tweet_logs 消費も行わない。
live または canary-live かつ NIKECHAN_X_LIVE_ARMED=yes のときだけ、投稿・checked更新・action記録・contact episode記録を行う。
保存された mention-context または thread router から渡された pending の currentItems / items と feedback を読み、全候補を作り直して mention-propose --preserve-thread true に渡す。