generating-product-photos
ALWAYS read this skill before generating a product photography — before writing any prompt or calling image_generate.
Skill by SupercmoHQ
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/supercmohq-generating-product-photos
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, marketing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/generating-product-photos
What's inside
- Skill name
generating-product-photos- Description
- ALWAYS read this skill before generating a product photography — before writing any prompt or calling image_generate. Turns a product photo or URL into commercial photography - packshots, lifestyle and campaign frames, on-model, macro detail, flat lays, seasonal staging, infographics, concepts and floating shots. Reads the real product first and holds it identical across every frame. Triggers: "product photo", "packshot", "shoot my product", "studio shot", "lifestyle shot", "hero image", "on a model", "flat lay", "product infographic", "floating product".
- License
- Apache-2.0
- Metadata
- summary: Directs a commercial photoshoot around your product, automatically applying the correct lighting, framing, camera angles and props to deliver studio-quality product shots across 10+ formats. · version: 0.2.0 · category: creative
- Instructions
- 229 lines in SKILL.md · view on GitHub
Files (13)
- SKILL.md
- eval_cases.json · evals/
- mode-close-up.md · references/
- mode-creative.md · references/
- mode-flat-lay.md · references/
- mode-floating.md · references/
- mode-hero.md · references/
- mode-infographic.md · references/
- mode-lifestyle.md · references/
- mode-on-model.md · references/
- mode-seasonal.md · references/
- mode-studio.md · references/
- photographic-craft.md · references/
SKILL.md (first lines)
# Product Photography Turn a product into commercial imagery via the `image_generate` tool. Marketplace listing galleries are out of scope, and a finished advertisement — one built on a headline, an offer, a call to action, or a promotional before/after or comparison — belongs to `generating-image-ads`, not here. Anything whose subject isn't a product should not be created with this skill. ## Workflow ### Step 1: Read what you have - **A product image or URL is available** → hand it to `analyzing-products`, and take four things back: what the product is; **how a person physically uses it** — sprayed, pumped, worn, etc.; which parts open or move, and in what order; and the details that have to stay identical wherever it appears. - **Look at the image before you describe it.** Take the product only from what the image shows — not the brief, not the filename, not the product name. Run `image_analysis` and ask it for everything this shoot needs that the product facts leave out — how the surfaces take light, and whatever else the frame you end up building will have to describe. - **Product not supplied** → don't guess at the product. It becomes the first thing Step 2 asks for. ### Step 2: Interview **Skip this entirely when the brief already makes the shot obvious** — a clear subject, a clear use, and nothing load-bearing missing. The interview exists to close real gaps, not to confirm what you were already told. Otherwise ask once, bundled into a single message, **at most four questions**. Always leave a free-text way out so the user can answer off-menu. Anything this skill already settles is not a question. **Do ask, when the answer is genuinely missing:** | Ask | When | | --- | --- | | **The product** — what it is, and whatever else identifies it: packaging, colour, distinguishing features | No image and no URL. Offer to wait for an upload first; a photographed product beats a described one. | | **Brand guidelines, if they have any** — the color palette, the art direction they shoot to, anything they never put in frame, the typeface where text is drawn, and the register they want the frame to read at | The brief mentions none and the packaging doesn't imply them. Treat as optional: plenty of brands have none, so take what they give and move on. | | **Who the buyer is** | The frame has to speak to a particular buyer — like which features an infographic calls out, whose home a lifestyle scene is set in, who gets cast on-model, etc. | | **How many frames**, and where they run | The brief doesn't say, and the destination changes the crop. | **When the user waives questions** and the product is already in hand, go straight to generating. Take **studio**, since that is where an unrouted request lands anyway; take the tool's default ratio. Say in a sentence which settings you took, then keep going. It is a statement, not a checkpoint. A missing product image is the one thing still worth raising. ### Step 3: Select the mode and read the corresponding reference file | The ask is about… | Mode | Reference | | --- | --- | --- | | The product on its own against a clean, controlled background | **studio** | `references/mode-studio.md` | | The product somewhere real, being used or lived with | **lifestyle** | `references/mode-lifestyle.md` | | One polished frame leading a campaign — the product made to look desirable | **hero** | `references/mode-hero.md` | | Worn, held, or applied to skin | **on-model** | `references/mode-on-model.md` | | Texture, material, craft, a tight crop on the thing itself | **close-up** | `references/mode-close-up.md` | | Arranged on a surface, shot from directly above | **flat-lay** | `references/mode-flat-lay.md` | | Tied to a holiday, season or buying moment | **seasonal** | `references/mode-seasonal.md` | | Feature labels, callouts, specs or dimensions drawn onto the image — an informational before-and-after or comparison | **infographic** | `references/mode-infographic.md` | | Breaking the pattern to stop a scroll — unexpected, impossible, or unlike how this product is normally shown | **creative** | `references/mode-creative.md` | | Suspended mid-air, defying gravity | **floating** | `references/mode-floating.md` | Route on what the image is *for*, not on a matched word. **Where two rows both fit, these win:** - **A person in frame** → **on-model**, whatever the setting or the crop would otherwise say. - **Text drawn onto the image** → **infographic**, whatever else is in frame. - **One plane, shot from overhead** → **flat-lay** - **One property at close range** → **close-up**, even inside a setting. - **The occasion is the sell** → **seasonal** - **The brief asks for something unexpected, surprising or scroll-stopping** → **creative**, even when it also names a placement. ### Step 4: Write the product description You read the mode guide in Step 3, so you know what this shot has to show. Write one description of the product, and reuse it unchanged in every prompt you send. **How much to write depends on whether a photo is going with the call.** With a reference attached, the photo carries identity and the description covers only what it cannot: the angle you want, the state the moving parts are in, the action being performed. With no reference, the description is all the model has, so it carries the product in full from the list below. - **Form** — shape, proportion, how it sits or stands, or whatever else pins the silhouette down. - **Closure and moving parts** — a cap, a hinge, a zip, whatever this product has, and whether the shot wants it open or shut. - **Materials and finish, surface by surface** — matte or gloss, brushed, woven, translucent or something else. - **The action, wherever the frame has one** — the specific thing being done to the product, taken from the mechanic Step 1 established rather than invented to suit the composition. Write it as the physical movement it is, and say what the product is doing at that instant: what has left it, what is about to, which part has moved, etc. The mode guide decides how much of this the prompt carries — the whole product for some, a single property for a close crop, one description per item where several share the frame. **Don't transcribe what the label says.** Spelling out the printing invites the model to redraw it, and redrawn text comes back warped. ### Step 5: Select the model | Model | Use it when | How it wants the prompt written | | --- | --- | --- | | `nano-banana-pro` | everything, by default | connected sentences in one narrative paragraph, never a string of keywords | | `gpt-image-2` | words or graphics are drawn onto the image, or the layout is a designed one. Not for the product's own printed label — that comes from the reference | short labelled segments on separate lines, not a paragraph | | `seedream-5` | another model refused, or keeps failing | a description rather than keywords, leading with whatever matters most | If the user has explicitly named a model, then use that first. ### Step 6: Write the prompt - Follow the mode guide from Step 3 to write the prompts, carrying the product description from Step 4 into each one. - Read `references/photographic-craft.md` before writing. It carries the language for light, shadow, colour, material and optics; the style anchor to pick before the first sentence; and the two fixed blocks that close every prompt. - **Every prompt is assembled in this order:** the mode's fixed preservation block, then the scene you write from the mode's fields, then the quality-marker line, then the Avoid block — the last two exactly as `references/photographic-craft.md` gives them. - **Every prompt sent with a reference photo states the fidelity requirement.** The attached photo does not enforce itself: say outright that the product in frame is the one in the reference and reaches the image unchanged. Anything the photo already settles and does not need to change must not be written out again: a detail spelled out reads as an instruction to draw it, and what gets drawn drifts from the photo. Those words go to what the reference cannot show — the setting, the light, the framing, etc. - **Where a call carries more than one reference image, label them.** Refer to them as Image 1, Image 2
From SupercmoHQ/superCMO-skills, Apache-2.0.
More from SupercmoHQ/superCMO-skills
- 0.796score
writing-video-prompts
SupercmoHQ
Writes the motion prompt for a video clip — what moves, how the camera behaves, the physics and the audio, in the shape the chosen model wants.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
planning-campaigns
SupercmoHQ
Decides what to make next — turns the brand, the product, your own running ads and competitor research into the concepts worth testing next.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
researching-competitor-ads
SupercmoHQ
Analyzes the ads competitors are running — the ones live now, the ones they have already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-products
SupercmoHQ
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or from a photo alone (category…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
writing-ad-copy
SupercmoHQ
Writes the words of an ad — the headline, primary text, description and call to action that go into the ad platform's own fields, shaped to the channel it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
adapting-formats
SupercmoHQ
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-audio
SupercmoHQ
ALWAYS read this skill before generating spoken audio or calling audio_generate — a voiceover, narration, an ad read, a character line, or any script read…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-cartoon-videos
SupercmoHQ
Generates a cartoon video for a product — a drawn, animated, anime, illustrated or painted spot that holds one art style and the same characters across every…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-image-ads
SupercmoHQ
Turns a product photo or URL into a static image ad — one image, or a set.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-images
SupercmoHQ
ALWAYS read this skill before generating or editing any image, or calling image_generate — text-to-image or image-to-image, simple or complex.
SkillAFreshness: A★ 206Claude Code +9
Signals
- Stars
- 206
- Forks
- 23
- Open issues
- 9
- Contributors
- 4
- Last commit (this folder)
- Aug 15, 2026 (2 months ago)
- Last release
- Oct 21, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.2.0
- License
- Apache-2.0
- Repository
- github.com/SupercmoHQ/superCMO-skills
- Website
- getsupercmo.ai
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SupercmoHQ
- 0.796score
adapting-formats
SupercmoHQ
Resizes an existing image ad into the other shapes it has to run in — reads the ad first, then regenerates it at each ratio with the original passed in as a…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-brand
SupercmoHQ
Analyzes a brand from its own website — its colours and fonts, the logo and imagery it uses, how it sounds, who it sells to, the claims it makes, and what it…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-own-ads
SupercmoHQ
Audits the ads a company is running itself — what's live now, what it has already stopped, and which have run longest.
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
analyzing-products
SupercmoHQ
Normalizes a product into generation-ready facts — from an e-commerce URL (a clean description plus curated product images) or from a photo alone (category…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
cloning-video-ads
SupercmoHQ
Clones an existing video ad — reads a supplied reference ad, keeps its structure, pacing, shots, camera and hook, and rebuilds it as a new video with the…
SkillAFreshness: A★ 206Claude Code +9 - 0.796score
generating-ad-videos
SupercmoHQ
Makes a product ad video — a product showcase with no one on screen, or a story or lifestyle commercial where a presenter or actor plays a role in the brand's…
SkillAFreshness: A★ 206Claude Code +9
Cite this page
generating-product-photos skill. Agent Mart. https://agentmart.dev/skills/supercmohq-generating-product-photos (last updated 2026-10-24)