mcpField
P
product-shots-ad-creative

product-shots-ad-creative

github.com/motiful营销与增长121137 次安装20 周前更新
代码仓库

关于 product-shots-ad-creative

product-shots-ad-creative 是用于规划广告创意的技能,面向需要按平台、格式、行业和广告目标制定素材的营销人员。它结合尺寸、安全区、文字规则及行业视觉规范,并在交付前执行自检。

主要功能

  1. 01按平台和格式制定创意
  2. 02遵循尺寸与安全区要求
  3. 03匹配行业和广告目标的视觉规范
  4. 04检查文字叠加与文案长度
  5. 05过滤生成提示词中的禁用词
  6. 06交付前执行自检

适用场景

  1. 01为特定平台和广告目标准备创意
  2. 02按品牌规范制作行业相关广告素材
  3. 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.md
banned-words.md
color-and-cta-strategy.md
composition-patterns.md
failures-defaults-output.md
hard-constraints.md
industry-style-rules.md
multi-platform-output.md
platform-style-profiles.md
quick-start-and-fidelity.md
workflow-and-self-check.md

详细介绍

广告创意设计

设计原生适配各平台的广告创意(尺寸正确、安全区合规、符合文字叠加政策、字符数符合限制),确保精准体现行业特征(针对每个行业 × 广告目标的视觉 DNA),并对提示词进行清理(不让平台名称 / UI 元素 / 虚假广告元素泄漏到图像生成器中)。本技能制定了涵盖 8 个平台 × 21 种格式的矩阵、六步工作流、自检关卡,以及一套违禁词系统和配套的正向保留规则。

参与原则

这些规则适用于每个部分。执行前请阅读。

  1. 禁止采用通用的、一刀切的创意方案 — 每项创意都必须对应一个特定的(平台、格式、目标、行业)组合。没有完整组合 = 不开展工作。
  2. 优先处理硬性约束 — 第 0 部分(平台尺寸 / 安全区 / 文字叠加 / 广告文案字符数限制)在步骤 0 加载,并在交付前的自检关卡重新验证。“Google Display 上出现文字”或“CTA 位于 TikTok 底部 18% 区域”等违规行为可能导致平台下架广告,或使广告无法显示。
  3. 品牌名称和用户文案必须忠实保留 — 用户指定的每个品牌名称、标语、CTA 文本以及价格 / 优惠,都必须在交付内容中原样呈现。绝不改述、翻译或替换用户提供的文案。
  4. 行业 × 目标决定构图和配色 — 根据交叉决策矩阵(第 8 / 9 部分)选择构图模式和配色策略,而非凭通用的风格直觉判断。
  5. 平台风格档案不是风格建议,而是约束 — TikTok 要求反广告美学,并且品牌 / 产品 / CTA 信息完整;LinkedIn 要求字体 ≥60pt;Pinterest 要求营造令人向往的场景;Google Display 要求文字叠加为零。
  6. 从图像生成器提示词中过滤违禁词 — 平台名称、广告 UI 术语和品牌工具名称不得传递给模型。这些内容仅用于内部路由和规则选择。
  7. 正向指令必须保护产品包装上的原生文字 — “不添加文字叠加”不得删除产品本身印刷的文字。始终将违禁词过滤器与正向保留指令搭配使用(references/banned-words.md §Required Positive Instruction)。
  8. 使用用户所用的语言 — 用户用英语提问时使用英语回复,用中文提问时使用中文回复。切勿在用户未要求时擅自切换语言。
  9. 使用 <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 级别。在 EP 步骤 0 与 hard-constraints.md 一同加载,并在步骤 6 重新验证。从 hard-constraints.md 中拆分出来,以确保两个文件都不超过 300 行。
  • references/quick-start-and-fidelity.md — 第 3 节(目标用户)、第 4 节(快速入门 — 7 个必填字段)、第 5 节(品牌名称与用户文案忠实度规则)。
  • references/workflow-and-self-check.md — 第 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 将其渲染为可点击的选项标签。

跨技能说明

  • 上游路由器:当 asset_type == "ad" 或 is_promotion == True 时,product-shots 会路由至此。快速入门字段的条件预填发生在 product-shots 的澄清状态机中;实际的六步工作流在此技能内运行(第 6 节)。
  • 快速入门依赖项:缺少 7 个必填字段中的任何一个时,此技能会将澄清工作交由 product-shots 处理(“如果缺少其中任何一项,请先使用 hub。”)。这是条件预填,不是移交——字段填齐后,控制权会返回此处。
  • Brand Kit:用户提供 Brand Kit(文件路径或内联颜色/字体/logo)时,步骤 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 个必填字段中的任何一个时调用(快速入门关卡)。
  • product-shots-image-gen — 在组装输出时调用,根据组合后的提示词实际生成图像。
  • Brand Kit 输入(步骤 2)— 直接解析用户提供的文件路径或内联字段。无需调用外部工具。

评论

支持 Markdown