social-card-gen について
social-card-gen は、元のメッセージから Twitter/X、LinkedIn、Reddit 向けの投稿文を作成するスキルです。手動の手順と Node.js による自動生成に対応し、各プラットフォームに合わせて文体や構成を調整します。
主な機能
- 013 プラットフォーム向け文案の生成
- 02単一または複数プラットフォームのモード
- 03複数案と A/B テストのガイド
- 04手動生成と Node.js 生成
- 05媒体ごとの文体や形式への調整
活用シーン
- 01製品更新を各 SNS 向けに投稿
- 02単一チャネル向けの文案を検証
- 03キャンペーン用に複数案を作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ brianrwagner/ ai-marketing-claude-code-skills --skill social-card-genインストール後、Claude Code で/social-card-genを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
generate.jspackage.jsonREADME.mdSKILL-OC.mdtemplates.js.clawdhub/origin.jsonexamples/input-example.mdoutput-linkedin.txtoutput-reddit.txtoutput-twitter.txt詳細
ソーシャルカードジェネレーター
1つのソースメッセージを、Twitter/X、LinkedIn、Reddit 向けの投稿文に変換します。
このスキルは、次の2つの方法で動作します。
- Node.js を使用する場合:
generate.jsを使って、決定論的に自動生成します - Node.js を使用しない場合: このスキルに直接組み込まれた手動生成手順を使います(依存関係は不要です)
モード
文脈から判定するか、次のように尋ねます。「1つのプラットフォーム、すべてのプラットフォーム、それとも各プラットフォームのバリエーション付きですか?」
| モード | 生成内容 | おすすめの用途 |
|---|---|---|
quick | 1つのプラットフォーム(ユーザーが選択)、最適化されたバリエーション | 1つのチャネルでテストする |
standard | 3つすべてのプラットフォーム:Twitter、LinkedIn、Reddit | 標準的なクロスプラットフォーム投稿 |
deep | すべてのプラットフォーム+各3つのバリエーション+A/B テストのガイダンス | キャンペーンのテスト、リーチの最大化 |
デフォルト:standard — プラットフォームが指定されている場合は quick を使います。コンテンツキャンペーンを実施していて、選択肢が必要な場合は deep を使います。
⚠️ 必須:生成前に4つの質問をする
投稿文を一言でも書く前に、次の質問をしてください。
- ソースメッセージ: 中心となるアイデア、最新情報、またはストーリーは何ですか?(元のテキストを貼り付けるか、説明してください。)
- 目指すトーン: 情報提供?挑発的?さりげない自慢?会話調?教育的?
- 対象読者: 誰に見てもらいたいですか?(創業者、マーケター、開発者、一般の人々など)
- CTA: 読者に何をしてほしいですか?(リンクを訪れる、返信する、フォローする、共有する、会話を始めるなど)
これらの回答がなければ、どのプラットフォームにも響かない、ありきたりな投稿になります。
プラットフォーム別のルール(組み込み済み — 外部スクリプトは不要)
🐦 Twitter/X
- 文字数制限: 280文字(単独のツイート)、または長文の場合はスレッド形式
- トーン: 端的で、率直で、意見が明確。Twitter では簡潔さと確信が重視されます。
- フックの構成: 最も意外性のある、または具体的な主張から始めます。前置きは不要です。
- ハッシュタグ: 直接関連するタグを最大1~2個。詰め込みは厳禁です。
- CTA のスタイル: 短く、文中に自然に入れます。「どう思いますか?」や「返信にリンクを載せました。」などです。
- Twitter の投稿を台無しにするもの: 長い導入、受け身の表現、企業的な言い回し、ハッシュタグの羅列。
- フックの例: 「[直感に反する主張]。その理由は:[理由を1~2文]。[興味を引く質問]。」
- 文字数制限: 投稿は3,000文字まで。「さらに表示」の前に見える最初の2行が重要です。
- トーン: プロフェッショナルでありながら個人的。人間味のある視点を加えたソートリーダーシップ。
- フックの構成: 1行目で好奇心をかき立てるか、大胆な真実を述べます。「共有できてうれしいです」から始めてはいけません。
- ハッシュタグ: 最大3~5個。末尾に付けます。本文には入れません。
- CTA のスタイル: 議論を促します。「この件について、皆さんはどんな経験がありますか?」などが効果的です。
- 書き出しのルール: 自己宣伝の言葉から始めてはいけません。学び、ストーリー、または気づきから始めます。
- LinkedIn の投稿を台無しにするもの: 気取った書き出し(「このたび発表できることを光栄に思います……」)、過剰なハッシュタグ、改行がないこと。
- 書式のヒント: 段落は短く(1~2行に)。余白を活用しましょう。
- 文字数制限: 厳密な制限はありませんが、長い投稿には見出しを使った明確な構成が必要です。
- トーン: 飾らず、好奇心があり、コミュニティを第一に考えたもの。Reddit の読者は、うさんくささを見抜く力に長けています。
- フックの構成: 状況に応じた形にします。質問、学んだ教訓、または実体験として提示します。
- ハッシュタグ: 使用しません。Reddit では使われません。
- CTA のスタイル: コミュニティが意見を共有できるよう、自由回答形式の質問で締めくくります。
- 自己宣伝のルール: 自分の宣伝から始めてはいけません。すべてをコミュニティへの貢献として構成します。
- Reddit の投稿を台無しにするもの: あからさまなマーケティング、真の洞察の欠如、「私の[もの]を見てください」といった書き出し。
手動生成手順(Node.js 不要)
この手順に正確に従ってください。
ステップ1:中心となるメッセージを抽出する
ソース入力から、次の要素を抽出します。
- 1つだけ選ぶ、最も重要な洞察または事実
- 「それがなぜ重要なのか」— 対象読者にとってなぜ重要なのか?
- その背景にある根拠またはストーリー
ステップ 2:3 つのプラットフォーム向けバリエーションを生成する
Twitter/X 向けバリエーション:
[Bold claim or surprising fact — max 1 sentence]
[1-2 sentences of supporting context]
[Engaging question or CTA]
[1-2 relevant hashtags max]
確認:1 件のツイートで 280 文字以内ですか?そうでない場合は、削るかスレッドにするか判断します。
LinkedIn 向けバリエーション:
[First line hook — create curiosity, not announcement]
[1-2 line context paragraph]
[Core insight or framework — 2-4 short paragraphs]
[Personal angle or reflection]
[Discussion CTA — question for the audience]
[3-5 hashtags at the end only]
確認:「さらに表示」を押す前に、最初の行だけで内容が伝わりますか?「I'm excited to...」で始まっていませんか?
Reddit 向けバリエーション:
[Title: specific, searchable, not clickbaity]
[Opening: frame as experience, question, or lesson — community-first]
[Body: genuine story or insight with specifics]
[Closing question to invite community input]
確認:対象のサブレディットになじむ内容ですか?ハッシュタグは入っていませんか?
Node.js を使う場合(自動生成パス)
npm install
# text input
node generate.js --text "We reduced onboarding time by 35% with a checklist." --stdout
# file input
node generate.js --file examples/input-example.md --outdir examples
# URL input (when network is available)
node generate.js --url https://example.com/post --platforms twitter,linkedin --stdout
generate.js が利用できない場合は、上記の手動生成パスを使います。品質は同じで、手動で作成するだけです。
品質のセルフレビュー(生成後に必須)
3 つのバリエーションをすべて生成したら、提出前にこのレビューを実施します。
| 確認項目 | |||
|---|---|---|---|
| 冒頭のつかみは強いか?(スクロールを止める内容か?) | ✅/❌ | ✅/❌ | ✅/❌ |
| CTA があり、明確か? | ✅/❌ | ✅/❌ | ✅/❌ |
| プラットフォームに合っているか?(トーンが各プラットフォームの慣習に合っているか) | ✅/❌ | ✅/❌ | ✅/❌ |
| ガードレールを守っているか?(下記参照) | ✅/❌ | ✅/❌ | ✅/❌ |
最も弱いバリエーションを指摘し、その理由を説明します:「Reddit 向けのバリエーションが最も弱いです。LinkedIn の投稿のように読めてしまい、洗練されすぎていて、コミュニティを第一に考えた内容になっていません。」
ガードレール(必ず守ること)
❌ 複数のプラットフォームに同一の文章を投稿しないこと — 各プラットフォーム向けのバリエーションは、トーンと構成を実質的に変える必要があります ❌ LinkedIn でハッシュタグを乱用しないこと — 最大 5 個まで。必ず末尾に置き、本文には入れません ❌ Reddit で自己宣伝から始めないこと — 常にコミュニティへの価値提供を第一にします ❌ 曖昧なつかみを使わないこと — 「X について考えたことがあります」はつかみになりません ❌ プラットフォームの文脈を前提にした文章を書かないこと — Reddit の読者は、あなたの LinkedIn の読者を知りません
改善ループ
3 つのバリエーションを提出した後:
- 「最も違和感のあるバリエーションはどれですか?どこがうまく伝わっていませんか?」と尋ねます
- つかみが弱い場合 → 逆説的な切り口、数字を使った切り口、物語から入る切り口など、別の角度で最初の行を書き直します
- CTA が弱い場合 → 指示ではなく、質問を試します
- プラットフォームとの相性が悪い場合 → プラットフォームのルールを読み直し、そのプラットフォーム向けに最初から書き直します
出力形式
以下を提出します:
## Twitter/X
[Final copy — ready to paste]
Character count: [X]/280
## LinkedIn
[Final copy — ready to paste]
## Reddit
Title: [Post title]
[Body — ready to paste]
## Quality Review
- Strongest variant: [Platform] — because [reason]
- Weakest variant: [Platform] — [what to improve if needed]
- All guardrails passed: Yes / No — [note any issues]
Brian Wagner のスキル | AI Marketing Architect | brianrwagner.com