MCPInstall

x-algo-engagement

Reference for X algorithm engagement types and signals. Use when analyzing engagement metrics, action predictions, or understanding what signals the algorithm tracks.

Installs
149
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/cloudai-x/x-algo-skills --skill x-algo-engagement
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads x-algo-engagement automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

X Algorithm Engagement Signals

The X recommendation algorithm tracks 18 engagement action types plus 1 continuous metric. These are predicted by the Phoenix ML model and used to calculate weighted scores.

PhoenixScores Struct

Defined in home-mixer/candidate_pipeline/candidate.rs:

pub struct PhoenixScores {
    // Positive engagement signals
    pub favorite_score: Option<f64>,
    pub reply_score: Option<f64>,
    pub retweet_score: Option<f64>,
    pub quote_score: Option<f64>,
    pub share_score: Option<f64>,
    pub share_via_dm_score: Option<f64>,
    pub share_via_copy_link_score: Option<f64>,
    pub follow_author_score: Option<f64>,

    // Engagement metrics
    pub photo_expand_score: Option<f64>,
    pub click_score: Option<f64>,
    pub profile_click_score: Option<f64>,
    pub vqv_score: Option<f64>,              // Video Quality View
    pub dwell_score: Option<f64>,
    pub quoted_click_score: Option<f64>,

    // Negative signals
    pub not_interested_score: Option<f64>,
    pub block_author_score: Option<f64>,
    pub mute_author_score: Option<f64>,
    pub report_score: Option<f64>,

    // Continuous actions
    pub dwell_time: Option<f64>,
}

Action Types by Category

Positive Engagement (High Value)

ActionProto NameDescription
FavoriteServerTweetFavUser likes the post
ReplyServerTweetReplyUser replies to the post
RetweetServerTweetRetweetUser reposts without comment
QuoteServerTweetQuoteUser reposts with their own comment
Follow AuthorClientTweetFollowAuthorUser follows the post's author

Sharing Actions

ActionProto NameDescription
ShareClientTweetShareGeneric share action
Share via DMClientTweetClickSendViaDirectMessageUser shares via direct message
Share via Copy LinkClientTweetShareViaCopyLinkUser copies link to share externally

Engagement Metrics

ActionProto NameDescription
Photo ExpandClientTweetPhotoExpandUser expands photo to view
ClickClientTweetClickUser clicks on the post
Profile ClickClientTweetClickProfileUser clicks author's profile
VQVClientTweetVideoQualityViewVideo Quality View - user watches video for meaningful duration
DwellClientTweetRecapDwelledUser dwells (pauses) on the post
Quoted ClickClientQuotedTweetClickUser clicks on a quoted post

Negative Signals

ActionProto NameDescription
Not InterestedClientTweetNotInterestedInUser marks as not interested
Block AuthorClientTweetBlockAuthorUser blocks the author
Mute AuthorClientTweetMuteAuthorUser mutes the author
ReportClientTweetReportUser reports the post

Continuous Actions

ActionProto NameDescription
Dwell TimeDwellTimeContinuous value: seconds spent viewing post

How Scores Are Obtained

The PhoenixScorer (home-mixer/scorers/phoenix_scorer.rs) calls the Phoenix prediction service:

  1. Input: User history + candidate posts
  2. Output: Log probabilities for each action type per candidate
  3. Conversion: probability = exp(log_prob)
fn extract_phoenix_scores(&self, p: &ActionPredictions) -> PhoenixScores {
    PhoenixScores {
        favorite_score: p.get(ActionName::ServerTweetFav),
        reply_score: p.get(ActionName::ServerTweetReply),
        retweet_score: p.get(ActionName::ServerTweetRetweet),
        // ... maps each action to its probability
    }
}

Signal Interpretation

  • Scores are probabilities (0.0 to 1.0): P(user takes action | user sees post)
  • Higher = more likely: A favorite_score of 0.15 means 15% predicted chance of like
  • Negative signals have negative weights: High report_score reduces overall ranking
  • VQV requires minimum video duration: Only applies to videos > MIN_VIDEO_DURATION_MS

Related Skills

  • /x-algo-scoring - How these signals are combined into a weighted score
  • /x-algo-ml - How Phoenix model predicts these probabilities

FAQ

What does the x-algo-engagement skill do?

Reference for X algorithm engagement types and signals. Use when analyzing engagement metrics, action predictions, or understanding what signals the algorithm tracks.

How do I install x-algo-engagement?

Run npx skills add https://github.com/cloudai-x/x-algo-skills --skill x-algo-engagement in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/x-algo-engagement/ (personal) or .claude/skills/x-algo-engagement/ (project).

Which AI agents can use x-algo-engagement?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is x-algo-engagement safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains x-algo-engagement?

It is published by cloudai-x in cloudai-x/x-algo-skills. It has 149 recorded installs.

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs