Writes manual, copy-paste-ready image-generation prompts in a locked period-cinematic style (anamorphic lens, Canon 5D Mark II, gritty premium theatrical grade). Given a scene/subject description, produces THREE framing variants — wide, medium, and close-up — all sharing the same subject and the same style block. Works across any project: if the current project has its own established style bible, character references, or QC rules, this skill picks them up and layers them on top of the base s...
Installs into .claude/skills of the current project.
Are you the author of Cinematic Prompt Writer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/teen-boop-cinematic-prompt-writer)
---
name: cinematic-prompt-writer
description: >-
Writes manual, copy-paste-ready image-generation prompts in a locked
period-cinematic style (anamorphic lens, Canon 5D Mark II, gritty premium
theatrical grade). Given a scene/subject description, produces THREE
framing variants — wide, medium, and close-up — all sharing the same
subject and the same style block. Works across any project: if the
current project has its own established style bible, character
references, or QC rules, this skill picks them up and layers them on top
of the base style; otherwise it falls back to the default style block
below. Use whenever the user wants a still generated by hand (outside any
automated pipeline) and needs the prompt written for them.
user-invocable: true
---
# Cinematic Prompt Writer
Produces prompt sets for manual/one-off image generation (Midjourney, Nano
Banana, GPT Image, etc. — anywhere the user pastes a prompt by hand), kept
in one consistent visual language across requests and across projects.
## What the user gives you
A scene or subject in plain language — as short as one line ("Victorian
building decorated for Christmas") or as detailed as they like. It does not
need to already specify time of day, season, year, or location.
## What you produce
**Always exactly three prompts per request**, same subject/scene/time/season
throughout — only the framing/distance language changes between them:
1. **Wide** — full scene/environment, subject smaller in frame, establishes location and context.
2. **Medium** — subject's body/most of a building or group, some environment still visible.
3. **Close-up** — tight framing, emphasis on face/expression/texture/fine detail.
Never invent different scenes between the three — same props, same light,
same moment in time, only the camera distance changes.
## Process
1. **Check for project context first.** Look for a project-local style bible,
locked character references, or QC rules — e.g. a `PRODUCTION_QUEUE.md`,
a `.claude/skills/*-frame-qc` or `*-style` skill, a `video/*style*.md`
file, or similar in the current working project. If found, use its
established timeline/characters/locations and its own style block
instead of (or layered on top of) the default below, and follow its own
QC rules in step 5. If nothing project-specific exists, use the defaults
in this skill as-is — this skill must work standalone in a brand-new
project with no prior context.
2. **Resolve time-period specifics before writing anything.** If the request
doesn't pin down time of day, season, year, or location, work it out from
context (the project's established setting if there is one, otherwise
sensible default given the request) and state the assumption in one line
before the prompts — don't silently guess without saying so. Pick a time
of day that makes the scene's lighting actually work (e.g. glowing
lanterns read best at dusk/night, not full daylight).
**If this shot traces back to a scene in a `script-extractor` breakdown,
that breakdown's day/night, wardrobe, and location facts for the scene
are binding — pull them from there instead of resolving independently.**
Don't write "golden afternoon light" for a shot whose scene entry says
NIGHT, and don't invent or drop a wardrobe detail (e.g. "dark suit and
sunglasses") the breakdown already established for that character. An
**[inferred]** value in the breakdown is still a resolved answer, not an
invitation to guess something else.
3. **Write one dense subject/scene description** (roughly 60–100 words) —
concrete period props, specific lighting quality, atmosphere, texture.
Be as specific and concrete as the request allows; avoid generic filler
("a beautiful scene") in favor of particular details (materials, weather,
what's in someone's hands, what the light is doing).
4. **Derive the three framing lines** from that one description — reword
only the framing/distance/composition sentence for each of wide/medium/
close-up; keep every concrete detail (props, light, season, any on-scene
text, etc.) identical across all three.
5. **Append the style block below to all three prompts, verbatim, every
time** — this is the whole point of the skill: consistency across every
manual generation regardless of subject or project. If the current
project defines its own style block (step 1), use that instead and note
which one you used.
6. **Apply QC best practices proactively** so prompts need fewer redos:
- If a project-specific QC skill exists (step 1), follow its rules
(e.g. this may include exact prop-count requirements, face-sharpness
rules, framing bans — check that skill directly).
- Generic defaults otherwise: add "no on-screen text, no captions, no
watermark" UNLESS the scene's own point is diegetic lettering/signage
(a banner, sign, newspaper) — in that case describe that text
explicitly instead of banning all text.
- Don't describe a composition as "vertically composed" or "stacked" —
redescribe as one wide horizontal composition if two height levels
need to show, to avoid frame-within-frame artifacts some models
produce from that phrasing.
- For background/atmosphere figures where a sharp face isn't the point,
keep them at a distance or turned away rather than close and
front-on-camera — some models render small background faces as
blurred/featureless when asked for a crowd of clear faces up close.
7. **If the scene includes a locked/recurring character**, remind the user
to attach that character's reference image/CDN URL if the project keeps
one — a manual paste-in generator won't attach it automatically.
## DEFAULT STYLE BLOCK (used unless the current project defines its own)
```
Anamorphic lens, arri camera cooke lenses england 1900s 40 50mm dominant, occasional 75mm close up, subtle handheld tension. Cinematic premium theatrical grade, gritty but beautiful. Ultra realiste. No flat lighting, no documentary, no sci fi gloss, no cartoon, no generic streaming look Canon EOS 5D Mark II, 50mm f/1.8, shallow depth of field, gentle film grain.
```
**Known risk with this exact wording (flag once per session if it comes up,
don't silently rewrite it):** the literal phrase "arri camera" (or any
explicit camera-brand wording) has been confirmed on at least one project
to occasionally cause a model to render a physical camera body as a stray
in-scene prop. This is the user's standing default and is used verbatim.
If a generation comes back with a camera rig visible in frame, the
confirmed fix is to swap that clause for "filmed in the visual language of
premium anamorphic cinema lenses" + "no visible camera, crew, or equipment
anywhere in frame" — mention this as the fix if it happens, don't
pre-emptively change the wording unasked.
The "england 1900s" clause in the style block is a default period anchor,
not a hard requirement — if the current project or the specific request is
set somewhere else or some other time, keep the rest of the technical/style
language but swap that clause for the right setting.
## Output format
```
**Assumptions:** [one line — time of day / season / year / location, only if not already specified by the user; also name which style block was used if not the default]
**Wide:**
[full prompt: subject+scene description in wide framing] + STYLE BLOCK
**Medium:**
[full prompt: same subject+scene description in medium framing] + STYLE BLOCK
**Close-up:**
[full prompt: same subject+scene description in close framing] + STYLE BLOCK
```