X Impact Checker
Workspace Context
Read bootstrap context before asking questions: strategy/brand.md for brand, audience, offer, channels, tools, constraints, and metrics; about/me.md for personal voice; content/ideas.md and content/calendar.md for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md, and route durable learnings back to strategy/brand.md, about/me.md, or content/ideas.md.
Operating Contract
This skill is self-contained for its frontmatter scope: use its local instructions, references, scripts, and assets as the playbook; ask only for missing task-specific inputs; hand off to adjacent skills instead of expanding scope; and return an actionable artifact, decision, plan, draft, or diagnostic.
Analyze X posts for viral potential using a 19-element scoring system and heuristics inspired by X's published recommendation architecture.
When to Use
- Score a tweet draft before publishing
- Understand why a tweet underperformed
- Rewrite tweets to align with Twitter's ranking mechanisms
- Build topical authority in a specific niche
- Debug inconsistent engagement rates
Scoring System (100 points)
Tier 1: Core Engagement (60 points)
| Factor |
Max |
Scoring Guide |
| Reply Potential |
22 |
22: Direct question/debatable claim, 12: Invites response, 4: Statement only |
| Retweet Potential |
16 |
16: Actionable insight/surprising fact, 8: Interesting but niche, 0: No share value |
| Favorite Potential |
12 |
12: Emotionally resonant/personal story, 6: Useful reference, 0: Low appeal |
| Quote Potential |
10 |
10: Strong opinion inviting commentary, 5: Thought-provoking, 0: No quote value |
Tier 2: Extended Engagement (25 points)
| Factor |
Max |
Scoring Guide |
| Dwell Time |
6 |
6: Long-form/detailed content, 3: Medium depth, 0: Skimmable |
| Continuous Dwell Time |
4 |
4: Thread/story arc requiring sustained attention, 2: Medium complexity, 0: Quick read |
| Click Potential |
5 |
5: Compelling link with clear CTA, 3: Link with context, 1: Bare URL, 0: No link |
| Photo Expand Potential |
4 |
4: Multiple images/visual storytelling, 2: Single image reference, 0: No visual content |
| Video View Potential |
3 |
3: Long-form video with hook (>5s), 2: Short clip, 0: No video |
| Quoted Click Potential |
3 |
3: Bold claim inviting verification, 2: Interesting claim, 0: Self-contained |
Tier 3: Relationship Building (15 points)
| Factor |
Max |
Scoring Guide |
| Profile Click |
5 |
5: Creates author curiosity, 3: Shows expertise, 0: Generic voice |
| Follow Potential |
4 |
4: Demonstrates ongoing value, 2: Shows potential, 0: One-off content |
| Share Potential |
2 |
2: General sharing value, 1: Limited appeal, 0: No value |
| Share via DM |
2 |
2: Personal/relatable "send to friend" content, 1: Somewhat relatable, 0: Generic |
| Share via Copy Link |
2 |
2: Reference/bookmark worthy, 1: Useful but not evergreen, 0: Ephemeral |
Penalties (subtract from total)
| Risk |
Range |
Trigger |
| Not Interested |
-5 to -15 |
Clickbait, irrelevant content |
| Mute Risk |
-5 to -15 |
Repetitive, annoying patterns |
| Block Risk |
-10 to -25 |
Offensive, aggressive tone |
| Report Risk |
-15 to -30 |
Policy violations, spam signals |
Grades
| Score |
Grade |
| 90-100 |
S (Exceptional) |
| 75-89 |
A (Strong) |
| 60-74 |
B (Good) |
| 45-59 |
C (Average) |
| 30-44 |
D (Below average) |
| 0-29 |
F (Low potential) |
Output Format
Progress Tracking
Show analysis progress when the host environment supports task tracking:
- Analyzing post content (in_progress → completed)
- Calculating scores across all elements (in_progress → completed)
- Generating top 5 priority improvements (in_progress → completed)
- Creating optimized version (in_progress → completed)
Report Structure
Score: 🎯 XX/100 (Grade: X)
Breakdown Table:
| 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** |
📈 Top 5 Priority Improvements: Specific, actionable suggestions across different categories
✨ Optimized Version: Rewritten post with improvements applied (in original language)
Algorithm Architecture
Understanding the underlying models helps explain why the scoring works.
Core Ranking Models
Real-graph — Predicts interaction likelihood between users
- Determines if your followers will engage with your content
- Strategy: Make content your specific follower segment will engage with
SimClusters — Community detection with sparse embeddings
- Identifies communities with similar interests; your tweet resonates within these clusters
- Strategy: Pick ONE clear topic and serve tight communities deeply
TwHIN — Knowledge graph embeddings mapping users and content topics
- Helps Twitter understand if your tweet fits your established identity
- Strategy: Stay in your niche or clearly signal topic shifts
Tweepcred — User reputation/authority scoring
- Your past engagement history affects current tweet reach
- Strategy: Build through consistent quality, not engagement bait
Engagement Signals
Explicit (high weight): Likes, replies, retweets, quote tweets
Implicit (also weighted): Profile visits, link clicks, dwell time, saves/bookmarks
Negative: Block/report (heavily penalized), mute/unfollow, quick scroll-past
Optimization by Algorithm Layer
| Layer |
Strategy |
| Real-graph |
Ask questions; create debate; post when followers are active |
| SimClusters |
One clear topic; use community language; provide niche value |
| TwHIN |
Lead with domain expertise; stay consistent; build topical authority |
| Tweepcred |
Reply to quality accounts; avoid engagement bait; engage deeply |
Detailed Scoring Criteria
Reply Potential (22 pts)
- Direct questions, debatable claims, opinion invitations
- ❌ "Just shipped a new feature." → ✅ "Should features ship fast but buggy, or slow but stable? We chose speed—was it the right call?"
Retweet Potential (16 pts)
- Actionable insights, surprising facts, numbered lists, data-driven content
- ❌ "I learned something today." → ✅ "🧵 3 React patterns that cut my bundle size by 30%: 1. Lazy loading hooks 2. Code splitting by route 3. Tree-shaking unused exports"
Favorite Potential (12 pts)
- Emotional resonance, personal stories, relatable moments, vulnerability
- ❌ "Debugging is hard." → ✅ "Spent 3 hours debugging a production issue. The fix? A missing semicolon I added during 'quick cleanup' at 2am. Never touching working code past midnight again 😅"
Quote Potential (10 pts)
- Strong opinions, challenges conventional wisdom, clear stances
- ❌ "TypeScript is useful." → ✅ "TypeScript's biggest value isn't catching bugs—it's documentation. The type errors are just a bonus. Fight me."
Dwell Time (6 pts)
- Long-form content requiring reading time; detailed explanations; technical depth
Continuous Dwell Time (4 pts)
- Thread indicators (🧵, "1/"), narrative structure, complexity requiring re-reading
- ❌ "Here's how I built X." → ✅ "🧵 How I went from idea to $10k MRR in 30 days (1/8)\n\nDay 1-7: Validation..."
Profile Click (5 pts)
- Creates author curiosity; demonstrates expertise; credibility signals
- ❌ "I think React is good." → ✅ "After architecting React apps for Airbnb, Netflix, and 50+ startups, here's what I wish I knew on day one:"
Follow Potential (4 pts)
- Demonstrates ongoing value; establishes content cadence
- ❌ "Here's a React tip." → ✅ "React tip #47: [insight]\n\nI break down advanced React patterns every Monday."
Score Normalization
Final Score = Base Score (0-100) + Penalties (-75 to 0)
Normalized Score = max(0, min(100, Final Score))
Penalty capping: total penalties > -20 causes gradual dampening; hard cap at -75.
Text Analysis Limitations
This skill performs heuristic text-based analysis, not ML prediction. It cannot detect actual media presence, real engagement metrics, author follower count, or network graph relationships. Best used for pre-publishing optimization, not post-hoc analytics.
Language Handling
Detect input language. Respond in same language. Keep optimized version in original language.
When input is in Japanese, display Category and Factor names as: 日本語訳(English Original)
Japanese translations:
- 💬 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).
1---2name: x-impact-checker3description: >4 Analyze and optimize X (Twitter) posts for viral potential and reach using heuristics inspired by X's published open-source recommendation architecture.5 Use when user wants to: (1) Check if a post will go viral, (2) Score a tweet for engagement potential, (3) Optimize or rewrite a tweet for algorithmic reach, (4) Understand why a tweet underperformed, (5) Build audience in a specific niche.6 Triggers: "Check if this will go viral", "Make this post buzz", "Will this tweet perform well?", "Optimize my tweet", "How can I make this viral?", "rewrite this tweet", "improve my tweet engagement", "twitter algorithm", "tweet reach", "debug underperforming tweet",7 "バズるかチェックして", "Xでバズる投稿にして", "伸びるかチェックして", "この投稿を伸ばして", "投稿を改善して", "ツイートを最適化して"8license: AGPL-3.0 (referencing Twitter's open-source algorithm)9---1011# X Impact Checker1213## Workspace Context1415Read bootstrap context before asking questions: `strategy/brand.md` for brand, audience, offer, channels, tools, constraints, and metrics; `about/me.md` for personal voice; `content/ideas.md` and `content/calendar.md` for content planning. Use legacy product-marketing context files only as fallback. Save generated drafts to `content/<platform>/drafts/YYYY-MM-DD_short-topic-slug.md`, and route durable learnings back to `strategy/brand.md`, `about/me.md`, or `content/ideas.md`.1617## Operating Contract1819This skill is self-contained for its frontmatter scope: use its local instructions, references, scripts, and assets as the playbook; ask only for missing task-specific inputs; hand off to adjacent skills instead of expanding scope; and return an actionable artifact, decision, plan, draft, or diagnostic.20212223Analyze X posts for viral potential using a 19-element scoring system and heuristics inspired by X's published recommendation architecture.2425## When to Use2627- Score a tweet draft before publishing28- Understand why a tweet underperformed29- Rewrite tweets to align with Twitter's ranking mechanisms30- Build topical authority in a specific niche31- Debug inconsistent engagement rates3233---3435## Scoring System (100 points)3637### Tier 1: Core Engagement (60 points)3839| Factor | Max | Scoring Guide |40|--------|-----|---------------|41| Reply Potential | 22 | 22: Direct question/debatable claim, 12: Invites response, 4: Statement only |42| Retweet Potential | 16 | 16: Actionable insight/surprising fact, 8: Interesting but niche, 0: No share value |43| Favorite Potential | 12 | 12: Emotionally resonant/personal story, 6: Useful reference, 0: Low appeal |44| Quote Potential | 10 | 10: Strong opinion inviting commentary, 5: Thought-provoking, 0: No quote value |4546### Tier 2: Extended Engagement (25 points)4748| Factor | Max | Scoring Guide |49|--------|-----|---------------|50| Dwell Time | 6 | 6: Long-form/detailed content, 3: Medium depth, 0: Skimmable |51| Continuous Dwell Time | 4 | 4: Thread/story arc requiring sustained attention, 2: Medium complexity, 0: Quick read |52| Click Potential | 5 | 5: Compelling link with clear CTA, 3: Link with context, 1: Bare URL, 0: No link |53| Photo Expand Potential | 4 | 4: Multiple images/visual storytelling, 2: Single image reference, 0: No visual content |54| Video View Potential | 3 | 3: Long-form video with hook (>5s), 2: Short clip, 0: No video |55| Quoted Click Potential | 3 | 3: Bold claim inviting verification, 2: Interesting claim, 0: Self-contained |5657### Tier 3: Relationship Building (15 points)5859| Factor | Max | Scoring Guide |60|--------|-----|---------------|61| Profile Click | 5 | 5: Creates author curiosity, 3: Shows expertise, 0: Generic voice |62| Follow Potential | 4 | 4: Demonstrates ongoing value, 2: Shows potential, 0: One-off content |63| Share Potential | 2 | 2: General sharing value, 1: Limited appeal, 0: No value |64| Share via DM | 2 | 2: Personal/relatable "send to friend" content, 1: Somewhat relatable, 0: Generic |65| Share via Copy Link | 2 | 2: Reference/bookmark worthy, 1: Useful but not evergreen, 0: Ephemeral |6667### Penalties (subtract from total)6869| Risk | Range | Trigger |70|------|-------|---------|71| Not Interested | -5 to -15 | Clickbait, irrelevant content |72| Mute Risk | -5 to -15 | Repetitive, annoying patterns |73| Block Risk | -10 to -25 | Offensive, aggressive tone |74| Report Risk | -15 to -30 | Policy violations, spam signals |7576### Grades7778| Score | Grade |79|-------|-------|80| 90-100 | S (Exceptional) |81| 75-89 | A (Strong) |82| 60-74 | B (Good) |83| 45-59 | C (Average) |84| 30-44 | D (Below average) |85| 0-29 | F (Low potential) |8687---8889## Output Format9091### Progress Tracking9293Show analysis progress when the host environment supports task tracking:941. **Analyzing post content** (in_progress → completed)952. **Calculating scores across all elements** (in_progress → completed)963. **Generating top 5 priority improvements** (in_progress → completed)974. **Creating optimized version** (in_progress → completed)9899### Report Structure1001011. **Score**: `🎯 XX/100 (Grade: X)`1021032. **Breakdown Table**:104```105| Category | Factor | Score | Max | Assessment |106|----------|--------|-------|-----|------------|107| **💬 Core Engagement** | | | 60 | |108| | 💭 Reply Potential | X/22 | 22 | [reason] |109| | 🔄 Retweet Potential | X/16 | 16 | [reason] |110| | ❤️ Favorite Potential | X/12 | 12 | [reason] |111| | 💬 Quote Potential | X/10 | 10 | [reason] |112| **⏱️ Extended Engagement** | | | 25 | |113| | 👀 Dwell Time | X/6 | 6 | [reason] |114| | ⏳ Continuous Dwell Time | X/4 | 4 | [reason] |115| | 🔗 Click Potential | X/5 | 5 | [reason] |116| | 🖼️ Photo Expand | X/4 | 4 | [reason] |117| | 🎥 Video View | X/3 | 3 | [reason] |118| | 🔍 Quoted Click | X/3 | 3 | [reason] |119| **🤝 Relationship Building** | | | 15 | |120| | 👤 Profile Click | X/5 | 5 | [reason] |121| | ➕ Follow Potential | X/4 | 4 | [reason] |122| | 📤 Share Potential | X/2 | 2 | [reason] |123| | 💌 Share via DM | X/2 | 2 | [reason] |124| | 📋 Share via Link | X/2 | 2 | [reason] |125| **⚠️ Negative Signals** | | | | |126| | 😐 Not Interested Risk | -X | 0 to -15 | [reason] |127| | 🔇 Mute Risk | -X | 0 to -15 | [reason] |128| | 🚫 Block Risk | -X | 0 to -25 | [reason] |129| | 🚨 Report Risk | -X | 0 to -30 | [reason] |130| **🏆 TOTAL** | | **XX/100** | | **Grade: X** |131```1321333. **📈 Top 5 Priority Improvements**: Specific, actionable suggestions across different categories1341354. **✨ Optimized Version**: Rewritten post with improvements applied (in original language)136137---138139## Algorithm Architecture140141Understanding the underlying models helps explain *why* the scoring works.142143### Core Ranking Models144145**Real-graph** — Predicts interaction likelihood between users146- Determines if your followers will engage with your content147- Strategy: Make content your specific follower segment will engage with148149**SimClusters** — Community detection with sparse embeddings150- Identifies communities with similar interests; your tweet resonates within these clusters151- Strategy: Pick ONE clear topic and serve tight communities deeply152153**TwHIN** — Knowledge graph embeddings mapping users and content topics154- Helps Twitter understand if your tweet fits your established identity155- Strategy: Stay in your niche or clearly signal topic shifts156157**Tweepcred** — User reputation/authority scoring158- Your past engagement history affects current tweet reach159- Strategy: Build through consistent quality, not engagement bait160161### Engagement Signals162163**Explicit (high weight):** Likes, replies, retweets, quote tweets164165**Implicit (also weighted):** Profile visits, link clicks, dwell time, saves/bookmarks166167**Negative:** Block/report (heavily penalized), mute/unfollow, quick scroll-past168169### Optimization by Algorithm Layer170171| Layer | Strategy |172|-------|----------|173| Real-graph | Ask questions; create debate; post when followers are active |174| SimClusters | One clear topic; use community language; provide niche value |175| TwHIN | Lead with domain expertise; stay consistent; build topical authority |176| Tweepcred | Reply to quality accounts; avoid engagement bait; engage deeply |177178---179180## Detailed Scoring Criteria181182### Reply Potential (22 pts)183- Direct questions, debatable claims, opinion invitations184- ❌ "Just shipped a new feature." → ✅ "Should features ship fast but buggy, or slow but stable? We chose speed—was it the right call?"185186### Retweet Potential (16 pts)187- Actionable insights, surprising facts, numbered lists, data-driven content188- ❌ "I learned something today." → ✅ "🧵 3 React patterns that cut my bundle size by 30%: 1. Lazy loading hooks 2. Code splitting by route 3. Tree-shaking unused exports"189190### Favorite Potential (12 pts)191- Emotional resonance, personal stories, relatable moments, vulnerability192- ❌ "Debugging is hard." → ✅ "Spent 3 hours debugging a production issue. The fix? A missing semicolon I added during 'quick cleanup' at 2am. Never touching working code past midnight again 😅"193194### Quote Potential (10 pts)195- Strong opinions, challenges conventional wisdom, clear stances196- ❌ "TypeScript is useful." → ✅ "TypeScript's biggest value isn't catching bugs—it's documentation. The type errors are just a bonus. Fight me."197198### Dwell Time (6 pts)199- Long-form content requiring reading time; detailed explanations; technical depth200201### Continuous Dwell Time (4 pts)202- Thread indicators (🧵, "1/"), narrative structure, complexity requiring re-reading203- ❌ "Here's how I built X." → ✅ "🧵 How I went from idea to $10k MRR in 30 days (1/8)\n\nDay 1-7: Validation..."204205### Profile Click (5 pts)206- Creates author curiosity; demonstrates expertise; credibility signals207- ❌ "I think React is good." → ✅ "After architecting React apps for Airbnb, Netflix, and 50+ startups, here's what I wish I knew on day one:"208209### Follow Potential (4 pts)210- Demonstrates ongoing value; establishes content cadence211- ❌ "Here's a React tip." → ✅ "React tip #47: [insight]\n\nI break down advanced React patterns every Monday."212213---214215## Score Normalization216217```218Final Score = Base Score (0-100) + Penalties (-75 to 0)219Normalized Score = max(0, min(100, Final Score))220```221222Penalty capping: total penalties > -20 causes gradual dampening; hard cap at -75.223224---225226## Text Analysis Limitations227228This skill performs heuristic text-based analysis, not ML prediction. It cannot detect actual media presence, real engagement metrics, author follower count, or network graph relationships. Best used for **pre-publishing optimization**, not post-hoc analytics.229230---231232## Language Handling233234Detect input language. Respond in same language. Keep optimized version in original language.235236**When input is in Japanese**, display Category and Factor names as: `日本語訳(English Original)`237238Japanese translations:239- 💬 Core Engagement → コアエンゲージメント240- ⏱️ Extended Engagement → 拡張エンゲージメント241- 🤝 Relationship Building → 関係構築242- ⚠️ Negative Signals → ネガティブシグナル243- 💭 Reply Potential → 返信潜在力244- 🔄 Retweet Potential → リツイート潜在力245- ❤️ Favorite Potential → いいね潜在力246- 💬 Quote Potential → 引用潜在力247- 👀 Dwell Time → 滞在時間248- ⏳ Continuous Dwell Time → 継続滞在時間249- 🔗 Click Potential → クリック潜在力250- 🖼️ Photo Expand → 写真展開潜在力251- 🎥 Video View → 動画視聴潜在力252- 🔍 Quoted Click → 引用クリック潜在力253- 👤 Profile Click → プロフィールクリック254- ➕ Follow Potential → フォロー潜在力255- 📤 Share Potential → 共有潜在力256- 💌 Share via DM → DM経由共有257- 📋 Share via Link → リンクコピー共有258- 😐 Not Interested Risk → 興味なしリスク259- 🔇 Mute Risk → ミュートリスク260- 🚫 Block Risk → ブロックリスク261- 🚨 Report Risk → 報告リスク262263## Algorithm Reference264265See [references/algorithm-weights.md](references/algorithm-weights.md) for complete weight details from X's open-source algorithm (19-element system).