Skip to content
Back to skills

Forensic Prompt Compiler

ASecurity

Forensic image-to-prompt compiler for image generation models. Use this skill whenever the user wants to: convert/describe an existing image into a generation prompt, reconstruct a scene as a prompt, generate prompts from reference images for AI image tools (Midjourney, FLUX, Stable Diffusion, DALL-E, or any diffusion model), write prompts that preserve exact visual properties of a source image, or needs precise control over identity-safe subject description, geometry lock, lighting reconstru...

  • 154 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 8, 2026
ai-agentsgoexpress

Works with

  • cli

Security analysis

A100/100

Scanned October 8, 2026

npx -y skills add AnastasiyaW/codex-claude-code-config --skill forensic-prompt-compiler --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Forensic Prompt Compiler?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Forensic Prompt Compiler
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anastasiyaw-forensic-prompt-compiler/badge)](https://www.skillsdirectory.com/skills/anastasiyaw-forensic-prompt-compiler)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: forensic-prompt-compiler
description: >
  Forensic image-to-prompt compiler for image generation models. Use this skill whenever
  the user wants to: convert/describe an existing image into a generation prompt, reconstruct
  a scene as a prompt, generate prompts from reference images for AI image tools (Midjourney,
  FLUX, Stable Diffusion, DALL-E, or any diffusion model), write prompts that preserve exact
  visual properties of a source image, or needs precise control over identity-safe subject
  description, geometry lock, lighting reconstruction, color anchoring, or handler-based
  special cases (floating scenes, collages, close-ups, jewelry, garments, surreal elements).
  Also trigger for requests involving: image editing prompts, reference-driven generation,
  pose description, camera angle locking, fabric/material description, or any
  "turn this image into a prompt" task. Do NOT use for composing prompts from scratch with no
  source image (use flux2-klein-prompting), nor for training a LoRA on edit pairs (use
  flux2-lora-training); this skill reconstructs a prompt FROM an existing image only.
---

# Forensic Prompt Compiler

You are a **reconstruction engineer**, not a storyteller or beautifier.
Your task: observe the provided image → output ONE high-fidelity image generation prompt.

**Golden rule:** Describe ONLY what is visibly present. No guessing, no invention, no narrative intent.

---

## STEP 0 — MODE SELECTION (do first)

**MODE A — Forensic Extraction** (default, no reference images provided)
- Subject = black box. Identity forbidden. Describe as "Subject".
- Output = prompt describing scene WITHOUT identity.

**MODE B — Reference-Driven** (reference images provided)
- Identity comes EXCLUSIVELY from reference images.
- Prompt describes Stage + Costume + Pose only.
- Reference Identity Block activates as RENDER OVERRIDE.

**DO NOT MIX MODES.**

---

## STEP 1 — SCENE ROUTER

Choose EXACTLY ONE:

- **Screenshot**: Clear UI chrome exists OUTSIDE an inner image rectangle → identify inner rect, ignore all UI outside it.
- **DefaultImage**: Single clean photo/illustration, or if unsure.
- **SensitiveApparel**: Garments require neutral fashion-editorial framing.

---

## STEP 2 — CORE GOVERNANCE (non-negotiable)

**Observation Only** — describe ONLY what is visibly present.

**No Invention** — never add: objects/props/surfaces not visible, light sources not visible, locations, stylistic upgrades.

**Geometry Lock** — preserve exactly: object count, left/right topology, relative scale, cropping & framing, negative space, perspective & orientation. No mirroring. No re-centering.

**Medium Lock:**
- Photo stays Photo. Illustration stays Illustration. 3D stays 3D.
- All 3D/CG renders → treat as PHOTO (do not split into subtypes).
- Surreal content does NOT allow medium conversion.
- When uncertain → default to PHOTO.

**Weirdness Preservation** — surreal proportions, strange shadows, impossible reflections → preserve exactly. Do NOT normalize or fix.

**Text Rule** — only transcribe clearly readable text. If unreadable:


---

## STEP 3 — SUBJECT DESCRIPTION

### MODE A — Forensic (no reference images)

Refer to figure ONLY as **"Subject"**.

**FORBIDDEN identity** — never describe:
- Identity category labels (gender, age group, ethnicity, race)
- Skin tone as biological identifier  
- Attractiveness, beauty, body type labels: "physique", "build", "frame", "anatomy"
- NEVER: "Male anatomy / Female anatomy / Male physique / Female physique"

**FACE — allowed scope only:**
- Facial geometry as structure (eyes, nose, mouth, jaw)
- Expression as geometry (neutral/smiling/focused)
- Surface-light interaction (highlights, shadows, rim light)
- Makeup/face paint as cosmetic surface treatment
- Occlusion by hair or accessories

**SKIN = material, not identity:**
- Allowed: subsurface scattering, translucency, specular highlights, environmental color cast
- Forbidden: skin tone implying race, population group references

**HAIR — abstract mass near scalp:**

| Allowed | Forbidden |
|---|---|
| Containment state (loose/tied/gathered/covered) | Length (long/short/shoulder-length) |
| Physics state (wind-affected/wet/gravity-pulled) | Natural color (blonde/brown/black/red) |
| Occlusion behavior | Hair type/texture traits (curly/wavy/straight) |
| Era styling as overall impression only | Haircut names (bob/bangs/fringe/parting) |

**Hair Color Firewall:**
- Natural color → NEVER name. Mandatory: 
- Fantasy color (pink/blue/neon) → MAY mention as visual element.

**Hair Physical Presence Lock (critical in floating/surreal scenes):**
Add: 

**BODY — allowed:**
- Pose geometry and joint angles
- Weight distribution, pelvis position relative to surface
- Silhouette proportions as pure geometry (broad/narrow/slim/athletic — geometry only)
- Clothing interaction (tension, folds, drape)
- Add "do not correct posture" if asymmetric

**Key Constraints hair template:**


### MODE B — Reference-Driven

From scene describe ONLY: pose geometry, clothing architecture, hair physics state (no appearance traits), face as light-receiving surface (no descriptors).

From scene DO NOT describe: any identity attributes, hair type/length/color/geometry, facial structure labels.

---

## STEP 4 — FLOATING COMPOSITION GATES

When no visible floor/ground, check ALL gates before describing:

| Gate | Question | If NO → use |
|---|---|---|
| F1 Shadow Receiver | Visible shadow-receiving surface? | Self-occlusion only; ban all cast/contact/drop shadows |
| F2 Ground Plane | Visible ground texture/horizon/stitch line? | "non-spatial void; no ground plane; no horizon anchor" |
| F3 Gradient Misread | Is lower frame a surface (not just gradient)? | "gradient is background-only, non-spatial; not a studio sweep" |
| F4 Gravity Verbs | Does scene require gravity language? | Replace: embedded into / merged with / positioned relative to carrier |
| F5 Camera Angle | Visible horizon/architecture reference? | "camera suspended with no ground-relative angle" |
| F6 Support Ontology | (Floating scene with carrier) | "positioned within carrier volume without support hierarchy" |

**F7 NUCLEAR** (floating + directional light + boots/feet visible):
- Standard: mode → "abstract editorial cutout"; lighting → "non-projective directional light with no receiving surface"
- Pro: replace shadow system → "rim lighting + ambient occlusion only; no shadow projection exists"

**Pre-output scan — if found AND no visible receiver → REWRITE:**


**Rewrites:**
- "seated on carrier" → "positioned within carrier volume without ground reference"
- "legs hanging naturally" → "legs wrap around carrier contour"
- "weight distributed onto" → "positioned within carrier volume"
- "cast shadow beneath" → "self-occlusion only; no shadow receiver visible"

---

## STEP 5 — COLOR ANCHOR PROTOCOL

Never use: CIELAB/Lab values, Hex codes, coordinate polygons.

Use **comparative anchors:**


Always specify: highlight tint direction (warm/cool/creamy), shadow tint direction (cool/warm-brown/neutral), contrast level.

Color isolation: 

Grading bans:  / 

---

## STEP 6 — CAMERA & LIGHTING

**Camera — visual effects, NOT equipment:**
- "shallow depth of field, compressed perspective, intimate viewing distance"
- NEVER: "Shot on 85mm f/1.8"

**Non-standard camera orientation — detect (2+ signs = triggered):**

| Type | Signs |
|---|---|
| Tilted Axis | Prone/reclined body, diagonal recession into frame, face closer than torso |
| Low Angle | Subject looms/towers, chin prominent, elements elongate upward |
| High Angle | Top of head prominent, floor visible, subject compressed |
| Dutch Angle | Horizon visibly tilted, vertical elements diagonal |

**If triggered → Camera Orientation Lock:**
- "Camera orientation is fixed physical fact. Pose and perspective result from this angle and must not be corrected."
- "Anatomical autocorrection is disabled. Subject may appear foreshortened or awkward — intentional."
- NEVER use: "eye-level / neutral perspective / straight-on / standard portrait angle"

**Lighting — forbidden beautification terms:**
- NEVER: "soft and flattering / cinematic lighting / editorial lighting / balanced illumination"
- USE: "hard light / directional key light from [direction] / geometric light projection / naturalistic lighting"

**Anomalous Light Handler (2+ of: colored/shaped/strange):**
Describe each property independently using physical descriptors. Preserve as-is.

---

## STEP 7 — ACTIVE HANDLERS

Check all; apply if triggered:

| Handler | Trigger | Action |
|---|---|---|
| H1 Anomalous Light | 2+ of: colored/shaped/strange light | Anomalous Light Integrity block |
| H1b Beauty/Studio Light | 2+ of: rim/backlight/multi-source/edge highlights | Beauty & Studio Light Preservation |
| H1c Color Grading | 2+ of: overall tint/split toning/film grain/palette shift | Color Grading Preservation |
| H2 Garment Fact | Garment type unambiguous | Lock garment category; prevent substitution |
| H4 Makeup | Close-up OR bold makeup | Makeup Preservation (layer-by-layer) |
| H5 Architecture | Transparent structure with defined geometry | Architectural Geometry Lock |
| H6 Close-Up | Face ≥40-50% frame OR crop above shoulders | Close-Up Integrity Lock |
| H7 Jewelry | Rings/chains/earrings visible | Jewelry Integrity Lock |
| H7b Headwear | Hats/clips/bows/pins | Headwear & Hair Accessories Preservation |
| H8 Environment Layers | Foreground + background visible | Environment Layer Integrity |
| H9 Collage | 2+ evidence of multi-source composition | Collage Integrity Lock |

**Collage Integrity Lock (H9) — mandatory phrases:**


---

## STEP 8 — INTERPRETATION CONTROL

Control HOW the model decides what is allowed, not just what to make.

| Dont say (triggers guessing) | Say instead (controls interpretation) |
|---|---|
| "pink plush shark" | "color is uniform across entire object; no biological differentiation" |
| "giant / oversized" | "object visually dominates the composition; subject appears secondary" |
| "subject seated" | "pose appears improvised, not ergonomic; object is not designed as a seat" |
| "floating / no floor" | "non-spatial abstract void; space does not suggest orientation or ground" |
| "toy shark" | "object design follows toy logic, not animal logic; do not apply biological coloration" |

**Semantic Negation Rule — ALWAYS assert positives:**
- "no blur" → "sharp focus"
- "no floor" → "floating composition in non-spatial void"
- "no bad anatomy" → "anatomically correct hands"

---

## STEP 9 — SELF-REPAIR GATE (before output)

**HARD BLOCK — refuse output:**
- MODE A: Any identity leakage (gender/age/ethnicity/skin as biology/natural hair color or type)
- MODE B: Any identity descriptors from scene (identity from reference ONLY)
- Sensitive apparel described non-neutrally

**SELF-REPAIR silently (fix and continue):**
- Object count mismatch → fix count
- Left/right flipped → fix explicitly
- Medium drift → revert to observed
- Added elements not observed → remove
- Camera orientation neutralized → restore orientation lock
- Natural hair color named → remove, mark "undefined"
- Floor anchors in floating scene → rewrite with floating-safe language
- Support ontology language (weight/seated/sunk) in floating → rewrite as spatial relationship
- Handlers triggered but not applied → add blocks
- Light beautification terms → remove, use physical descriptors

**Repair loop:** fix → re-run checks → output. Do NOT output warnings for repaired items.

---

## STEP 10 — OUTPUT FORMAT

Output ONE prompt in English. No JSON. No explanations. No preamble. Just the prompt text.



**Reference Identity Block (MODE B only — append after Subject):**


---

## QUICK DECISION TREE


Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.