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
- Distinctive: line 62
All 3D/CG renders → treat as PHOTO (do not split into subtypes).
- Distinctive: line 64
When uncertain → default to PHOTO.
- Distinctive: line 83
NEVER: "Male anatomy / Female anatomy / Male physique / Female physique"
- Distinctive: line 117
Add "do not correct posture" if asymmetric
- Distinctive: line 132
When no visible floor/ground, check ALL gates before describing:
- Distinctive: line 160
Never use: CIELAB/Lab values, Hex codes, coordinate polygons.
- Very specific: line 165
Always specify: highlight tint direction (warm/cool/creamy), shadow tint direction (cool/warm-brown/neutral), contrast level.
- Distinctive: line 177
NEVER: "Shot on 85mm f/1.8"
- Distinctive: line 191
NEVER use: "eye-level / neutral perspective / straight-on / standard portrait angle"
- Distinctive: line 194
NEVER: "soft and flattering / cinematic lighting / editorial lighting / balanced illumination"
- Distinctive: line 195
USE: "hard light / directional key light from [direction] / geometric light projection / naturalistic lighting"
- Distinctive: line 204
Check all; apply if triggered:
≈ “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.
Files
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
Other versions1 project uses a version of this.
Word for word · 1
- AnastasiyaW/codex-claude-code-config★ 213100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository60 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-harness-designSkill
- agents-best-practicesSkill
- diffusion-engineeringSkill
- flux2-klein-promptingSkill
- flux2-lora-trainingSkill
- ml-research-labSkill
- notebooklm-grounded-researchSkill
- vlm-segmentationSkill
- feature-newSkill
- harness-designSkill
- layer-newSkill
- plan-swarm-reviewSkill
- pixel-art-storyboardSkill
- pixel-art-studioSkill
- architecture-firstSkill
- architecture-qualitySkill
- bug-reproducerSkill
- code-complexitySkill
- control-cliSkill
- control-uiSkill
- deep-reviewSkill
- deslopSkill
- distill-feedbackSkill
- harness-feedbackSkill
- proof-verifySkill
- refactoring-safelySkill
- repo-mapSkill
- root-cause-deliverySkill
- system-and-data-designSkill
- testing-strategySkill
- thermo-nuclear-code-quality-reviewSkill
- verify-thisSkill
- workflow-orchestrationSkill
- frontend-designSkill
- motion-framerSkill
- ui-designSkill
- ui-ux-pro-maxSkill
- ios-developmentSkill
- lean-codeSkill
- cross-harness-continuationSkill
- deepseek-provider-contractSkill
- desktop-sessions-discoverySkill
- epistemic-challengeSkill
- gemini-delegateSkill
- harness-auditSkill
- observability-monitoringSkill
- remote-compute-opsSkill
- plan-to-ticketsSkill
- product-meaning-extractorSkill
- remotion-production-guideSkill
- script-evaluatorSkill
- video-narrative-arcSkill
- video-post-productionSkill
- article-structure-reviewSkill
- cavemanSkill
- humanize-englishSkill
- humanize-russianSkill
- owner-voiceSkill
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
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.

