scenario-product-shots — скилл для Claude Code: предметные фото товара
Делает пакшоты и лайфстайл-кадры из реального фото товара, следя за точностью этикетки, логотипа и формы. Пригодится для карточек на маркетплейсе и лендинга.
npx skills add scenario-labs/skills --skill scenario-product-shots -a claude-codeЧто делает scenario-product-shots
Скилл ведёт агента по цепочке Scenario: сначала загружает лучшее фото товара, потом один раз собирает чек-лист — инвентарь текста на этикетке, геометрии, материалов и цветов. Дальше этот чек-лист переиспользуется в каждой проверке, а не строится заново.
Две дорожки закрывают почти всю работу. Детерминированные инструменты дают пакшот: вырезание, фон, тень, пересвет. Генеративная дорожка ставит товар в сцену через модель редактирования по инструкции — по одной сцене за запуск. Промпт строится по принципу «сначала сохранить»: в нём называют размещение, поверхность и свет, а текст этикетки цитируют из чек-листа, иначе модель дорисует буквы по-своему.
Товар никогда не генерируется с нуля: текстовый промпт пришлёт на лендинг бутылку с чужой этикеткой, и починить это правкой нельзя. Поэтому исходником берут реальное фото, а готовые кадры прогоняют через гейт — до 10 id в images, сохранённый чек-лист в text_inputs и побуквенная сверка в instruction. Дрейф этикетки в миниатюре не видно, так что проверять надо всегда. Скилл опирается на соседние скиллы Scenario (scenario, scenario-image, scenario-image-editing, scenario-asset-analysis, scenario-video-ads); если какого-то нет, попросите пользователя поставить его командой npx skills add scenario-labs/skills --skill <name>.
Какие задачи решает
- сделать пакшот на белом, прозрачном или брендовом фоне
- поставить товар в жизненную сцену, сохранив форму и этикетку
- собрать набор ракурсов и цветовых вариантов для карточки
- поправить свет, экспозицию и тень на готовом кадре
- проверить побуквенно, что текст на этикетке не поплыл
Примеры запросов агенту
- Сделай пакшот из этого фото товара на прозрачном фоне с мягкой тенью
- Поставь эту банку на мокрый камень, утренний боковой свет, этикетка без изменений
- Прогони четыре готовых кадра через чек-лист и скажи, где текст этикетки разошёлся
Как установить scenario-product-shots
1Через Skills CLI (Vercel)
npx skills add scenario-labs/skills --skill scenario-product-shots -a claude-code2Вручную: положить файлы
~/.claude/skills/scenario-product-shots/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/scenario-product-shots/
1Через Skills CLI (Vercel)
npx skills add scenario-labs/skills --skill scenario-product-shots -a codex2Вручную: положить файлы
.agents/skills/scenario-product-shots/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add scenario-labs/skills --skill scenario-product-shots -a cursor2Вручную: положить файлы
.cursor/skills/scenario-product-shots/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install scenario-labs/skills scenario-product-shots2Вручную: положить файлы
.github/skills/scenario-product-shots/SKILL.md1Через Skills CLI (Vercel)
npx skills add scenario-labs/skills --skill scenario-product-shots -a gemini-cli2Командой платформы
gemini skills install https://github.com/scenario-labs/skills --path skills/scenario-product-shotsВручную: положить файлы
.devin/skills/scenario-product-shots/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add scenario-labs/skills --skill scenario-product-shots -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о scenario-product-shots
Как установить scenario-product-shots в Claude?
Выполните npx skills add scenario-labs/skills --skill scenario-product-shots -a claude-code. Скилл встанет в ~/.claude/skills/scenario-product-shots/SKILL.md.
Что делает scenario-product-shots?
Ведёт агента по съёмке товара в Scenario: загрузка исходного фото, сборка чек-листа по этикетке и геометрии, пакшоты, лайфстайл-сцены, пересвет и финальная проверка кадров.
Можно ли сгенерировать товар по текстовому описанию?
Нет, товар не генерируется. Любой кадр начинается с загруженного фото реального товара, потому что правкой нельзя вернуть этикетку, которой в исходнике не было.
Исходный текст
SKILL.md · MIT
---
name: scenario-product-shots
description: "Use when producing product photography with Scenario from a real product photo: e-commerce packshots on white, transparent, or brand backgrounds, lifestyle scenes placing the product in an environment, hero shots for a landing page or marketplace listing, angle and colorway sets, relighting or shadow fixes, or any shot where the label, logo, and shape must stay exact. Keywords: product photo, packshot, e-commerce, lifestyle shot, compositing, relight, label fidelity, catalog."
license: MIT
---
# Scenario Product Shots
## Overview
The product is never generated. A text-prompted bottle ships a wrong label to a landing page; every
credible shot starts from an uploaded photo of the real product, and fidelity is a gated check, not
a hope. Two lanes cover most work: deterministic packshot tools (cutout, background, shadow,
relight) and generative scene placement with an instruction-editing model. Connection and the core
loop: see the `scenario` skill. Edit-model contracts: `scenario-image`. Deterministic tools:
`scenario-image-editing`. Reading assets back: `scenario-asset-analysis`. Animating an approved
still into an ad: `scenario-video-ads`. If a sibling skill named here is missing from your available
skills, ask the user to install it (`npx skills add scenario-labs/skills --skill <name>`);
unattended, proceed from tool schemas and flag the gap.
## Quick reference
| Need | Route |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| The source | `upload_asset` the best photo available: sharp, evenly lit, whole product in frame (`search` `"uncrop"` finds tools that rebuild a clipped edge) |
| Fidelity checklist | `asset_analyze` the upload once, instructing an inventory of label text, geometry, materials, and colors; every later check reuses it |
| Packshot | `recommend` with the packshot need in the user's own words (a cutout-and-stage tool with solid, transparent, or custom backgrounds, margins, and shadows was the authoring-time hit), or background removal plus your own compose |
| Lifestyle scene | `recommend` with `capability="img2img"`, product photo as reference, preserve-first prompt, one scene per run |
| Relight | `search` `"relighting"` (the authoring-time hit adjusts light, exposure, and mood, with a brand-color lock) |
| Upscale keepers | `recommend` with the user's own words; product-tuned upscalers existed at authoring time |
| Gate | `asset_analyze` the outputs against the checklist: up to 10 ids in `images`, the saved checklist in `text_inputs`, the letter-by-letter brief in `instruction` |
## The preserve-first prompt
Scene prompts subordinate the world to the product: "The exact can from the reference image,
proportions and colors unchanged, the label reads 'SUMMIT COLD BREW', no other text, standing on a
wet slate counter, morning side light, shallow depth of field." Name the placement, the surface, the
light. What goes unstated drifts: "label unchanged" alone leaves the type to whatever the model
resolves from the reference, so the preserve clause quotes the checklist's label copy (existing
on-pack text only) and the gate reads it back letter by letter rather than trusting the render.
Shadows and reflections carry the realism: a cutout pasted without them floats. Prefer a stage tool
that rebuilds shadows, or name one in the edit prompt ("soft contact shadow falling right").
## Worked example: one can, a packshot plus three scenes
1. `upload_asset` the studio photo, then `upload_asset_complete`: `asset_can`.
2. Build the checklist once with `asset_analyze` (write lane, contract in
`scenario-asset-analysis`); the inventory lands as a text asset, so `asset_download` it and keep
the text.
3. Packshot: `recommend` with the packshot need in the user's own words, `model_schema_get` the
pick, then run it with `asset_can` in its image field, the background set to the brand hex, and
margins per the marketplace's current spec (confirm specs with the user; unattended, take them
from the task instructions, else keep the tool's defaults).
4. Scenes: `recommend` with `capability="img2img"`; on `next_step.type="ask_user"`, present the
options (unattended, the task instructions name the pick, else `proceed`: `specialty.model_id`
first, skipping a specialty whose `caveats` or `when_general_better` name the task at hand, then
the top `ranked` entry, never one flagged `requires_plan_upgrade`). `model_schema_get` the pick,
then three runs, each the preserve-first prompt with one scene clause and `asset_can` wired as
the schema says (an array only under `array: true`).
5. `jobs_wait`, then gate all four outputs in one `asset_analyze` call, the saved checklist passed
via `text_inputs` and an instruction to read the label back letter by letter. A drifted label
fails the shot: re-run from `asset_can` with the preserve clause tightened (the quoted copy
spelled letter by letter, "no other text" kept), never from the drifted output. Text the gate
cannot resolve at output resolution is unverified, not passed: upscale and re-gate, or flag it in
the delivery note.
6. Upscale the keepers, `asset_download` with `format="png"`, file the set in a collection.
## Common mistakes
- Generating the product from a text description because the photo seems easy to describe: the one
unfixable error, since no edit restores a label that never existed.
- Compositing from a screenshot of a crop: fidelity caps at the source; ask for the original file,
and when nobody can supply one, proceed with the best source at hand and flag the ceiling in the
delivery note.
- Skipping the gate because it "looks fine": label drift hides at thumbnail size; the checklist
compare reads letter by letter.
- Prompting prices, claims, or promo copy into the image: overlay them with `scenario-text-overlay`;
regulations and locales change faster than plates.
- Removing the background and losing the real shadow with it: restage with a shadow-building tool or
prompt a new one.
- One run with a batch count for "the same scene, four angles": per-angle clauses need one run each
(`scenario-image`).
© scenario-labs · MIT · scenario-labs/skills