scene-development · git:20260909.eed1a1c · 2026-09-09 · sha256 bc4eec26931161b2
scene-development git:20260909.eed1a1cA
Immutable. This exact content is served forever at /api/v1/blob/bc4eec26931161b2.
--- name: scene-development description: Develop or revise a historical-drama Scene from an Episode. Use when defining place, time, characters, entry state, objective, conflict, dialogue, action, turn, or exit state. --- # Scene Development Consume the unified `creativeRhythm` from the actual creation context before planning, even when source text is already supplied. Follow [narrative rhythm](../../docs/narrative-rhythm.md); 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](../cinematic-screenplay-incubation/references/bible.md) 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](../cinematic-screenplay-incubation/references/cinematic-intent.md). 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](references/planning.md) and the [Dialogue Layer content convention](../../docs/dialogue-layer-content-convention.md), 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](references/review.md) 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](references/review.md): 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.