x-create について
x-createは、ユーザーのペルソナや投稿パターンに合わせて、Xの短文投稿、スレッド、返信を作成するスキルです。意図に応じてスタイルを選び、通常は2案を生成して自然な表現への調整と自己評価を行います。
主な機能
- 01ペルソナと参考投稿に基づく作成
- 02意図に応じた5種類のスタイル
- 03短文投稿、スレッド、返信に対応
- 042案の生成と自己評価
活用シーン
- 01技術トピックのスレッド作成
- 02話題の投稿への返信作成
- 03保存済みペルソナに沿った投稿調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ kangarooking/ x-skills --skill x-createインストール後、Claude Code で/x-createを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/templates/README.mdreferences/post-patterns.mduser-profile.mdscripts/hooks.pyschemas.pysimilarity.pyx_state.py詳細
X 投稿作成
ユーザーのペルソナと投稿パターンに基づいて、拡散されやすいX投稿(短い投稿、スレッド、返信)を作成します。
初回セットアップ
コンテンツを作成する前に、ユーザープロフィールを確認してください。
references/user-profile.mdを読み込みますinitialized: falseまたはファイルが存在しない場合 → オンボーディングを実行しますinitialized: trueの場合 → コンテンツの作成に進みます
オンボーディングの質問
AskUserQuestion ツールを使って、ユーザーに次の質問をします。
-
アカウントのテーマ(分野):Xアカウントでは、主にどのような内容を発信していますか?
- 選択肢:AI/テクノロジー、起業/ビジネス、自己成長、投資/資産運用、その他
-
ターゲット読者:ターゲットとする読者は誰ですか?
- 選択肢:中国語ユーザー、英語ユーザー、バイリンガルユーザー
-
ペルソナのスタイル:どのようなペルソナを作りたいですか?
- 選択肢:専門的で真面目、気軽でユーモラス、鋭い視点、温かく親しみやすい、その他
回答を収集したら、references/user-profile.md を initialized: true に更新します。
投稿の種類
5つのカテゴリ
| 種類 | スタイル | 使用する場面 | 意図のシグナル(ルーティングの手がかり) |
|---|---|---|---|
| 価値ある実用情報 | 情報密度が高く、保存したくなる | チュートリアル、ツールのおすすめ、方法論 | 目標は保存/リポスト。実行可能なチェックリスト、ツール、手順を強調 |
| 鋭い視点 | 姿勢と立場が明確 | 業界評論、常識に反する意見 | 目標は議論/対立。強い立場、対比、常識に反する視点が必要 |
| 話題へのコメント | 迅速な反応 | ニュースへのコメント、出来事への所見 | 目標は話題に乗る/速報性を重視すること。直近の出来事をすばやく解説 |
| ストーリーからの洞察 | 個人の経験+洞察 | 事例分析、経験の振り返り | 目標は共感/フォロー。具体的な場面+転換+印象的な一文を使う |
| 技術解説 | 技術を深く掘り下げる | 原理の説明、ソースコードの分析 | 目標は専門性の確立。原理、仕組み、影響、提案を説明 |
出力形式
- 短い投稿(280文字以内) - 1件の投稿
- スレッド(複数の投稿を連結) - 3~10件の投稿を連結
- 返信 - 話題の投稿への返信
作成ワークフロー
ステップ 1:コンテキストを読み込む
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
ステップ 2:意図に基づいてルーティングする
まず意図を判断し、その後スタイルと形式を選択します。
-
意図 → スタイル(5つのカテゴリ)
- 保存/リポストを促す → 価値ある実用情報
- 議論/対立を促す → 鋭い視点
- 速報性/話題性を重視する → 話題へのコメント
- 共感/フォローを促す → ストーリーからの洞察
- 専門性/技術を重視する → 技術解説
-
スタイル → 出力形式
- 短い投稿:単一の洞察、簡潔な見解、一言
- スレッド:複数の観点からの分析、段階的な説明、詳細な解説
- 返信:特定の投稿/話題への返信として作成
ユーザーが --type を明示的に指定した場合は、それに従います。それ以外の場合は、自動的にルーティングします。
ステップ 3:パターンを適用する
references/post-patterns.md を読み込み、該当する投稿の種類のパターンを確認します。
ステップ 4:コンテンツを生成する(A/B バリエーション)
デフォルトで2つのバリエーションを作成します。
- バリエーション A:より直接的で、つかみが強く、対比が鮮明
- バリエーション B:より構成が整っていて、根拠が多く、やや中立的
次の点に従います。
- ユーザーのペルソナのスタイル
- 選択した投稿スタイルのパターン
- 参考例(利用できる場合)
ステップ 4.5:人間らしさを加える(AI っぽさをなくす。デフォルトで必ず実施)
各バリエーションについて、意味と主張を変えずに、X上の実在する人の投稿のような文章に書き直します。
- 埋め草とチャットボット的な丁寧表現を削除する:「もちろんです/お役に立てば幸いです/詳しく見ていきましょう」は避けます
- 大げさで宣伝調の表現を削除する:「~を象徴しています/極めて重要です/絶えず変化する状況/~を示しています/~を可能にします/驚くべき」は避けます
- 曖昧な出典を避ける:具体的な出典を示さない限り、「専門家によると/業界レポートによると」は避けます。その場合は「私が観察した限りでは/私の見立てでは」のように書き換えます
- 接続表現を減らす:「さらに/しかし/したがって」を使いすぎず、簡潔な文や改行を優先します
- 型にはめない:「三段構成」を無理に押しつけません。2つのポイントでも構いません。短文と長文を織り交ぜます
- ダッシュを多用しない:「——」を重ねて使わないようにします
- 中身のない結論より具体的な詳細を優先します。不確かな場合は、率直かつ簡潔に伝えます
スレッドの制約:
- 各投稿は280文字以内にします
- すべての投稿を同じ構成にせず、1~2件の短い「間」の投稿を入れても構いません
ステップ 5:批評(自己評価)+1回書き直す
人間らしさを加えたバリエーション A/B を、ターゲット読者の視点から採点します(0~10点)。
- つかみの強さ
- 情報密度/価値
- 明確さと読みやすさ
- 信頼性(誇張や捏造した事実がない)
- ペルソナとの適合性
- 行動につながる可能性:いいね/リポスト/保存/返信
- 「AI っぽさ」の抑制:中身のない大げさな表現、型どおりの締めくくり、曖昧な権威づけがない
ルール:
- バリエーション A と B の両方が7点未満の場合は、1回だけ書き直して A2/B2 を作成し、同じ人間らしさを加える処理を再度行ったうえで、再採点します。
- 最終出力には最も評価の高いバリエーションを選びますが、両方の下書きを表示します。
出力形式
# 推文创作
## 选题
{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 发布到草稿箱
フック/状態取り込み用の機械可読ブロックを追加します。
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}
]
}
テンプレートの優先順位
- ユーザーテンプレートを優先:
assets/templates/{type}/を確認します - デフォルトパターン:
references/post-patterns.mdを使用します
例:
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
リソース
references/user-profile.md
ユーザー設定情報(すべてのx-skillsで共有)
references/post-patterns.md
5つのカテゴリのデフォルトのバズ投稿パターン
assets/templates/
タイプ別に整理された、ユーザー提供の参考投稿:
high-value/- 高価値の実用情報系の参考sharp-opinion/- 鋭い意見系の参考trending-comment/- トレンドへのコメント系の参考story-insight/- ストーリーからの洞察系の参考tech-analysis/- 技術分析系の参考
例
ユーザー:/x-create Claude 4.5 Opus发布 --type thread
- user-profile.mdを読み込みます → ペルソナ:専門的で真面目、鋭い意見
- assets/templates/tech-analysis/を確認します → 空
- post-patterns.mdを読み込みます → 技術分析パターンを取得
- スレッドを生成します:
### 1/5
Claude 4.5 Opus 上线了。我先说结论:它更像“慢一点,但更稳”的那类模型。
我用 3 个小任务试了下,写个线程记录👇
### 2/5
我最直观的感受不是“更聪明”,而是更会停下来检查自己。
同一个问题,它更少给“听起来对”的答案。
### 3/5
三个场景(都不算大项目):
1) 重构一个旧模块:更愿意先问清边界,再动手改
2) 复杂推理题:会把关键假设写出来(这点很救命)
3) 长文档梳理:更少漏掉前后矛盾的地方
### 4/5
代价也很现实:
- 反应慢一点
- 成本可能更高(看你用的套餐/调用方式)
- 你得给它更明确的上下文
### 5/5
如果你做的是“错一次就很麻烦”的任务(代码、决策、长文整理),值得试。
只是日常闲聊,感知没那么强。你们试过了吗?
統合
作成後、次を提案します:
推文创作完成!
- 类型: {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}"}'