Skip to content

motiful/product-shots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

product-shots

One product photo in. Your full e-commerce visual stack out.

License: MIT Skills: 7 Agent Skills Platforms: 5 Status: alpha


Drop one photo of your SKU into Claude Code. Get back the full visual stack a cross-border listing needs — Amazon-compliant main images, A+ detail-page modules, a 9-angle fashion-on-model lookbook, platform-native ads, and social posts. All as open-source Agent Skills, no SaaS lock-in.


Gallery

Real outputs from the five user-facing product-shots-* skills. Two products, one section per skill, two examples per skill, two-or-more images per example. Generated end-to-end via product-shots-image-gen against the OmniMaaS gateway (gemini-3-pro-image-preview). No manual prompt tuning beyond what the skill emits.

product-shots-main-image — Amazon-compliant main + secondary

Marketplace-compliant main image (pure white, ≥85% frame fill, no overlay text) + a secondary detail shot. Amazon's 9 MUST rules are encoded as prompt fields, not patched post-render.

☕ Smart espresso machine 👗 Women's floral midi dress
Main, white bg Secondary, 3/4 detail Main, full body Fabric closeup

product-shots-detail-page — A+ Content modules

Hero band + feature module + lifestyle scene + spec callouts, with cross-image consistency anchors so the SKU doesn't morph between modules.

☕ Smart espresso machine 👗 Women's floral midi dress
Hero band, 21:9 Feature module Hero band, lifestyle Café feature, 3:2

product-shots-multi-angle — fashion-on-model lookbook

14 identity anchors (face / hair / skin / eyes / outfit / accessories / lighting / camera) locked across all frames so every angle reads as the same model wearing the same look. Specialized for fashion-on-model lookbooks; works on products without a model but with reduced identity fidelity.

👗 Floral midi dress — 9 canonical angles (killer demo)

1. Front 2. 3/4 front 3. Side
4. 3/4 back 5. Back 6. Detail closeup
7. On hanger 8. Lifestyle indoor 9. Lifestyle outdoor

☕ Smart espresso machine — 2-angle product rotation (non-fashion fallback)

Front 3/4 angle

product-shots-ad-creative — platform-native ads

Per-platform style profiles (TikTok UGC ≠ Meta editorial ≠ Google polished) baked into the prompt; banned-words filter applied; user copy preserved verbatim.

☕ Smart espresso machine 👗 Women's floral midi dress
TikTok UGC, 9:16 Meta feed, 1:1 TikTok UGC, 9:16 Meta feed, 1:1

product-shots-social-post — feed / story / reel / carousel

Industry-aware DNA preset (beauty ≠ hardware ≠ apparel each get a different visual language) + 14-point self-check before render.

☕ Smart espresso machine 👗 Women's floral midi dress
IG feed, 1:1 IG story, 9:16 IG carousel, 1:1 IG story, 9:16

The Problem

One SKU on a cross-border listing needs a brutal visual pipeline: 7 Amazon images at the right ratio and white-background spec, an A+ detail page with module-to-module consistency, a 9-angle on-model shoot for clothing or footwear, 4-8 ad-creative variants across TikTok / Meta / Google, and 6 social posts sized for 5 platforms — all rendering the same product without drifting into a different SKU.

Sellers either pay a closed SaaS to do it (and hand over their brand assets), hire a studio (slow, expensive, single-channel), or burn weeks tuning Midjourney prompts by hand. None of those compose with the rest of an AI-first workflow.

product-shots ships the same pipeline as open-source Claude Code skills. It runs in your terminal, lives next to your other skills, never sees your assets outside your machine, and outputs files you fully own.

If you sell on Amazon, Shopify, TikTok Shop, or an independent storefront — and you want the visual production layer to be code you control, not a subscription — you're the target user.

Features

Seven skills, ordered by what carries the most weight in a real listing. The first three are where the wow lives; the rest are platform breadth, then the infrastructure that makes the whole thing portable.

Skill What you get
product-shots-multi-angle One reference photo of a model + outfit → 9 consistent angles of the same look. Fourteen identity anchors (face, hair, skin, eyes, outfit, accessories, lighting, camera, …) lock so the front-3/4 and back-3/4 read as the same person in the same garment. The killer feature for fashion-on-model lookbooks.
product-shots-detail-page A full A+ Content detail-page module set — hero band, feature grid, lifestyle scene, size/spec callouts — with cross-image consistency anchors so the SKU doesn't morph between modules.
product-shots-main-image Marketplace-compliant main + secondary images. Amazon's 9 mandatory rules (pure white, ≥85% frame fill, no text/logos/watermarks, even studio light, apparel exceptions) are encoded as prompt fields — compliance is decided before the model renders, not patched after. Auto-adapts to category-specific norms (electronics vs apparel vs grocery).
product-shots-ad-creative Platform-native ad creatives across 8 platforms — Meta, TikTok, Google Display, Google Demand Gen, YouTube, Pinterest, LinkedIn, X. Per-platform style profiles, banned-words filter, user copy preserved verbatim.
product-shots-social-post Feed / Story / Reel / Carousel posts with industry-aware DNA (beauty vs hardware vs apparel each get a different visual language) and a 14-point self-check before render.
product-shots-image-gen The shared image-gen engine. One API surface across OpenAI gpt-image-2, Gemini gemini-3-pro-image-preview, and Flux families. OmniMaaS-gateway compatible — endpoint is one env var, no vendor lock-in. Auto-resizes oversize references, retries with sane backoff.
product-shots The intent router at the front door. Four-stage clarification (≤4 rounds), Visual DNA injection (platform × industry), then dispatch to one of the five business skills above. Stops underspecified prompts from wasting a render.

What product-shots is not: a generic design tool. It does not write copy, build landing pages, or replace a brand designer. Every skill is sharpened around one job in a cross-border seller's daily workflow.

Quick Start

Three distinct operations. Pick the one that matches your job:

"Generate Amazon listing photos for this product"            — 7 marketplace-compliant images (main + 6 secondary), white-background spec auto-applied.
"Get a 9-angle shoot of this dress"                          — fashion-on-model lookbook: front / back / side / 3/4 / detail / hanger / lifestyle, 14 identity anchors locked.
"Make cross-platform ad creatives for this product"          — Meta + TikTok + Google + YouTube variants in correct ratios, platform style applied, copy preserved verbatim.

Each command lands in product-shots, which clarifies what's missing (≤4 rounds), injects platform × industry Visual DNA, and dispatches to the right specialist. The render goes through the shared product-shots-image-gen engine.

Install

npx skills add motiful/product-shots

This registers the seven skills with whichever Agent Skills harness you're running (Claude Code, Codex, Cursor, Windsurf, GitHub Copilot).

Configure the image backendproduct-shots-image-gen reads its API key from one of these env vars in priority order:

# Option A — UCWS / Cloubic / OmniMaaS gateway (preferred)
export OMNIMAAS_API_KEY='sk-...'
# optional: defaults to https://api.omnimaas.com/v1 when API key is set
export OMNIMAAS_BASE_URL='https://api.omnimaas.com/v1'

# Option B — any other OpenAI-SDK-compatible image gateway
export PRODUCT_SHOTS_IMAGEGEN_API_KEY='sk-...'
export PRODUCT_SHOTS_IMAGEGEN_BASE_URL='https://your-image-gateway.example.com/v1'

# Option C — file-based, no env vars
echo "sk-..." > ~/.product_shots_imagegen_api_key
chmod 600 ~/.product_shots_imagegen_api_key

API keys are only ever sent via the Authorization header — never logged, never written to stdout. The skill never asks you to fork the repo or paste your key into chat.

Manual registration (clone + symlink — only if you don't want the npx skills route). The skills are platform-agnostic — register in whichever Agent Skills harness root your editor uses:

git clone https://github.com/motiful/product-shots ~/skills/product-shots

SKILLS=(product-shots product-shots-image-gen \
        product-shots-main-image product-shots-detail-page \
        product-shots-multi-angle product-shots-ad-creative \
        product-shots-social-post)

# Pick whichever harness root(s) you actually use:
# Claude Code   → ~/.claude/skills/
# Codex         → ~/.agents/skills/
# Cursor        → ~/.cursor/skills/
# Windsurf      → ~/.codeium/windsurf/skills/
# GitHub Copilot (VS Code) → ~/.copilot/skills/

HARNESS=~/.claude/skills    # change to the path for your editor
mkdir -p "$HARNESS"
for s in "${SKILLS[@]}"; do
  ln -sfn ~/skills/product-shots/skills/$s "$HARNESS/$s"
done

Usage

Two real scenarios, end-to-end. Both start from a single reference photo in your working directory.

Scenario A — Smart coffee machine, full Amazon listing

> here's the product shot: ./refs/coffee-machine-v2.jpg
> give me the full Amazon listing — main, 6 secondaries, A+ page, and 4 ad creatives

What product-shots will do, in order:

  1. Clarify category (small kitchen appliance), market (US Amazon), brand voice in ≤4 questions.
  2. Dispatch product-shots-main-image → 7 compliant images, white-background, ≥85% fill, no overlay text on the main.
  3. Dispatch product-shots-detail-page → A+ hero band + 3 feature modules + 1 lifestyle scene + 1 spec callout. Same SKU across all six modules — no model drift.
  4. Dispatch product-shots-ad-creative → 4 variants targeting Meta feed, Meta story, TikTok feed, YouTube short. Each in correct ratio with platform-native styling.

Output: 18 PNGs, organized by skill, ready to upload.

Scenario B — Women's dress, 9-angle shoot + social rollout

> reference: ./refs/dress-floral.jpg
> i need a 9-angle shoot + 5 Instagram posts (3 feed, 2 story)

What happens:

  1. product-shots confirms this is apparel (triggers product-shots-multi-angle's fashion-on-model profile).
  2. product-shots-multi-angle locks face, hair, skin, eyes, outfit, accessories, lighting, and camera — then renders front / 3/4 front / side / 3/4 back / back / detail (closeup) / on-hanger / lifestyle (indoor) / lifestyle (outdoor).
  3. product-shots-social-post applies the apparel industry DNA preset (editorial, warm-neutral palette, type hierarchy) and produces 3 feed posts (1:1) + 2 stories (9:16), all derived from the same 9-angle set so the campaign reads as one shoot.

Output: 14 images. The model is recognizably the same person wearing the same dress in every frame — that's the whole point.


Skills

Each skill is self-contained — a SKILL.md plus its references/ and scripts/. Trigger phrases below are the canonical ones; product-shots accepts free-form natural-language variants and routes on intent, not exact wording.

Skill Trigger Primary deliverable
product-shots (front door for all of the below) Clarified, DNA-injected dispatch to one specialist
product-shots-multi-angle "9-angle shoot of this dress" 9 identity-locked angles, same model in same outfit
product-shots-detail-page "build an A+ detail page for this" Hero + feature + lifestyle + spec modules, consistent SKU
product-shots-main-image "Amazon main image for this product" Marketplace-compliant main + secondary set
product-shots-ad-creative "cross-platform ad creatives" 8-platform ad variants, per-platform style profiles
product-shots-social-post "Instagram / TikTok posts for this" Feed / Story / Reel / Carousel with industry DNA
product-shots-image-gen (called by the others; or "just generate: <prompt>") Raw image generation across OpenAI / Gemini / Flux

How It Works

product-shots pushes the hard work — compliance rules, platform specs, identity anchors, banned-words — upstream of the model as prompt fields. Compliance becomes a verifiable intermediate artifact, not a post-hoc check. Model selection is part of the skill, not the user's job: CJK long headlines and photoreal UGC route to gpt-image-2; golden-hour lifestyle photoreal routes to gemini-3-pro-image-preview. The product-shots-image-gen engine handles the actual dispatch, retries oversized references, and falls back across providers when one returns an empty image.

Architecture notes

What's Inside

skills/
  product-shots/              — intent router (4-stage clarification + Visual DNA injection)
  product-shots-image-gen/    — unified image-gen engine (OpenAI / Gemini / Flux)
  product-shots-main-image/   — Amazon 9 MUST rules + category profiles
  product-shots-detail-page/  — A+ module set with cross-image consistency anchors
  product-shots-multi-angle/  — 14-anchor identity lock, fashion-editorial portraits
  product-shots-ad-creative/  — 8-platform style profiles, banned-words filter
  product-shots-social-post/  — 7-industry DNA presets, 14-point self-check
.github/          — logo (light/dark), repo metadata
assets/gallery/   — 27 real outputs across 5 skills × 2 products
LICENSE           — MIT

Compatibility

Built against the Agent Skills protocol — runs in Claude Code, Codex, Cursor, Windsurf, and GitHub Copilot. No MCP server, no custom runtime, no proprietary client. The image backend is endpoint-agnostic: any OpenAI-SDK-compatible gateway works.

Contributing

Issues and PRs welcome. Each skill is independently reviewable — open a PR scoped to one skill at a time. For new platform support (e.g., a new ad network in product-shots-ad-creative), include the platform's spec source and a sample render.

Contact

The skills in this repo are the open-source surface of what we build. motiful runs an internal stack that goes further — bigger product galleries from a single brand kit, model-locked lookbooks at studio scale, on-prem rendering, brand-asset integration, and managed pipelines for sellers shipping thousands of SKUs.

If you're a cross-border seller, agency, or platform team and any of that is interesting:

Bug reports and skill-level feature requests should stay on GitHub Issues — the inbox above is for the things issues can't capture.

License

MIT — see LICENSE.


Forged with Skill Forge · Crafted with Readme Craft
Submitted to UCWS Singapore Hackathon 2026. Built by motiful.

About

Open-source Claude Code skills that turn one product photo into a full set of e-commerce visuals — main images, A+ detail pages, multi-angle shoots, social posts, and ad creatives. For cross-border sellers on Amazon, Shopify, TikTok Shop.

Topics

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors