Communityライティング&編集github.com

sergebulaev/facebook-skills

既存のコンテンツ(LinkedIn投稿、Xスレッド、ブログ、ニュースレターなど)をFacebookページ向けに最適化し、ネイティブな投稿に生まれ変わらせます。トーンを温かく自然にし、リンクは最初のコメントへ移動、オフプラットフォーム特有の表現を削除した上で、承認後にPublora経由で公開します。

facebook-skills とは?

このスキルは、他のプラットフォームで作成したコンテンツをFacebookページ投稿として再構築するためのものです。単なるコピーペーストではなく、ソースのアイデアを維持しながら、Facebookの読者に響くようにトーン、長さ、書式を全面的に変更します。LinkedInの企業向けトーンを温かみのある人間味あふれる声に変えたり、Xのスレッドを一つの完結したストーリーにまとめたり、ブログ記事から最も共感を呼ぶ1つの視点を抽出するなど、ソースの種類に応じたネイティブフィットルールに従います。リンクは投稿本文ではなく最初のコメントに移動することでリーチの抑制を防ぎ、ハッシュタグの多用や「リンクはプロフィールに」などのオフプラットフォーム特有の表現は削除します。承認を得た後はPubloraを使って自動公開できます。このスキルはゼロからの執筆(fb-post-writer)や既存Facebook投稿の監査(fb-humanizer)、コメント返信(fb-engagement-drafter)には使用しません。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sergebulaev/facebook-skills/tree/HEAD/skills/fb-repurposer

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Facebook Repurposer(リパーパサー)

既に作成したコンテンツを、あたかもFacebookで生まれたかのようなページ投稿に変換します。リパーパス(再利用)はコピーペーストではありません。LinkedInで大ヒットした投稿も、そのままFacebookページに貼り付けると失敗します。トーンが合わず(企業プレスリリース vs 温かいページの声)、長さが合わず、リンクがリーチを抑制し、オフプラットフォーム特有の表現(ハッシュタグの壁、「リンクはプロフィールに」、Xの@ハンドル)が異質に映るからです。

このスキルは変換を行います。生成は行いません。ソースを読み込み、アイデアを保持し、Facebookページ向けに表現を再構築します。

使用するタイミング

  • 「このLinkedIn投稿をFacebookページ投稿に変換して」
  • 「私のブログ記事/ニュースレター/Xスレッドをページ向けにリパーパスして」
  • 「これはThreadsで効果的だった。Facebook向けに調整して」
  • 「別の形式でざっくりとしたアイデアがある。これをFacebookネイティブにして」

白紙の下書きには使用しないでください(fb-post-writer を使用)。既にFacebook向けに書かれた下書きのレビューには使用しないでください(fb-humanizer --mode audit を使用)。ページのコメント返信には使用しないでください(fb-engagement-drafter を使用)。

動作の仕組み

まずボイスプロファイル(全下書き共通)。 ../../references/voice-profile.md に filled: yes とあれば、それを読み込み、ユーザーのボイスフィンガープリント、ハードルール、CTA/リンクスタイルを全体に適用します。記入されていない場合は、fb-humanizer --mode profile でいくつかの投稿からボイスを学習できることを一度だけ伝え、その後は汎用的なボイスルールで進めます。

次にストーリーバンク。 ../../references/story-bank.md に filled: yes とあれば、それを読み込み、具体的な詳細(数字、日付、名前付きプロジェクト、役職)はすべてそこから取得し、下書き途中で質問することはしません。バンクにもこの会話でユーザーが提供した情報にもない数字、日付、クライアント名を決して作り出さないでください。 バンクに該当するものが何もない場合は、ユーザーに質問するか、fb-humanizer --mode interview を使えば20~40分で埋められることを一度だけ伝えてください。もっともらしい数字をでっち上げた下書きは、数字がない下書きよりも悪い結果を生みます。前者は曖昧で済むのに対し、後者は撤回が必要になるからです。

  1. ソースを取得します。 どのような形式でも構いません。投稿、段落、スクリプト、キャプション、トランスクリプト、箇条書き、読むためのリンクなど。ソースと目標(シェア数/コメント数/リアクション数)が指定されていなければ、それを尋ねます。
  2. 骨格を抽出します。 ソースプラットフォームの外殻を取り除き、保持する価値のある1つの主張、1つのストーリー、または1つの数字を引き出します。ほとんどのリパーパスが失敗するのは、要点ではなく言葉をそのまま残そうとするからです。
  3. コンテナを選びます。 1つの主張、数字、または瞬間 → 短いページ投稿(80文字以下を目指す)。真のナラティブまたは構築 → ストーリー投稿(FB8-FB10の形状)。ソースを ../../references/hook-formulas.md にある2026年のFacebook形状にマッピングし、目標に応じて選択します。
  4. ページ向けにトーンを温めます。 ページの声は温かく人間味にあふれ、プレスリリースでもクリックベイトでもありません。ソースのフックを書き直します。冒頭に、折りたたみの「続きを見る」より上で全体の要点を伝える、単独で成立する主張を置きます。Facebookは長めの投稿を折りたたむため、最初の行だけで完結しなければなりません。
  5. 書式を調整します。 冒頭は短く。1投稿に1つのアイデア。改行はビートとして使います。ソースの接続詞や企業的な前置きは削ります。ハッシュタグは0~2個、絵文字は0~2個。シリアスな内容の場合はゼロにします。
  6. リンクを本文から移動します。 外部リンクはページのオーガニックリーチを抑制します。ソースの要点がリンクそのものである場合は、リンクを最初のコメントに置き、投稿はそれ自体の主張で成立させます。
  7. オフプラットフォームの表現を取り除きます。 「リンクはプロフィールに」、「チャンネル登録をお願いします」、「以下をお読みください」、ハッシュタグの壁、他のプラットフォームにしか存在しないXの@ハンドル、およびLinkedInに投稿したことを断るような前置きを削除します。リパーパスされた投稿は、リパーパスされたことを悟られてはいけません。
  8. Humanizerパス。 下書きに fb-humanizer V3 を実行します。段落密度による2026年AI語彙のチェック、上限を超えるemダッシュ(およそ100語につき1つを超えるもの、およびピリオドと誤って置き換えられたもの)、積み重ねられたルール・オブ・スリーの三連構造、「大変嬉しく思います」、「お知らせいたします」といった画一的な言い回しやつなぎ表現を検出・修正します。機械的で平坦なストーリーパラグラフのみを修正対象とし、無理にバリエーションを追加しないでください。ソースにあるユーザーの実際の数字や名前付きエンティティは保持します。
  9. 承認カード。 以下を表示します。ソース → Facebookのマッピング(何が何になったか)、コンテナ(短い投稿かストーリー投稿か)、使用した形状、文字数(80文字の推奨値を超えていないかフラグ)、リンクが最初のコメントに移動されたかどうか、主要な目標。
  10. 承認後。 lib.publish(kind="post", draft_text=<承認済み>, target_url="https://www.facebook.com/YourPage", platforms=[<FACEBOOK_PLATFORM_ID>], scheduled_time=<iso_or_None>) で公開します。意図的に長めのストーリー投稿の場合は kind="story" を渡します。ラッパーがPublora/手動/DIYのルーティングを処理します。

ネイティブフィットルール(ソース → Facebook)

  • LinkedIn投稿 → Facebook: 企業的なトーンを温かくします。LinkedInは思想リーダーシップ的な文体を許容しますが、ページは人間が人間に語りかける声を求めます。バズワードを削り、洞察を残します。
  • Xスレッド → Facebook: 1つの短いストーリー投稿にほぐします。ページは番号付きスレッドをノイズとして読むため、ビートを1つの読みやすいアークに縫い合わせ、「1/」「2/」という番号や@ハンドルを削ります。
  • ブログ/ニュースレター → Facebook: 要約ではなく、共感を呼ぶ1つの視点を選びます。人間味のある瞬間または最も有用な1行で始め、リンク(ある場合)は最初のコメントに置きます。
  • YouTubeスクリプト → Facebook: イントロではなく、成果で始めます。「ここで私たちが見つけたものをお伝えします」は「この動画では」よりも効果的です。
  • Instagram/TikTokのキャプション → Facebook: 絵文字の密度とハッシュタグのブロックを取り除きます。ページはそれらを雑然としたものとみなします。核となる1行だけを残します。

ハードルール

グローバルなボイスルール:ルートの SKILL.md ボイスルールを参照してください。スキル固有の追加ルールは以下の通りです。

  • ソースの主張と事実をそのまま保持します。リパーパスは表現を変えるものであり、意味や数字を変えるものではありません。
  • 最初の行で、折りたたみより上の部分だけで全体の要点を完結させなければなりません。
  • ソースをそのまま貼り付けてトリミングするだけではいけません。骨格からフックとトーンを再構築します。
  • ソースに1つの具体的な数字があれば、それを保持します。
  • 温かく人間味にあふれたトーンを保ちます。プレスリリースや「これを見逃したらヤバい」といったクリックベイトは避けます。
  • タグベイト(「タグで3人の友達を呼ぼう」)は使用しません。投稿自体でシェアされる価値を提供します。
  • リンクは最初のコメントに移動します。本文は主張を伝えます。

アンチパターン(スキルは拒否します)

  • ソースを軽く編集してコピーペーストすること(それはリパーパスではありません)。
  • ソースプラットフォームの表現を残すこと(「リンクはプロフィールに」、「チャンネル登録をお願いします」、ハッシュタグの壁、Xの@ハンドル、「1/ 2/」のようなスレッド番号)。
  • 「これを見逃したらヤバい」といったクリックベイトや全て大文字での強調。
  • エンゲージメントベイト(「賛成なら「いいね!」とシェア」、「タグで3人の友達を呼ぼう」)。
  • 上限を超えるemダッシュ(およそ100語につき1つを超えるもの、またはピリオドと誤って置き換えられたもの)。
  • 「その結果…」「こちらが…」という明かしのつなぎ表現や、書き換え中に追加されたスタッカートの積み重ね。
  • 具体的な内容のないルール・オブ・スリーのリスト。
  • 「レバレッジ」、「根本的に」、「ゲームチェンジャー」、「深掘り」などの言葉。
  • 投稿本文に生の外部リンクがあること(最初のコメントに移動します)。
  • メタ的な前置き(「私はこれを元々…に投稿しました」)。

リソース

  • ../../references/hook-formulas.md - フックを再構成するための10のFacebook形状(FB1-FB7:短い投稿、FB8-FB10:ストーリー投稿)
  • ../../references/algorithm-heuristics.md - 2026年Facebookページランキングルール(80文字未満のブースト、リンクのリーチ抑制、タイミング、制限)

関連スキル

  • fb-post-writer - 白紙から新しいページ投稿を作成する
  • fb-humanizer - AIの痕跡を除去する。--mode audit で結果をレビューする
  • fb-hook-extractor - 魅力的なページ投稿からフックを逆解析する
  • fb-engagement-drafter - 投稿が獲得したコメントに返信する

関連スキル