product-shots-ad-creative

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Ad Creative Design

广告创意设计

Designs ad creatives that are platform-native (correct dimensions, safe zones, text overlay policy, character limits), industry-precise (visual DNA per industry × ad objective), and prompt-sanitized (no platform names / UI artifacts / fake ad elements leak into the image generator). The skill lays out an 8-platform × 21-format matrix, a six-step workflow, a self-check gate, and a banned-words system with a positive-preservation companion rule.
设计符合平台原生规范的广告创意(正确的尺寸、安全区域、文字叠加策略和字符限制)、符合行业精度要求的广告创意(按行业 × 广告目标匹配视觉 DNA),并确保 Prompt 洁净(不会有虚假 UI、水印或平台名称泄露到图像生成器中)。该 Skill 包含一个 8 平台 × 21 格式矩阵、六步工作流、自检关卡,以及带正向保留配套规则的禁用词系统。

Engagement Principles

交互原则

These rules apply across every Section. Read before acting.
  1. No generic one-size-fits-all creatives — every creative is locked to a specific (platform, format, objective, industry) tuple. No tuple = no work.
  2. Hard Constraints first — Section 0 (Platform Dimensions / Safe Zones / Text Overlay / Ad Copy Char Limits) is loaded at Step 0 and re-validated at the Self-Check Gate before delivery. Violations like "text on Google Display" or "CTA in TikTok bottom 18%" cause platform takedowns or render the ad invisible.
  3. Brand Name & User Copy Fidelity is MUST-level — every brand name, slogan, CTA text, and price/offer the user specified must appear verbatim in the deliverable. Never paraphrase, translate, or substitute user-supplied copy.
  4. Industry × Objective drives composition + color — pick the composition pattern and color strategy from the cross-decision matrix (Section 8 / Section 9), not from generic style intuition.
  5. Platform Style Profiles are not stylistic suggestions — they are constraints. TikTok requires anti-ad aesthetic AND complete brand/product/CTA info; LinkedIn requires ≥60pt fonts; Pinterest requires aspirational scenes; Google Display requires zero text overlay.
  6. Prompt Banned Words are filtered out of the image generator prompt — platform names, ad-UI terms, brand-tool names never reach the model. They are used internally for routing and rule selection only.
  7. Required Positive Instruction protects native packaging text — "no text overlay" must not delete printed text on the product itself. Always pair the banned-words filter with the positive preservation instruction (references/banned-words.md §Required Positive Instruction).
  8. Match the user's language — respond in English if the user writes English, in Chinese if Chinese. Never switch language unprompted.
  9. Use
    <suggestion>
    for option sets
    — when proposing platform / objective / industry / asset choices, wrap them in
    <suggestion>
    tags. Never ask multiple questions at once.
以下规则适用于所有章节。执行前请阅读。
  1. 不使用通用“一刀切”创意——每个创意都必须锁定到特定的(平台、格式、目标、行业)四元组。未确定完整组合就不执行。
  2. 优先处理硬性约束——第 0 节(平台尺寸 / 安全区域 / 文字叠加 / 广告文案字符限制)会在第 0 步加载,并在交付前的 Self-Check Gate(自检关卡)中重新验证。诸如“在 Google Display 上添加文字”或“在 TikTok 底部 18% 区域放置 CTA”等违规行为,可能导致广告被平台下架或无法显示。
  3. 品牌名称与用户文案忠实度为 MUST 级别——用户指定的每个品牌名称、口号、CTA 文案和价格/优惠都必须逐字出现在交付物中。绝不可改写、翻译或替换用户提供的文案。
  4. 行业 × 目标决定构图与配色——根据交叉决策矩阵(第 8 节 / 第 9 节)选择构图模式和颜色策略,而不是依赖泛化的风格直觉。
  5. 平台风格档案不是风格建议,而是约束——TikTok 要求弱化广告感(anti-ad aesthetic),同时具备完整的品牌/产品/CTA 信息;LinkedIn 要求字体 ≥60pt;Pinterest 要求富有 aspirational 感的场景;Google Display 要求完全不含文字叠加。
  6. Prompt 禁用词会从图像生成器 Prompt 中过滤掉——平台名称、广告 UI 术语和品牌工具名称绝不能传递给模型,仅用于内部路由和规则选择。
  7. 必需的正向指令用于保护产品包装原生文字——“no text overlay”不得删除产品本身印刷的文字。始终将禁用词过滤器与正向保留指令配套使用(参阅
    references/banned-words.md
    §Required Positive Instruction)。
  8. 匹配用户的语言——用户使用英语时使用英语回复,使用中文时使用中文回复。未经提示绝不切换语言。
  9. 使用
    <suggestion>
    表示选项集合
    ——在提供平台 / 目标 / 行业 / 素材选项时,使用
    <suggestion>
    标签包裹。绝不要一次提出多个问题。

Execution Procedure

执行流程

generate_ad_creative(user_request) → variant[] + self_check
generate_ad_creative(user_request) → variant[] + self_check

This EP IS the inlined procedural backbone. Each Step calls the EP entry point

This EP IS the inlined procedural backbone. Each Step calls the EP entry point

of its corresponding reference module — bindings below are bidirectional (every

of its corresponding reference module — bindings below are bidirectional (every

call has a matching
def
in references/*.md).

call has a matching
def
in references/*.md).

Step 0 — Pin hard constraints (MUST, before any decision)

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.
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)

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
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

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

unfold it inline so the EP stays readable; each named call matches a
def

entry in the corresponding reference module.

entry in the corresponding reference module.

result = run_workflow(brief) # references/workflow-and-self-check.md
result = run_workflow(brief) # references/workflow-and-self-check.md

Step 2 — Industry + Brand

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
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

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
"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)

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
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)

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)
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

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
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

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
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

Output assembly — variant[] + self_check_score block per

references/failures-defaults-output.md §Section 17 VARIANT_OUTPUT_SCHEMA.

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.
undefined
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.
undefined

TOC of Module Files

模块文件目录

  • references/hard-constraints.md
    — Section 5 (Hard Constraints, 4 sub: Platform Dimensions / Safe Zones / Text Overlay Rules / Ad Copy Character Limits). MUST-level. Loaded at EP Step 0 and re-validated at Step 6.
  • references/banned-words.md
    — Section 20 (Prompt Banned Words, 3 sub: Exception / Banned Words List / Required Positive Instruction). MUST-level. Loaded at EP Step 0 alongside hard-constraints.md and re-validated at Step 6. Split from hard-constraints.md to keep both files under the 300-line cap.
  • references/quick-start-and-fidelity.md
    — Section 3 (Target Users), Section 4 (Quick Start — 7 Required Fields), Section 5 (Brand Name & User Copy Fidelity Rule).
  • references/workflow-and-self-check.md
    — Section 6 (Core Workflow Six-Step Process), the procedural backbone with the Self-Check Gate.
  • references/industry-style-rules.md
    — Section 7 (Industry Style Rules), industry × visual parameters (color, composition, typography, CTA tone, forbidden, market share).
  • references/ad-objective-rules.md
    — Section 8 (Ad Objective Rules — Objective Determines Information Hierarchy).
  • references/platform-style-profiles.md
    — Section 9 (Platform Style Profiles — Quick Reference, per-platform tone / production / text style / refresh cadence / what works / avoid).
  • references/composition-patterns.md
    — Section 10 (Composition Patterns — Shared Pattern Library, 12 patterns).
  • references/color-and-cta-strategy.md
    — Section 11 (Color Strategy: Industry × Color Matrix + Color Rules) + Section 12 (CTA Strategy).
  • references/multi-platform-output.md
    — Section 13 (Multi-Platform Output Rules) + Section 14 (Creative Fatigue & Refresh Cadence).
  • references/failures-defaults-output.md
    — Section 15 (Common Failure Modes) + Section 16 (Defaults — Fallback Values When User Doesn't Specify) + Section 17 (Output Format) + Section 18 (Performance Benchmarks).
  • references/hard-constraints.md
    ——第 5 节(硬性约束,4 个子项:平台尺寸 / 安全区域 / 文字叠加规则 / 广告文案字符限制)。MUST 级别。在 EP 第 0 步加载,并在第 6 步重新验证。
  • references/banned-words.md
    ——第 20 节(Prompt 禁用词,3 个子项:例外 / 禁用词列表 / 必需的正向指令)。MUST 级别。在 EP 第 0 步与硬性约束一同加载,并在第 6 步重新验证。从硬性约束中拆分,确保两个文件均不超过 300 行。
  • references/quick-start-and-fidelity.md
    ——第 3 节(目标用户)、第 4 节(快速开始——生成前需要 7 个必填字段)、第 5 节(品牌名称与用户文案忠实度规则)。
  • references/workflow-and-self-check.md
    ——第 6 节(核心工作流六步流程),包含 Self-Check Gate 的流程主干。
  • 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 节(性能基准)。

Section Index

章节索引

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
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

Goal

目标

Design ad creatives that are platform-native (precise dimensions, safe zones, text overlay policy, character limits), industry-precise (visual DNA matched to industry × ad objective), and prompt-clean (no fake UI / watermarks / platform names leak into the image generator). Refuse to produce a generic "one-size-fits-all" image. Every variant passes a self-check gate before delivery.
设计符合平台原生规范(精确尺寸、安全区域、文字叠加策略、字符限制)、符合行业精度要求(视觉 DNA 与行业 × 广告目标相匹配),且 Prompt 洁净(虚假 UI / 水印 / 平台名称不会泄露到图像生成器)的广告创意。拒绝生成通用的“一刀切”图片。每个变体在交付前都必须通过自检关卡。

Language Rule

语言规则

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.
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 Format

IMPORTANT — 建议格式

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.
This is the front-end rendering instruction — option sets are wrapped in
<suggestion>
tags so the UI renders them as clickable chips.
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 将其呈现为可点击的标签页。

Cross-Skill Notes

跨 Skill 说明

  • Upstream router:
    product-shots
    routes here when
    asset_type == "ad"
    or
    is_promotion == True
    . The conditional pre-fill for Quick Start fields happens inside
    product-shots
    's clarification state machine; the actual six-step workflow runs inside this skill (Section 6).
  • Quick Start dependency: when any of the 7 required fields is missing, this skill defers to
    product-shots
    for clarification (
    "If any of these are missing, use hub first."
    ). This is conditional pre-fill, not a hand-off — once fields are filled, control returns here.
  • Brand Kit: when the user provides a Brand Kit (file path or inline colors / fonts / logo), Step 2 integrates it as hard constraints. Brand Kit overrides industry-default colors and is a cross-skill consistency anchor shared with all peer product-shots skills.
  • Industry Visual DNA is shared with
    product-shots-social-post
    and
    product-shots
    (cross-skill consistency).
  • Image generation backend: rendered prompts are dispatched to
    product-shots-image-gen
    (the product-shots image-gen engine) which abstracts the underlying API (OmniMaaS / OpenAI / Gemini).
  • Adjacent boundary skills (peers, not invoked from inside
    product-shots-ad-creative
    ):
    product-shots-social-post
    (organic social content, no ad-objective layer),
    product-shots-main-image
    (Amazon-compliant product main image),
    product-shots-detail-page
    (Amazon A+ Content),
    product-shots-multi-angle
    (model-consistency portrait series).
  • 上游路由器:当
    asset_type == "ad"
    或
    is_promotion == True
    时,
    product-shots
    会将任务路由至此。Quick Start 字段的条件式预填发生在
    product-shots
    的澄清状态机中;实际的六步工作流在此 Skill 内部运行(第 6 节)。
  • Quick Start 依赖:7 个必填字段中任意字段缺失时,此 Skill 会委托
    product-shots
    进行澄清(
    "If any of these are missing, use hub first."
    )。这是条件式预填,而不是交接——字段填充完成后,控制权会返回此 Skill。
  • Brand Kit:用户提供 Brand Kit(文件路径或内联颜色 / 字体 / Logo)时,第 2 步会将其作为硬性约束集成。Brand Kit 会覆盖行业默认颜色,并作为所有同级 product-shots Skills 共享的一致性锚点。
  • Industry Visual DNA 由
    product-shots-social-post
    和
    product-shots
    共享,以保持跨 Skill 一致性。
  • 图像生成后端:渲染后的 Prompt 会分派给
    product-shots-image-gen
    (product-shots 图像生成引擎),由其抽象底层 API(OmniMaaS / OpenAI / Gemini)。
  • 相邻边界 Skills(同级,但不会从
    product-shots-ad-creative
    内部调用):
    product-shots-social-post
    (自然社交内容,不含广告目标层)、
    product-shots-main-image
    (符合 Amazon 规范的产品主图)、
    product-shots-detail-page
    (Amazon A+ Content)、
    product-shots-multi-angle
    (模特一致性肖像系列)。

Tooling

工具调用

  • product-shots
    — invoked when any of the 7 required fields is missing (Quick Start gate).
  • product-shots-image-gen
    — invoked at output assembly to actually generate images from the composed prompts.
  • Brand Kit input (Step 2) — parsed directly from a user-provided file path or inline fields. No external tool call required.
  • product-shots
    ——7 个必填字段中任意字段缺失时调用(Quick Start 关卡)。
  • product-shots-image-gen
    ——在输出组装阶段调用,根据已组合的 Prompt 实际生成图像。
  • Brand Kit 输入(第 2 步)——直接从用户提供的文件路径或内联字段解析,无需调用外部工具。