product-shots-ad-creative について
product-shots-ad-creativeは、プラットフォーム、形式、業界、広告目的に合わせた広告クリエイティブを企画するスキルです。寸法、安全領域、テキスト規則、業界別のスタイル規則を適用し、納品前にセルフチェックを行います。
主な機能
- 01プラットフォームと形式別の企画
- 02寸法と安全領域の要件適用
- 03業界と目的に応じた視覚ルール
- 04テキスト重ねと文案制限の確認
- 05画像プロンプトから禁止語を除去
- 06納品前のセルフチェック
活用シーン
- 01特定のプラットフォームと広告目的向けの企画
- 02ブランド制約に沿った業界別広告の作成
- 03広告文案と画像プロンプトの制限確認
MCP 対応
組み立てたプロンプトから画像を生成するためproduct-shots-image-genを利用し、必須項目が不足している場合はproduct-shotsを呼び出して確認します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ motiful/ product-shots --skill product-shots-ad-creativeインストール後、Claude Code で/product-shots-ad-creativeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/ad-objective-rules.mdbanned-words.mdcolor-and-cta-strategy.mdcomposition-patterns.mdfailures-defaults-output.mdhard-constraints.mdindustry-style-rules.mdmulti-platform-output.mdplatform-style-profiles.mdquick-start-and-fidelity.mdworkflow-and-self-check.md詳細
広告クリエイティブデザイン
プラットフォームに最適化された(適切な寸法、安全領域、テキストオーバーレイの方針、文字数制限)、業界に即した(業界 × 広告目的ごとのビジュアルDNA)、プロンプトがサニタイズされた(プラットフォーム名/UI要素/偽の広告要素が画像生成に紛れ込まない)広告クリエイティブをデザインします。このスキルでは、8プラットフォーム × 21フォーマットのマトリックス、6段階のワークフロー、セルフチェックゲート、禁止語システム、およびその肯定的な保持ルールを説明します。
エンゲージメントの原則
以下のルールは、すべてのセクションに適用されます。作業を始める前にお読みください。
- 汎用的な万能クリエイティブは禁止です — すべてのクリエイティブは、特定の(プラットフォーム、フォーマット、目的、業界)の組み合わせに紐付けます。組み合わせが指定されていなければ、作業は行いません。
- ハード制約を最優先します — セクション0(プラットフォームの寸法/安全領域/テキストオーバーレイ/広告コピーの文字数制限)はステップ0で読み込み、納品前にセルフチェックゲートで再検証します。「Google Displayでテキストを載せる」や「TikTokの下部18%にCTAを配置する」といった違反は、プラットフォームによる広告の取り下げにつながったり、広告が見えなくなったりします。
- ブランド名とユーザー提供コピーの忠実性は必須レベルです — ユーザーが指定したブランド名、スローガン、CTAテキスト、価格/オファーはすべて、成果物に一字一句そのまま含める必要があります。ユーザー提供のコピーを言い換えたり、翻訳したり、別の表現に置き換えたりしてはいけません。
- 業界 × 目的が構成と色を決定します — 汎用的なスタイルの感覚ではなく、相互判断マトリックス(セクション8/セクション9)から構成パターンと色の戦略を選びます。
- プラットフォームのスタイルプロファイルは単なるスタイルの提案ではありません — 制約です。TikTokでは広告らしくない美しさに加えて、ブランド/製品/CTAの情報をすべて含める必要があります。LinkedInでは60pt以上のフォント、Pinterestでは憧れを抱かせる情景、Google Displayではテキストオーバーレイを一切使用しないことが求められます。
- プロンプトの禁止語は画像生成プロンプトから除外します — プラットフォーム名、広告UI用語、ブランドツール名をモデルに渡してはいけません。これらはルーティングとルール選択のために内部でのみ使用します。
- 必須の肯定的指示により、パッケージに印刷されたテキストを保護します — 「テキストオーバーレイなし」によって、製品自体に印刷されたテキストまで削除してはいけません。禁止語フィルターは、必ず肯定的な保持指示(references/banned-words.md §Required Positive Instruction)と組み合わせてください。
- ユーザーの言語に合わせます — ユーザーが英語で書いた場合は英語で、中国語で書いた場合は中国語で回答します。求められていない限り、言語を切り替えてはいけません。
- 選択肢の提示には
<suggestion>を使います — プラットフォーム/目的/業界/アセットの候補を提案する場合は、<suggestion>タグで囲みます。複数の質問を一度にしてはいけません。
実行手順
generate_ad_creative(user_request) → variant[] + self_check
# This EP IS the inlined procedural backbone. Each Step calls the EP entry point
# of its corresponding reference module — bindings below are bidirectional (every
# call has a matching `def` in references/*.md).
# Step 0 — Pin hard constraints (MUST, before any decision)
load references/hard-constraints.md
→ Platform Dimensions / Safe Zones / Text Overlay Rules / Ad Copy Char Limits
load references/banned-words.md
→ Prompt Banned Words + Required Positive Instruction (Preserve Native Packaging Text)
keep these in working context for every step.
defer enforcement to Step 6 — `enforce_constraints(format, output_text, prompt_text, user_copy)`
will be called there with the four params built up over Steps 1–5.
# Step 1 — Platform + Objective (Quick Start: 7 required fields)
brief_state = preflight(user_request) # references/quick-start-and-fidelity.md
collect 7_required_fields:
platform, format, ad_objective, industry,
visual_assets, brand_kit, copy (brand_name / slogan / cta / price)
missing = [f for f in 7_required_fields if not provided(f)]
if missing:
filled = Skill("product-shots", f"fill missing fields: {missing}")
# `Skill("product-shots", "fill missing fields: <list>")` — the hub/router skill owns Quick Start clarification.
# ad-creative owns the post-fill workflow. Do not substitute with manual clarification questions.
assert filled.delivered # Step 2 requires the filled brief
brief = filled.brief
else:
brief = brief_state.ready_brief
for phrase in [brief.copy.brand_name, brief.copy.slogan, brief.copy.cta, brief.copy.price]:
if phrase: register_protected_phrase(phrase) # references/banned-words.md
# run_workflow(brief) is the canonical procedural backbone. Steps 2–6 below
# unfold it inline so the EP stays readable; each named call matches a `def`
# entry in the corresponding reference module.
result = run_workflow(brief) # references/workflow-and-self-check.md
# Step 2 — Industry + Brand
industry = match_industry(user_request)
bundle = load_industry_bundle(industry) # references/industry-style-rules.md
# (color palette / composition / typography / CTA tone / forbidden)
if brief.brand_kit:
kit = parse_brand_kit(brief.brand_kit) # references/industry-style-rules.md
apply_brand_kit_overrides(bundle, kit):
• brand colors → primary palette (overrides industry defaults)
• brand fonts → headlines
• brand logo → composed per platform safe-zone rules
# Step 3 — Visual Asset Audit
"Available assets determine the creative ceiling."
classified_assets = classify(brief.visual_assets) # references/composition-patterns.md
# ∈ {has_product_photo, has_model_photo, has_logo_only, has_none, ...}
# drives composition pattern selection in Step 4
# Step 4 — Composition + Color (Industry × Objective cross-decision)
composition = select_composition_pattern(industry, ad_objective, classified_assets)
# references/composition-patterns.md (12 patterns)
color_strategy = pick_color_strategy(industry, brief.brand_kit)
# references/color-and-cta-strategy.md §Color Strategy
cta_strategy = pick_cta_strategy(ad_objective, platform)
# references/color-and-cta-strategy.md §CTA Strategy
apply_objective_rules(creative, ad_objective)
# references/ad-objective-rules.md — info hierarchy / cta_intensity / text_density
validate_color_scheme(color_strategy.primary, industry)
# references/color-and-cta-strategy.md / industry-style-rules.md
# Step 5 — Platform Adaptation Layer (inject platform-specific differences)
for each target_platform in brief.platforms:
apply_platform_profile(prompt, target_platform)
# references/platform-style-profiles.md (tone / production / text style / cadence)
prompt = sanitize_prompt(prompt, protected_phrases)
# references/banned-words.md — filter banned words, restore user copy,
# inject Required Positive Instruction (Preserve Native Packaging Text)
multi_platform_fanout(brief, brief.platforms)
# references/multi-platform-output.md (per-platform output + cross-format consistency)
# Section 16 — fill any deferred field with DEFAULTS
for field in required_fields:
if not provided(field) and user_deferred(field):
use DEFAULTS[field] # references/failures-defaults-output.md §Defaults
# Step 6 — Self-Check Gate (mandatory) — Quality Check Before Delivery
for each variant:
findings = enforce_constraints(format, output_text, prompt_text, user_copy)
# references/hard-constraints.md — re-validates dimensions / safe zones /
# text overlay / char limits / banned words / Required Positive Instruction /
# Brand Name & User Copy Fidelity (user_copy preserved verbatim)
if findings:
revise prompt and regenerate
continue
apply_objective_rules(variant, ad_objective) # Check 10 promotion validation
validate_tiktok_native_aesthetic(variant) # Check 7 platform_tone (when platform == tiktok)
validate_color_scheme(dominant_colors, industry) # Check 6 industry forbidden colors
if all pass → emit variant
# Output assembly — variant[] + self_check_score block per
# references/failures-defaults-output.md §Section 17 VARIANT_OUTPUT_SCHEMA.
emit variant[] + self_check_score
on user request → iterate
on user satisfied:
Run: `Skill("product-shots-image-gen", f"render variants: {variant[].prompt} use_case=text-overlay")`
Do not substitute with manual image-generation prompts or direct model calls.
Record output — final delivery to the user requires the rendered images.
use_case=text-overlay is REQUIRED for ad-creative — ad copy (headlines,
CTAs, price chips) MUST render legibly; this routes to gpt-image-2.
See product-shots-image-gen/references/model-selection.md.
モジュールファイルの目次
references/hard-constraints.md— セクション 5(厳格な制約、4 つのサブセクション:プラットフォームの寸法/セーフゾーン/テキストオーバーレイのルール/広告コピーの文字数制限)。MUST レベル。EP ステップ 0 で読み込み、ステップ 6 で再検証します。references/banned-words.md— セクション 20(プロンプトで禁止されている単語、3 つのサブセクション:例外/禁止ワード一覧/必須の肯定的な指示)。MUST レベル。hard-constraints.mdとともに EP ステップ 0 で読み込み、ステップ 6 で再検証します。両ファイルを 300 行以内に保つため、hard-constraints.mdから分割されています。references/quick-start-and-fidelity.md— セクション 3(対象ユーザー)、セクション 4(クイックスタート — 7 つの必須項目)、セクション 5(ブランド名とユーザーコピーの忠実性ルール)。references/workflow-and-self-check.md— セルフチェックゲートを備えた手順の中核となる、セクション 6(コアワークフローの 6 ステッププロセス)。references/industry-style-rules.md— セクション 7(業界スタイルのルール)、業界 × ビジュアルのパラメーター(色、構図、タイポグラフィ、CTA のトーン、禁止事項、市場シェア)。references/ad-objective-rules.md— セクション 8(広告目的のルール — 目的によって情報の階層が決まります)。references/platform-style-profiles.md— セクション 9(プラットフォーム別スタイルプロファイル — クイックリファレンス。プラットフォームごとのトーン/制作/テキストスタイル/更新頻度/効果的な要素/避けるべき要素)。references/composition-patterns.md— セクション 10(構図パターン — 共通パターンライブラリ、12 パターン)。references/color-and-cta-strategy.md— セクション 11(カラー戦略:業界 × カラーマトリクス+カラーのルール)+セクション 12(CTA 戦略)。references/multi-platform-output.md— セクション 13(複数プラットフォーム向け出力ルール)+セクション 14(クリエイティブの疲弊と更新頻度)。references/failures-defaults-output.md— セクション 15(よくある失敗パターン)+セクション 16(デフォルト — ユーザーが指定しない場合のフォールバック値)+セクション 17(出力形式)+セクション 18(パフォーマンスベンチマーク)。
セクション一覧
Goal — No Generic One-Size-Fits-All Creatives → SKILL.md §Goal
Language Rule → SKILL.md §Language Rule
Target Users — Small Business Owners and Marketers → references/quick-start-and-fidelity.md §Target Users
Quick Start — 7 Required Fields Before Generating → references/quick-start-and-fidelity.md §Quick Start
Brand Name & User Copy Fidelity Rule → references/quick-start-and-fidelity.md §Fidelity Rule
Hard Constraints — Must Not Be Violated → references/hard-constraints.md
Platform Dimensions — Quick Reference
Safe Zones — Each Platform's UI Overlays Differ Completely
Text Overlay Rules — Text Policies Vary Drastically Across Platforms
Ad Copy Character Limits
Core Workflow — Six-Step Process → references/workflow-and-self-check.md
Step 1: Platform + Objective
Step 2: Industry + Brand
Step 3: Visual Asset Audit — Available Assets Determine the Creative Ceiling
Step 4: Composition + Color — Determined by Industry × Objective
Step 5: Platform Adaptation Layer — Inject Platform-Specific Differences
Step 6: Self-Check Gate — Quality Check Before Delivery
Industry Style Rules → references/industry-style-rules.md
Ad Objective Rules — Objective Determines Info Hierarchy → references/ad-objective-rules.md
Platform Style Profiles — Quick Reference → references/platform-style-profiles.md
Composition Patterns — Shared Pattern Library → references/composition-patterns.md
Color Strategy — Industry-Based Color Guide → references/color-and-cta-strategy.md §Color Strategy
Industry × Color Matrix
Color Rules
CTA Strategy — Call-to-Action Design Rules → references/color-and-cta-strategy.md §CTA Strategy
Multi-Platform Output Rules → references/multi-platform-output.md §Multi-Platform Output
Creative Fatigue & Refresh Cadence → references/multi-platform-output.md §Refresh Cadence
Common Failure Modes → references/failures-defaults-output.md §Common Failure Modes
Defaults — Fallback Values When User Doesn't Specify → references/failures-defaults-output.md §Defaults
Output Format — Standard Output per Variant → references/failures-defaults-output.md §Output Format
Performance Benchmarks — Key Data Reference → references/failures-defaults-output.md §Performance Benchmarks
Prompt Banned Words — Avoid Watermarks, UI Artifacts, and Fake Ad Elements
→ references/banned-words.md
Exception: User-Specified Content Passthrough
Banned Words List
Required Positive Instruction — Preserve Native Packaging Text
IMPORTANT!Suggestion → SKILL.md §IMPORTANT — Suggestion Format
目標
プラットフォームに適した(正確な寸法、セーフゾーン、テキストオーバーレイのポリシー、文字数制限)、業界に即した(業界 × 広告目的に合ったビジュアルの特徴)、プロンプトに不要な要素がない(偽の UI/透かし/プラットフォーム名が画像ジェネレーターに漏れない)広告クリエイティブをデザインします。汎用的な「すべてに使える」画像の生成は拒否します。すべてのバリエーションは、納品前にセルフチェックゲートを通過します。
言語ルール
Always respond in the user's language.
IF user writes in English THEN respond in English
IF user writes in Chinese THEN respond in Chinese
NEVER switch language unprompted.
重要 — 提案の形式
IMPORTANT!Suggestion:
Always use <suggestion> format to guide the user.
Do not ask several questions at once.
Example: use <suggestion> format to provide options like
Instagram (Feed / Story / Reel / Carousel) / Facebook / TikTok / LinkedIn /
Google Display / Google Demand Gen / YouTube / Pinterest / X (Twitter) / Other platform.
これはフロントエンドのレンダリング指示です。選択肢は <suggestion> タグで囲み、UI 上でクリック可能なチップとして表示します。
スキル間の補足事項
- 上流ルーター:
product-shotsは、asset_type == "ad"またはis_promotion == Trueの場合にここへルーティングします。Quick Start フィールドの条件付き事前入力は、product-shotsの確認ステートマシン内で行われます。実際の6ステップのワークフローはこのスキル内で実行されます(セクション6)。 - Quick Start の依存関係:必須フィールド7つのうち1つでも不足している場合、このスキルは確認のために
product-shotsに処理を委ねます(「不足している項目があれば、まずハブを使用してください。」)。これは条件付き事前入力であり、引き継ぎではありません。フィールドが埋まると、制御はここに戻ります。 - Brand Kit:ユーザーが Brand Kit(ファイルパス、またはインラインの色/フォント/ロゴ)を指定した場合、ステップ2でハード制約として統合します。Brand Kit は業界標準の色に優先し、同じ
product-shotsの各スキルと共有される、スキル間の一貫性を保つ基準となります。 - 業界のビジュアル DNA は、
product-shots-social-postおよびproduct-shotsと共有されます(スキル間の一貫性)。 - 画像生成バックエンド:レンダリング用プロンプトは
product-shots-image-gen(product-shots の画像生成エンジン)に送られ、基盤となる API(OmniMaaS / OpenAI / Gemini)が抽象化されます。 - 隣接する境界スキル(同系列のスキルであり、
product-shots-ad-creativeの内部から呼び出されることはありません):product-shots-social-post(広告目的のレイヤーを含まないオーガニックなソーシャルコンテンツ)、product-shots-main-image(Amazon 準拠の商品メイン画像)、product-shots-detail-page(Amazon A+ Content)、product-shots-multi-angle(モデルの一貫性を保ったポートレートシリーズ)。
ツール
product-shots— 必須フィールド7つのうち1つでも不足している場合に呼び出されます(Quick Start のゲート)。product-shots-image-gen— 出力の組み立て時に呼び出され、作成したプロンプトから実際に画像を生成します。- Brand Kit の入力(ステップ2)— ユーザーが指定したファイルパスまたはインラインフィールドから直接解析されます。外部ツールの呼び出しは不要です。