ecommerce-image-workflow
Skill6 starsChanged 5 months agoApache-2.0View on GitHub
Reference-product ecommerce image workflow for generating a compact set of product-faithful main, feature, and lifestyle images from real product reference photos. V1 requires uploaded product imagery and intentionally defers brief-only concept generation and platform-specific batch exports.
We split this skill into the rules it gives an agent
28 rules. About 0 are common, 19 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 39
Create a compact ecommerce image set from real product reference imagery.
- Distinctive: line 79
Ask only for missing essentials:
- Distinctive: line 86
Do not ask broad discovery questions.
- Distinctive: line 92
Before planning, verify that the current project includes a real product reference image.
- Distinctive: line 95
If no product image is available, reply:
- Distinctive: line 115
Use these anchors in every generation prompt.
- Distinctive: line 119
Create a compact shot plan before dispatch:
- Very specific: line 127
If the project metadata provides imageAspect, use it when the user expects a single aspect across the set.
- Distinctive: line 132
Every prompt must include this product fidelity instruction near the top:
- Distinctive: line 148
No props unless the user asked for them.
- Distinctive: line 149
No in-frame marketing text.
- Distinctive: line 154
Use close-up composition, cutaway-style crop, or clean negative space for later designer-added labels.
- Distinctive: line 156
Keep the product visually balanced in the frame.
- Distinctive: line 159
Do not invent certifications, performance numbers, materials, or claims.
- Distinctive: line 160
Avoid tiny rendered text; leave label space instead.
- Distinctive: line 164
Use a realistic environment matched to the product category.
- Distinctive: line 165
Keep the product the focal point.
- Very specific: line 172
Use the unified MonoField media dispatcher.
- Very specific: line 218
If the active image model or provider cannot use --image, stop and tell the user that this workflow needs a reference-capable image …
- Very specific: line 224
After generation, create a project file named image-manifest.json:
- Very specific: line 262
Keep the manifest honest. If a detail is unknown, write null or a short note instead of inventing claims.
- Distinctive: line 267
Create a simple single-file HTML gallery that:
- Very specific: line 284
Do not emit an <artifact> tag.
- Distinctive: line 290
Default to exactly three slots: main, feature, lifestyle.
- Distinctive: line 292
Do not invent claims, certifications, measurements, ingredients, or performance data.
- Very specific: line 294
Use "$OD_NODE_BIN" "$OD_BIN" media generate.
- Very specific: line 296
Always create image-manifest.json after generation.
- Very specific: line 297
Run references/checklist.md before handoff.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ecommerce Image Workflow
Create a compact ecommerce image set from real product reference imagery. This V1 skill is intentionally narrow: it supports reference-product mode only. If the user only describes a product and does not provide a product photo, ask for one and stop. Do not create a brief-only concept product in this version.
Resource map
ecommerce-image-workflow/
|-- SKILL.md
|-- example.html
`-- references/
`-- checklist.mdWhat this skill produces
By default, generate three ecommerce-ready image assets for one product:
- Main image - clean product-first packshot on white or soft neutral background.
- Feature image - one selling point shown clearly with controlled callout space, without relying on tiny unreadable in-image text.
- Lifestyle image - product shown in a plausible use context while keeping the product faithful to the reference.
Also create:
image-manifest.jsondescribing reference inputs, slots, prompts, outputs, aspect ratios, and fidelity notes.ecommerce-gallery.htmlas a small preview gallery linking the generated files and summarizing the image roles.
Input contract
Required:
- At least one uploaded product reference image in the active project.
Ask only for missing essentials:
- Product name or short label if it is not obvious.
- Main selling point if the feature image cannot be inferred safely.
- Target marketplace or aspect only if the user asks for platform-specific framing.
Do not ask broad discovery questions. Keep the workflow moving.
Workflow
Step 0 - Confirm reference-product mode
Before planning, verify that the current project includes a real product reference image.
If no product image is available, reply:
Please upload at least one product reference image first. This V1 workflow preserves a real product from reference photos; brief-only concept generation is deferred to a later version.
Then stop.
Step 1 - Extract product identity anchors
Inspect the reference image and write a short internal identity lock:
- Product category and form factor.
- Shape and silhouette.
- Primary colors and materials.
- Logo, label, pattern, fasteners, ports, straps, handles, or other fixed details.
- Scale cues and proportions.
- What must not change.
Use these anchors in every generation prompt.
Step 2 - Build a three-slot shot plan
Create a compact shot plan before dispatch:
| Slot | Default aspect | Goal |
| main | 1:1 | Product-first marketplace image on white or soft neutral background |
| feature | 4:5 | One clear selling point with close-up detail or simple callout space |
| lifestyle | 4:5 | Realistic use context with the product still visually faithful |
If the project metadata provides imageAspect, use it when the user expects a
single aspect across the set. Otherwise use the slot defaults above.
Step 3 - Compose prompts with a fidelity lock
Every prompt must include this product fidelity instruction near the top:
Preserve the exact product identity from the reference image: shape,
silhouette, color, material, logo/label placement, visible construction
details, and proportions. Do not redesign the product. Do not add, remove,
or relocate product features.Then add slot-specific instructions:
Main image prompt
- Product centered and fully visible.
- White, off-white, or very light grey background.
- Soft studio lighting with clean shadow.
- No props unless the user asked for them.
- No in-frame marketing text.
Feature image prompt
- Focus on one user-provided or safely inferred feature.
- Use close-up composition, cutaway-style crop, or clean negative space for later designer-added labels.
- Keep the product visually balanced in the frame. If no explicit callout structure is being generated, center the product. If label space is needed, offset the product only slightly and make the empty space feel intentional.
- Do not invent certifications, performance numbers, materials, or claims.
- Avoid tiny rendered text; leave label space instead.
Lifestyle image prompt
- Use a realistic environment matched to the product category.
- Keep the product the focal point.
- Show human interaction only if it helps explain use and does not obscure the product.
- Preserve product scale and structure.
Step 4 - Dispatch through the media contract
Use the unified MonoField media dispatcher. Do not call provider APIs or custom model commands directly.
For each slot, run the standard generate/wait loop:
# POSIX bash. Do not call provider APIs directly.
out=$("$OD_NODE_BIN" "$OD_BIN" media generate \
--project "$OD_PROJECT_ID" \
--surface image \
--model "<imageModel from metadata>" \
--aspect "<slot aspect or imageAspect from metadata>" \
--image "<project-relative product reference image>" \
--output "<product-slug>-<slot>.png" \
--prompt "<full slot prompt>")
ec=$?
if [ "$ec" -ne 0 ]; then echo "$out" >&2; exit "$ec"; fi
last=$(printf '%s\n' "$out" | tail -1)
task_id=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('taskId',''))" 2>/dev/null)
since=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('nextSince',0))" 2>/dev/null)
since="${since:-0}"
while [ -n "$task_id" ]; do
out=$("$OD_NODE_BIN" "$OD_BIN" media wait "$task_id" --since "$since")
ec=$?
last=$(printf '%s\n' "$out" | tail -1)
since=$(printf '%s\n' "$last" |
python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('nextSince',0))" 2>/dev/null)
since="${since:-0}"
if [ "$ec" -eq 0 ]; then
task_id=""
elif [ "$ec" -ne 2 ]; then
echo "$out" >&2
exit "$ec"
fi
done
printf '%s\n' "$last"The final line must be JSON with {"file": {"name": "...", ...}}.
Record each final returned filename in image-manifest.json.
If the active image model or provider cannot use --image, stop and tell the
user that this workflow needs a reference-capable image generation path for
product fidelity.
Step 5 - Write image-manifest.json
After generation, create a project file named image-manifest.json:
{
"workflow": "ecommerce-image-workflow",
"mode": "reference-product",
"productName": "Example product",
"referenceImages": ["reference-product.png"],
"fidelityNotes": [
"Preserve product identity, color, material, construction, and proportions.",
"Do not treat these outputs as platform-compliance proof without human review."
],
"slots": [
{
"id": "main",
"role": "marketplace packshot",
"aspect": "1:1",
"output": "example-product-main.png",
"promptSummary": "Centered product-first packshot on a clean neutral background."
},
{
"id": "feature",
"role": "single feature highlight",
"aspect": "4:5",
"output": "example-product-feature.png",
"promptSummary": "Close-up or negative-space composition for one verified selling point."
},
{
"id": "lifestyle",
"role": "usage context",
"aspect": "4:5",
"output": "example-product-lifestyle.png",
"promptSummary": "Realistic scene with the product as the focal point."
}
]
}Keep the manifest honest. If a detail is unknown, write null or a short note
instead of inventing claims.
Step 6 - Write ecommerce-gallery.html
Create a simple single-file HTML gallery that:
- Shows the reference image first.
- Shows the three generated slots with their role names.
- Lists product-fidelity notes.
- Links to
image-manifest.json. - Uses system fonts and local project files only; no CDN imports.
Step 7 - Hand off
Reply with:
- The generated filenames.
- A one-sentence summary of the fidelity lock used.
- A reminder that marketplace-specific compliance, final text overlays, and claim/legal review remain human review steps.
Do not emit an <artifact> tag.
Hard rules
- V1 requires real product reference imagery. No brief-only concept products.
- One product per run.
- Default to exactly three slots: main, feature, lifestyle.
- Preserve the product; do not redesign it.
- Do not invent claims, certifications, measurements, ingredients, or performance data.
- Use
"$OD_NODE_BIN" "$OD_BIN" media generate; do not call provider APIs directly. - Always create
image-manifest.jsonafter generation. - Run
references/checklist.mdbefore handoff.
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
- davidanthonyn/claude-skills★ 0100% same
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository169 other files it gives its agents.
- AGENTS.mdAGENTS.md
- apps/AGENTS.mdAGENTS.md
- design-templates/AGENTS.mdAGENTS.md
- e2e/AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- packages/AGENTS.mdAGENTS.md
- plugins/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- tools/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- od-contributeSkill
- 8-bit-orbit-video-templateSkill
- ad-creativeSkill
- after-hours-editorial-templateSkill
- agent-browserSkill
- ai-music-albumSkill
- algorithmic-artSkill
- apple-higSkill
- article-magazineSkill
- artifacts-builderSkill
- brainstormingSkill
- brand-extractSkill
- brand-guidelinesSkill
- brandkitSkill
- industrial-brutalist-uiSkill
- canvas-designSkill
- card-twitterSkill
- card-xiaohongshuSkill
- color-expertSkill
- competitive-ads-extractorSkill
- copywritingSkill
- creative-directorSkill
- d3-visualizationSkill
- data-reportSkill
- deck-guizang-editorialSkill
- deck-open-slide-canvasSkill
- deck-swiss-internationalSkill
- design-briefSkill
- design-consultationSkill
- design-mdSkill
- design-reviewSkill
- digits-fintech-swiss-templateSkill
- doc-kami-parchmentSkill
- docSkill
- docxSkill
- domain-name-brainstormerSkill
- editorial-burgundy-principles-templateSkill
- emilkowalski-motionSkill
- enhance-promptSkill
- export-download-debuggingSkill
- fal-3dSkill
- fal-generateSkill
- fal-image-editSkill
- fal-kling-o3Skill
- fal-lip-syncSkill
- fal-realtimeSkill
- fal-restoreSkill
- fal-trainSkill
- fal-tryonSkill
- fal-upscaleSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

