Video director
Universal AI Agent OS — audited skills, governance rules, replayable state. One contract, every host agent.
npx -y skills add event4u-app/agent-config --skill video-directorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when turning a scene idea into the 11-block cinematic prompt for live-action AI video — lens, lighting, blocking, motion, negatives. Triggers 'cinematic prompt', 'film-grade scene'.
SKILL.md
6.0 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
video-director
Turn a scene idea into the 11-block cinematic prompt the
hollywood-directorpersona ships. Output is provider-agnostic prose; provider-specific tuning is handed off tomotion-choreographer.
When to use
- A scene idea, beat, or script line needs to become a cinematic prompt ready to feed an image+video pipeline.
- A draft prompt reads as "AI video" — flat, centered, generic golden-hour — and needs directorial choices on the page.
- Live-action / photoreal scenes. For animation acting beats, route
to
pixar-storyteller.
Do NOT use when:
- The deliverable is a still graphic or poster →
canvas-design. - The work is provider-specific token tuning →
motion-choreographerafter this skill has produced the blocks. - A character identity must be re-used across scenes → run
character-consistencyfirst to lock identity tokens, then call this skill.
Procedure
Step 0: Inspect
- Confirm the input is a live-action / photoreal beat (not animation).
- If a
character.jsonexists underagents/reference/ai-video/<project>/characters/, read the identity tokens — they are reused verbatim. - Read the scene's intent in one sentence — what is the camera witnessing, and why now?
Step 1: Draft the 11 blocks
Emit each block on its own labeled line. Blocks are mandatory and in this order:
- SCENE — location, time-of-day, weather, era.
- CHARACTER — verbatim identity tokens from
character.jsonwhen present; otherwise silhouette + wardrobe + signature prop. - ACTION — verbs and beats. Anticipation → action → reaction named separately. No "doing things" prose.
- CAMERA — position, height, distance, move (lock-off, dolly, handheld, push, pull). Off-axis when on-axis is the AI default.
- LENS — focal length in mm (24 / 35 / 50 / 85 / 200) and aperture intent (deep / shallow). "Cinematic" alone fails.
- LIGHTING — key, fill, back, practical sources named. "Golden hour" requires an angle (low-east 15°, etc.).
- ENVIRONMENT MOTION — what the world does (wind, water, crowd, traffic) and on which beat.
- SECONDARY MOTION — hair, cloth, dust, breath. Names the reactive layer that sells the primary action.
- MOOD — one emotional read; no compound moods.
- DURATION — seconds. Integer or one decimal.
- NEGATIVE CONSTRAINTS — clichés to reject, in load-bearing order (top survives truncation). Always names: centered framing, symmetric composition, generic "cinematic", soap-opera contrast.
Step 2: Self-review
- Lens length present? "Cinematic" without mm → fail.
- Lighting direction present? "Golden hour" without angle → fail.
- ACTION names beats, not adjectives?
- NEGATIVE block has at least 4 entries, load-bearing on top?
- CHARACTER block reuses identity tokens verbatim when a lock exists?
Any "no" → revise that block before handing off.
Step 3: Validate
- Output is plain text, one labeled block per line, ready for
scripts/ai-video/lib/parse-blueprint.sh(Phase 3 Step 5). - No provider tokens (no
--aspect, no--model). That ismotion-choreographer's job.
Output format
scenes/<id>/prompt.txt— 11 labeled blocks, one per line, ready for the blueprint parser.scenes/<id>/review.md— one-paragraph rationale per non-obvious directorial choice (lens, light angle, camera move).
Gotcha
- The model defaults to centered, on-axis, symmetric — name an off-axis or rule-of-thirds camera or it will silently center.
- "Golden hour" alone reads as a sunset GIF; require a sun angle.
- ACTION written as a paragraph of adjectives ("dynamically", "powerfully") fails — adapters need verbs with beat counts.
- When
character.jsonexists, paraphrasing identity tokens breaks Character Lock — copy them verbatim. - Negative constraints in the truncated tail get dropped — load- bearing ones go first.
Do NOT
- Do NOT emit provider-specific tokens (aspect ratio, model id,
duration flags) — that is
motion-choreographer's scope. - Do NOT collapse anticipation / action / reaction into one verb.
- Do NOT use "cinematic" without lens + lighting + camera move.
- Do NOT invent character details when a
character.jsonexists.
Policies
The 11-block cinematic prompt is live-action shape — real-person and brand-impersonation risks are the highest in the cluster. Before emitting:
agents/settings/policies/media/likeness.md— when the prompt names or visually identifies a real person on camera.agents/settings/policies/media/public-figures.md— when the subject is a recognised public figure.agents/settings/policies/media/brand-impersonation.md— when the prompt copies a journalism / broadcaster / regulated-industry visual identity.agents/settings/policies/media/style.md— when LIGHT / LENS choices are anchored to a named living cinematographer's signature.agents/settings/policies/media/disclosure.md— every distributed live-action AI clip carries the non-removable AI-generation disclosure.
Refuse-and-surface at the directorial layer; live-action realism amplifies every policy gap downstream.