agentleFS
AnastasiyaWAnastasiyaW/claude-code-config/skills/ai-ml/forensic-prompt-compiler/SKILL.md

forensic-prompt-compiler

Skill213 starsChanged 3 days agoMITView on GitHub

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.

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 11 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    All 3D/CG renders → treat as PHOTO (do not split into subtypes).

    line 62
  2. Distinctive:

    When uncertain → default to PHOTO.

    line 64
  3. Distinctive:

    NEVER: "Male anatomy / Female anatomy / Male physique / Female physique"

    line 83
  4. Distinctive:

    Add "do not correct posture" if asymmetric

    line 117
  5. Distinctive:

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

    line 132
  6. Distinctive:

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

    line 160
  7. Very specific:

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

    line 165
  8. Distinctive:

    NEVER: "Shot on 85mm f/1.8"

    line 177
  9. Distinctive:

    NEVER use: "eye-level / neutral perspective / straight-on / standard portrait angle"

    line 191
  10. Distinctive:

    NEVER: "soft and flattering / cinematic lighting / editorial lighting / balanced illumination"

    line 194
  11. Distinctive:

    USE: "hard light / directional key light from [direction] / geometric light projection / naturalistic lighting"

    line 195
  12. Distinctive:

    Check all; apply if triggered:

    line 204

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

AllowedForbidden
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 behaviorHair type/texture traits (curly/wavy/straight)
Era styling as overall impression onlyHaircut 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:

GateQuestionIf NO → use
F1 Shadow ReceiverVisible shadow-receiving surface?Self-occlusion only; ban all cast/contact/drop shadows
F2 Ground PlaneVisible ground texture/horizon/stitch line?"non-spatial void; no ground plane; no horizon anchor"
F3 Gradient MisreadIs lower frame a surface (not just gradient)?"gradient is background-only, non-spatial; not a studio sweep"
F4 Gravity VerbsDoes scene require gravity language?Replace: embedded into / merged with / positioned relative to carrier
F5 Camera AngleVisible 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):

TypeSigns
Tilted AxisProne/reclined body, diagonal recession into frame, face closer than torso
Low AngleSubject looms/towers, chin prominent, elements elongate upward
High AngleTop of head prominent, floor visible, subject compressed
Dutch AngleHorizon 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:

HandlerTriggerAction
H1 Anomalous Light2+ of: colored/shaped/strange lightAnomalous Light Integrity block
H1b Beauty/Studio Light2+ of: rim/backlight/multi-source/edge highlightsBeauty & Studio Light Preservation
H1c Color Grading2+ of: overall tint/split toning/film grain/palette shiftColor Grading Preservation
H2 Garment FactGarment type unambiguousLock garment category; prevent substitution
H4 MakeupClose-up OR bold makeupMakeup Preservation (layer-by-layer)
H5 ArchitectureTransparent structure with defined geometryArchitectural Geometry Lock
H6 Close-UpFace ≥40-50% frame OR crop above shouldersClose-Up Integrity Lock
H7 JewelryRings/chains/earrings visibleJewelry Integrity Lock
H7b HeadwearHats/clips/bows/pinsHeadwear & Hair Accessories Preservation
H8 Environment LayersForeground + background visibleEnvironment Layer Integrity
H9 Collage2+ evidence of multi-source compositionCollage 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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.