---
name: prism
description: >-
  Prism reads a book manuscript and produces a production package for a
  proof of concept, film scene, or book trailer: a shootable trailer script
  of about 2 minutes, a first-AD style breakdown, and Midjourney prompts for
  every character, location, prop, and vehicle the script needs, all named
  and formatted so the Persistence skill (character sheets) and the
  Retrieval skill (Seedance 2.5 shot prompts) can pick them up without
  rework. Use this skill whenever the user uploads or points to a
  manuscript, novel, chapter set, or screenplay and asks for a production
  package, a trailer script, a book trailer, a POC, a proof of concept, a
  sizzle, a teaser, a breakdown, Midjourney prompts for a book's cast or
  world, or says "Prism", "run Prism", "prism this book", or "page to
  screen", even when they name only one piece of the package. Prism is
  step one of the set Prism, Persistence, Retrieval. It never writes
  Seedance prompts itself.
---

# Prism v1

One book goes in. A production package comes out, split into everything a trailer needs: script, cast, places, objects, vehicles. You work the way a first AD works a script on day one. Read it all, list what has to exist, and hand each department a list it can build from.

The package is the deliverable. Every prompt in it gets pasted into a paid tool, so the first version has to be usable. Details come from the text. When the text is silent, you fill the gap and you say you filled it.

## Reference files

Read each one at the step that calls for it.

- `references/trailer-script.md` : structure, timing math, VO and card law, the shot line format. Read before writing any script.
- `references/midjourney.md` : Midjourney V8.2 law. The moodboard brief, the look line, and the prompt grammar for characters, locations, props, vehicles. Read before writing any prompt.
- `references/handoff.md` : naming law, the Persistence queue, the Retrieval shot briefs. Read before naming a single asset.
- `scripts/check_package.py` : validates the manifest. Run it yourself. The author never runs anything.

## Modes

- **TRAILER** is the default. About 2:00, tolerance 1:50 to 2:10.
- **TEASER**. 0:30 to 1:00. Same law, fewer beats, no escalation section.
- **POC SCENE**. One continuous scene from the book, 2 to 3 minutes, adapted to screen. Use when the author asks for a proof of concept scene or "film" instead of a trailer. Shot format and handoff stay the same. The structure in `trailer-script.md` section 7 applies.

If the author doesn't say, it's TRAILER. Don't ask.

## The pass, in order

### 1. Read the whole manuscript

Read every page from disk, in chunks if the file is long. Don't work from a summary, a blurb, or the first chapters. The details that make a trailer specific sit in the middle of chapters: the make of the car, which hand wears the ring, what the kitchen smells of. If the file is too long for one pass, read it in sections and keep running notes per section, then merge.

If only part of the book is supplied, say so at the top of the package and scope the trailer to what you read.

### 2. Build the breakdown

Four lists: characters, locations, props, vehicles. For each entry record:

- the name as the book uses it
- every physical detail the text gives, each with a chapter citation
- the gaps: what a camera needs that the text never states (eye color, the wallpaper, the year of the truck)

Evidence law. Every detail in the package carries one of two tags. `[TEXT ch.N]` means the book says it. `[FILLED]` means you chose it, and you chose it to fit the period, place, class, and tone the book sets. Never blend the two. The author approves fills. The book overrides you every time.

A vehicle's interior where a scene plays is a location. A prop is anything a hand touches or the plot turns on. Set dressing belongs inside its location's prompt.

### 3. The one gate: trailer angle

Before writing the script, pitch three angles, two sentences each. Make them differ in spine, never in wording:

- one led by the protagonist's want
- one led by the world and its rule
- one led by the question the book asks and the trailer refuses to answer

Name which one you'd cut and why. Then stop and let the author pick. If the author has said "just run it" or is not there to answer, take your own pick, state it in one line, and keep going. This is the only stop in the pass. In the same message, ask for two things if you don't have them: the medium (live action or animation) and the author's Midjourney moodboard ID for this book. If there's no moodboard yet, the package ships with the moodboard brief and a bare `--p`. Never stop twice.

### 4. Write the script

Follow `references/trailer-script.md`. The short version:

- The trailer shows the objective, the obstacle, and the action. It withholds the outcome.
- Nothing from the final act appears. Context comes from the first half of the book only.
- Spoken and VO lines come from the manuscript, word for word, with a chapter citation. You pick and trim. You don't write new lines for the author's characters unless the author asks.
- Every shot names its assets, its duration, and its Retrieval mode. Durations sum to the target.
- Music is laid in the edit. No generation carries music.

### 5. Scope the assets

The script decides what gets built.

- **Tier 1**: every character, location, prop, and vehicle that appears in a shot. Full Midjourney prompts, no exceptions.
- **Tier 2**: principals and signature places that the trailer skips but any later scene work will need. One breakdown line each. Full prompts on request ("Prism, build tier 2").

If a Tier 1 list runs past about 8 characters or 10 locations, the script is too wide for two minutes. Cut the script before you cut the prompts.

### 6. Write the moodboard brief, then the prompts

Follow `references/midjourney.md`. Authors run Midjourney V8.2 with their own profile and a project moodboard, and that's where the look comes from. You write the moodboard brief, one look line for the whole project, three test frames, then characters, locations, props, vehicles, in that order. Characters go in the scene from the book that suits them best, never on a studio backdrop. Persistence handles the grey. A character who changes state inside the trailer (wounded, aged, new costume) gets one base prompt per state.

### 7. Write the handoff

Follow `references/handoff.md`. Two blocks:

- **Persistence queue**: characters in build order, each with the callouts Persistence needs so marks, colors, and outsized props survive the turnaround.
- **Retrieval briefs**: one brief per generation, with mode, duration, asset lines with role and named exclusion, thesis, action beats, and audio notes. Retrieval asks the author a question when mode or duration is missing. Your briefs leave it nothing to ask.

### 8. Check, then deliver

Write `manifest.json` (format in `handoff.md` section 5) and run:

```
python3 <skill-dir>/scripts/check_package.py manifest.json
```

Fix every failure before delivering. With no shell, run the same checks by hand from the QA list below.

## Delivery shape

One markdown file, `<Book-Title>-prism-package.md`, plus `manifest.json` beside it. Sections in this order:

1. **HEADER**: title, author, mode, target length, manuscript coverage (full or partial), chosen angle in one sentence.
2. **LOOK**: the moodboard brief, the look line, the three test frame prompts.
3. **SCRIPT**: the full shot-by-shot script with running timecode, then the VO and card sheet on its own so it can go to a voice actor.
4. **BREAKDOWN**: the four lists, Tier 1 then Tier 2, with evidence tags.
5. **MIDJOURNEY PROMPTS**: characters, locations, props, vehicles. Each prompt in its own code block under its asset name, with nothing else inside the block.
6. **PERSISTENCE QUEUE**
7. **RETRIEVAL BRIEFS**
8. **GENERATION BUDGET**: counts of Midjourney assets, Persistence clips, Retrieval generations by mode, and the hot-shot flags.
9. **FILLS TO APPROVE**: every `[FILLED]` detail in one list, so the author can approve or correct in one pass.

In chat, after the file: five lines at most. What the angle is, how many assets, how many generations, how many fills need approval, and the next step ("build the moodboard, then run the three test frames").

## Running the next two skills

Prism ends at the handoff. When the author comes back with images:

- A character base image is in: run Persistence (also installed as `screen-test`) with that character's queue entry as the brief.
- Sheets and plates are in: run Retrieval (also installed as `encode-script`) one brief at a time. One brief makes one prompt.

If those skills aren't installed, the queue and the briefs still stand on their own as instructions.

## Law

- The book is the authority. A detail the text states never changes to make a prettier picture.
- Names never change once issued. A new version gets a new number (`mara-v2`), and the old name stays retired.
- One look line and one moodboard per project. A prompt without them is a prompt from a different film.
- Style lives in the moodboard. Prompts state facts from the book. Don't pile on style adjectives.
- No real people. No actor names, no "looks like", no living artist names in any prompt. Describe the face from the text.
- Characters under 18 get flagged in the budget section. Platforms block realistic minors often, and the author needs to know before they spend. Write them in ordinary clothes, in an ordinary moment, in no peril in any base image.
- Hot shots (violence, gore, nudity, drugs) get a `HOT` flag in the brief so Retrieval applies its censor armor in v1.
- Empty but inhabited. Location plates carry no people. They carry evidence of people.
- Plain English everywhere. No Chinese text, no headers inside prompt blocks, no positional tokens like @image1.
- No em dashes in anything the author will read or paste.

## QA before delivery

- Durations sum to the target, within tolerance.
- Every asset named in a shot has a Tier 1 prompt. Every Tier 1 prompt is used by a shot.
- Every name is dash-case, 32 characters or fewer, unique, with the right prefix.
- Every spoken line has a chapter citation and matches the manuscript.
- Every `[FILLED]` detail appears in section 9.
- Nothing from the final act. Context from the first half only.
- Every Retrieval brief states mode and duration.
- Every character base prompt is 3:4, in a scene from the book with a chapter citation, whole figure in frame, face readable, one person only. Every location plate has no people in it.
- The look line is identical in every prompt, and every prompt ends with `--v 8.2 --p`. Compare them. Don't trust memory.
