Series episode
Read first:
studio.json(the creator's profile from onboarding), if it exists.- The vertical DNA:
sitcom-90s.md+sitcom-writing-bible.mdfor comedy,micro-drama.mdfor vertical novelas,anime-short.mdfor anime. series/<id>/series.json: cast and ambitions,roomMap, voices, intro, ending, running bits, episode list. A new series starts fromseries/_example/series.json.
New series (once)
- With the creator: title, premise in one sentence, 3–5 characters (one want + one flaw each), 1–3 sets, tone, language.
- Cast every character (
castskill): an in-style sheet per character, approved, with an ElevenLabs voice. Lock voices inseries.json → voices(voice id, settings, seed). - Approve a set plate per location, with
platesMeta(angle, time of day), and write theroomMap(doors, kitchen, seats, eyelines). - Optional intro:
node engine/series.mjs intro-assets <id>(paid: one street shot, a theme, sounds), thennode engine/series.mjs intro <id>.
Each episode (the studio skill has the commands and the safeguards)
- Intake (flow v5):
node engine/studio.mjs new <slug> --series episode:<id> --format sitcom|micro-drama|anime ...with the seven intake answers (studio skill); a brand-new series uses--series new:<id>and its bible is the first gate. Then followstudio.mjs status <slug>. - Script (gate 1)
- Brainstorm 10 openers. The first line works with zero context and states a want.
- Rotate the episode engine (see the DNA). No step or phase lists.
- Comedy: 5–7+ laughs in 60 s, rule of three, a callback, a visible physical button. Micro-drama: conflict by 3 s, one power shift per scene, a cliffhanger in the last 5 s.
- Present the script plus 2 alternative endings. Iterate until the creator approves.
- Shotlist
- Scenes of ≤15 s, each with
lightingandseats. - Every change of place gets a shot with
moves(shown on screen). Usecontinuous: truewhen a character walks into an existing frame. - Set
"series": "<id>", and for comedytag.sound: "outro",freezeEnd: 1.6and a big laugh on the button.
- Scenes of ≤15 s, each with
radio.mjsuntil pacing passes →gen.mjs storyboard→ check every panel (identity!) →animatic.mjs→book.mjs→ publish or open the book → gate 2.studio.mjs approve <slug> book --said "..."locks the budget →gen.mjs scenes(all in parallel) →continuity.mjs(positions, physics, dialogue, identity) →qc.mjs score→edit.mjs.studio.mjs qc <slug>→ look at the 4 fps sheet and the transcript →studio.mjs deliver <slug>→ deliverout/<slug>.mp4→ copy intoseries/<id>/episodes/→ add it toseries.jsonepisodes → retro.