Scene Development
Consume the unified creativeRhythm from the actual creation context before planning, even when source text is already supplied. Follow narrative rhythm; Skills never read env directly. Pin this profile to the creative revision; refresh/resume keeps it, while a new revision reads current configuration.
Turn one approved part of an Episode into a necessary, playable, state-changing dramatic event that covers assigned historical beats and realizes an explicit Narrative Input State → Required Transition → Narrative Output State. Do not design Shots.
When a shared Dramatic Bible is supplied, check knowledge at each decision, character invariants, power changes and entry/exit continuity. Review dialogue voice and subtext separately from scene causality; a wording revision preserves unrelated scene bodies and stable spoken-item IDs. Control metadata stays outside the readable script body; canonical SpokenContent ownership below remains unchanged.
Creative Lifecycle
1. Understand Goal
Clarify whether the request creates a new Scene or revises an existing one, the parent Episode, requested dramatic moment and outcome, and explicit location, time, character, continuity, historical, or user constraints. Identify the concrete change that makes this Scene necessary; “show a relationship” or “discuss the situation” is not yet a sufficient purpose.
2. Gather Context
For screenplay handoff, read the Cinematic Intent convention. Retain only this scene's source-pinned POV, applicable opening/closing, subjective moments, bridges and MUST/SHOULD/FREE intent in its working set. Preserve approved scene action and exact dialogue; missing relevant intent is a focused context gap, not permission to pass the whole Bible downstream.
Assess context sufficiency before planning. Continue when the governing Work/Script context needed for historical evidence and Work-scoped speakerKey identity, the Episode dramatic job, assigned requiredSpineBeatIds, actor attribution, historical boundary, previous Scene Narrative Output State, next intended Narrative Input State, and required transition are supplied. Use episode.get_episode for the stable parent and scene.get_scene for a known sceneId. With a known episodeId, use scene.list_scenes for structural enumeration and neighboring continuity; when only a natural-language identity is known, use scene.search_scenes scoped to the Episode when possible and judge candidates. Read existing neighboring Scenes when speaker identity or spoken-item continuity must be preserved.
Use context.build_context only when required parent or existing Scene context was not supplied. Use adequate research context first; use research.search_locations only when missing location evidence affects the Scene and research.verify_claim only for a consequential unresolved claim. If broader evidence is required, formulate a focused research question and stop before planning or persistence so the Agent or Host can choose an existing research capability. If Episode intent, character state, essential continuity, or consequential evidence cannot be obtained or conflicts, state the blocker and do not draft or persist.
3. Plan
Before drafting, read Professional Scene Planning and the Dialogue Layer content convention, then apply them. Create an internal Scene plan that inherits the Episode; state assigned historical beats, a change-based purpose, narrativeInputState, requiredTransition, playable objective/opposition where appropriate, supported stakes, playable beats, meaningful turn, narrativeOutputState, necessity/coverage evidence, Shot-design contract, and unresolved questions. Decide whether exact spoken content is needed: environment, pure action, silence, reaction, battle, transition, or visually sufficient information may require none. When speech or narration is necessary, plan exact text, stable speaker identity, dramatic intent, provenance, performance intent, and numeric duration before Shot design. Keep the plan in Agent Run Context or temporary working state. Do not call scene.create_scene or scene.save_scene to store it.
4. Execute Draft
Execute the plan as a complete candidate formal Scene state in playable action and, only when required, reviewed exact spoken content. A silent Scene keeps spokenContent empty; never add dialogue merely because the unit is a Scene. When speech is required, persist each DIALOGUE or NARRATION item with id, kind, speakerKey, exact text, intent, mustKeep, performanceIntent, provenance, and positive integer estimatedDurationMs. Character dialogue resolves its Work-scoped key without requiring a visual Asset; narration uses a stable narrator: key. Let resistance force tactic changes; use beats when objective, tactic, information, or power changes; let important information alter behavior; express interior states through behavior, movement, interaction, object use, reaction, choice, silence, distance, or position. A dialogue-function summary such as dialogueSubtextIntent may supplement but never replace required exact text. The draft must let Shot design cover approved action without inventing the conflict or spoken words. It must not be characters plus location, talking heads, historical exposition, static conversation, interior summary, placeholder, test content, or scratchpad. Do not persist a partial draft.
5. Review
Check that assigned cinematic meanings and their priorities survive in the Scene-to-Shot working context, including the subjective return and episode boundary when applicable. Keep a separate Historical Epilogue outside scene action and spokenContent. If a correct scene is merely misinterpreted by shots, route that finding to Shot planning; do not rewrite the scene.
Before any write, read Scene Review and Revision and apply the entire domain rubric, Before/After Gate, Delete Scene Test, narrative transition gate, and spoken-content gates. Critical checks separately cover assigned historical beat coverage, fact attribution, Narrative Input/Output State, Required Transition, SCENE_STATE_CONTINUITY, CAUSAL_NARRATIVE_CONTINUITY, historical integrity, necessity, and downstream readiness in addition to playable drama. When spoken content exists, also check speaker correctness, exact-text completeness, dramatic function, historical consistency, fact attribution, modern-language contamination, valid numeric duration, and provenance. DIRECT_QUOTE requires matching text plus nonblank source reference, exact locator, and excerpt; otherwise Review FAIL or explicitly downgrade it. If the prior output cannot lead to the current input, or an indispensable state change is skipped, return FAIL_NARRATIVE_TRANSITION. Mark Review PASS only when every critical check passes; otherwise mark Review FAIL.
6. Revise or Re-plan
On Review FAIL, do not persist. Follow Scene Review and Revision: Locally revise dialogue, one tactic or beat, action clarity, subtext, or minor continuity. Preserve a spoken item id when wording, performance, duration estimate, or provenance detail changes but its logical identity remains. Only addition, deletion, split, or merge may create or retire affected IDs, and every unaffected ID remains stable. Re-plan the current Scene when its purpose, objective, opposition, conflict-in-action, turn, state change, playability, or necessity fails. If the root cause is the Episode dramatic job, label an upstream Episode issue instead of rewriting the Episode here. After any revision or re-plan, review the complete draft again. A fix never goes directly to persistence without Review Again and PASS.
7. Persist
No Review PASS means no create or save. Persist only when required context is sufficient, the plan and complete draft exist as a playable state-changing dramatic Scene, all critical checks pass, and no historical or continuity conflict remains. Characters-plus-location/dialogue, pure exposition, missing objective/opposition/turn/state change, unplayable interior summary, or a removable Scene cannot pass. Plan, draft reasoning, rejected alternatives, review notes, and revision notes remain Agent Run Context or temporary working state; do not put them in Scene content. Persist only the reviewed formal result.
Use scene.create_scene only for a genuinely new Scene after producing the complete initial formal state needed by this Skill. A successful create is the normal first write and returns the stable ID; do not call scene.save_scene immediately afterward unless a concrete revision has actually occurred. Use scene.save_scene only to revise an already persisted Scene because of a specific request, discovered error, upstream change, or necessary addition.
Organize persistence as Stable Envelope + Domain Content. Keep the parent Episode ID, scene order, title, and optional location in the create envelope; use the stable Scene ID, order, title, and optional location for a revision. Put reviewed required spine beats, purpose, characters, time, Narrative Input State, Required Transition, objective/opposition, playable action, turn, Narrative Output State, necessity/coverage evidence, canonical spokenContent, and other formal Scene facts in the open content object. spokenContent is the sole reviewed source and may be empty. Do not persist aliases such as dialogues, dialogueLines, spokenLines, or speech, and do not create a Scene-local speaker registry. These are creative content, not new persistence fields. Do not move the parent Episode ID or hide, duplicate, or rename envelope fields inside content. Treat the Tool catalog as the sole machine-schema source. Submit save as a full replacement formal state, never as a patch, scratchpad, stringified JSON, or routine follow-up to create; reconcile stable spoken item IDs before replacing content. Use context.refresh_context only after a write makes current context stale. Do not specify framing, camera position, coverage, create Shots, resolve assets, or automatically invoke another Skill.
Performance language adaptation
Keep authoring/review, performance, and subtitle/epilogue languages distinct. Resolve the current exchange language from explicit user choice and reviewed character/scene context. Explicit dubbed editions remain valid. UI language, nationality, and mother tongue alone never decide the exchange language (including translation, diplomacy and multilingual scenes).
When the user authorizes a performance rendition, read full neighboring dialogue and actions first. Preserve meaning, listener, subtext, character expression, action prerequisites, historical events and Cinematic Intent. Review idiomatic performance wording before audio production; the provider cannot adapt it. Keep the frozen authoring source. A source-bound working artifact may hold sourceLineId, speakerKey, sourceTextHash, performanceLanguage, performanceText, renditionVersion, reviewStatus and optional subtitleText. Exactly one reviewed rendition per line is active in a production attempt. Do not claim formal Scene updates when only this artifact exists. Scene authoring owns eventual full-state save/reconciliation through existing spokenContent, preserving IDs and source provenance; audio production only consumes the selected wording. Unrequested lines remain pending, and a wording change does not itself invalidate images/videos.