@lemoncat7/dsh-partner 2.4.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/docs/THIRD_PARTY_LICENSES.md +13 -0
- package/docs/attachment-storage.md +18 -0
- package/docs/director-skills.md +24 -0
- package/docs/long-task-continuation.md +51 -0
- package/docs/releases/2.5.0.md +13 -0
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.0.md +21 -0
- package/lib/agent-runtime.d.ts +9 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +117 -17
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/attachments-api.d.ts.map +1 -1
- package/lib/api/features/attachments-api.js +31 -1
- package/lib/api/features/attachments-api.js.map +1 -1
- package/lib/api.d.ts +1 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +1 -1
- package/lib/api.js.map +1 -1
- package/lib/attachments/grouped-storage.d.ts +5 -0
- package/lib/attachments/grouped-storage.d.ts.map +1 -0
- package/lib/attachments/grouped-storage.js +47 -0
- package/lib/attachments/grouped-storage.js.map +1 -0
- package/lib/attachments/service.d.ts +17 -0
- package/lib/attachments/service.d.ts.map +1 -1
- package/lib/attachments/service.js +100 -8
- package/lib/attachments/service.js.map +1 -1
- package/lib/attachments/shared-storage.d.ts +7 -0
- package/lib/attachments/shared-storage.d.ts.map +1 -0
- package/lib/attachments/shared-storage.js +44 -0
- package/lib/attachments/shared-storage.js.map +1 -0
- package/lib/attachments/storage-admin.d.ts +6 -0
- package/lib/attachments/storage-admin.d.ts.map +1 -0
- package/lib/attachments/storage-admin.js +43 -0
- package/lib/attachments/storage-admin.js.map +1 -0
- package/lib/attachments/storage-types.d.ts +33 -0
- package/lib/attachments/storage-types.d.ts.map +1 -0
- package/lib/attachments/storage-types.js +2 -0
- package/lib/attachments/storage-types.js.map +1 -0
- package/lib/attachments/tool.d.ts.map +1 -1
- package/lib/attachments/tool.js +16 -5
- package/lib/attachments/tool.js.map +1 -1
- package/lib/channels/delivery-policy.d.ts.map +1 -1
- package/lib/channels/delivery-policy.js +7 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +418 -281
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +7 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +73 -38
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/weixin/api.d.ts.map +1 -1
- package/lib/channels/weixin/api.js +7 -2
- package/lib/channels/weixin/api.js.map +1 -1
- package/lib/channels/weixin/errors.d.ts +14 -0
- package/lib/channels/weixin/errors.d.ts.map +1 -0
- package/lib/channels/weixin/errors.js +29 -0
- package/lib/channels/weixin/errors.js.map +1 -0
- package/lib/channels/weixin/poll.d.ts +14 -0
- package/lib/channels/weixin/poll.d.ts.map +1 -0
- package/lib/channels/weixin/poll.js +50 -0
- package/lib/channels/weixin/poll.js.map +1 -0
- package/lib/client-api.d.ts +1 -23
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client-controller.d.ts.map +1 -1
- package/lib/client-controller.js +3 -3
- package/lib/client-controller.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +1078 -679
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +32 -8
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +8 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +38 -5
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-notification.d.ts.map +1 -1
- package/lib/concern-notification.js +2 -1
- package/lib/concern-notification.js.map +1 -1
- package/lib/concern-tool.js +1 -1
- package/lib/concern-tool.js.map +1 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +4 -2
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/service.d.ts +1 -1
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +4 -7
- package/lib/execution/service.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-reflection.js +2 -2
- package/lib/memory-reflection.js.map +1 -1
- package/lib/message-source.d.ts +25 -0
- package/lib/message-source.d.ts.map +1 -0
- package/lib/message-source.js +8 -0
- package/lib/message-source.js.map +1 -0
- package/lib/observation-loop.js +4 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/pendant/reader.js +1 -1
- package/lib/pendant/reader.js.map +1 -1
- package/lib/pendant/settings-panel.js +1 -1
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/persona/service.js +1 -1
- package/lib/persona/service.js.map +1 -1
- package/lib/requirements/attachments.d.ts +7 -0
- package/lib/requirements/attachments.d.ts.map +1 -0
- package/lib/requirements/attachments.js +26 -0
- package/lib/requirements/attachments.js.map +1 -0
- package/lib/requirements/domain.d.ts +1 -1
- package/lib/requirements/domain.d.ts.map +1 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -1
- package/lib/requirements/service.js.map +1 -1
- package/lib/scheduler/channel-origin.d.ts +7 -0
- package/lib/scheduler/channel-origin.d.ts.map +1 -0
- package/lib/scheduler/channel-origin.js +27 -0
- package/lib/scheduler/channel-origin.js.map +1 -0
- package/lib/scheduler/continuations.d.ts +29 -0
- package/lib/scheduler/continuations.d.ts.map +1 -0
- package/lib/scheduler/continuations.js +286 -0
- package/lib/scheduler/continuations.js.map +1 -0
- package/lib/scheduler/domain.d.ts +40 -0
- package/lib/scheduler/domain.d.ts.map +1 -1
- package/lib/scheduler/final-reply.d.ts +13 -0
- package/lib/scheduler/final-reply.d.ts.map +1 -0
- package/lib/scheduler/final-reply.js +21 -0
- package/lib/scheduler/final-reply.js.map +1 -0
- package/lib/scheduler/service.d.ts +2 -0
- package/lib/scheduler/service.d.ts.map +1 -1
- package/lib/scheduler/service.js +30 -1
- package/lib/scheduler/service.js.map +1 -1
- package/lib/scheduler/wakeup-context.d.ts +7 -0
- package/lib/scheduler/wakeup-context.d.ts.map +1 -0
- package/lib/scheduler/wakeup-context.js +14 -0
- package/lib/scheduler/wakeup-context.js.map +1 -0
- package/lib/scheduler/wakeup.d.ts +11 -0
- package/lib/scheduler/wakeup.d.ts.map +1 -0
- package/lib/scheduler/wakeup.js +52 -0
- package/lib/scheduler/wakeup.js.map +1 -0
- package/lib/skills/builtin-resources.d.ts +6 -0
- package/lib/skills/builtin-resources.d.ts.map +1 -0
- package/lib/skills/builtin-resources.js +47 -0
- package/lib/skills/builtin-resources.js.map +1 -0
- package/lib/skills/builtin.d.ts +2 -5
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +11 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/director-builtins.d.ts +8 -0
- package/lib/skills/director-builtins.d.ts.map +1 -0
- package/lib/skills/director-builtins.js +65 -0
- package/lib/skills/director-builtins.js.map +1 -0
- package/lib/skills/drama-builtin.d.ts +3 -0
- package/lib/skills/drama-builtin.d.ts.map +1 -0
- package/lib/skills/drama-builtin.js +49 -0
- package/lib/skills/drama-builtin.js.map +1 -0
- package/lib/skills/long-task-continuation.d.ts +4 -0
- package/lib/skills/long-task-continuation.d.ts.map +1 -0
- package/lib/skills/long-task-continuation.js +43 -0
- package/lib/skills/long-task-continuation.js.map +1 -0
- package/lib/skills/service.d.ts.map +1 -1
- package/lib/skills/service.js +8 -3
- package/lib/skills/service.js.map +1 -1
- package/lib/skills/viora-canvas-builtin.d.ts +3 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
- package/lib/skills/viora-canvas-builtin.js +19 -0
- package/lib/skills/viora-canvas-builtin.js.map +1 -0
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +13 -4
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation-yield.d.ts +4 -0
- package/lib/tasks/continuation-yield.d.ts.map +1 -0
- package/lib/tasks/continuation-yield.js +27 -0
- package/lib/tasks/continuation-yield.js.map +1 -0
- package/lib/tasks/continuation.d.ts +13 -0
- package/lib/tasks/continuation.d.ts.map +1 -0
- package/lib/tasks/continuation.js +106 -0
- package/lib/tasks/continuation.js.map +1 -0
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/scheduling.d.ts.map +1 -1
- package/lib/tasks/scheduling.js +7 -0
- package/lib/tasks/scheduling.js.map +1 -1
- package/lib/tasks/service.d.ts +2 -1
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +19 -1
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/attachment-storage.d.ts +2 -0
- package/lib/ui/attachment-storage.d.ts.map +1 -0
- package/lib/ui/attachment-storage.js +59 -0
- package/lib/ui/attachment-storage.js.map +1 -0
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/companion-access-panel.js +1 -1
- package/lib/ui/companion-access-panel.js.map +1 -1
- package/lib/ui/companion-create.js +1 -1
- package/lib/ui/companion-create.js.map +1 -1
- package/lib/ui/companion-picker.js +1 -1
- package/lib/ui/companion-picker.js.map +1 -1
- package/lib/ui/identity-editor.js +1 -1
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/mcp-capabilities.js +1 -1
- package/lib/ui/mcp-capabilities.js.map +1 -1
- package/lib/ui/mcp-panel.js +1 -1
- package/lib/ui/mcp-panel.js.map +1 -1
- package/lib/ui/memory/concern-board.js +2 -2
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +9 -4
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-panel.js +1 -1
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/memory-library.js +1 -1
- package/lib/ui/memory/memory-library.js.map +1 -1
- package/lib/ui/memory/memory-panel.js +1 -1
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/partner-components.js +1 -1
- package/lib/ui/partner-components.js.map +1 -1
- package/lib/ui/requirement-board.js +1 -1
- package/lib/ui/requirement-board.js.map +1 -1
- package/lib/ui/requirement-dialog.js +1 -1
- package/lib/ui/requirement-dialog.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +1 -1
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/schedule-panel.d.ts.map +1 -1
- package/lib/ui/schedule-panel.js +20 -4
- package/lib/ui/schedule-panel.js.map +1 -1
- package/lib/ui/skills-panel.js +1 -1
- package/lib/ui/skills-panel.js.map +1 -1
- package/lib/ui/storage-settings.d.ts.map +1 -1
- package/lib/ui/storage-settings.js +2 -1
- package/lib/ui/storage-settings.js.map +1 -1
- package/lib/ui/task-board-stage.js +1 -1
- package/lib/ui/task-board-stage.js.map +1 -1
- package/lib/ui/workspace-components.js +1 -1
- package/lib/ui/workspace-components.js.map +1 -1
- package/lib/ui/workspace-navigation.d.ts +16 -16
- package/lib/ui/workspace-navigation.js +1 -1
- package/lib/ui/workspace-navigation.js.map +1 -1
- package/package.json +55 -41
- package/resources/skills/cinematic-director/manifest.json +205 -0
- package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
- package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
- package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
- package/resources/skills/cinematic-director/upstream/README.md +507 -0
- package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
- package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
- package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
- package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
- package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
- package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
- package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
- package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
- package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
- package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
- package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
- package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
- package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
- package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
- package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
- package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
- package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
- package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
- package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
- package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
- package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
- package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
- package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
- package/resources/skills/director-skills/manifest.json +541 -0
- package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
- package/resources/skills/director-skills/upstream/LICENSE +21 -0
- package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
- package/resources/skills/director-skills/upstream/README.md +251 -0
- package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
- package/resources/skills/director-skills/upstream/SKILL.md +114 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
- package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
- package/resources/skills/drama-production/manifest.json +933 -0
- package/resources/skills/drama-production/upstream/LICENSE +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/resources/skills/viora-canvas-production/manifest.json +23 -0
- package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
- package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
- package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
- package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Sound & Dialogue Plan Template (Mode H)
|
|
2
|
+
|
|
3
|
+
Load this file when you are at Step 11 (sound and dialogue plan) or the user asked for Mode H.
|
|
4
|
+
Sound craft — what a bed does, how audio leads a cut, lip-sync and VO technique, what music is
|
|
5
|
+
for — is owned by [sound and dialogue](../references/sound-and-dialogue.md). Cut points and pacing
|
|
6
|
+
math are owned by [editing and assembly](../references/editing-and-assembly.md). Asset naming is
|
|
7
|
+
owned by [continuity bible](../references/continuity-bible.md). This file owns the spreadsheet you
|
|
8
|
+
hand to whoever builds the mix.
|
|
9
|
+
|
|
10
|
+
The worked example inherits its sound direction from [director book](director-book-template.md)
|
|
11
|
+
and its shot timings from [shot plan](shot-plan-template.md): project `Under the Door` (`UTD`),
|
|
12
|
+
scene 7, 22s, five shots — a courier hesitates outside a Republican-era Shanghai apartment door,
|
|
13
|
+
slides an envelope under it, and leaves.
|
|
14
|
+
|
|
15
|
+
## The five layers
|
|
16
|
+
|
|
17
|
+
Every shot gets an entry in all five layers, even when the entry is `none`. A blank you never
|
|
18
|
+
decided is a hole in the mix; a `none` you decided is a choice, and the difference is visible on
|
|
19
|
+
the page.
|
|
20
|
+
|
|
21
|
+
| Layer | Code | Cut to picture? |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| Room tone(房间底噪) | RT | No — continuous |
|
|
24
|
+
| Ambience(环境声) | AMB | No — continuous |
|
|
25
|
+
| Foley(拟音) | FOL | Yes — frame-accurate |
|
|
26
|
+
| Spot FX(效果音) | SFX | Yes — frame-accurate |
|
|
27
|
+
| Music(音乐) | MUS | No — to named beats on its own bar grid, never to a picture cut |
|
|
28
|
+
|
|
29
|
+
What each layer is, and the level range each one sits in, belong to
|
|
30
|
+
[sound and dialogue](../references/sound-and-dialogue.md) and are deliberately not repeated here —
|
|
31
|
+
two copies of a level table is how a mixer ends up 10 dB off. One thing worth carrying across
|
|
32
|
+
while you fill the sheet: every level in the skill is dB relative to dialogue at 0, the programme
|
|
33
|
+
is anchored once at delivery rather than per layer, and in a scene with no dialogue the 0 is
|
|
34
|
+
notional — the level dialogue would have occupied — so the ranges do not move.
|
|
35
|
+
|
|
36
|
+
One classification rule this sheet does enforce, because it is the cell people get wrong: anything
|
|
37
|
+
continuous is RT or AMB whatever object makes it, and only discrete designed events are SFX. A
|
|
38
|
+
filament hum belongs in room tone, not in a spot-FX cue that never stops.
|
|
39
|
+
|
|
40
|
+
## The continuous-bed rule
|
|
41
|
+
|
|
42
|
+
Room tone and ambience run as one unbroken pair of tracks across the whole scene, laid before any
|
|
43
|
+
other layer and never cut at a picture edit. Only foley, spot FX, and music are cut to picture.
|
|
44
|
+
|
|
45
|
+
This matters more in AI video than in live action: generated clips each carry their own invented
|
|
46
|
+
audio and no two agree about the room, so splicing them produces an audible tone change at every
|
|
47
|
+
edit — the aural version of a seam (F15, F18). The fix is procedural, not creative:
|
|
48
|
+
|
|
49
|
+
1. Mute or discard every generated audio track. Treat generated audio as a timing reference only.
|
|
50
|
+
2. Lay one room-tone track for the full scene duration plus 1s of handle at each end.
|
|
51
|
+
3. Lay one ambience track the same way. Change it only when the *space* changes, and then
|
|
52
|
+
cross-fade over 0.5–1.0s, never on a hard cut.
|
|
53
|
+
4. Build foley and spot FX on top, cut to frame.
|
|
54
|
+
5. Place music last, against beats you can name.
|
|
55
|
+
|
|
56
|
+
When the picture does cut to a different room, the bed changes — by cross-fade, and that change is
|
|
57
|
+
itself a story event you should be able to justify in one sentence.
|
|
58
|
+
|
|
59
|
+
## Per-shot five-layer table
|
|
60
|
+
|
|
61
|
+
Columns follow the Mode H notation in [sound and dialogue](../references/sound-and-dialogue.md):
|
|
62
|
+
`Space` names the shot size and any source not in the camera's room — `same room` when there is none — so the perspective moves with the coverage instead of sitting flat across every size. The four cases and their level, filter and reverb offsets are owned by [sound and dialogue](../references/sound-and-dialogue.md). `@t` is time from that shot's first frame, never program time. Absolute program timecodes live in
|
|
63
|
+
one place only, [edit timeline template](edit-timeline-template.md), so a re-time changes one
|
|
64
|
+
document instead of two. Write `none` in a cell you decided against; leave nothing blank.
|
|
65
|
+
|
|
66
|
+
| Shot | In–Out | Space | RT | AMB | FOL | SFX | MUS | Dialogue/VO | Silence |
|
|
67
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
68
|
+
| `SHnn` | | | | | | | | | |
|
|
69
|
+
|
|
70
|
+
Filled — `UTD_SC07`. The book's sound direction is explicit: no score anywhere in this scene, and
|
|
71
|
+
the paper scraping tile is the loudest thing in it. There is no dialogue here, so 0 is notional and
|
|
72
|
+
every level below is read off the bands in
|
|
73
|
+
[sound and dialogue](../references/sound-and-dialogue.md) — the paper cue sits at the top of the
|
|
74
|
+
spot-FX band rather than being promoted to 0, which keeps this sheet legible next to a scene that
|
|
75
|
+
does have dialogue in it.
|
|
76
|
+
|
|
77
|
+
| Shot | In–Out | Space | RT | AMB | FOL | SFX | MUS | Dialogue/VO | Silence |
|
|
78
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
79
|
+
| `SH01` | 0:00–0:04 | WS, stairwell — same room; street is outside heard from inside | Stairwell tone with the filament bulb's hum baked into it, 0.8s reverb tail, continuous, −34 | Street two floors down, distant, no traffic detail, −28 | Cloth shoes on tile, three crossing steps @0.4 / @1.1 / @1.7, the last one short; satchel canvas shift on the stop | none — the hum is continuous, so it belongs in RT and never gets its own cue | none — no score in this scene | none | none |
|
|
80
|
+
| `SH02` | 0:04–0:09 | MCU, landing — same room; radio is through a closed door | bed continues | Radio behind the door comes up @0.6 to −18, mid-band only, no intelligible words | Padded-jacket rustle as the arm rises @0.8; one swallow, close, @2.4; jacket settle @4.2 | none | none | none | none |
|
|
81
|
+
| `SH03` | 0:09–0:12 | CU, landing — same room; radio and chair are through a closed door | bed continues | Radio holds; street ducks 2 dB | none — deliberate | Chair scrape behind the door @1.5, the first hard sound in the scene | none | none | The book's 1.5s of near-silence, @0.0–@1.5. Not digital silence: the bed stays under, everything else out |
|
|
82
|
+
| `SH04` | 0:12–0:18 | MS low, landing — same room; radio through the door, gap line at 20cm | bed continues | Radio holds, unchanged | Knees and heels on tile @0.2; two fingers on wood @5.4 | Paper scraping tile @2.0–@4.6 at −6, the top of the spot-FX band and the loudest cue in the scene, alone in its band | none | none | none |
|
|
83
|
+
| `SH05` | 0:18–0:22 | WS, stairwell — same room; radio recedes through the door as he goes | bed continues; tone tail runs 1.0s past picture | Radio and street unchanged — nothing acknowledges that he left | Two backing steps, then four descending, each 2 dB quieter, gone by @3.0 | none | none | none | none |
|
|
84
|
+
|
|
85
|
+
Reading it: the bed never breaks; only foley and spot FX respect the cuts; the radio enters on
|
|
86
|
+
`SH02` and never leaves, so the room behind the door stays occupied for the rest of the scene.
|
|
87
|
+
`SH03` carries the scene's turn in its Silence cell and has an empty foley line on purpose — which
|
|
88
|
+
is the reason the column exists. A blank there would have read as an oversight and someone would
|
|
89
|
+
have filled it with footsteps.
|
|
90
|
+
|
|
91
|
+
## Music brief
|
|
92
|
+
|
|
93
|
+
One block per cue, in the field set owned by
|
|
94
|
+
[sound and dialogue](../references/sound-and-dialogue.md) — brief the function, never the genre.
|
|
95
|
+
When the scene has no score, still write the block: the decision is worth recording, and a written
|
|
96
|
+
`none` is the only thing that stops someone adding a cue in the mix six weeks later.
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
CUE M0 "no cue"
|
|
100
|
+
FUNCTION: none. The book scores this scene with a radio the courier cannot control
|
|
101
|
+
IN: n/a
|
|
102
|
+
OUT: n/a
|
|
103
|
+
TEMPO: n/a
|
|
104
|
+
INSTR: n/a
|
|
105
|
+
SHAPE: n/a
|
|
106
|
+
NOT: no cue at any level anywhere in SC07, including under the exit and the end tail
|
|
107
|
+
ENFORCED: no music track exists in the timeline; every generated clip's audio is muted at import
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The diegetic radio is briefed as a source element, not a cue. It belongs to ambience in the layer
|
|
111
|
+
table and to the location in the continuity bible, but it needs a brief of its own because someone
|
|
112
|
+
has to make or license it, and because it is the only thing in the scene an era error can reach:
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
SOURCE SRC-radio "behind door 3F"
|
|
116
|
+
FUNCTION: keep the room he will not enter occupied, from SH02 to the end
|
|
117
|
+
PLACEMENT: heard through a closed dark-stained door — low-pass around 900 Hz, 0.8s stairwell tail
|
|
118
|
+
IN: SH02 @0.6
|
|
119
|
+
OUT: runs past picture; leaves with the room-tone tail
|
|
120
|
+
ERA: 1937 Shanghai broadcast idiom; small band, no synthesis, no modern kit
|
|
121
|
+
LEVEL: -18, ducking 2 dB while the paper cue runs
|
|
122
|
+
NOT: never intelligible in any language; never lands on a cut; never changes program at the
|
|
123
|
+
chair scrape; never resolves when he leaves
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Two habits behind those blocks. Name the function before the instrumentation, because a function
|
|
127
|
+
survives a change of composer and "solo cello" does not. And fill `NOT:` every time — most bad cues
|
|
128
|
+
fail by doing too much, and the exclusion is the only line that stops them.
|
|
129
|
+
|
|
130
|
+
## Dialogue & VO sheet
|
|
131
|
+
|
|
132
|
+
Speaking rates, the VO density ceiling, and the clip-length formula are owned by
|
|
133
|
+
[sound and dialogue](../references/sound-and-dialogue.md). Two of its numbers do all the work in
|
|
134
|
+
this column, and they are not the same number:
|
|
135
|
+
|
|
136
|
+
- **On camera**, the clip has to hold more than the words: `clip = 0.6s pre-roll + line ÷ rate +
|
|
137
|
+
0.8s hold`, then add 2.5s of handle to the generation — a dialogue take is character performance
|
|
138
|
+
and pays the full rate, and the handle budget is owned by
|
|
139
|
+
[editing and assembly](../references/editing-and-assembly.md). A line that merely fits the clip
|
|
140
|
+
length does not fit the clip.
|
|
141
|
+
- **Voice-over** is laid in the mix, so it budgets the speech only — but it is capped by picture,
|
|
142
|
+
not by rate: about 1.3 words per second of shot, roughly half dialogue density.
|
|
143
|
+
|
|
144
|
+
Estimates are for planning. Measure the recorded take before locking picture.
|
|
145
|
+
|
|
146
|
+
| ID | Shot | Speaker | On/Off | Lang | Line | Delivery | Count | Est. dur | Decision |
|
|
147
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
148
|
+
| D1 | `SHnn` | | | | | | | | |
|
|
149
|
+
|
|
150
|
+
Filled — `UTD_SC07` and the head of the next scene:
|
|
151
|
+
|
|
152
|
+
| ID | Shot | Speaker | On/Off | Lang | Line | Delivery | Count | Est. dur | Decision |
|
|
153
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
154
|
+
| A1 | `SH02`–`SH05` | Radio behind door | Off | — | non-verbal, no intelligible words | Muffled, mid-band | — | 18.0s | Not dialogue. Never treat as a line; no lip-sync risk; must not become intelligible in the mix |
|
|
155
|
+
| V1 | `SH05` | Courier | VO | EN | "I told myself it was kindness." | Slow, weighted | 6 words | 3.0s speech | **Cut.** 6 words over a 4s shot is 1.5 words/s, over the VO ceiling — but that is not why it goes. At any length it explains the shot's only job. The aftermath is the argument; a VO turns it into a caption |
|
|
156
|
+
| D2 | `SC08_SH01` | Woman, 50s | On camera | 中文 | 「他没有敲门。」 | Slow, flat, reading aloud | 5 spoken chars | 2.8s clip | Keep. 5 ÷ 3.5 = 1.4s of speech, plus 0.6s pre-roll and 0.8s hold = 2.8s inside a 4s clip; generate at 6.5s, because a performance take pays the 2.5s handle and a first/last-frame pair cannot buy it back — the drift is between the pinned frames. Lip-sync required: generate speech, or shoot mute and lay VO |
|
|
157
|
+
|
|
158
|
+
Three decisions that sheet forces now instead of during the mix. A1 is not a line, so nobody
|
|
159
|
+
records it and no model is asked to lip-sync it. V1 dies on the page rather than after someone
|
|
160
|
+
records it, and the arithmetic is the cheap part of that call — count the spoken units before you
|
|
161
|
+
argue about the words. Note what is *not* counted in D2: the full-width period is a spoken pause,
|
|
162
|
+
not a character, and counting punctuation is the standard way a Chinese line comes back 20% over
|
|
163
|
+
its budget. D2 is also the project's only lip-sync shot, so it is the only place F15 can occur;
|
|
164
|
+
budget the retries there and nowhere else.
|
|
165
|
+
|
|
166
|
+
## Handoff checklist
|
|
167
|
+
|
|
168
|
+
- [ ] Room tone and ambience exist as single continuous files, scene length plus 1s handles,
|
|
169
|
+
named `PROJ_SCnn_vNN_amb.wav` — version before role, per the continuity bible's grammar.
|
|
170
|
+
- [ ] Every generated clip's native audio is muted or deleted, not merely lowered.
|
|
171
|
+
- [ ] Every foley entry names the material, not just the object — "cloth shoes on tile".
|
|
172
|
+
- [ ] Every spot FX has an `@t` from its own shot's first frame, not just a shot number.
|
|
173
|
+
- [ ] The Silence column is filled on every row, including `none`, and nothing over 1s is held at
|
|
174
|
+
true digital zero — the bed stays under it.
|
|
175
|
+
- [ ] The music block exists even when the answer is "no score", and says who enforces it.
|
|
176
|
+
- [ ] Every dialogue line has an estimated duration and an explicit lip-sync decision.
|
|
177
|
+
- [ ] Any on-camera line fits pre-roll plus speech plus hold inside its clip — not just the speech.
|
|
178
|
+
- [ ] Every on-camera line is ordered at clip length plus the 2.5s performance handle, not at clip
|
|
179
|
+
length.
|
|
180
|
+
- [ ] Total dialogue and cue durations checked against the cut length in
|
|
181
|
+
[edit timeline template](edit-timeline-template.md).
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
# Video Motion Prompt Template (Mode F)
|
|
2
|
+
|
|
3
|
+
Load this file when you are at Step 10 (AI video prompt construction) or the user asked for Mode
|
|
4
|
+
F — finished prompts to paste into a generator. The four prompt shapes and their slot orders,
|
|
5
|
+
which slots a given model actually reads, and what its UI controls instead of text are owned by
|
|
6
|
+
[AI video tool adapters](../references/ai-video-tool-adapters.md). Word choice, word budgets,
|
|
7
|
+
banned words, the negative library and the cut order for an over-long prompt are owned by the
|
|
8
|
+
[prompt lexicon](../references/prompt-lexicon.md). This file owns the fill-in forms and the
|
|
9
|
+
per-prompt self-check.
|
|
10
|
+
|
|
11
|
+
Every worked example inherits from [director book](director-book-template.md) and
|
|
12
|
+
[shot plan](shot-plan-template.md), and animates the stills built in
|
|
13
|
+
[keyframe prompt template](keyframe-prompt-template.md): project `Under the Door` (`UTD`), scene
|
|
14
|
+
7, 22s, 16:9, five shots — a courier hesitates outside a Republican-era Shanghai apartment door,
|
|
15
|
+
slides an envelope under it, and leaves.
|
|
16
|
+
|
|
17
|
+
## Token economy
|
|
18
|
+
|
|
19
|
+
The slot order below is S1 in [AI video tool adapters](../references/ai-video-tool-adapters.md),
|
|
20
|
+
which owns the four shapes and their slot lists; the word budgets — for image-to-video, roughly
|
|
21
|
+
40–80 words — the reasons the order matters, and the cut order for an over-long prompt are owned by
|
|
22
|
+
the [prompt lexicon](../references/prompt-lexicon.md). What this table adds is how that budget
|
|
23
|
+
divides and when a slot disappears entirely. `Slot` is position in the prompt, not importance: the
|
|
24
|
+
action and the end state are the two things the lexicon says never to cut.
|
|
25
|
+
|
|
26
|
+
| Slot | Content | Share of the budget | Cut it entirely when… |
|
|
27
|
+
|---|---|---|---|
|
|
28
|
+
| 1 | Camera behavior — one move, one speed, or `locked` | 10–15% | The tool has a camera-motion UI; set it there, not in text |
|
|
29
|
+
| 2 | Subject start state, only what the input frame already shows | 10% | Text-to-video: there is no input frame to anchor to |
|
|
30
|
+
| 3 | One primary action, with its pace and direction | 32% | Never |
|
|
31
|
+
| 4 | One environmental response | 10% | The scene has no movable element |
|
|
32
|
+
| 5 | Explicit end state | 15% | Never |
|
|
33
|
+
| 6 | Continuity lock — the book's invariants compressed to one clause | 10% | The clip is under 2s and locked |
|
|
34
|
+
| 7 | Exclusions — two or three risk classes | 8% | The tool has a real negative field; put them there instead |
|
|
35
|
+
|
|
36
|
+
Pace belongs inside slot 3 and does not get a slot of its own. A bare pace word floating between
|
|
37
|
+
the lock and the exclusions attaches itself to the nearest verb, which is as often the camera as
|
|
38
|
+
the subject — say "lowers slowly to his thigh over about two seconds", not "slow motion".
|
|
39
|
+
|
|
40
|
+
Slots 1–5 come to roughly 80% of an image-to-video prompt. If most of the prompt
|
|
41
|
+
re-describes what the input image already proves, you are paying tokens for nothing and diluting
|
|
42
|
+
the action. Each filled example below carries its word count — check yours against them, not
|
|
43
|
+
against how thorough the prompt feels.
|
|
44
|
+
|
|
45
|
+
## Slot dictionary
|
|
46
|
+
|
|
47
|
+
| Bracket | Put in it | Never put in it |
|
|
48
|
+
|---|---|---|
|
|
49
|
+
| `[camera]` | One named move plus a speed and a distance, or `locked` | A second move; a move the tool controls by slider; "dynamic camera" |
|
|
50
|
+
| `[start state]` | A static, checkable body position that matches the input frame | New wardrobe, new props, a new location |
|
|
51
|
+
| `[action]` | One transitive verb, its object, a speed, a direction | Interior states: realizes, remembers, feels, struggles, hesitates |
|
|
52
|
+
| `[environment]` | One movable element: a shadow, cloth, dust, a light line, breath | A second character; a second action by the subject |
|
|
53
|
+
| `[end state]` | A pose or composition you could photograph as a still | "and then he leaves and it fades" — that is two shots |
|
|
54
|
+
| `[invariants]` | The book's `ID_`, `LOCK_`, `LIGHT_` strings, compressed to one clause | A full re-description of the input image |
|
|
55
|
+
| `[negatives]` | The 2–4 risks specific to this shot, plus only those `NEG_BASE` classes this framing can actually produce, to a combined ceiling of about six — the dilution rule is owned by [prompt lexicon](../references/prompt-lexicon.md) | A wall of negatives copied from another shot; a category ("no modern objects") rather than named instances |
|
|
56
|
+
| `[sound]` | Only if the model generates audio: the source, not an adjective | Anything the sound plan owns; see Mode H |
|
|
57
|
+
|
|
58
|
+
Where the tool has a separate negative field, put the whole of `NEG_BASE` in it — it costs nothing
|
|
59
|
+
there. Inline negatives are the ones that have to fight the positive prompt for attention, so
|
|
60
|
+
inline only what this framing can actually produce: "no extra people" earns its place in a landing
|
|
61
|
+
wide, not in an extreme close-up of a 4cm gap.
|
|
62
|
+
|
|
63
|
+
## Template 1 — image-to-video, single shot
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
[Camera]. Starting from the input image, [subject] is [start state], then [one primary action
|
|
67
|
+
with speed and direction]. [Environment element] [moves how]. End with [explicit end state].
|
|
68
|
+
Maintain [invariants]. Avoid [negatives].
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Filled — `UTD_SC07_SH02`, 5s, from `UTD_SC07_SH02_v03_kf-first.png`. The input frame has the hand
|
|
72
|
+
down, because that is where shot 01 left it; the raised knuckles are what this clip has to produce:
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
Locked camera. His right hand rises until the knuckles stop 3cm short of the wood, holds about one
|
|
76
|
+
second, then lowers slowly to his thigh over about two seconds. The knuckles never touch the door.
|
|
77
|
+
His breath shows once against the cold rim behind him. End with the hand at his thigh, still facing
|
|
78
|
+
the door, the envelope still up at chest in his left hand. Same face, cap, jacket and satchel side;
|
|
79
|
+
same bulb camera-left. Avoid: the hand touching the door, knocking, the door opening, a second
|
|
80
|
+
person, rendered text.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
91 words, just over the lexicon's 40–80 band, and two of them are the whole shot: `3cm short` and
|
|
84
|
+
`never touch`. If the tool truncates, the breath clause goes first. There is also no separate
|
|
85
|
+
start-state clause, because the action names the limb the frame already shows at rest — slot 2
|
|
86
|
+
earns its tokens only when the input frame leaves it ambiguous which part of the body moves. What
|
|
87
|
+
is *not* in it is the rest of the identity string and the whole room; the input frame proves both,
|
|
88
|
+
and re-describing them is the most common way a prompt starves its own action.
|
|
89
|
+
|
|
90
|
+
中文变体 / Chinese-UI variant, same shot:
|
|
91
|
+
|
|
92
|
+
```text
|
|
93
|
+
固定镜头。他的右手抬起,指节停在距门板3厘米处,停约1秒,再用约2秒缓慢放下到大腿旁。
|
|
94
|
+
指节始终不碰到门。他的呼吸在身后的冷调轮廓光上出现一次。结尾停在:右手垂在大腿旁,
|
|
95
|
+
仍正对着门,信封仍举在左手胸前。保持同一张脸、帽子、棉袄、左肩挎带;灯泡仍在镜头左侧。
|
|
96
|
+
避免:手碰到门、敲门、门被打开、出现第二个人、画面出现文字。
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Template 2 — first frame + last frame
|
|
100
|
+
|
|
101
|
+
Use when the change has a designed endpoint, and always for the scene's highest-risk shot. The
|
|
102
|
+
two frames must be one action apart; if you cannot describe the bridge in a single clause, split
|
|
103
|
+
the shot.
|
|
104
|
+
|
|
105
|
+
```text
|
|
106
|
+
Use the first image as the opening frame and the second image as the closing frame. The shot
|
|
107
|
+
travels from [first-frame state] to [last-frame state] through [one continuous action].
|
|
108
|
+
Camera [one move with distance and duration, or locked]. Motion is [pace word].
|
|
109
|
+
Preserve [invariants]. No [negatives].
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
A pair prompt should be *shorter* than a single-frame one, not longer: both ends are already
|
|
113
|
+
photographs, so the text pays only for the bridge between them. Describing the two stills back to
|
|
114
|
+
the tool is the classic way to waste a keyframe pair.
|
|
115
|
+
|
|
116
|
+
It is also the one generation you order at cut length rather than at cut length plus a handle:
|
|
117
|
+
both ends are pinned by approved stills, so there is no ramp-in to discard and no drift-out to
|
|
118
|
+
trim. That is the single licensed exception to the handle rule in
|
|
119
|
+
[editing and assembly](../references/editing-and-assembly.md), and it does not extend to a
|
|
120
|
+
dialogue take built as a pair — the performance happens between the two frames, which is exactly
|
|
121
|
+
where the drift is.
|
|
122
|
+
|
|
123
|
+
Filled — `UTD_SC07_SH04`, 6s, the scene's one moving shot and its highest-failure clip:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
Use the first image as the opening frame and the second image as the closing frame. Between them,
|
|
127
|
+
one continuous feed-and-push: the envelope slides under the door, then two fingers push it the last
|
|
128
|
+
few centimetres until the fingertips meet the wood, with no stall between the two halves. Camera
|
|
129
|
+
dollies in 25cm over the full six seconds, one direction, no reverse, no reframe. Preserve the same
|
|
130
|
+
courier, satchel on the left shoulder, the door chip at frame-right, the bulb camera-left. No third
|
|
131
|
+
hand, no bending or tearing of the paper, no envelope visible at the end.
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
97 words, and the last sentence is three negatives — correct here and nowhere else in this scene.
|
|
135
|
+
This is the plan's one `Red` shot, and each of the three names a failure it has already been graded
|
|
136
|
+
as likely to produce.
|
|
137
|
+
|
|
138
|
+
## Template 3 — text-to-video
|
|
139
|
+
|
|
140
|
+
No input frame, so you pay for description. Everything a keyframe would have proven now has to be
|
|
141
|
+
written, and identity is the part that will not hold from words alone — expect more retries per
|
|
142
|
+
usable second, and prefer this mode for plates, inserts, and shots with no face.
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
[Format, aspect, stock/finish]. [Subject with concrete identity and wardrobe]. [Location, era,
|
|
146
|
+
time of day]. [One primary action with speed and direction]. [Shot size, angle, camera move].
|
|
147
|
+
[Named light source, side, ratio]. [Composition and depth]. [Sound if supported]. [Negatives].
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Filled — `UTD_SC07_SH03`, 3s, the one shot in the scene with no face in it, which is exactly why it
|
|
151
|
+
can survive text-to-video:
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
16:9, 35mm film stock, fine grain, low saturation. The 4cm gap under a dark-stained apartment
|
|
155
|
+
door, worn red floor tile, dark-green wainscot above; a third-floor landing in 1937 Shanghai,
|
|
156
|
+
winter. No figure except the toe of one cloth shoe at the bottom edge, motionless. A shadow
|
|
157
|
+
crosses the warm light line under the door from inside, right to left, over about two seconds, and
|
|
158
|
+
the line is unbroken again. Extreme close-up, head-on, camera 15cm off the floor, 85mm, locked.
|
|
159
|
+
The only light in frame is the spill from the room behind the door; the near side of frame is
|
|
160
|
+
three stops under. No rendered text or numerals, no watermark, no second foot, the door never
|
|
161
|
+
opens.
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
116 words, inside the lexicon's 60–120 text-to-video band. Read against Template 1 it shows where
|
|
165
|
+
the extra 25 went: format, era, materials, and light source — every line the input frame would
|
|
166
|
+
otherwise have supplied for free.
|
|
167
|
+
|
|
168
|
+
## Template 4 — multi-shot / timestamped
|
|
169
|
+
|
|
170
|
+
Only for models that honor timestamps. Put the invariants once in the `Overall` line, never
|
|
171
|
+
inside each shot: per-shot repetition eats tokens and invites contradiction. Note that a
|
|
172
|
+
timestamped block gives up per-shot control of duration and cut point, so use it for previs or a
|
|
173
|
+
social cutdown, not for the deliverable when the shot plan has named cut frames.
|
|
174
|
+
|
|
175
|
+
```text
|
|
176
|
+
Overall: [era, location, palette, stock, identity keywords, continuity rules].
|
|
177
|
+
[00:00-00:0X] Shot 1: [size/angle]. [one action]. Camera [move]. Sound: [source].
|
|
178
|
+
[00:0X-00:0Y] Shot 2: [size/angle]. [one action]. Camera [move]. Sound: [source].
|
|
179
|
+
[00:0Y-00:0Z] Shot 3: [size/angle]. [one action]. Camera [move]. Sound: [source].
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
Filled — `UTD_SC07` as a 12s three-shot previs block:
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
Overall: third-floor landing of a 1937 Shanghai lilong apartment block, peeling dark-green
|
|
186
|
+
wainscot to waist height, cracked cream plaster, worn red floor tile, dark-stained door with a
|
|
187
|
+
chipped lower-left corner, a stairwell window at the head of the stairs opposite the door. One
|
|
188
|
+
bare filament bulb hanging over the stairhead, warm and hard, 5:1 lit side to shadow side; a thin
|
|
189
|
+
warm line spills from
|
|
190
|
+
the 4cm gap under the door. Low saturation, high contrast in the lower third; the envelope is the
|
|
191
|
+
only pure white. One character only: a 19-year-old Chinese man with a narrow jaw, deep-set eyes
|
|
192
|
+
under a low brow, a 2 cm scar through the left eyebrow, black hair clipped short and shaved high at
|
|
193
|
+
the neck, in a grey padded cotton jacket buttoned to the throat with one bone button missing at the
|
|
194
|
+
collar; wool cap pushed back, canvas satchel on the left shoulder. Same face and wardrobe in every
|
|
195
|
+
shot. No rendered text or numerals, no rubber soles, no wristwatch, the
|
|
196
|
+
door never opens.
|
|
197
|
+
[00:00-00:04] Shot 1: wide, high 15 degrees, 35mm. He climbs into frame, crosses the landing in
|
|
198
|
+
three steps and stops squared to the door 60cm out, envelope up at chest. Camera locked. Sound:
|
|
199
|
+
cloth shoes on tile, stairwell reverb.
|
|
200
|
+
[00:04-00:09] Shot 2: medium close-up, eye level, 50mm, bulb camera-left raking his face. He
|
|
201
|
+
raises his right hand, the knuckles stop 3cm short of the wood, he swallows, the hand lowers to
|
|
202
|
+
his thigh. Camera locked. Sound: a muffled radio behind the door, no intelligible words.
|
|
203
|
+
[00:09-00:12] Shot 3: extreme close-up, head-on, camera 15cm off the floor, 85mm, on the 4cm gap
|
|
204
|
+
and its warm light line; the bulb is out of frame here and the line is the only light. A shadow
|
|
205
|
+
crosses the line from inside, right to left, and the line is unbroken again. Camera locked. Sound:
|
|
206
|
+
a chair scrapes behind the door.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Note what moved into the shot lines: camera height in cm, and the key direction. Heights go in cm
|
|
210
|
+
so a reader never parses them as a second focal length, and key direction is camera-relative, so it
|
|
211
|
+
is false the moment a setup changes — it cannot live in the `Overall` block with the invariants.
|
|
212
|
+
|
|
213
|
+
## Template 5 — continuation / extend
|
|
214
|
+
|
|
215
|
+
For tools that extend a clip from its final frame. An extend continues one shot; it cannot cross a
|
|
216
|
+
cut, because the new footage inherits the old framing, and asking it to change setup produces a
|
|
217
|
+
morph rather than an edit. If the next thing on the timeline is a different size, angle or camera
|
|
218
|
+
height, that is a new generation, not an extension. The extend model also sees the tail of the
|
|
219
|
+
video and not your original prompt, so restate the invariants and start from the **observed** last
|
|
220
|
+
frame, not the one you intended.
|
|
221
|
+
|
|
222
|
+
```text
|
|
223
|
+
Continue from the final frame of the previous clip. [Subject] is [observed end state, described
|
|
224
|
+
as a still]. Now [the single next action, with speed and direction]. Camera [same behavior as
|
|
225
|
+
before, or explicitly: camera behavior changes to X]. Preserve [invariants]. Do not restart, do
|
|
226
|
+
not reset the pose, do not cut. Avoid [negatives].
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
Filled — `UTD_SC07_SH05`, extending its own first 3s. The EWS was generated up to the moment he
|
|
230
|
+
leaves frame; the extension is the hold that the shot exists for. Same setup, same lens, same
|
|
231
|
+
camera height — which is what makes it an extension and not a second shot:
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
Continue from the final frame of the previous clip. The landing is empty; he has just dropped out
|
|
235
|
+
of frame at the bottom of the stairs. Over about one second a shadow crosses the warm line under
|
|
236
|
+
the door from inside, right to left, and the line is unbroken again. Camera stays locked exactly as
|
|
237
|
+
before; it does not pan down after him. Preserve the worn red tile, the door chip, the bulb
|
|
238
|
+
camera-left, and the grain. Do not restart, do not reset, do not cut. Avoid: the door opening, a
|
|
239
|
+
figure re-entering frame, the warm line going dark.
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
99 words, and an extension always runs longer than the shot it continues, because it pays for two
|
|
243
|
+
things a fresh generation does not: a description of what the observed last frame contains, and the
|
|
244
|
+
do-not-restart clause. Everything else should come out. The identity string, for one, is absent on
|
|
245
|
+
purpose — there is no person in this extension, so `ID_COURIER` would be dead tokens at best and an
|
|
246
|
+
invitation to put him back in frame at worst. Preserve what is still in the picture: here the room,
|
|
247
|
+
the light and the texture.
|
|
248
|
+
|
|
249
|
+
## Template 6 — dialogue shot
|
|
250
|
+
|
|
251
|
+
Only for models that generate speech. Label speakers by a visual attribute, never by a pronoun
|
|
252
|
+
and never by a name the model cannot see. Keep each line inside the clip's speakable budget —
|
|
253
|
+
roughly 2.5 English words or 4.5 Chinese characters per second, and the clip must also carry
|
|
254
|
+
pre-roll before the first word and a hold after the last. Rates and the clip-length formula are
|
|
255
|
+
owned by [sound and dialogue](../references/sound-and-dialogue.md); the sheet that records the
|
|
256
|
+
per-line decision is [sound plan template](sound-plan-template.md).
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
[Camera]. [Shot size on the speaker]. [Speaker A: visual label, vocal register, volume]:
|
|
260
|
+
"[line]". [A's visible behavior while speaking — mouth, breath, gaze, hands].
|
|
261
|
+
[Then Speaker B: visual label, vocal register]: "[line]". [B's visible behavior].
|
|
262
|
+
Lip movement must match the spoken line. Preserve [invariants]. Avoid [negatives].
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Filled — a shot from the following scene, where the letter is finally read aloud:
|
|
266
|
+
|
|
267
|
+
```text
|
|
268
|
+
Locked camera, medium close-up, eye level, 50mm, on a woman in her fifties seated at a table by a
|
|
269
|
+
window. Woman in a dark quilted jacket, grey hair pinned back, reading aloud from a single sheet,
|
|
270
|
+
voice low and even, no tremor: 「他没有敲门。」 Her eyes stay on the page, her jaw moves only as
|
|
271
|
+
far as the words require, her free hand flat on the table. No other voice is heard. Lip movement
|
|
272
|
+
must match the spoken line and stops the moment the line ends. Preserve the same face, the quilted
|
|
273
|
+
jacket, the window light from camera-left, the 1937 interior. Avoid: a second speaker, the camera
|
|
274
|
+
pushing in, subtitles burned into the frame, the paper changing shape.
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Scene 7 itself has no speech at all — the book's sound direction allows only a muffled radio with
|
|
278
|
+
no intelligible words — which is why this example had to come from the scene after it. When a scene
|
|
279
|
+
is written that way, do not let a speech-capable model fill the silence. Any prompt that puts a
|
|
280
|
+
face in speaking range gets `no speech, no lip movement` in its negatives; the `SH02` prompt above
|
|
281
|
+
does not need it only because the shot never opens his mouth.
|
|
282
|
+
|
|
283
|
+
## Per-prompt self-check
|
|
284
|
+
|
|
285
|
+
Run on every prompt before you send it. Five questions, and the failure each one prevents.
|
|
286
|
+
|
|
287
|
+
- [ ] **One action.** Count the objectives, not the verbs. One gesture with a named stop is one
|
|
288
|
+
action — rise, stop 3cm short, lower is a single aborted knock, and a swallow or a breath inside
|
|
289
|
+
it is texture. Two objectives is two clips. (Guards F4.)
|
|
290
|
+
- [ ] **One camera move.** Count camera verbs. More than one, or a move plus "dynamic"? Cut to
|
|
291
|
+
one, or lock it. Check it against the book's move budget. (Guards F6.)
|
|
292
|
+
- [ ] **Explicit end state.** Could you photograph the last sentence as a still? If not, rewrite
|
|
293
|
+
it as a pose or a composition. (Guards F5.)
|
|
294
|
+
- [ ] **Invariants present.** The `ID_`, `LOCK_`, and `LIGHT_` strings, compressed but not
|
|
295
|
+
reworded, plus the scene's checkable anchor. (Guards F1, F7, F8, F12.)
|
|
296
|
+
- [ ] **Negatives matched to real risk.** Name the condition in this shot that makes each one
|
|
297
|
+
plausible — including the `NEG_BASE` classes, which you select from rather than paste whole.
|
|
298
|
+
Cannot name it? Delete it. About six classes is the ceiling: every unearned negative dilutes
|
|
299
|
+
the ones that matter, and a category ("no modern objects") dilutes without ever resolving into
|
|
300
|
+
anything the model can withhold. (Guards F8, F9, F11.)
|
|
301
|
+
|
|
302
|
+
Two more that cost nothing: no adjective is doing work a noun could do better, and nothing in the
|
|
303
|
+
prompt merely re-describes the input image. Symptom-to-cause lookup for anything that comes back
|
|
304
|
+
wrong is in [failure modes](../references/failure-modes.md); scoring and gating are in
|
|
305
|
+
[qc checklist](qc-checklist.md).
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Running the Evals
|
|
2
|
+
|
|
3
|
+
[evals.json](evals.json) is a behaviour contract, not a suite that executes itself. Each case is a prompt plus assertions checkable from the response text alone. Running it means generating responses, then grading them.
|
|
4
|
+
|
|
5
|
+
## Run one case by hand
|
|
6
|
+
|
|
7
|
+
1. Open a fresh session with the skill installed and nothing else in context. A carried-over conversation is the largest source of false passes.
|
|
8
|
+
2. Paste the case's `prompt` verbatim. Add nothing — no "use the cinematic-director skill", no format hint, no reminder of the mode.
|
|
9
|
+
3. Save the whole response, preamble included, then grade the assertions in order against that text.
|
|
10
|
+
|
|
11
|
+
One case per session. Two cases in one session lets the second inherit the first's shot plan.
|
|
12
|
+
|
|
13
|
+
## Run the suite with a grading agent
|
|
14
|
+
|
|
15
|
+
Generate one response per case in `evals.json` first, then grade. Generating and grading in one session leaks the assertions into the answer. Send this once per case, with nothing else in context:
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
You are grading one response against a fixed list of assertions. You have no other job.
|
|
19
|
+
|
|
20
|
+
CASE PROMPT:
|
|
21
|
+
<the case's prompt field, verbatim>
|
|
22
|
+
|
|
23
|
+
RESPONSE:
|
|
24
|
+
<the full response text>
|
|
25
|
+
|
|
26
|
+
ASSERTIONS:
|
|
27
|
+
1. <assertion 1> ... n. <assertion n>
|
|
28
|
+
|
|
29
|
+
For each assertion output exactly one line:
|
|
30
|
+
<n>. PASS|FAIL — <quoted span from the response, or why nothing satisfies it>
|
|
31
|
+
|
|
32
|
+
Judge only what is written in RESPONSE. Do not infer intent, do not credit a near
|
|
33
|
+
miss, and do not reward good work the assertion did not ask for. An assertion naming
|
|
34
|
+
a number, a unit, or a verbatim clause fails unless that number, unit, or clause
|
|
35
|
+
appears in the text. Output no summary and no advice.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## What counts as a pass
|
|
39
|
+
|
|
40
|
+
| Assertion shape | Passes when |
|
|
41
|
+
|---|---|
|
|
42
|
+
| Names a number or range — "in mm", "sums to 20 seconds", "0-18" | The number is present and inside the range. Arithmetic that does not close is a fail. |
|
|
43
|
+
| Names a verbatim artifact — "repeated verbatim across all four prompts" | The string appears identically in every place the assertion names. |
|
|
44
|
+
| Forbids something — "no segment line contains an emotion word" | Zero instances anywhere in the response. One instance is a fail. |
|
|
45
|
+
| Names a structure — "look, what-is-seen, reaction" | Every named part is present and identifiable. Partial structure is a fail. |
|
|
46
|
+
| Names proportion — "no director's book appears" | Judge the delivered sections, not the word count. |
|
|
47
|
+
|
|
48
|
+
A case passes only when every one of its assertions passes. Assertions are the unit of diagnosis; cases are the unit of the score.
|
|
49
|
+
|
|
50
|
+
## The pass bar
|
|
51
|
+
|
|
52
|
+
- **Ship bar: 92% of cases** — 52 of the 57 in the suite today. Below that, do not tag a release.
|
|
53
|
+
- **Hard-fail set, which must pass whatever the total:** `symptom-only-no-artifact`, `one-line-ask-one-deliverable`, `multi-shot-timestamped-sequence`, and every case carrying a copyright-safety assertion. These guard guardrails, not craft.
|
|
54
|
+
- Re-run a failing case twice before editing the skill. Three runs distinguish model variance from a real hole; one failure does not.
|
|
55
|
+
|
|
56
|
+
## The `loads` field
|
|
57
|
+
|
|
58
|
+
`loads` is **advisory and is not graded**. Response text does not reliably state which files were opened, and an assertion that demanded it would be an assertion about hidden reasoning — which this suite forbids. Two ways to check it when it matters: read the harness's tool log for the run and diff the opened paths against `loads`; or, with no log, treat `loads` as a claim about the routing table in [../SKILL.md](../SKILL.md) and verify the table instead of the response. CI checks that every `loads` path exists on disk. It cannot check that a response used it.
|
|
59
|
+
|
|
60
|
+
## Adding a case
|
|
61
|
+
|
|
62
|
+
1. Give it a unique lowercase hyphenated id naming the behaviour under test, not the scene.
|
|
63
|
+
2. Carry exactly the six fields — `id`, `mode`, `loads`, `prompt`, `expected_output`, `assertions`. The validator rejects extras and missing ones.
|
|
64
|
+
3. Write 5-6 assertions, each checkable from the response text by a reader who has not opened SKILL.md.
|
|
65
|
+
4. Assert nothing SKILL.md does not specify. Where the skill forbids something, assert the forbidden thing is absent — never assert behaviour the skill rules out.
|
|
66
|
+
5. A new director overlay needs exactly one case proving the lens changed camera, palette, pacing, or sound, plus the copyright-safety assertion. See [../CONTRIBUTING.md](../CONTRIBUTING.md).
|
|
67
|
+
6. Run `python3 -c "import json;json.load(open('evals/evals.json'))"` before pushing; the `evals` workflow runs the full validation.
|
|
68
|
+
|
|
69
|
+
Worked example — assertion 4 of `multi-shot-timestamped-sequence`, "no segment line contains an emotion word". Scan the three segment lines only, not the global block or the prose around them. `[00:03-00:06] Close on her hand taking the envelope, camera locked.` carries none, and neither do the other two: PASS. Had it read `she takes the envelope nervously`, that one instance fails the assertion outright — no credit for the two clean segments.
|