Agent instructions SKILL.md
---
name: wiggly-dreamcore-angel
description: Turn one 3:4 portrait into a luminous monochrome fallen angel using the exact gathered SKAI prompt.
---
# Dreamcore Angel
Use the packaged runner and exact prompt. Do not call Replicate separately or create another render path.
From the extracted kit's `v3` directory:
```bash
npm install
npm run format:skai-image -- check --format=dreamcore-angel
npm run format:skai-image -- smoke --format=dreamcore-angel
```
Ask one short question:
> Which 3:4 portrait should I turn into a dreamcore fallen angel, and should I use Nano Banana 2 (default), Lite (economy), or Pro (premium)?
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=dreamcore-angel --run=<id> --input=<absolute-image-path> [--model=<route>]
npm run format:skai-image -- validate --format=dreamcore-angel --run=<id>
npm run format:skai-image -- estimate --format=dreamcore-angel --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=dreamcore-angel --run=<id> --approve-paid
npm run format:skai-image -- inspect --format=dreamcore-angel --run=<id>
npm run format:skai-image -- inspect --format=dreamcore-angel --run=<id> --visual-pass --review-notes="<specific observations>"
npm run format:skai-image -- finalize --format=dreamcore-angel --run=<id> --approve-final
```
Hard rules:
- Preserve the same recognizable face while following the gathered lowered-gaze side-profile composition.
- Make gigantic glowing feathered wings dominate a pure black void.
- Use monochrome silver-gray color, blown whites, crushed blacks, aggressive bloom, and soft diffusion.
- Keep the dirty CCD/VHS texture, grain, compression, tape damage, and imperfect underground-art finish.
- Do not clean the image into modern beauty photography, glossy CGI, crisp ultra-HD, or vibrant color.
- 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.
- Return the finished image and `quality-report.json` to the user after finalization.
- 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 SKAI cover names GPT Image 2.0; Wiggly's runnable Replicate 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 portrait should I turn into a dreamcore fallen angel, and should I use Nano Banana 2 (default), Lite (economy), or Pro (premium)?",
"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": "GPT Image 2.0"
}
Paid-call and resume contract pipeline.json
{
"progress": "Prepare -> Validate -> Transform -> Inspect",
"attemptCap": 3,
"stages": [
{
"id": "prepare",
"output": "One run pinned to the portrait, exact gathered prompt, and selected model route.",
"paid": false,
"approvalRequired": false
},
{
"id": "validate",
"output": "The 3:4 portrait and prompt contract checked locally.",
"paid": false,
"approvalRequired": false
},
{
"id": "transform",
"output": "One dreamcore fallen-angel portrait 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
young man, same face as reference, ethereal fallen angel aesthetic, exhausted angel, emotionally destroyed expression, fragile melancholic energy, soft androgynous features, messy dark black hair partially covering eyes, dark hair absorbing light, emotional vulnerability, surreal gothic atmosphere
close-up side profile shot, intimate camera distance, camera very close to face, looking downward, head lowered, soft slouched posture, candid emotional moment, unaware of camera, subtle body language, cropped composition, shoulders visible, partial face visibility, shallow depth of field, subject positioned in the center-right of the frame, balanced composition, empty dark negative space surrounding subject
massive luminous feathered wings, gigantic angel wings extending far beyond the body, bright glowing white wings dominating the frame, highly visible layered feather texture, radiant feathers illuminated by intense backlight, wings spreading outward dramatically into darkness, strong silhouette contrast against pure black background, feather edges glowing aggressively through bloom lighting, wings partially overexposed, heavenly glow consuming feather details
pure black background, deep void-like darkness, background completely swallowed in black, no visible environment, subtle fog haze, smoke diffusion around light sources, atmospheric darkness enhancing wing contrast
extremely overexposed highlights, blown out whites, deep crushed blacks, aggressive bloom lighting, glowing skin, halo effect around body, soft focus, dreamy diffusion filter, monochrome silver-gray palette, washed out details, clipped highlights, bloom overload, face partially consumed by white glow, ghostly silhouette, extreme bloom around hair, overexposure bleeding into surrounding darkness
extreme digital noise, heavy sensor grain, dirty monochrome texture, compressed image artifacts, low bitrate video still, VHS damage, tape noise, static interference, corrupted pixels, dirty camera sensor, gritty texture, analog distortion, smeared details, muddy image quality, photocopy texture, dusty frame, noisy shadows, degraded recording, overprocessed highlights, harsh bloom bleed, grain overload, interlaced video artifacts, damaged VHS tape aesthetic, screenshot from forgotten experimental music video
old CCD digital camera look, low fidelity digital photography, raw underground photography, low quality underground art project, experimental visual art aesthetic, accidental-looking composition, emotionally intimate frame
haunting atmosphere, liminal dreamcore, gothic angelcore, melancholic beauty, eerie softness, visual loneliness, underground 2000s internet aesthetic, forgotten dark web fashion archive vibe
avoid: clean modern photography, sharp focus, glossy skin, vibrant colors, polished CGI, fantasy cosplay, ultra HD, crisp details, beauty photography, perfect anatomy, modern fashion campaign.
Automatic and visual gates quality.json
{
"automatic": [
"The source input is 3:4 within 0.02",
"Exactly 1 decodable JPG, JPEG, PNG, or WebP output",
"At least 600x800 pixels",
"Aspect ratio matches the selected route within 0.02",
"At least 50 KB"
],
"visual": [
"The same face remains recognizable beneath the stylization",
"Gigantic luminous feathered wings dominate the frame and read clearly against a pure black void",
"The close side profile, lowered gaze, fragile posture, and melancholic expression feel intimate rather than posed",
"Blown whites, crushed blacks, bloom, monochrome grain, VHS damage, and low-fidelity artifacts feel intentional",
"There are no malformed facial features, broken wings, or stray modern-background details"
],
"finalization": {
"automaticPassRequired": true,
"visualPassRequired": true,
"reviewNotesRequired": true,
"explicitApprovalFlag": "--approve-final"
}
}