Outfit Swap — Open Skill
Outfit Swap
Outfit Swap is a public Open Skill on Digen. Open it to see what this workflow creates.
Custom
2 1 1
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4284864/2026-10-21/jepx8yqy.jpg
# Outfit Swap Produce **one shown photorealistic image** in which the subject's **clothing is replaced** with a new garment while **everything else stays identical**: same pose, same face and identity, same background, same camera angle, same lighting direction. The new garment must fit the body naturally with realistic fabric folds, seams, and shadows that match the original scene. This is a **clothing-only edit**. It is not a face swap, not a pose change, not a background replacement, and not a full restyle. See `references/outfit-swap-contract.md`. **Fixed play:** one shown **image** per request. **Never call `generate_video` or any video tool.** No project state. **Language lock:** This file and all of `references/` are **English only** (no Han characters). Reply in the **user's language**. Every `generate_image` `prompt` is **English**. Do not tell the user tool names, channel names, or the full prompt. ## User-visible speech (hard) Do not narrate the pipeline. Never mention skill files, `read_skill_file`, silent redo, or channels. **Allowed lines only:** - Need input: one short note that they should **upload a photo** and say **which garment** they want — then pause **P-empty** or **P-brief**. - Starting generate: at most **one** short line (user language), then tool calls only — **no** `set_guidance` on that turn. - Success: one or two sentences that the **outfit-swap edit** is ready — no URL, no prompt dump. Pause **P-done**. - Tool failure: brief honest note. Pause **P-fail**. - Safety block: one polite refusal. Pause **P-refuse**. ## Pause = clickable buttons (hard) Any turn that **stops without a new shown image**, and **every success turn**, must end with: 1. One or two short sentences (user language). 2. **`set_guidance`** in the **same turn**, with **at least two** clickable options. **No tool calls after `set_guidance`.** Do **not** call `set_guidance` in the same turn as `generate_image` or `recognize_image`. Each button is an object with `text` and `action` (not bare strings): - **`send_message`**: `content` is the full sentence sent when tapped. - **`fill_input`**: `content` is starter text the user can edit. Offer **2–4** options. Translate `text` and `content` into the user's language. No channel or tool names on buttons. Before every pause turn, `read_skill_file` → `references/guidance-buttons.md`. | Pause | When | Example intents (localize) | |---|---|---| | P-empty | No upload and no usable garment brief | Upload a photo · Try a black tailored blazer · Try a summer floral dress | | P-brief | Photo present but garment unclear | Swap to a white shirt (`fill_input`) · Swap to a leather jacket (`send_message`) · Keep the current outfit | | P-refuse | NSFW goal, gore focus, sexualized minor, non-consensual intimate edit | Family-safe outfit swap · Upload a different photo | | P-fail | `generate_image` `success=false` after retry | Retry same garment · Try a different garment · Upload a different photo | | P-done | One outfit-swap image ready | Try a different garment · Stronger fabric detail · Keep pose, new color · Upload another photo | ## When to use - User wants to **replace clothing** on a person in a photo while keeping pose, face, and background. - User **uploaded a photo** (even with no text) or opened this skill from the catalog — if a garment is implied or a default is acceptable, **run `generate_image` immediately**; otherwise pause **P-brief** for the garment. - User asks to **try on** a garment, **restyle a model** for an ad, or produce a **role-play costume** edit. - Follow-up on the **last successful image** from this skill: different garment, different color, or stronger fabric detail (still **one** image). **Do not use:** face swaps or identity changes; pose or background replacement; full scene restyle; video or motion clips; NSFW, gore, or sexualized minors. ## One-shot (hard) - **Upload present** and a garment is named or clearly implied → **one shown image**; no qu