Agent instructions SKILL.md
---
name: wiggly-moody-pink-effect
description: Give one 3:4 nighttime photo a luxury moody-pink editorial grade using the exact gathered SKAI prompt.
---
# Moody Pink Effect
Use the packaged runner and exact prompt. Do not call Replicate separately or
create another render path.
From the extracted kit's `v3` directory, prepare the local runner first:
```bash
npm install
npm run format:skai-image -- check --format=moody-pink-effect
npm run format:skai-image -- smoke --format=moody-pink-effect
```
Ask one short question:
> Which 3:4 nighttime photo should I turn into a moody pink editorial, and should I use Nano Banana 2 (default), Lite (economy), or Pro (source model)?
Then initialize the free run. Omit `--model` for Nano Banana 2, or add
`--model=nano-banana-2-lite` for economy or `--model=nano-banana-pro` for
premium:
```bash
npm run format:skai-image -- init --format=moody-pink-effect --run=<id> --input=<absolute-image-path> [--model=<route>]
npm run format:skai-image -- validate --format=moody-pink-effect --run=<id>
npm run format:skai-image -- estimate --format=moody-pink-effect --run=<id>
```
Stop after `estimate` and ask the user to approve the paid prediction. Only
after explicit approval should you supply `--approve-paid`:
```bash
npm run format:skai-image -- render --format=moody-pink-effect --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=moody-pink-effect --run=<id>
npm run format:skai-image -- inspect --format=moody-pink-effect --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=moody-pink-effect --run=<id> --approve-final
```
Hard rules:
- Preserve faces, skin tones, clothing, vehicles, objects, composition, and perspective.
- Add vibrant pink and magenta ambient light, cinematic glow, rich shadows, soft contrast, subtle reflections, and atmospheric depth.
- Keep realistic skin color inside the stylized lighting.
- Produce a polished luxury nighttime editorial, not a flat global color wash.
- Use a user-approved 3:4 input before validation.
- Keep the exact gathered prompt unless the user explicitly requests a change.
- Use Nano Banana 2 by default, Lite for economy, or Pro for premium.
- Validate and estimate before spending, pause for explicit user approval, and never render without `--approve-paid`.
- Persist and resume the prediction id.
- Never exceed three attempts.
- View the output and record specific visual-review notes before finalizing.
- Never print, store, or commit `REPLICATE_API_TOKEN`.
Replicate BYOK requirements requirements.json
{
"runtime": {
"node": ">=22",
"commands": ["npm"]
},
"providers": [
{
"name": "Replicate",
"models": [
"google/nano-banana-2-lite",
"google/nano-banana-2",
"google/nano-banana-pro"
]
}
],
"environment": [
{
"name": "REPLICATE_API_TOKEN",
"secret": true,
"requiredFor": ["render", "resume"]
}
],
"notes": [
"All smoke and validation commands are local.",
"The source guide names Nano Banana Pro; Wiggly's runnable lanes use Nano Banana 2 Lite, Nano Banana 2, and Nano Banana Pro.",
"No Replicate proof call was made for this package.",
"One render attempt is one paid prediction.",
"Paid generation requires explicit approval and is capped at three attempts."
]
}
Input contract and model routing inputs.json
{
"required": [
{
"id": "image",
"type": "image",
"formats": ["jpg", "png", "webp"],
"minimumWidth": 512,
"minimumHeight": 512,
"maximumBytes": 26214400,
"aspectRatio": "3:4",
"aspectRatioTolerance": 0.02
}
],
"question": "Which 3:4 nighttime photo should I turn into a moody pink editorial, and should I use Nano Banana 2 (default), Lite (economy), or Pro (source model)?",
"defaults": {
"model": "nano-banana-2",
"aspectRatio": "3:4",
"outputCount": 1
},
"modelRoutes": {
"economy": "google/nano-banana-2-lite",
"default": "google/nano-banana-2",
"premium": "google/nano-banana-pro"
},
"sourceModel": "google/nano-banana-pro"
}
Paid-call and resume contract pipeline.json
{
"progress": "Prepare -> Validate -> Transform -> Inspect",
"attemptCap": 3,
"stages": [
{
"id": "prepare",
"output": "One run pinned to the source image, exact gathered prompt, and selected model route.",
"paid": false,
"approvalRequired": false
},
{
"id": "validate",
"output": "The 3:4 nighttime photo and prompt contract checked locally.",
"paid": false,
"approvalRequired": false
},
{
"id": "transform",
"output": "One luxury moody-pink editorial image from one approved prediction.",
"paid": true,
"approvalRequired": true
},
{
"id": "inspect",
"output": "Automatic file checks plus an actual visual review.",
"paid": false,
"approvalRequired": true
}
]
}
Exact gathered prompt prompts/transform.txt
Transform this image into a luxury editorial photograph with a moody pink aesthetic. Add vibrant pink and magenta ambient lighting, cinematic glow, rich shadows, soft contrast, and premium color grading while maintaining realistic skin tones. Create an elegant nighttime atmosphere with subtle reflections, atmospheric depth, and polished lighting. Preserve all facial features, clothing, vehicles, objects, and composition while giving the image a modern, high-fashion editorial look.
Automatic and visual gates quality.json
{
"automatic": [
"The source input is 3:4 within 0.02 so composition can be preserved",
"Exactly 1 decodable JPG, JPEG, PNG, or WebP output",
"At least 640x800 pixels",
"Aspect ratio matches the selected route within 0.02",
"At least 50 KB"
],
"visual": [
"Faces, realistic skin tones, clothing, vehicles, objects, composition, crop, and perspective remain recognizable",
"Pink and magenta ambient lighting feels motivated by the nighttime scene rather than pasted over it",
"Cinematic glow, rich shadows, soft contrast, reflections, and atmospheric depth create a polished luxury editorial",
"Highlights retain detail and the pink treatment does not flatten the entire image",
"There are no malformed hands, limbs, facial features, or obviously synthetic background details"
],
"finalization": {
"automaticPassRequired": true,
"visualPassRequired": true,
"reviewNotesRequired": true,
"explicitApprovalFlag": "--approve-final"
}
}