Ad Copy Generator
目的
1つのオファーやソースコンテンツから、実際に異なる有料広告コピーのバリエーションを複数生成します。各バリエーションは単なる言い換えではなく、異なるフック角度(ペインポイント、ベネフィット、社会的証明、緊急性など)を用い、各ターゲットプラットフォームの文字数制限に合わせてサイズ調整された、本格的なA/Bテストに適したものです。
ステップバイステップのプロセス
プラグインルート: 以下のパスに未展開のCLAUDE_PLUGIN_ROOTプレースホルダー(Claude Codeが展開しますが、Codexなどの他のエージェントは展開しません)がある場合、使用する前に解決してください。printenv CLAUDE_PLUGIN_ROOTの出力にパスがあればそれを、そうでなければこのファイルのフォルダから上に移動してreferences/brand-voice.mdを含む最初のフォルダを見つけ、どちらも機能しない場合はユーザーにプラグインの場所を尋ねてください。以下のすべてのファイルパスとシェルコマンドでその絶対パスを使用してください。
-
オンボーディングステータスを確認する。
${CLAUDE_PLUGIN_ROOT}/references/brand-voice.mdを読みます。ファイルが存在しない場合、または最初の行が<!-- MARKETING-SKILL:UNCONFIGURED -->の場合、一時停止してユーザーにこのプラグインの4つのセットアップ質問(優先タスク、作成するコンテンツタイプ、ターゲットオーディエンス+トーン、デフォルト出力形式 —/marketing-skill:marketing-setupと同じ)をし、回答をそのファイルに保存してマーカーを今日の日付でCONFIGUREDに変更してから続行します。そうでなければ、トーン、オーディエンス、禁止ワードを読み取ります。ファイルが未設定だがユーザーがセットアップをスキップするかデフォルトを使用すると既に言っている場合、質問せず、この実行ではプレースホルダーのデフォルトを使用し、1行でその旨を伝え、マーカーはそのままにします。 -
スコープを確認する。
- オファー・製品・ソースコンテンツ(貼り付け、ファイル、URL、「our product」 — その場合はプロジェクトルートの
README*/package.json/pyproject.tomlをcontent-repurposerと同様に確認)。 - プラットフォーム:Meta(Facebook/Instagram)、Google 検索(RSA)、LinkedIn Ads — デフォルトでは、制限やトーンがプラットフォームによって大きく異なるため、推測せずに尋ねます。
- ランディングページのURLとCTA(あれば) — ユーザーがCTA自体を変数としてテストしたい場合を除き、バリエーション間で同一に保ちます。
- プラットフォームあたりのバリエーション数(デフォルト:3、各バリエーションは異なるフック角度)。
- オファー・製品・ソースコンテンツ(貼り付け、ファイル、URL、「our product」 — その場合はプロジェクトルートの
-
バリエーションを作成する、各バリエーションに異なるフック角度(例:ペインポイント、具体的なベネフィット/成果、社会的証明、緊急性/希少性 — 同じバッチ内で同じ角度を2回使用しない)。ソースコンテンツにない統計、顧客数、主張は決して創作しないでください。
-
プラットフォームの制約に合わせる。 以下の「プラットフォーム制約」の文字数ガイダンスを適用し、各フィールドの横に実際の文字数を表示します — 単に収まると主張するだけではありません。
-
最終決定前に自己チェックする: すべてのバリエーションを禁止ワードリストと照合し、CTA/リンクがバリエーション間で同一であることを確認し(CTAが意図的にテストされている場合を除く)、同じバッチ内に同じフック角度を使用したバリエーションが2つないことを確認します。
このスキルを使用するタイミング
以下のようなリクエストでトリガーします:
- 「[製品/オファー]の広告コピーを書いて」
- 「Meta広告のバリエーションを...」
- 「Google広告の見出しを...」
- 「LinkedIn広告のA/Bテストコピーを」
プラットフォーム制約
これらは一般的に引用されるプラットフォームガイドラインであり、このスキルがライブで検証できる値ではありません。文字数制限や切り捨てポイントは時間とともに変化するため、実際のキャンペーンを確定する前に、特に制限に近い場合は、プラットフォームの広告管理UIで現在の仕様を確認してください。
| プラットフォーム | フィールド | ガイダンス |
|---|---|---|
| Google 検索(RSA) | 見出し | 30文字以内、広告あたり最大15件 |
| Google 検索(RSA) | 説明文 | 90文字以内、広告あたり最大4件 |
| Meta(Facebook/Instagram) | プライマリテキスト | 全文許可、ただしほとんどのプレースメントで約125文字前後で切り捨てを想定 |
| Meta(Facebook/Instagram) | 見出し | 切り捨て前に約27~40文字 |
| LinkedIn Ads | 導入テキスト | ほとんどのプレースメントで約150文字前後で切り捨て |
| LinkedIn Ads | 見出し | 約70文字前後で切り捨て |
出力構造(必須)
リクエストされたプラットフォームごとに、以下のセクション順序をMarkdownの##見出しとして使用します:
[プラットフォーム名]
バリエーションごとにテーブル:バリエーション | フック角度 | 見出し(文字数) | 本文/プライマリテキスト(文字数) | 説明文(該当する場合、文字数) | CTA。テーブルの後に、各バリエーションがその角度を選んだ理由を1行ずつ記載します。
フォーマットルール
- 1つのバッチ内のすべてのバリエーションは異なるフック角度を使用する必要があります — リクエストされたバリエーション数よりも少ない異なる角度しか不可能な場合は、黙って同じ角度を繰り返すのではなく、その旨をフラグしてください。
- 長さ制限のあるすべてのフィールドに文字数を表示します。
- ソースにない統計、レビュー数、主張を決して創作しないでください。
references/brand-voice.mdの禁止ワードとトーンを適用し、各プラットフォームの規範に適合させます(例:LinkedInはMetaよりフォーマルな傾向があります)。- ユーザーが明示的にCTAを独自の変数としてテストしたい場合を除き、CTA/リンクはバリエーション間で同一に保ちます。
出力例
架空の例:「ワンクリックエクスポート」向けのMetaバリエーション2つ。
### Meta(Facebook/Instagram)
| バリエーション | フック角度 | 見出し(文字数) | プライマリテキスト(文字数) | CTA |
|---|---|---|---|---|
| A | ペインポイント | 「手動エクスポートはもう終わり」(11) | 「手動エクスポートは戻ってこない10分です。ワンクリックエクスポートがプロセス全体を置き換えます — レポートを選ぶだけで完了。」(47) | 詳細を見る |
| B | 具体的ベネフィット | 「レポートをワンクリックでエクスポート」(16) | 「テンプレート不要。コピーペースト不要。レポートとフォーマットを選ぶだけです — 本日よりすべてのお客様にご利用いただけます。」(48) | 詳細を見る |
- バリエーションAは、購入者が既に感じている摩擦(手動エクスポートによる時間の浪費)に焦点を当てています。
- バリエーションBは、メカニズム自体をセールスポイント(どれだけ速く簡単になったか)として前面に出しています。