An Agent Skill that turns any subject — a product launch, a paper, a codebase, an analysis — into a structured, algorithm-aware Twitter/X content plan.
Output is a single markdown document: an intelligence brief on the subject, ranked Tier S/A/B post candidates with viral-lever annotations, a 7–14 day posting schedule, Hacker News / Reddit / Substack cross-post variants, and a visual-asset checklist.
Repository: github.com/jnkindi/x-post-generator-skill "Twitter/X" refers to the same platform throughout — X is the current name, Twitter is the legacy name still widely used in search and conversation.
Most "AI tweet generators" optimize for output volume. This skill optimizes for the Twitter/X ranking algorithm itself:
- Algorithm-aware. Every drafting choice maps to a specific action head (
reply,dwell,quote,profile_click) or negative-weight trigger (block,mute,report) in the open-source xai-org/x-algorithm ranker. Seereferences/algorithm-levers.md. - Discovery-first. Phase 1 of the workflow forces primary-source reading before any drafting. Generic posts fail; specific posts trend.
- Cross-platform sequenced. Twitter/X is the starting point, not the destination. Every Tier S post ships with Hacker News, Reddit, and Substack variants and a sequencing plan.
- Anti-bait by default. A pre-publish checklist guards against the patterns the algorithm penalizes (engagement bait, rage bait, hashtag spam, mention spam).
The skill follows the Agent Skills specification, which means a single source folder works across every runtime that supports the spec. Start by cloning the repo into the right place for your agent.
| Agent | Personal (all projects) | Project-local (single repo) |
|---|---|---|
| Claude Code | ~/.claude/skills/x-post-generator-skill/ |
<project>/.claude/skills/x-post-generator-skill/ |
| OpenAI Codex / Codex CLI | ~/.agents/skills/x-post-generator-skill/ |
<project>/.agents/skills/x-post-generator-skill/ |
| GitHub Copilot CLI | Discovered automatically from installed plugins — see your Copilot plugin docs | n/a |
| Gemini CLI | Place in your Gemini skills directory (see gemini --help skills) |
Project .gemini/skills/x-post-generator-skill/ |
| Cursor / Windsurf / Aider / Continue.dev | No native skill support — see "Step 3" below | Same |
| Any other agentskills-compatible runtime | Per your runtime's docs | Per your runtime's docs |
# Example: Claude Code, personal install
git clone https://github.com/jnkindi/x-post-generator-skill.git \
~/.claude/skills/x-post-generator-skill
# Example: Codex CLI, personal install
git clone https://github.com/jnkindi/x-post-generator-skill.git \
~/.agents/skills/x-post-generator-skill
# Example: project-local install (any agent)
git clone https://github.com/jnkindi/x-post-generator-skill.git \
./.claude/skills/x-post-generator-skill # adjust path to your agentThe clone directory name must match the skill's name: field (x-post-generator-skill). The runtime uses that name from SKILL.md for activation.
After installing, the skill activates automatically when the user's request matches the triggering conditions in SKILL.md (e.g. "write a tweet", "Twitter/X campaign for our launch", "amplify this on social"). No configuration required.
For Cursor, Windsurf, Aider, Continue.dev, or any AI tool that doesn't yet implement the Agent Skills spec, the skill content still works — it's just markdown. Choose one of:
Option A — Project rules file. Concatenate SKILL.md + the references/*.md you care about into your agent's rules file:
# Cursor — write to .cursorrules
cat SKILL.md references/*.md > .cursorrules
# Windsurf — write to .windsurfrules
cat SKILL.md references/*.md > .windsurfrules
# Aider — add to CONVENTIONS.md (or your existing aider convention file)
cat SKILL.md references/*.md >> CONVENTIONS.mdOption B — Paste as context. Open SKILL.md and paste its body into your chat as a system message, then attach the relevant references/*.md files when the workflow asks for them. Crude but works in any chat-style AI tool.
Option C — MCP server. If your agent supports MCP, point an MCP filesystem server at the cloned skill directory. The agent can then read the files on demand.
cd <your-install-path>/x-post-generator-skill
git pullx-post-generator-skill/ # repo root and skill name
├── SKILL.md # Entry point: workflow, principles, output format
├── README.md # This file
├── LICENSE # MIT
└── references/
├── algorithm-levers.md # The Twitter/X ranker: action heads, scorers, retrieval paths
├── hooks-and-structures.md # Tested hook patterns, thread/quote-tweet/reply templates
├── timing-matrix.md # Posting windows by audience + cadence by goal
├── cross-post-variants.md # Translation guides for Hacker News, Reddit, Substack
└── anti-patterns.md # Algorithmic death traps and the pre-publish self-check
The reference files are loaded on demand — SKILL.md indicates which phase loads which file, so context is spent only when needed.
A few of the requests this skill is built to handle:
- "Write a Twitter/X campaign for our v2.0 release next month."
- "How would I go viral about the paper I just published?"
- "Turn this blog post into a thread."
- "Draft 5 tweets about [open-source project] — I want one to trend on HN too."
- "Improve this tweet."
The skill picks the right depth automatically: a campaign request runs all six workflow phases; an "improve this tweet" request skips discovery and scores against the ranking criteria.
- Twitter/X only. LinkedIn, TikTok, YouTube, and Instagram are out of scope. The cross-post variants in
references/cross-post-variants.mdcover Hacker News, Reddit, and Substack only. - No posting. The skill produces a content plan. It does not connect to the Twitter/X API or schedule posts. Pair with a scheduling tool (Buffer, Typefully, X native scheduler) downstream.
- Algorithms evolve.
references/algorithm-levers.mdcites specific scorer names from the January 2026 xai-org release. Verify againstmainbefore quoting a specific scorer's behavior publicly. - No follower-data integration. Posting-time recommendations are based on audience archetypes (US tech, ML researchers, founders, etc.), not the user's actual follower distribution. For sub-hour precision, override the schedule with your own analytics.
Issues and PRs welcome at github.com/jnkindi/x-post-generator-skill. If you're adding a new hook pattern, anti-pattern, or audience timing window, please include the source or the empirical observation behind it — the skill's value is in being specific and verifiable.