X Create
Create viral X posts (short tweets, threads, replies) based on user's persona and post patterns.
First-Time Setup
Check user profile before creating content:
- Read
references/user-profile.md - If
initialized: falseor file doesn't exist → Run onboarding - If
initialized: true→ Proceed to content creation
Onboarding Questions
Ask user these questions using AskUserQuestion tool:
-
账号定位(领域): 你的X账号主要分享什么内容?
- Options: AI/科技, 创业/商业, 个人成长, 投资理财, Other
-
目标受众: 你的目标读者是谁?
- Options: 中文用户, 英文用户, 双语用户
-
人设风格: 你希望塑造什么样的人设?
- Options: 专业严肃, 轻松幽默, 犀利观点, 温暖亲和, Other
After collecting answers, update references/user-profile.md with initialized: true.
Post Types
5 Categories
| Type | Style | Use When | Intent Signals (路由线索) |
|---|---|---|---|
| 高价值干货 | 信息密度高,可收藏 | 教程、工具推荐、方法论 | 目标是收藏/转发;强调可执行清单、工具、步骤 |
| 犀利观点 | 有态度有立场 | 行业评论、反常识观点 | 目标是讨论/对立;需要强立场、对比、反常识 |
| 热点评论 | 快速反应 | 新闻评论、事件点评 | 目标是蹭热度/抢时效;围绕刚发生事件快速解读 |
| 故事洞察 | 个人经历+洞察 | 案例分析、经验复盘 | 目标是共鸣/关注;用具体场景+转折+金句 |
| 技术解析 | 深度技术 | 原理讲解、源码分析 | 目标是建立专业度;解释原理、机制、影响与建议 |
Output Formats
- 短推文 (≤280 characters) - Single tweet
- Thread (多条串联) - 3-10 tweets connected
- 评论回复 - For replying to trending posts
Creation Workflow
Step 1: Load Context
1. Read references/user-profile.md → Get persona, style
2. (Optional) Read state from ~/.claude/skills/x-create/state/
- liked_topics.json (positive samples)
- rejected_topics.json (negative samples)
- events.jsonl (optional)
3. Check assets/templates/{type}/ → Look for user reference posts
4. If no references → Use default patterns from references/post-patterns.md
Step 2: Intent-based Routing
Determine intent first, then choose style and format:
-
Intent → Style (5 categories)
- 收藏/转发导向 → 高价值干货
- 讨论/对立导向 → 犀利观点
- 时效/热点导向 → 热点评论
- 共鸣/关注导向 → 故事洞察
- 专业/技术导向 → 技术解析
-
Style → Output format
- Short tweet: Single insight, quick take, one-liner
- Thread: Multi-point analysis, step-by-step, detailed breakdown
- Reply: Designed to respond to specific post/topic
If user explicitly provides --type, follow it. Otherwise route automatically.
Step 3: Apply Pattern
Read references/post-patterns.md for the specific post type pattern.
Step 4: Generate Content (A/B Variants)
Create two variants by default:
- Variant A: More direct, stronger hook, higher contrast
- Variant B: More structured, more evidence, slightly more neutral
Follow:
- User's persona style
- Selected post style pattern
- Reference examples (if available)
Step 4.5: Humanize Pass(去 AI 味,默认必做)
For each variant, rewrite the text to sound like a real person on X while keeping meaning and claims unchanged:
- Delete filler + chatbot politeness: avoid "当然/希望这对你有帮助/让我们来深入探讨"
- Remove grand/marketing tone: avoid "标志着/至关重要/不断演变的格局/彰显/赋能/令人叹为观止"
- No vague attribution: avoid "专家认为/行业报告显示" unless you provide a specific source; otherwise rewrite as "我观察到/我的判断是..."
- Reduce connective phrases: avoid overusing "此外/然而/因此"; prefer simple sentences and line breaks
- Break formula: do not force "三段式"; 2 points is fine; mix short + long sentences
- Avoid dash spam: do not stack "——"
- Prefer concrete details over empty conclusions; if you are unsure, say it plainly and briefly
Thread constraints:
- Each tweet must be <= 280 characters
- Do not make every tweet identical in structure; allow 1-2 short "pause" lines
Step 5: Critic (Self-evaluation) + Rewrite Once
Score the humanized Variant A/B as the target reader (0-10):
- Hook strength
- Information density / value
- Clarity and readability
- Credibility (no exaggeration / no made-up facts)
- Persona fit
- Action likelihood: like / repost / bookmark / reply
- "AI 味" control: no empty grand statements, no templated endings, no vague authority
Rules:
- If both Variant A and B score < 7, rewrite once (produce A2/B2), then run the same humanize pass again, and re-score.
- Select the best variant as final output, but still show both drafts.
Output Format
# 推文创作
## 选题
{topic}
## 推文类型
{short_tweet/thread/reply}
## 风格
{post_style}
---
## Drafts
### Variant A
{For short tweet: single tweet content}
{For thread:}
### 1/N
{first tweet}
### 2/N
{second tweet}
...
### N/N
{final tweet with call to action}
**Critic score (0-10)**: {critic_score_a}
### Variant B
{For short tweet: single tweet content}
{For thread:}
### 1/N
{first tweet}
### 2/N
{second tweet}
...
### N/N
{final tweet with call to action}
**Critic score (0-10)**: {critic_score_b}
---
## Selected
Selected variant: {A|B|A2|B2}
Reason: {one-sentence reason}
---
## 发布建议
- 最佳发布时间: {suggestion}
- 配图建议: {image suggestion if applicable}
- 预期互动: {engagement prediction}
下一步:运行 /x-publish 发布到草稿箱
Append machine-readable blocks for hooks/state ingestion:
CREATE_JSON
{
"schema_version": "x_skills.create.v1",
"topic": "{topic}",
"post_type": "short|thread|reply",
"post_style": "high-value|sharp-opinion|trending-comment|story-insight|tech-analysis",
"variants": [
{"id":"A","critic_score_0_10":0,"text":"..."},
{"id":"B","critic_score_0_10":0,"text":"..."}
],
"selected": "A|B|A2|B2",
"rewrite_once": true
}
HOOKS_JSON
{
"schema_version": "x_skills.hooks.v1",
"topic": "{topic}",
"hooks": [
{"text":"...","source":"variant.A","tags":["数字|反常识|痛点|悬念|类比"],"score_0_10":0}
]
}
Template Priority
- User templates first: Check
assets/templates/{type}/ - Default patterns: Use
references/post-patterns.md
Example:
Creating 高价值干货 post:
1. Check assets/templates/high-value/
2. If files exist → Learn style from examples
3. If empty → Use default pattern from post-patterns.md
Resources
references/user-profile.md
User customization info (shared across all x-skills)
references/post-patterns.md
Default viral post patterns for 5 categories
assets/templates/
User-provided reference posts organized by type:
high-value/- 高价值干货类参考sharp-opinion/- 犀利观点类参考trending-comment/- 热点评论类参考story-insight/- 故事洞察类参考tech-analysis/- 技术解析类参考
Example
User: /x-create Claude 4.5 Opus发布 --type thread
- Read user-profile.md → persona: 专业严肃、犀利观点
- Check assets/templates/tech-analysis/ → empty
- Read post-patterns.md → Get tech-analysis pattern
- Generate thread:
### 1/5
Claude 4.5 Opus 上线了。我先说结论:它更像“慢一点,但更稳”的那类模型。
我用 3 个小任务试了下,写个线程记录👇
### 2/5
我最直观的感受不是“更聪明”,而是更会停下来检查自己。
同一个问题,它更少给“听起来对”的答案。
### 3/5
三个场景(都不算大项目):
1) 重构一个旧模块:更愿意先问清边界,再动手改
2) 复杂推理题:会把关键假设写出来(这点很救命)
3) 长文档梳理:更少漏掉前后矛盾的地方
### 4/5
代价也很现实:
- 反应慢一点
- 成本可能更高(看你用的套餐/调用方式)
- 你得给它更明确的上下文
### 5/5
如果你做的是“错一次就很麻烦”的任务(代码、决策、长文整理),值得试。
只是日常闲聊,感知没那么强。你们试过了吗?
Integration
After creation, suggest:
推文创作完成!
- 类型: {thread/short/reply}
- 字数: {word_count}
- 预计阅读: {read_time}
下一步:运行 /x-publish 发布到X草稿箱
(反馈闭环,可选)
- 采纳并进入正样本:
python ~/.claude/skills/x-create/scripts/x_state.py like --topic-json '{"title":"{topic}","selected":"{A|B}","critic_score":8}'
- 否决并进入负样本:
python ~/.claude/skills/x-create/scripts/x_state.py reject --topic-json '{"title":"{topic}","reason":"low_value"}'
- 写入事件(hooks 自动收集也可用):
python ~/.claude/skills/x-create/scripts/x_state.py event --event create.generated --payload-json '{"topic":"{topic}","variants":["A","B"],"selected":"{A|B}"}'