Use when optimizing X/Twitter posts for reach, debugging underperforming content, or understanding For You feed mechanics. Triggers on X algorithm, Twitter optimization, viral posts, engagement strategy, Phoenix ranking, weighted scorer, Grok ranking.
Scanned 2/12/2026
Install via CLI
openskills install TheMattBerman/x-algo-skill---
name: x-algorithm-optimizer
description: Use when optimizing X/Twitter posts for reach, debugging underperforming content, or understanding For You feed mechanics. Triggers on X algorithm, Twitter optimization, viral posts, engagement strategy, Phoenix ranking, weighted scorer, Grok ranking.
---
# X Algorithm Optimizer
Optimize content for X's 2026 neural recommendation system. Based on technical analysis of the `xai-org/x-algorithm` codebase, this skill provides both **tactical templates** for immediate use and **deep architectural understanding** for strategic advantage.
## The Paradigm Shift: Neural > Heuristics
X has abandoned the legacy heuristic approach (counting followers, matching hashtags, PageRank reputation). The new system uses **end-to-end neural architecture**:
- **Thunder**: In-network retrieval (posts from accounts you follow)
- **Phoenix**: Out-of-network retrieval + neural ranking (the "For You" discovery engine)
- **Grok-1 Transformer**: The "Heavy Ranker" that reads and scores every candidate post
**The implication**: You can't "hack" hashtags or posting times anymore. The algorithm **reads your content semantically** and predicts specific engagement probabilities. Alignment beats manipulation.
---
## Quick Start
**Analyze a post**: "Score this X post against the algorithm: [paste]"
**Generate optimized content**: "Write an algorithm-optimized X post about [topic]"
**Deep dive**: "Explain why this post would/wouldn't perform using Phoenix mechanics"
**Debug underperformance**: "Why isn't this post getting reach? Analyze against weighted scorer"
---
## Cheat Sheet
**DO:**
- Maximize P(reply): questions, fill-blanks, "hot take + nuance"
- Include media (image/video) for +P(video_view), +P(photo_expand)
- Space posts 4-6+ hours apart (author diversity penalty)
- Post when audience active (time decay is exponential)
- Build concentrated niche (strengthens your User Tower embedding)
**DON'T:**
- Use irrelevant hashtags (Grok detects semantic mismatch)
- Post rage-bait (high blocks destroy score even with high engagement)
- Link-only posts (forfeit all media probability terms)
- Posting sprees (3rd post = ~10% reach of 1st)
- Engagement pods (Grok detects coordination patterns)
**TARGET:** <0.5% block rate. Above 1% = systematic demotion.
---
## The Weighted Scorer Formula
Every post receives a score computed as:
```
Score = Σ (w_i × P(action_i))
```
Where the Phoenix transformer predicts probabilities for each action type, and configured weights determine their impact.
### Engagement Hierarchy (Inferred Weights)
| Tier | Actions | Est. Weight | Strategic Implication |
|------|---------|-------------|----------------------|
| **1. Multipliers** | P(reply), P(repost), P(quote) | w > 10.0 | High friction, network-extending actions. Algorithm prioritizes conversation. |
| **2. Validators** | P(like), P(video_view), P(photo_expand) | w ≈ 1.0 | Lower friction, validates relevance. Necessary but insufficient alone. |
| **3. Signals** | P(click), P(dwell), P(profile_click) | w < 1.0 | Passive signals for model training. Low weight prevents clickbait farming. |
| **4. Destroyers** | P(block), P(mute), P(report) | w ≈ -1000 | Catastrophic negative weight. One block negates hundreds of likes. |
### The Math in Practice
**Engaging post**:
```
P(reply)=0.15, P(like)=0.08, P(repost)=0.02, P(block)=0.001
Score = (15×0.15) + (1×0.08) + (12×0.02) + (-1000×0.001)
Score = 2.25 + 0.08 + 0.24 - 1.0 = 1.57 ✓
```
**Rage-bait post**:
```
P(reply)=0.25, P(like)=0.05, P(repost)=0.03, P(block)=0.02
Score = (15×0.25) + (1×0.05) + (12×0.03) + (-1000×0.02)
Score = 3.75 + 0.05 + 0.36 - 20.0 = -15.84 ✗ (demoted)
```
**Key insight**: The rage-bait generated MORE engagement but scored WORSE because of the 2% block rate.
---
## The Seven Alpha Mechanics
These are the specific, hard-coded mechanisms that determine content fate—derived directly from the codebase.
| # | Mechanic | Key Insight | Action |
|---|----------|-------------|--------|
| 1 | Candidate Isolation | Posts scored independently, not on a curve | Focus on intrinsic quality |
| 2 | Author Diversity Penalty | 0.3-0.7x penalty per consecutive post | Space posts 4-6+ hours apart |
| 3 | Negative Signal Asymmetry | Blocks weighted ~1000x vs likes | Target <0.5% block rate |
| 4 | Multimodal Bonus | Media adds P(video_view), P(photo_expand) | Always include media |
| 5 | Grok Semantic Reading | LLM detects topic mismatch, spam patterns | Hashtags must match content |
| 6 | Two-Tower Retrieval | dot(User, Item) vectors for discovery | Build concentrated niche first |
| 7 | Time Decay | Exponential decay after 24-48h | Post when audience is active |
### 1. Candidate Isolation (Fair Scoring)
The Phoenix transformer uses a custom **attention mask** that prevents "context bleeding" between posts in the same scoring batch. Each post is scored **independently** against only the user context.
**What this means**: Your content is judged solely on its relationship with the viewer—not graded on a curve against whatever else is in that millisecond's batch. Quality is intrinsic.
### 2. Author Diversity Penalty (Anti-Spam)
The `AuthorDiversityScorer` tracks which authors have already been selected for the timeline. If Author A appears at position 1, their next post gets an **attenuation penalty** (estimated 0.3-0.7x) for positions 2+.
**Optimal strategy**:
- Space posts 4-6+ hours apart to reset fatigue
- Quality over quantity is mathematically enforced
- "Posting sprees" compound penalties—your 3rd post in an hour may score 0.3 × 0.3 = 0.09x
### 3. Negative Signal Asymmetry (Harm Reduction)
Negative weights are ~1000x positive weights. The system operates on **harm reduction over engagement maximization**.
**The propagation effect**: A block doesn't just lower one post's score—it:
- Affects your reputation within that user's cluster
- Demotes future content to similar users
- Contributes to a hidden "author health" score
**Safe zone**: Target <0.5% block rate. Above 1% = systematic demotion.
### 4. Multimodal Shadow Algorithms
Phoenix predicts **media-specific probabilities**: P(video_view), P(photo_expand). These are distinct scoring terms.
**Text-only posts forfeit these entirely**:
```
Text: Score = w_reply×P(reply) + w_like×P(like)
Media: Score = w_reply×P(reply) + w_like×P(like) + w_video×P(video_view)
```
**The media bonus is structural, not optional.**
### 5. Grok Semantic Understanding
The Heavy Ranker is adapted from Grok-1. It doesn't just count features—it **reads the content**.
**What Grok detects**:
- Semantic topic relevance to user's interest embedding
- Tone/style matching (formal, casual, technical, humorous)
- Sarcasm and irony patterns
- Hashtag-content mismatches (spam signal)
- Linguistic authenticity markers
**The death of hacks**: Irrelevant trending hashtags now hurt you. Grok sees the semantic mismatch and flags it as spam-like behavior.
### 6. Two-Tower Retrieval (Cold Start Solution)
Out-of-network discovery uses a **Two-Tower Neural Network**:
- **User Tower**: Encodes your engagement history, demographics, negative feedback into vector U
- **Item Tower**: Encodes post content, media, author features into vector I
- **Similarity**: dot(U, I) determines retrieval
**Cold start strategy**: New accounts have weak User Tower embeddings. Solutions:
1. Ride trending topics (aligns with global context vector)
2. Build niche first (concentrated topic cluster builds clear embedding)
3. Engage authentically (your reply history shapes your User Tower)
### 7. Time Decay Filter
The `AgeFilter` applies exponential decay. Content from 24 hours ago can survive with strong signals; 48+ hours requires exceptional engagement.
**Optimal timing**: Post when your audience is active to maximize early engagement velocity. Early signals compound through the decay function.
---
## Content Generation Framework
```dot
digraph content_flow {
rankdir=TB;
node [shape=box];
goal [label="What's your goal?" shape=diamond];
reach [label="Max Reach\nOptimize P(repost)+P(quote)"];
engage [label="Engagement Depth\nOptimize P(reply)"];
grow [label="Follower Growth\nOptimize P(profile_click)"];
safe [label="Safe Growth\nMinimize P(block)"];
reply_opt [label="Apply reply patterns\n(questions, fill-blanks, controversy)"];
media [label="Add media\n(+P(video_view), +P(photo_expand))"];
scan [label="Negative signal scan\n(<0.5% block rate?)" shape=diamond];
post [label="Post" shape=doublecircle];
revise [label="Revise content"];
goal -> reach [label="virality"];
goal -> engage [label="replies"];
goal -> grow [label="followers"];
goal -> safe [label="safety"];
reach -> reply_opt;
engage -> reply_opt;
grow -> reply_opt;
safe -> reply_opt;
reply_opt -> media;
media -> scan;
scan -> post [label="yes"];
scan -> revise [label="no"];
revise -> scan;
}
```
### Step 1: Choose Optimization Target
| Goal | Primary Metric | Format Bias |
|------|---------------|-------------|
| Maximum reach | P(repost) + P(quote) | Shareable insights, data, frameworks |
| Engagement depth | P(reply) | Questions, debates, incomplete statements |
| Follower growth | P(profile_click) | Thread hooks, expertise signals |
| Safe growth | Low P(block) | Nuanced takes, inclusive framing |
### Step 2: Apply the Reply Optimization
P(reply) carries ~10-15x weight. Structure content to maximize it:
**High P(reply) patterns**:
- Open questions demanding specific experience: "What's your biggest [X] failure?"
- Fill-in-the-blank: "The most underrated skill is ___"
- Intentional incompleteness: List with obvious gap
- Nuanced controversy: "Hot take: [statement]. But here's the nuance..."
- Correctability: Slightly wrong statement experts will correct
**Low P(reply) patterns**:
- Rhetorical questions (no answer expected)
- Perfect statements (nothing to add)
- Closed conclusions ("In summary...")
### Step 3: Add Media (Structural Bonus)
Media adds probability terms you otherwise forfeit.
**Image optimization**:
- Vertical aspect ratios get cropped → forces P(photo_expand)
- Data visualizations invite inspection
- High contrast catches scroll
**Video optimization**:
- Hook in first 3 seconds (before scroll-away)
- Captions for sound-off (80% watch muted)
- Loop-worthy endings increase replay
### Step 4: Negative Signal Scan
Before posting, check:
- Could any audience segment find this block-worthy?
- Is the engagement mechanism genuine or annoying?
- Does controversial content include nuance to reduce polarization?
**The rule**: If your post might generate 5+ blocks per 1000 impressions, reconsider.
---
## Thread Strategy (Per-Tweet Scoring)
Threads are scored **per tweet**. The algorithm evaluates Tweet 1 independently.
**Tweet 1 (The Hook)**:
- Must work standalone—this is what gets scored for reach
- Include the value proposition clearly
- Don't waste on "Thread!" or "🧵" alone
**Tweet 2-N (The Delivery)**:
- Scored only for users who click through
- Deliver on the hook's promise
- Each tweet should have standalone value
**Final Tweet (The CTA)**:
- Clear call to action (follow, comment, share)
- Summary of key insight
- Bookmark-worthy standalone
**Anti-pattern**: "Thread! 🧵" as Tweet 1 with thin content = spam signal to Grok.
---
## Platform Specs (Quick Reference)
| Element | Optimal | Why |
|---------|---------|-----|
| **Characters** | 71-100 (max 280) | No "Show more" friction |
| **Hashtags** | 0-1, semantically matched | Grok detects mismatch as spam |
| **Images** | 1200×675px or vertical | Full preview; vertical forces expand |
| **Video** | <2:20, hook in 3s, captioned | Autoplay + 80% watch muted |
| **Media source** | Native upload only | Links don't trigger media probabilities |
---
## Debugging Underperformance
When content underperforms, diagnose against the weighted scorer:
### Low Reach Despite Engagement
**Likely cause**: High P(block) rate negating positive signals
**Check**: Is content polarizing? Does it generate negative reactions alongside positive?
### High Impressions, Low Engagement
**Likely cause**: Weak P(reply) and P(repost) optimization
**Check**: Does content invite response? Is it shareable?
### New Account Struggling
**Likely cause**: Weak User Tower embedding, cold start problem
**Solution**: Build concentrated topic presence, ride trends, engage authentically
### Declining Reach Over Time
**Likely cause**: Author health score degradation from accumulated negative signals
**Solution**: Audit recent content for block-generating patterns, rebuild with safer content
---
## Anti-Patterns (Algorithmic Self-Sabotage)
### Engagement Pods
Grok detects artificial coordination patterns. Clustered engagement from the same accounts with unusual timing = spam signal.
### Hashtag Stuffing
Multiple irrelevant hashtags = semantic mismatch detection = spam adjacent score.
### Link-Only Posts
Zero media probability terms + low text engagement = structural disadvantage.
### Rage-Farming
High engagement + high blocks = net negative score. The math doesn't lie.
### Posting Sprees
Author diversity penalty compounds. Post #3 in an hour may reach 10% of Post #1's audience.
---
## Reference Files
| File | Contents |
|------|----------|
| `references/phoenix-architecture.md` | Two-Tower model, Grok adaptation, embedding dynamics |
| `references/weighted-scorer.md` | Complete weight hierarchy, probability math, examples |
| `references/post-templates.md` | 12+ proven formats with algorithm alignment notes |
## Analysis Script
Run the analyzer directly:
```bash
python scripts/analyze_x_post.py
```
Or import in Python:
```python
from scripts.analyze_x_post import analyze_post, format_report, calculate_weighted_score
# Analyze a post
result = analyze_post("Your post text", include_media=True, media_type="image")
print(format_report(result))
# Calculate raw weighted score
score = calculate_weighted_score(p_reply=0.15, p_like=0.08, p_block=0.001)
```
---
## The Meta-Strategy
**Old paradigm**: Game the algorithm with hacks (hashtags, timing, pods)
**New paradigm**: Align with the neural network's objective function
The algorithm optimizes for:
1. Conversation (P(reply) weighted highest)
2. Network extension (P(repost), P(quote))
3. User satisfaction (negative signals weighted catastrophically)
4. Semantic relevance (Grok reads everything)
**Your strategy**: Create content that genuinely maximizes these. The era of manipulation is over; the era of alignment has begun.
No comments yet. Be the first to comment!