Generate a weekly X (Twitter) content plan from a theme, audience, and content pillars. Produces per-day recommendations (single tweet vs thread, X hook formula, angle, posting time, primary goal), a single-to-thread mix, daily reply and quote-tweet targets, and a goal-mix balance check across replies, reposts, likes, and bookmarks. Use when the user wants to plan a week of X content instead of ad-hoc posting. Not for drafting one tweet (use x-post-writer) or one thread (use x-thread-builder).
npx skills add https://github.com/sergebulaev/x-skills --skill x-content-planner
Produce a weekly X plan built around a pillar discipline and the faster cadence
X allows. Unlike LinkedIn, X rewards posting multiple times a day, so the plan
mixes single tweets, threads, and reply/quote-tweet targets.
20% Engagement / 10% Promotion
A markdown plan with:
| Day | Slot | Type | Pillar | Formula | 1-line angle | Goal | Time |
|---|---|---|---|---|---|---|---|
| Mon | AM | single | Insight | X1 One-Liner Contrarian | "speed is a revenue line item" | reposts | 9:30 AM |
| Mon | PM | reply block | Engagement | R-templates | 5 builder threads | replies | 2:00 PM |
| Tue | AM | thread | Build-in-Public | X10 How-I Teardown | "how we cut deploy 40m to 6m" | bookmarks | 10:00 AM |
| Tue | PM | single | Insight | X2 Data-Point | "1.3s page = 2.4x conversion" | bookmarks | 1:30 PM |
| Wed | AM | thread | Insight | X7 Listicle-Thread | "9 landing-page mistakes" | bookmarks | 9:30 AM |
| Thu | AM | single | Build-in-Public | X3 Confession | "the metric we hid for a month" | replies | 10:00 AM |
| Fri | AM | single | Engagement | X6 Relatable | "friday deploy energy" | likes | 9:00 AM |
(The skill fills real angles from the theme. Weekends are optional and skew to
story threads or relatable singles.)
For each day:
"AI founders shipping in public", "the creators whose threads you bookmark")
posts drive more profile visits and follows than your own posts early on.
Every formula earns a primary signal. A week that is all bookmark-bait or all
reply-bait reads as engineered. Spread the goals:
| Goal | Formulas | Weekly target |
|---|---|---|
| Replies | X3, X9, X1 | at least 1 |
| Reposts | X1, X4, X8 | at least 1 |
| Likes | X6, X8 | at least 1 |
| Bookmarks | X2, X5, X7, X10 | at least 2 (bookmarks are the underrated lever) |
punish frequency the same way. Quality still gates: do not pad to hit a count.
the bookmarks and follows.
early growth on X comes more from replies than from posts.
8-11 PM works for the dev/build crowd.
| Pillar | Preferred formulas |
|---|---|
| Build-in-Public | X3 Confession, X10 How-I Teardown, X8 Story Thread |
| Insight | X1 Contrarian, X2 Data-Point, X7 Listicle-Thread, X9 Curiosity-Gap |
| Engagement | X6 Relatable, X4 Quote-Tweet, reply templates |
| Promotion | X10 (results that imply the product), X2 (your own data) |
formula (do not over-repeat), angle, posting time (audience timezone), goal.
See references/example-week.md for a filled-in 7-day plan.
SKILL.md - this filereferences/example-week.md - worked 7-day planreferences/pillars-framework.md - the X pillar discipline explainedx-post-writer - draft each single tweet from the planx-thread-builder - draft each thread from the planx-reply-drafter - execute the daily reply targetsx-hook-extractor - study competitors' posts while planningTake sergebulaev/x-content-planner from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.