Cinematic prompt methodology for AI image and video generation. Install into Claude Code, author director-grade style packs and storyboards from your reference images. Output is markdown, drop-in compatible with PUSHING FRAMES.
SaferSkills independently audited pushing-creation (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Cinematic prompt methodology workspace. You're helping a user author style packs and storyboards that produce professional-grade AI-generated images and video.
Stop prompting. Start defining outcomes.
Treat the AI like a director of photography you've hired. You don't tell a DP "make it cinematic." You tell them ARRI Alexa 35, 50mm prime at T1.5, golden-hour rim from frame right, anamorphic squeeze, 24fps at 1/48 shutter, and you hand them three reference images.
Specificity transfers craft. Years of being on set compressed into a sentence the model can act on. Vague prompts produce average results because models default to the average of their training data.
Every project is a folder with three things:
projects/<slug>/
style.md # STYLE_ and NEG_ blocks (the visual voice)
storyboard.md # shot table (camera, lens, action, style refs)
refs/ # reference imagesstyle.mdNamed blocks prefixed STYLE_ (positive) or NEG_ (negative). Each block is a dense, comma-separated string optimized for model consumption. The block name describes intent; the body is the prompt fragment.
STYLE_ blocks define the visual voice: film stock, lighting state, lens character, grain, composition rules. NEG_ blocks fight specific AI failure modes: plastic skin, centred composition, flat lighting, anatomy glitches.
Mix blocks per shot. A macro close-up needs STYLE_MACRO_TACTILE + STYLE_GRAIN_HALATION but not STYLE_ANAMORPHIC. Fewer, targeted blocks beat stacking everything.
storyboard.mdA markdown table with columns: Shot | Provider | Model | Camera | Lens | Aspect | Action | Refs | Style | Neg | Mode | Duration
The Action column is the prompt. Lead with Shot on [camera] mounted on [rig]. State T-stop, shutter speed, ISO, fps. Then describe the scene with the precision a DP brief demands.
The Style and Neg columns reference block names from style.md. The generation tool (or the user) expands these into the full prompt at render time.
refs/Reference stills, plates, mood frames. Drop images here. /frames-brainstorm reads them via vision to ground style interviews in real visual material.
When helping a user author style.md by hand:
templates/style.md). It ships a curated STYLE_/NEG_ library covering the most common AI failure modes./frames-brainstormThe interactive alternative to hand-editing. The user drops reference images into projects/<slug>/refs/, runs /frames-brainstorm, and Claude conducts a DP-voiced interview grounded in vision analysis of those refs. Each answer gets compressed into a STYLE_ or NEG_ block and written to style.md in real time. The user talks naturally about their visual taste; Claude listens, compresses, writes. Aim for 6-10 blocks per session.
/frames-shotlistThe storyboard generator. Reads style.md block names, analyses reference images via vision, gathers the project concept (from CONCEPT.md or by asking), and drafts a full shot table. Each row is a self-contained brief with camera, lens, T-stop, action description, and style/neg references. Default target is 6-10 shots. Run after /frames-brainstorm to go from visual voice to shot-by-shot execution plan.
/frames-shotThe single-shot editor. Pass a shot number to refine an existing row, or new to append. DP-voiced conversation that pushes back on vague input and compresses feedback into the storyboard table. Uses Edit tool to modify only the target row, preserving table integrity.
When helping author storyboard.md:
templates/style.md is the starter STYLE_/NEG_ library. Curated blocks fighting the most common AI defaults.templates/storyboard.md is a worked BMW M-Series Track Day example. Six shots showing the format end-to-end.templates/example-project/ is the full BMW pack with style, storyboard, and refs folder./frames-new <slug> scaffolds a new project folder with starter templates./frames-brainstorm runs a vision-grounded DP interview that writes style.md live from your reference images./frames-shotlist generates a full storyboard from style + refs + concept./frames-shot <N> authors or refines a single shot in the storyboard./frames-gen <N> generates an image or video for shot N, reading API keys from macOS Keychain./frames-keys manages provider API keys stored in Keychain (add, list, test, remove).You can generate images and video directly from Claude Code without leaving the session.
How it works: bin/frames-gen reads the shot from storyboard.md, expands style blocks from style.md, reads the provider API key from macOS Keychain at call time, and calls the provider. Claude never sees the key value. The output path is the only thing printed to stdout.
Setup: Add provider keys once with bin/frames-keys add <provider> or via /frames-keys. See docs/KEYCHAIN_SETUP.md for the exact commands per provider.
Supported providers:
| Provider | Image | Video |
|---|---|---|
| gemini | yes | yes (Veo 2) |
| openai | yes | no |
| openrouter | yes | no |
| kling | no | yes |
| seedream | yes | no |
| seedance | no | yes |
| imagen | yes | no |
Usage pattern:
/frames-keys add gemini # once per provider
/frames-gen 1 # generates shot 1 using the provider in the storyboardFor providers that need two credentials (Seedream, Seedance), store them as access_key:secret_key (colon-separated) in a single Keychain entry.
This workspace is the methodology. PUSHING FRAMES is the generation tool. They're siblings, not dependencies. Projects authored here open cleanly in PUSHING FRAMES. You don't need PUSHING FRAMES to use this workspace, and you don't need this workspace to use PUSHING FRAMES.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.