product-shots-ad-creative skill
Designs high-performing ad creatives across Instagram, Facebook, TikTok, LinkedIn, Google (Display / Demand Gen), YouTube, Pinterest, and X/Twitter — locking platform dimensions, safe zones, text overlay policy, character limits, industry visual DNA, ad objective hierarchy, composition patterns, CTA strategy, and prompt sanitation. Use when the user says "create an ad", "design an ad creative", "make an ad", "广告创意", "帮我做个广告图", "Instagram ad", "TikTok ad", "Facebook ad", "Google Display ad", "LinkedIn ad", "YouTube ad", "Pinterest ad", "promotional image", "campaign creative", "ad banner", "投放图", or any platform-specific ad request. Routed from `product-shots` when `asset_type == "ad"` or `is_promotion == True`.
Is the product-shots-ad-creative skill safe?
Clean: nothing in its files matched our rules. We read 12 files in the folder on 2026-09-28.
No findings.
Install the product-shots-ad-creative skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/motiful/product-shots.git /tmp/product-shots mkdir -p ~/.claude/skills cp -r /tmp/product-shots/skills/product-shots-ad-creative ~/.claude/skills/product-shots-ad-creative
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
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.
Engagement Principles
These rules apply across every Section. Read before acting.
- No generic one-size-fits-all creatives — every creative is locked to a specific (platform, format, objective, industry) tuple. No tuple = no work.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- Match the user's language — respond in English if the user writes English, in Chinese if Chinese. Never switch language unprompted.
- Use for option sets — when proposing platform / objective / industry / asset choices, wrap them in tags. Never ask multiple questions at once.
Execution Procedure
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 fieTOC 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).
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 StyGoal
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.
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.IMPORTANT — Suggestion Format
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 tags so the UI renders them as clickable chips.
Cross-Skill Notes
- Upstream router: product-shots routes here when assettype == "ad" or ispromotion == 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).
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.
More skills from motiful/product-shots
- Aproduct-shotsFront-door router for the product-shots ecosystem. Clarifies underspecified visual creation requests through a 4-stage state machine, injects platform visual DNA (Amazon + 7 social platforms) and industry visual DNA (7 industries), enforces a unified Negative Constraints prompt patch, then routes to one of five downstream business skills (product-shots-main-image / product-shots-detail-page / product-shots-multi-angle / product-shots-ad-creative / product-shots-social-post). Use when the user says "I need a product image", "design something for my listing", "I need content for Instagram", "make an ad for me", "make a cover image", "create a post", "做一个商品图", "帮我做个详情页", "帮我做个广告图", "做一个社媒图", "做一张图", "帮我设计", "做个封面" — i.e. any underspecified visual creation request that needs clarification before generation. This is the intent-routing hub of the product-shots ecosystem.
- Aproduct-shots-detail-pageDesigns Amazon A+ Content (formerly Enhanced Brand Content) — the 8 module suite that appears below the standard product carousel for Brand Registered sellers. Covers Hero Banner (21:9 / 2388×1024), Pain Points / Selling Points / Technology / Data / How-to-Use / Variants (3:2 / 1536×1024), and Endorsement (21:9), with mobile safe-area rule, 30pt text floor, and cross-module consistency anchored to the main image URL. Use when the user says "A+ page", "A+ content", "Amazon A+", "Brand Content", "Enhanced Brand Content", "亚马逊详情页", "A+ 详情页", "21:9 banner", "Hero Banner", "Amazon detail page module", or any request for the brand-registered detail-page module suite. For the 1:1 main image and carousel secondary images, see the `product-shots-main-image` skill.
- Aproduct-shots-image-genUnified image-generation engine for the product-shots ecosystem. Dispatches to the right model family (OpenAI gpt-image-2 / Gemini gemini-3-pro-image-preview Nano Banana Pro) with one parameterised script for text-to-image and image-to-image. Primary backend: OmniMaaS / Cloubic gateway (https://api.omnimaas.com/v1); also supports any OpenAI-SDK-compatible gateway via fallback env vars. Auto-resizes oversized reference images to prevent edge-proxy timeouts. Use when the user says "generate an image", "make a picture", "create a visual", "render this", "edit this image", "做一张图", "生成图片", "改这张图" — or when invoked as the image-generation backend by another product-shots skill (main-image / detail-page / ad-creative / social-post / multi-angle). NOT a creative-direction skill: takes a prompt + optional reference images, returns a file path.
- Aproduct-shots-main-imageDesigns Amazon-compliant main product images and the 7 secondary image types (Infographic / Multi-angle / Detail Shot / Lifestyle / Variants / What''s in Box / Size Reference) — with platform-mandatory main-image rules, conversion-rate-tuned secondary types per product category, and multi-image consistency anchored to the main image URL. Use when the user says "Amazon main image", "亚马逊主图", "product main image", "white background product image", "Amazon listing image", "亚马逊副图", "secondary images", "product carousel images", or any request for the 1:1 product image suite that lives on the Amazon detail page carousel. For A+ Content / detail-page modules (21:9 Hero Banner and 3:2 module layouts), see the `product-shots-detail-page` skill.
- Aproduct-shots-multi-angleGenerates 9 consistent multi-angle fashion-editorial portraits from a single reference image, with locked identity (face/skin/eyes), preserved hairstyle structure, faithful outfit/accessories, and a unified photography style across all frames. Use when the user says "multi-angle", "multi-angle shots", "九连拍", "多角度九连拍", "9-angle portraits", "fashion lookbook", "model consistency series", "consistent portraits from one photo", "generate 9 angles of this model", or "e-commerce model multi-angle pack". Part of the product-shots ecosystem for cross-border e-commerce apparel and accessory listings.
- Aproduct-shots-social-postDesigns social-platform-native visuals (Feed, Story, Reel, Carousel formats) for Instagram, TikTok, Facebook, Pinterest, RedNote, LinkedIn, X/Twitter and other social platforms — with platform-correct dimensions, safe zones, industry visual DNA, engagement hooks, and cross-slide consistency. Use when the user says "social post", "Instagram post", "IG post", "TikTok post", "Facebook post", "Pinterest pin", "social carousel", "feed post", "story post", "make a post", "design a social visual", "社媒帖", "做一个社媒图", or any underspecified social-media visual request. Routed from `product-shots` for the organic-social branch (non-ad).