Source profileQuality 80/100Review permissions

nexu-io/open-design/skills/ecommerce-image-workflow/SKILL.md

ecommerce-image-workflow

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.

Source repository stars
82,073
Declared platforms
0
Static risk flags
2
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

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 c…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/nexu-io/open-design --skill "skills/ecommerce-image-workflow"
    Safe inspection promptEditorial

    Inspect the Agent Skill "ecommerce-image-workflow" from https://github.com/nexu-io/open-design/blob/89d6d4ef21baf80f871595abdf6f7de6e941dd44/skills/ecommerce-image-workflow/SKILL.md at commit 89d6d4ef21baf80f871595abdf6f7de6e941dd44. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Workflow

      Before planning, verify that the current project includes a real product reference image.

      Product category and form factor.Shape and silhouette.Primary colors and materials.
    2. 02

      Step 0 - Confirm reference-product mode

      Before planning, verify that the current project includes a real product reference image.

      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.
    3. 03

      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.
    4. 04

      Step 2 - Build a three-slot shot plan

      Create a compact shot plan before dispatch:

      Create a compact shot plan before dispatch:If the project metadata provides imageAspect, use it when the user expects a single aspect across the set. Otherwise use the slot defaults above.
    5. 05

      Step 3 - Compose prompts with a fidelity lock

      Every prompt must include this product fidelity instruction near the top:

      Product centered and fully visible.White, off-white, or very light grey background.Soft studio lighting with clean shadow.

    Permission review

    Static risk signals and limitations

    Runs scripts

    medium · line 156

    The documentation asks the agent to run terminal commands or scripts.

    python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('taskId',''))" 2>/dev/null)

    Runs scripts

    medium · line 158

    The documentation asks the agent to run terminal commands or scripts.

    python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('nextSince',0))" 2>/dev/null)

    Writes files

    medium · line 188

    The documentation asks the agent to create, modify, or delete local files.

    After generation, create a project file named `image-manifest.json`:

    Writes files

    medium · line 231

    The documentation asks the agent to create, modify, or delete local files.

    Create a simple single-file HTML gallery that:

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score80/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars82,073SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    nexu-io/open-design
    Skill path
    skills/ecommerce-image-workflow/SKILL.md
    Commit
    89d6d4ef21baf80f871595abdf6f7de6e941dd44
    License
    Apache-2.0
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    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.md
    

    What this skill produces

    By default, generate three ecommerce-ready image assets for one product:

    1. Main image - clean product-first packshot on white or soft neutral background.
    2. Feature image - one selling point shown clearly with controlled callout space, without relying on tiny unreadable in-image text.
    3. Lifestyle image - product shown in a plausible use context while keeping the product faithful to the reference.

    Also create:

    • image-manifest.json describing reference inputs, slots, prompts, outputs, aspect ratios, and fidelity notes.
    • ecommerce-gallery.html as 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:

    SlotDefault aspectGoal
    main1:1Product-first marketplace image on white or soft neutral background
    feature4:5One clear selling point with close-up detail or simple callout space
    lifestyle4:5Realistic 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 Open Design 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.json after generation.
    • Run references/checklist.md before handoff.

    Alternatives

    Compare before choosing