Skip to content
Back to skills

Video Director

ASecurity

Use when a live-action beat becomes the 11-block cinematic prompt — lens, lighting, negatives. Triggers 'cinematic prompt', 'film-grade scene'. Animated → pixar-storyteller; 12-block → scene-expander.

  • 10 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added June 5, 2026
ai-agentsrustgoreact

Works with

  • cli

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add event4u-app/agent-config --skill video-director --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Video Director?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Video Director
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/event4u-app-video-director/badge)](https://www.skillsdirectory.com/skills/event4u-app-video-director)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
model_tier: inherit
name: video-director
description: "Use when a live-action beat becomes the 11-block cinematic prompt — lens, lighting, negatives. Triggers 'cinematic prompt', 'film-grade scene'. Animated → pixar-storyteller; 12-block → scene-expander."
personas:
  - hollywood-director
domain: product
workspaces:
  - small-business
packs:
  - ai-video
lifecycle: experimental
trust:
  level: experimental
install:
  default: false
  removable: true
---

# video-director

> Turn a scene idea into the **11-block cinematic prompt** the
> `hollywood-director` persona ships. Output is provider-agnostic
> prose; provider-specific tuning is handed off to
> [`motion-choreographer`](../motion-choreographer/SKILL.md).

## 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`](../pixar-storyteller/SKILL.md).

Do NOT use when:

- The deliverable is a still graphic or poster → `canvas-design`.
- The work is provider-specific token tuning →
  `motion-choreographer` after this skill has produced the blocks.
- A character identity must be re-used across scenes → run
  [`character-consistency`](../character-consistency/SKILL.md) first
  to lock identity tokens, then call this skill.

## Procedure

### Step 0: Inspect

1. Confirm the input is a live-action / photoreal beat (not animation).
2. If a `character.json` exists under `agents/reference/ai-video/<project>/characters/`,
   read the identity tokens — they are reused verbatim.
3. 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:

1. **SCENE** — location, time-of-day, weather, era.
2. **CHARACTER** — verbatim identity tokens from `character.json`
   when present; otherwise silhouette + wardrobe + signature prop.
3. **ACTION** — verbs and beats. Anticipation → action → reaction
   named separately. No "doing things" prose.
4. **CAMERA** — position, height, distance, move (lock-off, dolly,
   handheld, push, pull). Off-axis when on-axis is the AI default.
5. **LENS** — focal length in mm (24 / 35 / 50 / 85 / 200) and
   aperture intent (deep / shallow). "Cinematic" alone fails.
6. **LIGHTING** — key, fill, back, practical sources named. "Golden
   hour" requires an angle (low-east 15°, etc.).
7. **ENVIRONMENT MOTION** — what the world does (wind, water,
   crowd, traffic) and on which beat.
8. **SECONDARY MOTION** — hair, cloth, dust, breath. Names the
   reactive layer that sells the primary action.
9. **MOOD** — one emotional read; no compound moods.
10. **DURATION** — seconds. Integer or one decimal.
11. **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

1. Lens length present? "Cinematic" without mm → fail.
2. Lighting direction present? "Golden hour" without angle → fail.
3. ACTION names beats, not adjectives?
4. NEGATIVE block has at least 4 entries, load-bearing on top?
5. CHARACTER block reuses identity tokens verbatim when a lock exists?

Any "no" → revise that block before handing off.

### Step 3: Validate

1. Output is plain text, one labeled block per line, ready for
   `scripts/ai-video/lib/parse-blueprint.sh` (Phase 3 Step 5).
2. No provider tokens (no `--aspect`, no `--model`). That is
   `motion-choreographer`'s job.

## Output format

1. **`scenes/<id>/prompt.txt`** — 11 labeled blocks, one per line,
   ready for the blueprint parser.
2. **`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.json` exists, 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.json` exists.

## Policies

Paths, enforcement model, and the full set: the
[media policy preamble](../../../agents/settings/policies/media/README.md).

The 11-block cinematic prompt is live-action shape — real-person and brand-impersonation risks are the highest in the cluster. Before emitting:

- **`likeness`** — when the prompt names or visually identifies a real person on camera.
- **`public-figures`** — when the subject is a recognised public figure.
- **`brand-impersonation`** — when the prompt copies a journalism / broadcaster / regulated-industry visual identity.
- **`style`** — when LIGHT / LENS choices are anchored to a named living cinematographer's signature.
- **`disclosure`** — 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.