Oily Skin Gloss · skill publik Open Skill

Oily Skin Gloss

This skill adds natural glossy oil sheen to exposed skin in your images. It simulates the effect of applying body oil, creating soft, luminous wet skin texture. Just upload your picture, and it will automatically render realistic oil shine on bare skin areas, making skin look smooth and dewy.

@Promise

ShortDrama

18 3 7

https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/3949831/2026-10-12/j6cruvfn.jpg

# Oily Skin Gloss

No project database. Run one image-to-image edit on the user's uploaded person image. The only allowed change is an oily sheen on **skin that is already bare**. Do not change the original texture, grain, art style, brushwork, lighting, color, pose, identity, clothing, hair, accessories, or background. Do not invent anything that was not already in the image. The look is defined in `references/oil-gloss-look.md`. Do not rewrite it from memory.

## When to use

- The user uploaded an image with a person and asked for oily, hydrated, glossy, pearlescent, or oil-film skin, or for body highlights of that kind.
- The user wants the last result stronger, softer, without glitter, or limited to one area of **already bare** skin.

Do not use this skill when:

- There is no person image and they want a new oily person from text alone.
- They ask to remove clothing, undo coverage, or reveal skin that was covered.
- They want video, voiceover, music, or copywriting.
- The person appears to be a minor, or the request is sexually explicit. Refuse politely and do not call a generation tool.

## Reference file

The oil-gloss specification and the prompt text live in this one file. **Read it before every generate or intensity change. This skill has no other reference file.**

| File | Tool | When to read |
|---|---|---|
| `references/oil-gloss-look.md` | `generate_image` | Bare skin is confirmed and you are about to generate or change the sheen |

## Steps

1. No person image: ask for an upload and stop. Do not generate. If they only ask what the effect looks like, read the reference file, summarize it in natural language, and do not generate.
2. When starting a make, call `write_todos` first. Replace the whole list, with only one `in_progress`:
   - `read-skin`: Confirm which skin is already bare
   - `read-look`: Read the oil-gloss specification
   - `generate`: Add the sheen only on bare skin
   - `check`: Confirm the sheen did not land on clothing or the background
3. Call `recognize_image` on the source. Ask it to list each person, already bare skin regions, regions covered by clothing, hair, or accessories, the approximate key-light direction, whether the image is a photo or an illustration, and whether anyone appears to be a minor. Do not ask it to suggest removing clothes.
   - If anyone appears to be a minor, or the user asks for explicit sexual content, removing clothes, or revealing covered skin: refuse politely and do not call `generate_image`.
   - If no skin is visible: say there is no bare skin to gloss, and do not paint the clothing.
   - Several people and the user named one: edit only that person's already bare skin. If they did not name one: edit already bare skin on every person.
4. `read_skill_file` `references/oil-gloss-look.md`. Assemble the prompt in that file's order, copying the blocks verbatim: task sentence, region sentence, the full default oil block, a variant only when needed, then the preserve sentence. Do not shorten or paraphrase the default oil block or the preserve sentence, and do not collapse them into "oily / glossy / wet look". Change only the bracketed region list.
   - No intensity request: do not append a variant.
   - More oil or brighter: append Stronger after the full default block. Do not replace the default block with the variant.
   - Softer: append Softer the same way.
   - Hydrated highlights without pearlescent glitter: append Smooth oil film only.
   - The user asks for drips, new objects, or anything that was not in the source: do not add them. Still only gloss skin that is already bare.
   - A small follow-up of the same intent: `input_urls` is the last successful result. If they reject the result and want a redo: use the image that was being edited, not the rejected output. To go back to the original: use the first upload.
5. Call `generate_image`. Pick exactly one channel. Never use `i2i`, and never write a physical model name.
   - Default: `model='i2i.hd'`
   - The us