x-impact-checker について
x-impact-checker は、19 項目のエンゲージメント指標で X の投稿を評価するスキルです。スコアとランク、優先改善案を示し、投稿をリライトします。
主な機能
- 0119 項目の投稿スコアリング
- 02エンゲージメントとリスクの減点
- 03S から F までのランク
- 04優先度の高い改善案を5件提示
- 05投稿の最適化リライト
活用シーン
- 01X の投稿案の評価
- 02返信や共有を促す方法の検討
- 03公開前の投稿リスク確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tonkotsuboy/ x-impact-checker --skill x-impact-checkerインストール後、Claude Code で/x-impact-checkerを入力して読み込まれたか確認します。
同梱ファイルreferences/algorithm-weights.md
詳細
X インパクトチェッカー
オープンソースのレコメンデーションアルゴリズム(19 要素のスコアリングシステム)に基づいて、X の投稿がバイラルになる可能性を分析します。
スコアリングシステム(100 点)
Tier 1:コアエンゲージメント(60 点)
会話を促す要素と、強い共有シグナルです。
| 要素 | 最大点 | スコアリングガイド |
|---|---|---|
| 返信される可能性 | 22 | 22:直接的な質問/議論を呼ぶ主張、12:返信を促す、4:単なる声明 |
| リツイートされる可能性 | 16 | 16:実用的な知見/意外な事実、8:興味深いがニッチ、0:共有する価値なし |
| お気に入りに登録される可能性 | 12 | 12:感情に訴える/個人的なストーリー、6:役立つ参考情報、0:魅力が低い |
| 引用される可能性 | 10 | 10:コメントを促す強い意見、5:考えさせられる内容、0:引用する価値なし |
Tier 2:拡張エンゲージメント(25 点)
メディアとのインタラクションと、継続的な注目度の指標です。
| 要素 | 最大点 | スコアリングガイド |
|---|---|---|
| 滞在時間 | 6 | 6:長文/詳細なコンテンツ、3:中程度の深さ、0:流し読みできる内容 |
| 継続的な滞在時間 | 4 | 4:継続的な注目が必要なスレッド/ストーリー展開、2:中程度の複雑さ、0:すぐに読める内容 |
| クリックされる可能性 | 5 | 5:明確な CTA を含む魅力的なリンク、3:文脈を添えたリンク、1:URL のみ、0:リンクなし |
| 写真を拡大表示される可能性 | 4 | 4:複数の画像/ビジュアルで伝えるストーリー、2:単一画像への言及、0:ビジュアルコンテンツなし |
| 動画を視聴される可能性 | 3 | 3:フックがある長尺動画(>5s)、2:短い動画、0:動画なし |
| 引用経由でクリックされる可能性 | 3 | 3:検証を促す大胆な主張、2:興味深い主張、0:投稿だけで完結 |
Tier 3:関係構築(15 点)
投稿者の発見と長期的な価値を示すシグナルです。
| 要素 | 最大点 | スコアリングガイド |
|---|---|---|
| プロフィールのクリック | 5 | 5:投稿者に興味を持たせる、3:専門性を示す、0:個性のない語り口 |
| フォローされる可能性 | 4 | 4:継続的な価値を示す、2:可能性を示す、0:一度限りのコンテンツ |
| 共有される可能性 | 2 | 2:幅広い共有価値、1:限定的な魅力、0:価値なし |
| DM 経由で共有される可能性 | 2 | 2:個人的/共感を呼ぶ「友達に送りたくなる」コンテンツ、1:ある程度共感できる、0:ありきたり |
| リンクのコピー経由で共有される可能性 | 2 | 2:参照用/ブックマーク向け、1:役立つが長期的な価値はない、0:一時的 |
ペナルティ(合計点から差し引き)
| リスク | 範囲 | 発生条件 |
|---|---|---|
| 興味なし | -5~-15 | 釣りタイトル、無関係なコンテンツ |
| ミュートのリスク | -5~-15 | 繰り返しが多い、うっとうしいパターン |
| ブロックのリスク | -10~-25 | 攻撃的、敵意のある口調 |
| 報告のリスク | -15~-30 | ポリシー違反、スパムの兆候 |
評価
| スコア | 評価 |
|---|---|
| 90-100 | S(非常に優秀) |
| 75-89 | A(強い) |
| 60-74 | B(良好) |
| 45-59 | C(平均的) |
| 30-44 | D(平均以下) |
| 0-29 | F(可能性が低い) |
出力形式
視認性とエンゲージメントを高めるため、レポート全体で絵文字を使用します。
進捗の追跡
以下のタスクを使って、TodoWrite ツールで分析の進捗を表示します。
-
投稿内容を分析(in_progress → completed)
- activeForm:「投稿内容を分析中」
- content:「投稿内容を分析」
-
すべての要素のスコアを計算(in_progress → completed)
- activeForm:「すべての要素のスコアを計算中」
- content:「すべての要素のスコアを計算」
-
優先度の高い改善案を上位 5 件作成(in_progress → completed)
- activeForm:「優先度の高い改善案を上位 5 件作成中」
- content:「優先度の高い改善案を上位 5 件作成」
-
最適化版を作成(in_progress → completed)
- activeForm:「最適化版を作成中」
- content:「最適化版を作成」
各ステップを終えたら、すぐにそのタスクを completed にします。
レポートの構成
-
スコア:
🎯 XX/100(評価:X) -
内訳表:
| Category | Factor | Score | Max | Assessment |
|----------|--------|-------|-----|------------|
| **💬 Core Engagement** | | | 60 | |
| | 💭 Reply Potential | X/22 | 22 | [reason] |
| | 🔄 Retweet Potential | X/16 | 16 | [reason] |
| | ❤️ Favorite Potential | X/12 | 12 | [reason] |
| | 💬 Quote Potential | X/10 | 10 | [reason] |
| **⏱️ Extended Engagement** | | | 25 | |
| | 👀 Dwell Time | X/6 | 6 | [reason] |
| | ⏳ Continuous Dwell Time | X/4 | 4 | [reason] |
| | 🔗 Click Potential | X/5 | 5 | [reason] |
| | 🖼️ Photo Expand | X/4 | 4 | [reason] |
| | 🎥 Video View | X/3 | 3 | [reason] |
| | 🔍 Quoted Click | X/3 | 3 | [reason] |
| **🤝 Relationship Building** | | | 15 | |
| | 👤 Profile Click | X/5 | 5 | [reason] |
| | ➕ Follow Potential | X/4 | 4 | [reason] |
| | 📤 Share Potential | X/2 | 2 | [reason] |
| | 💌 Share via DM | X/2 | 2 | [reason] |
| | 📋 Share via Link | X/2 | 2 | [reason] |
| **⚠️ Negative Signals** | | | | |
| | 😐 Not Interested Risk | -X | 0 to -15 | [reason] |
| | 🔇 Mute Risk | -X | 0 to -15 | [reason] |
| | 🚫 Block Risk | -X | 0 to -25 | [reason] |
| | 🚨 Report Risk | -X | 0 to -30 | [reason] |
| **🏆 TOTAL** | | **XX/100** | | **Grade: X** |
-
📈 優先度の高い改善案 上位 5 件:異なるカテゴリにわたる、具体的で実行可能な提案
- ✅、💡、🎯 などの絵文字を使って、重要な改善点を強調します
-
✨ 最適化版:改善を反映して書き直した投稿(元の言語で)
詳細なスコア基準と改善戦略
ティア 1:コアエンゲージメント
返信される可能性(22 点)
評価基準:
- 直接的な質問:「どう思いますか?」「どう解決しますか?」
- 議論の余地がある主張:「X は Y より優れています」
- 意見を求める問いかけ:「賛成ですか、反対ですか?」
- 自由回答形式のプロンプト
- 議論を呼ぶが、よく考えられた発言
改善戦略:
- ❌ 悪い例:「新機能をリリースしました。」
- ⚠️ より良い例:「新機能をリリースしました。どう思いますか?」
- ✅ 最良の例:「機能は、バグがあっても迅速にリリースすべきですか? それとも、安定性を優先してゆっくりリリースすべきですか? 私たちはスピードを選びました。正しい判断だったでしょうか?」
リツイートされる可能性(16 点)
評価基準:
- 実践的な知見:「方法をご紹介します……」
- 意外な事実:「開発者の X%は知りません……」
- 番号付きリスト:「……する 3 つの方法」「……から得た 10 の教訓」
- データに基づくコンテンツ
- 共有しやすい要点
- 普遍的な真理
改善戦略:
- ❌ 悪い例:「今日は何かを学びました。」
- ⚠️ より良い例:「React のフックを使うと、バンドルサイズを 30%削減できると学びました。」
- ✅ 最良の例:「🧵 バンドルサイズを 30%削減した React のパターン 3 選:\n\n1. フックの遅延読み込み\n2. ルートごとのコード分割\n3. 未使用のエクスポートのツリーシェイキング」
お気に入りに登録される可能性(12 点)
評価基準:
- 感情に響く内容:喜び、苛立ち、成功
- 個人的な体験談:「私が……だった頃」
- 共感できる瞬間:「誰にでも経験があります……」
- 人を鼓舞するコンテンツ
- 弱さと誠実さ
- 保存する価値のある便利な参考情報
改善戦略:
- ❌ 悪い例:「デバッグは大変です。」
- ⚠️ より良い例:「タイプミスのデバッグに 3 時間かかりました。」
- ✅ 最良の例:「本番環境の問題のデバッグに 3 時間かかりました。原因は、午前 2 時に『ちょっと整理』したときに削除したセミコロンでした。もう真夜中過ぎに動いているコードには手を触れません 😅」
引用される可能性(10 点)
評価基準:
- 強い意見:「X は終わった」「Y は過大評価されている」
- 一般的な通説に異を唱える
- コメントや反論を促す
- 議論を呼ぶ話題に対して明確な立場を示す
- 考えさせられる視点
改善戦略:
- ❌ 悪い例:「TypeScript は便利です。」
- ⚠️ より良い例:「TypeScript はバグを防ぎます。」
- ✅ 最良の例:「TypeScript の最大の価値はバグの発見ではなく、ドキュメントとしての役割です。型エラーはおまけにすぎません。反論があるならどうぞ。」
ティア 2:拡張エンゲージメント
滞在時間(6 点)
評価基準:
- 読むのに時間がかかる長文コンテンツ
- 例を交えた詳しい説明
- 技術的な深さ
- 複数の段落から成る構成
- 教育的なコンテンツ
改善戦略:
- 具体例を追加する:「たとえば、X を構築するとき……」
- 数字やデータを含める:「これにより、レイテンシが 200ms から 50ms に短縮されました」
- 明確なセクションで構成する
継続的な滞在時間(4 点)
評価基準:
- スレッドを示す表記:「🧵」「スレッド:」「1/」、番号付きの連投
- 物語の構成:始まり、中盤、終わり
- 読み返しが必要な複雑さ
- 段階的に深まる教育的な内容
- 展開していくストーリー
- 「そして……」という構成
滞在時間との違い:
- 滞在時間:最初に読むときにかかる時間(一度読むのにどれくらいかかるか)
- 継続的な滞在時間:持続的な注目(読み返し、熟考、複数パートにわたる読解)
改善戦略:
- ❌ 悪い例:「X の構築方法をご紹介します。[長い説明]」
- ⚠️ より良い例:「🧵 30 日で X を構築した方法」
- ✅ 最良の例:「🧵 アイデアから月間経常収益 1 万ドルまで、30 日で達成した方法(1/8)\n\n1〜7 日目:検証\n8〜14 日目:MVP\n15〜30 日目:ローンチ\n\n誰も教えてくれないことをご紹介します……」
クリックされる可能性(5 点)
評価基準:
- リンクの有無と、文脈の質
- 行動喚起の強さ:「続きを読む」「発見する」「方法を学ぶ」
- プレビューや予告の効果
- 好奇心をかき立てる余白の創出:「結果は衝撃的でした……」
- 明確な価値提案
改善戦略:
- ❌ 悪い例:「https://example.com/article」
- ⚠️ より良い例:「こちらで続きを読む:[link]」
- ✅ 最良の例:「3 か月で収益を 10 倍にした方法(スクリーンショット付きの詳細な解説):[link]」
写真拡散の可能性(4ポイント)
評価基準:
- 画像マーカー:[photo]、[image]、"pic.twitter.com"
- 視覚に関する表現:「見る」「見て」「確認する」「これを見て」
- 視覚を示唆する絵文字:📸、🎨、👀、📷、🖼️
- ビフォー/アフターの比較
- 複数画像によるストーリーテリング:「スワイプして…」
- 視覚的な証拠:「証拠はこちら👇」
改善策:
- ❌ 悪い例:「ダッシュボードがとてもよくなりました。」
- ⚠️ もう少し:「新しいダッシュボードのデザインを見てください。」
- ✅ 最良:「分析ダッシュボードのリデザイン、ビフォー/アフターをご覧ください👇\n\nごちゃごちゃした状態から、2日で見やすいインサイトに変わりました。\n\n[視覚的な表示から画像が含まれていることを示唆]」
動画再生の可能性(3ポイント)
評価基準:
- 動画マーカー:[video]、「▶️」、「見る」、「チュートリアル」、「デモ」
- 尺のヒント:「2分」、「クイックデモ」、「完全なウォークスルー」
- 視聴者が見る内容を説明するコンテンツのプレビュー
- タイムスタンプによる見どころ:「1:30にスキップして…」
- フック/ティーザー:「最後までお見逃しなく…」
VQV の対象条件(条件付き): 満点(3ポイント)の対象となるのは、動画が5秒を超える(長尺)と思われる場合のみです。 「完全なチュートリアル」「詳細な解説」「完全ガイド」などの表現と、「短いクリップ」「抜粋」などの表現から推測します。
改善策:
- ❌ 悪い例:「動画を作りました。」
- ⚠️ もう少し:「新しいチュートリアルをご覧ください ▶️」
- ✅ 最良:「8分間の完全解説:Next.js でこの UI を作る方法 ▶️\n\n0:00 セットアップ\n2:15 コンポーネント\n5:30 アニメーション\n\n一番の見どころは6:45です」
引用クリックの可能性(3ポイント)
評価基準:
- 挑発的だが、全体像を明かさない発言
- 検証が必要な統計や主張
- 出典を調べたくなる刺激的な意見:「スタートアップの80%は…が原因で失敗する」
- 好奇心をかき立てる「えっ、どういうこと?」という要素
- 出典の信頼性に関する疑問
- 大胆な主張:「すべてが変わります」
改善策:
- ❌ 悪い例:「開発者の生産性に関する興味深い調査を読んでください。」
- ⚠️ もう少し:「新しい調査によると、リモートの開発者は生産性が20%高いそうです。」
- ✅ 最良:「スタンフォード大学の新しい調査:リモートの開発者はコードの記述量が35%多く、バグは50%少ないそうです。\n\nこれは『オフィスでのコラボレーション』という通説を覆します。」
ティア3:関係構築
プロフィールクリック(5ポイント)
評価基準:
- 投稿者への興味を引き出す:「この人は誰だろう?」
- 専門知識を示す:「Y社でXを作りました」
- 独自の視点や経歴を示す
- 信頼性の手がかり:資格、経験
- 興味を引く、プロフィールに載せたくなる内容
改善策:
- ❌ 悪い例:「React は良いと思います。」
- ⚠️ もう少し:「React を5年間使ってきましたが、良いと思います。」
- ✅ 最良:「Airbnb、Netflix、50社以上のスタートアップ向けに React アプリを設計してきた経験から、初日に知っておきたかったことを紹介します。」
フォローの可能性(4ポイント)
評価基準:
- 継続的な価値を示す:「毎週…のチュートリアルを公開しています」
- 一貫した専門知識を示す
- 今後のコンテンツを約束する:「この件については明日さらに紹介します」
- コンテンツの投稿頻度を確立する
- 品質への期待を生み出す
改善策:
- ❌ 悪い例:「React のヒントです。」
- ⚠️ もう少し:「React のヒントです。毎日投稿しています。」
- ✅ 最良:「React のヒント #47:[インサイト]\n\n毎週月曜日に、高度な React のパターンを解説しています。フォローしませんか?明日はサスペンス境界について取り上げます。」
シェアの可能性(2ポイント)
評価基準:
- より広いオーディエンスに共有する価値がある
- 幅広い人に関係する
- さまざまなコミュニティで広く関心を持たれる
改善策:
- ニッチな内容に限らず、誰にでも関係する内容にする
- 誰もが直面する共通の問題に焦点を当てる
DM でシェアする可能性(2ポイント)
評価基準:
- 個人的な関連性:「…な人をタグ付けして」「これを…に送って」
- 内輪ネタや共有した経験
- 1対1の共有につながる感情的な共感:「これ、まさにあなた😂」
- 共感できるシチュエーション:「誰にでもああいう友達がいますよね…」
- 「これは見ておいたほうがいい」と思わせる要素
改善策:
- ❌ 悪い例:「デバッグはイライラします。」
- ⚠️ もう少し:「本番環境の問題をデバッグするのはストレスです。」
- ✅ 最良:「金曜の午後5時に本番環境を『ちょっとだけ直す』と言って、すべてを壊す開発者の友達をタグ付けして😂」
Share via Copy Link (2 points)
Evaluation Criteria:
- Reference value: guides, lists, frameworks, cheatsheets
- Evergreen quality (not time-sensitive)
- Professional sharing context (Slack, email, bookmarks)
- "Save this" or "Bookmark" language
- Educational/tutorial content
- Resource library worthy
Improvement Strategies:
- ❌ Bad: "Here are some Git commands I use."
- ⚠️ Better: "Useful Git commands for daily work."
- ✅ Best: "📌 Bookmark this: 15 Git commands that saved me 100+ hours this year\n\n[Well-structured list with examples]\n\nPrint this and keep it next to your monitor."
Score Normalization
The algorithm applies normalization to balance positive and negative signals:
Final Score = Base Score (0-100) + Penalties (-75 to 0)
Normalized Score = max(0, min(100, Final Score))
Penalty Capping:
- Total penalties ≤ -20: Applied at full weight
- Total penalties > -20: Gradual dampening begins
- Total penalties > -75: Hard cap at -75 to prevent over-penalization
This prevents a single negative signal from completely dominating the score while maintaining their importance in the algorithm.
Text Analysis Limitations
This skill performs heuristic text-based analysis, not ML prediction.
What This Skill Cannot Detect
Missing Metadata:
- Actual media presence (photos, videos)
- Real video duration or quality
- Actual click-through rates
- True engagement metrics
- Author reputation/follower count
- Tweet timestamps or virality history
Cannot Access:
- Phoenix ML model predictions
- User interaction history
- Network graph relationships
- Real-time engagement signals
What This Skill Infers From
Text-Based Heuristics:
- Language patterns and structure
- Content formatting (threads, lists, etc.)
- Emotional tone and style
- Visual indicators (emojis, markdown)
- Call-to-action strength
- Question vs. statement structure
Scoring Approach:
- Conservative: Unknown elements get baseline scores
- Pattern-Based: Detects language cues (e.g., 📸 for photos, 🧵 for threads)
- Optimization-Focused: Best used for pre-publishing content improvement
Best Use Case
Pre-publishing optimization to maximize engagement potential, not post-hoc analytics or prediction of actual engagement numbers.
Language Handling
Detect input language. Respond in same language. Keep optimized version in original language.
Bilingual Display for Category and Factor Names
When input is in Japanese:
- Display Category and Factor names as:
日本語訳(English Original) - Examples:
- Category:
コアエンゲージメント(Core Engagement) - Factor:
返信潜在力(Reply Potential) - Factor:
リツイート潜在力(Retweet Potential)
- Category:
When input is in English:
- Display Category and Factor names in English only
- Examples:
- Category:
Core Engagement - Factor:
Reply Potential
- Category:
Japanese translations with emojis for reference:
- 💬 Core Engagement → コアエンゲージメント
- ⏱️ Extended Engagement → 拡張エンゲージメント
- 🤝 Relationship Building → 関係構築
- ⚠️ Negative Signals → ネガティブシグナル
- 💭 Reply Potential → 返信潜在力
- 🔄 Retweet Potential → リツイート潜在力
- ❤️ Favorite Potential → いいね潜在力
- 💬 Quote Potential → 引用潜在力
- 👀 Dwell Time → 滞在時間
- ⏳ Continuous Dwell Time → 継続滞在時間
- 🔗 Click Potential → クリック潜在力
- 🖼️ Photo Expand → 写真展開潜在力
- 🎥 Video View → 動画視聴潜在力
- 🔍 Quoted Click → 引用クリック潜在力
- 👤 Profile Click → プロフィールクリック
- ➕ Follow Potential → フォロー潜在力
- 📤 Share Potential → 共有潜在力
- 💌 Share via DM → DM経由共有
- 📋 Share via Link → リンクコピー共有
- 😐 Not Interested Risk → 興味なしリスク
- 🔇 Mute Risk → ミュートリスク
- 🚫 Block Risk → ブロックリスク
- 🚨 Report Risk → 報告リスク
Algorithm Reference
See references/algorithm-weights.md for complete weight details from X's open-source algorithm (19-element system).