Skip to content
Back to skills

Film Preprod

ASecurity

Pre-production of a SHORT FILM or a MUSIC VIDEO: the veto map from whoever judges it, the story written end-first (the seven steps in seconds, a subworld per beat), premises ranked twice, the hero shot generated first, the track map measured before the gen map, the shared pre-production core (partitions on continuity, the script diff) and contest hygiene. Use when a film or a music video is briefed, a premise or format must be chosen, a beat sheet must be written or checked, a track must be m...

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 19, 2026
ai-agentspythongobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add konradre/video-production-skills --skill film-preprod --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Film Preprod?

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

Security grade badge for Film Preprod
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/konradre-film-preprod/badge)](https://www.skillsdirectory.com/skills/konradre-film-preprod)

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
---
name: film-preprod
description: >
  Pre-production of a SHORT FILM or a MUSIC VIDEO: the veto map from whoever judges it, the story written
  end-first (the seven steps in seconds, a subworld per beat), premises ranked twice, the hero shot generated
  first, the track map measured before the gen map, the shared pre-production core (partitions on continuity, the
  script diff) and contest hygiene. Use when a film or a music video is briefed, a premise or format must be
  chosen, a beat sheet must be written or checked, a track must be mapped, or contest rules must become a
  checklist. Triggers — "story beats", "the seven steps", "the premise", "which format, live action or animation",
  "the hero shot", "self-revelation", "track map", "cut to the drop", "the jury", "the veto map", "the contest
  rules". Not for an ad campaign's brief or cost plan — use ad-spot-preprod. Not for the reference set — use
  video-refs-continuity. Not for the prompt itself — use video-prompt-dialects. Not for the cut — use
  video-edit-edl.
allowed-tools: Read, Glob, Grep, Write, Edit, Bash(python3*), Bash(ffmpeg*), Bash(ffprobe*), Bash(ls*)
---

# Film Pre-production

A short is not a small feature: the corpus that governs features assumes 120 pages and fails at
5 minutes. Four of its assets transfer once the unit is seconds; the rest is replaced by two rules
that generated video imposes — **the hero shot decides everything** and **premise selection is a
pipeline decision**. A music video adds a third: **the track is measured before a beat is written**.

## 1. Read the judges, write the veto map

Whoever decides the film's fate — a jury, an audience, a client — is researched first: their own
work, their stated taste, the archetype their choices converge on, and the one beat that resolves it.
Two tables before anything else: the **veto map** (asymmetric — one strong aversion outweighs three
mild positives; constraints, not preferences) and the **compliance table** against the rule set. The
convergence is your synthesis and is recorded as such; the vetoes are sourced and carry the weight.
[`references/JURY-AND-PREMISE.md`](references/JURY-AND-PREMISE.md) § 1.

**Done when:** both tables exist with a source per row and a ✅/⚠/⬜ per rule.

## 2. Write the end first, then the characters

The self-revelation is one paragraph written before any beat; every beat is derived backward from it
and it is held to 90 % (an early anagnorisis removes the moral jeopardy for the rest of the film).
Each principal carries the four slots (lie · want · need · ghost), an arc from the taxonomy with its
state chain, the 3-question classifier's answers, and the **arc-delta**: the same action at 0:00 and at
the climax with the motive inverted. A short is a two-hander. Sympathy before flaw in the first scene.

```bash
python3 ~/.claude/skills/film-preprod/scripts/arc_check.py --cast story/cast.json
```

[`references/STORY-METHOD.md`](references/STORY-METHOD.md).

**Done when:** the self-revelation paragraph exists, `ARC-CHECK PASS`, and the two principals'
chains are named.

## 3. The beat sheet on the Pratt axis, in seconds

```bash
python3 ~/.claude/skills/film-preprod/scripts/beat_calc.py 300 --ceiling <the cap, read from the vendor> --md story/beats.md
```

Seven steps (Weakness & Need · Desire · Opponent · Plan · Battle · SELF-REVELATION at 90 % · New
Equilibrium), each with what happens and its **subworld** (a per-beat environment brief — environments
are built before shots); the 22-step spine only as a checklist. A beat longer than the venue's clip
ceiling is designed as clips cut on a blink or a caught breath — checked BEFORE the beat is written. The ceiling is READ from the vendor's schema, estimator or error,
never from a take already run (`video-production/references/PREPRODUCTION-CORE.md` § 2).
For a music video the anchors are the track's hits (§ 6).

**Done when:** every beat has a time, a subworld and a clip count, and the self-revelation sits at
90 %.

## 4. Choose the premise twice

Blind competitor premises from a different model family, one assigned divergence axis per run, the
default metaphors banned, the laziest route capped at one — never fed your own idea. Then two
rankings: **story** (against the veto map and the archetype) and **execution** (does the world absorb
the tool's artifacts as diegetic behaviour, or fight them? night with one practical source, landscape,
paint: forgiving; kitchens, handwriting, water, machinery, scale, layered voices: exposed). The two
reads are allowed to disagree, and **the disagreement is the operator's decision**, with each premise's
objection recorded beside its rank.

```bash
python3 ~/.claude/skills/film-preprod/scripts/premise_rank.py --premises story/premises.json --ban "mirror,dream,clock"
```

**Done when:** the ranking table is in the project with the disagreement (if any) stated as a
numbered question to the operator.

## 5. The hero shot, the format, the look and the sound

Identify the shot the film is built around; storyboard it first, generate it first, build outward;
if it does not land the film does not exist. It decides the **format**: a photoreal face drifts over
a held close-up, a stylised one holds — painterly figuration with photographic camera language, never
the house style of the most animation-literate judge. Generate at 480p only and reconstruct as ONE
pass on the locked cut (an aesthetic decision: the softness reads as painted, not rendered). Light the
story's own source, under-lit, no strong backlight, restrained camera, composition over coverage; let
the mix crest with the push-in; never a voice-over that explains, never irony, never a sanitised
ending. Runtime is set by the story. [`references/HERO-SHOT-AND-FORMAT.md`](references/HERO-SHOT-AND-FORMAT.md).

**Done when:** the hero shot is storyboarded with its clip plan, the format is decided in writing
with the hero shot as the reason, and the look/sound rules are in the beat sheet's header.

## 6. Music video: the track map before the gen map

```bash
python3 ~/.claude/skills/film-preprod/scripts/track_map.py --audio audio/track.wav --out analysis/features.json
```

Duration, BPM, bar, 8-bar phrase, the section table and **the hits everything cuts to**, measured
from the audio; then the whole timeline allocated to generation windows in a gens table — later beats
are placements paid for by trimming the loosest stretch, never appends; generation order is
dependency-bound; the edit is locked before finishing. Characters told apart by colour, face and
outline only (no fine markers at 480p), human in manner never in movement; a species comes from
reference sheets, never from text; the reveal is never pre-loaded; a look plate per light context, mapped
to the shot list before it is generated; the pre-flight gate on every prompt.
[`references/MUSIC-VIDEO.md`](references/MUSIC-VIDEO.md).

**Done when:** the track map and the gens table cover every second, each beat sits on a hit, and the
generation order is written.

## 6b. The pre-production core — before the first reference or prompt

[`video-production/references/PREPRODUCTION-CORE.md`](../video-production/references/PREPRODUCTION-CORE.md) runs here for a
film and a music video exactly as for an ad: the beat sheet or the track map rewritten as `beats.json` first, the
generator's cap read from the vendor, the beats partitioned on CONTINUITY — one generation per run of beats that must
hold the same people, objects, setting and look, within the cap — dialogue or lyrics timed before any duration is fixed,
and `script_diff.py` both ways against the film's script or lyric sheet where one exists. Every split between
generations is a join that gambles on consistency.

**Done when:** `SCRIPT-DIFF PASS` on the beats and the shot list, the cap in the header with its source, and every
partition row quoting the lines it serves.

## 7. Contest hygiene (only when entering one)

Two clocks; lock before publishing; on-platform generation only (no external AI upscale, interpolation,
relight, or a NLE's neural tools); ALL audio generated, in every WIP cut too, with a manifest; no real
likeness or voice; no political or religious statement; retention; the submission checklist.
[`references/CONTEST-HYGIENE.md`](references/CONTEST-HYGIENE.md).

**Done when:** the disqualifier checklist is ticked in the project before the first WIP publish.

## Failure behavior

- `ARC-CHECK FAIL` → the character sheet is fixed before a beat is written; a beat sheet never
  compensates for a missing Lie.
- The two premise rankings disagree → a numbered question to the operator, never a tie-break by
  arithmetic.
- The hero shot fails at the venue's ceiling or in its first generation → the beat is redesigned as
  two clips, or the format changes; the film is not built around a shot that does not land.
- A contest rule turns out stricter than read (the audio asymmetry, the WIP reach) → the checklist is
  amended and every published cut re-verified.

## Scripts

| script | does |
|---|---|
| `beat_calc.py <seconds> [--ceiling] [--anchors] [--md]` | the 7-step sheet in seconds with subworlds and clip counts |
| `arc_check.py --cast` | four slots, arc chain, classifier consistency, the arc-delta, the two-hander |
| `premise_rank.py --premises [--ban]` | story vs execution rankings, hygiene of the blind set, the disagreement |
| `track_map.py --audio [--out]` | BPM, bar, phrase, section markers and the hits, from the audio |

## Cross-references

- [`references/STORY-METHOD.md`](references/STORY-METHOD.md) · [`references/JURY-AND-PREMISE.md`](references/JURY-AND-PREMISE.md) ·
  [`references/HERO-SHOT-AND-FORMAT.md`](references/HERO-SHOT-AND-FORMAT.md) · [`references/MUSIC-VIDEO.md`](references/MUSIC-VIDEO.md) ·
  [`references/CONTEST-HYGIENE.md`](references/CONTEST-HYGIENE.md).
- `ad-spot-preprod` — the ad-campaign sibling; `video-refs-continuity` — the reference kit the subworlds
  become; `video-prompt-dialects` — the pre-flight gate; `video-finish-qc` — the one-pass reconstruction
  of the locked cut.
- Handoffs follow `~/.claude/skills/video-production/references/CHAIN.md`.
- Deeper context — the upstream projects behind the rules here: `video-production/references/CONTEXT-MAP.md` § Where the deeper context lives.

Files in this skill

  • SKILL.md10.1 KB
  • references/CONTEST-HYGIENE.md2.2 KB
  • references/HERO-SHOT-AND-FORMAT.md3.4 KB
  • references/JURY-AND-PREMISE.md3.7 KB
  • references/MUSIC-VIDEO.md5.6 KB
  • references/STORY-METHOD.md4.1 KB
  • scripts/arc_check.py4.3 KB
  • scripts/beat_calc.py4 KB
  • scripts/premise_rank.py3.1 KB
  • scripts/track_map.py4.9 KB

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.