@lemoncat7/dsh-partner 2.5.0 → 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.
Files changed (642) hide show
  1. package/README.md +4 -0
  2. package/docs/THIRD_PARTY_LICENSES.md +13 -0
  3. package/docs/attachment-storage.md +18 -0
  4. package/docs/director-skills.md +24 -0
  5. package/docs/long-task-continuation.md +1 -1
  6. package/docs/releases/2.6.0.md +11 -0
  7. package/docs/releases/2.7.0.md +21 -0
  8. package/lib/agent-runtime.d.ts +3 -1
  9. package/lib/agent-runtime.d.ts.map +1 -1
  10. package/lib/agent-runtime.js +35 -11
  11. package/lib/agent-runtime.js.map +1 -1
  12. package/lib/api/features/attachments-api.d.ts.map +1 -1
  13. package/lib/api/features/attachments-api.js +31 -1
  14. package/lib/api/features/attachments-api.js.map +1 -1
  15. package/lib/api.d.ts +1 -1
  16. package/lib/api.d.ts.map +1 -1
  17. package/lib/api.js +1 -1
  18. package/lib/api.js.map +1 -1
  19. package/lib/attachments/grouped-storage.d.ts +5 -0
  20. package/lib/attachments/grouped-storage.d.ts.map +1 -0
  21. package/lib/attachments/grouped-storage.js +47 -0
  22. package/lib/attachments/grouped-storage.js.map +1 -0
  23. package/lib/attachments/service.d.ts +17 -0
  24. package/lib/attachments/service.d.ts.map +1 -1
  25. package/lib/attachments/service.js +100 -8
  26. package/lib/attachments/service.js.map +1 -1
  27. package/lib/attachments/shared-storage.d.ts +7 -0
  28. package/lib/attachments/shared-storage.d.ts.map +1 -0
  29. package/lib/attachments/shared-storage.js +44 -0
  30. package/lib/attachments/shared-storage.js.map +1 -0
  31. package/lib/attachments/storage-admin.d.ts +6 -0
  32. package/lib/attachments/storage-admin.d.ts.map +1 -0
  33. package/lib/attachments/storage-admin.js +43 -0
  34. package/lib/attachments/storage-admin.js.map +1 -0
  35. package/lib/attachments/storage-types.d.ts +33 -0
  36. package/lib/attachments/storage-types.d.ts.map +1 -0
  37. package/lib/attachments/storage-types.js +2 -0
  38. package/lib/attachments/storage-types.js.map +1 -0
  39. package/lib/attachments/tool.d.ts.map +1 -1
  40. package/lib/attachments/tool.js +16 -5
  41. package/lib/attachments/tool.js.map +1 -1
  42. package/lib/channels/delivery-policy.d.ts.map +1 -1
  43. package/lib/channels/delivery-policy.js +6 -4
  44. package/lib/channels/delivery-policy.js.map +1 -1
  45. package/lib/channels/direct/message-format.js +418 -281
  46. package/lib/channels/direct/message-format.js.map +4 -4
  47. package/lib/channels/manager.d.ts +6 -3
  48. package/lib/channels/manager.d.ts.map +1 -1
  49. package/lib/channels/manager.js +64 -44
  50. package/lib/channels/manager.js.map +1 -1
  51. package/lib/channels/weixin/api.d.ts.map +1 -1
  52. package/lib/channels/weixin/api.js +7 -2
  53. package/lib/channels/weixin/api.js.map +1 -1
  54. package/lib/channels/weixin/errors.d.ts +14 -0
  55. package/lib/channels/weixin/errors.d.ts.map +1 -0
  56. package/lib/channels/weixin/errors.js +29 -0
  57. package/lib/channels/weixin/errors.js.map +1 -0
  58. package/lib/channels/weixin/poll.d.ts +14 -0
  59. package/lib/channels/weixin/poll.d.ts.map +1 -0
  60. package/lib/channels/weixin/poll.js +50 -0
  61. package/lib/channels/weixin/poll.js.map +1 -0
  62. package/lib/client-controller.d.ts.map +1 -1
  63. package/lib/client-controller.js +3 -3
  64. package/lib/client-controller.js.map +1 -1
  65. package/lib/client.d.ts.map +1 -1
  66. package/lib/client.js +996 -645
  67. package/lib/client.js.map +4 -4
  68. package/lib/collaboration/composition.d.ts.map +1 -1
  69. package/lib/collaboration/composition.js +16 -6
  70. package/lib/collaboration/composition.js.map +1 -1
  71. package/lib/collaboration/domain.d.ts +6 -0
  72. package/lib/collaboration/domain.d.ts.map +1 -1
  73. package/lib/collaboration/domain.js.map +1 -1
  74. package/lib/collaboration/service.d.ts.map +1 -1
  75. package/lib/collaboration/service.js +33 -3
  76. package/lib/collaboration/service.js.map +1 -1
  77. package/lib/concern-notification.d.ts.map +1 -1
  78. package/lib/concern-notification.js +2 -1
  79. package/lib/concern-notification.js.map +1 -1
  80. package/lib/concern-tool.js +1 -1
  81. package/lib/concern-tool.js.map +1 -1
  82. package/lib/execution/reply-progress.d.ts.map +1 -1
  83. package/lib/execution/reply-progress.js +4 -2
  84. package/lib/execution/reply-progress.js.map +1 -1
  85. package/lib/execution/service.d.ts +1 -1
  86. package/lib/execution/service.d.ts.map +1 -1
  87. package/lib/execution/service.js +4 -7
  88. package/lib/execution/service.js.map +1 -1
  89. package/lib/index.d.ts.map +1 -1
  90. package/lib/index.js +3 -1
  91. package/lib/index.js.map +1 -1
  92. package/lib/memory-reflection.js +2 -2
  93. package/lib/memory-reflection.js.map +1 -1
  94. package/lib/message-source.d.ts +25 -0
  95. package/lib/message-source.d.ts.map +1 -0
  96. package/lib/message-source.js +8 -0
  97. package/lib/message-source.js.map +1 -0
  98. package/lib/observation-loop.js +4 -4
  99. package/lib/observation-loop.js.map +1 -1
  100. package/lib/pendant/reader.js +1 -1
  101. package/lib/pendant/reader.js.map +1 -1
  102. package/lib/pendant/settings-panel.js +1 -1
  103. package/lib/pendant/settings-panel.js.map +1 -1
  104. package/lib/persona/service.js +1 -1
  105. package/lib/persona/service.js.map +1 -1
  106. package/lib/requirements/attachments.d.ts +7 -0
  107. package/lib/requirements/attachments.d.ts.map +1 -0
  108. package/lib/requirements/attachments.js +26 -0
  109. package/lib/requirements/attachments.js.map +1 -0
  110. package/lib/requirements/domain.d.ts +1 -1
  111. package/lib/requirements/domain.d.ts.map +1 -1
  112. package/lib/requirements/service.d.ts.map +1 -1
  113. package/lib/requirements/service.js +4 -1
  114. package/lib/requirements/service.js.map +1 -1
  115. package/lib/scheduler/channel-origin.d.ts +7 -0
  116. package/lib/scheduler/channel-origin.d.ts.map +1 -0
  117. package/lib/scheduler/channel-origin.js +27 -0
  118. package/lib/scheduler/channel-origin.js.map +1 -0
  119. package/lib/scheduler/continuations.d.ts +2 -2
  120. package/lib/scheduler/continuations.d.ts.map +1 -1
  121. package/lib/scheduler/continuations.js +28 -8
  122. package/lib/scheduler/continuations.js.map +1 -1
  123. package/lib/scheduler/domain.d.ts +13 -0
  124. package/lib/scheduler/domain.d.ts.map +1 -1
  125. package/lib/scheduler/final-reply.d.ts +13 -0
  126. package/lib/scheduler/final-reply.d.ts.map +1 -0
  127. package/lib/scheduler/final-reply.js +21 -0
  128. package/lib/scheduler/final-reply.js.map +1 -0
  129. package/lib/skills/builtin-resources.d.ts +6 -0
  130. package/lib/skills/builtin-resources.d.ts.map +1 -0
  131. package/lib/skills/builtin-resources.js +47 -0
  132. package/lib/skills/builtin-resources.js.map +1 -0
  133. package/lib/skills/builtin.d.ts +2 -5
  134. package/lib/skills/builtin.d.ts.map +1 -1
  135. package/lib/skills/builtin.js +6 -0
  136. package/lib/skills/builtin.js.map +1 -1
  137. package/lib/skills/director-builtins.d.ts +8 -0
  138. package/lib/skills/director-builtins.d.ts.map +1 -0
  139. package/lib/skills/director-builtins.js +65 -0
  140. package/lib/skills/director-builtins.js.map +1 -0
  141. package/lib/skills/drama-builtin.d.ts +3 -0
  142. package/lib/skills/drama-builtin.d.ts.map +1 -0
  143. package/lib/skills/drama-builtin.js +49 -0
  144. package/lib/skills/drama-builtin.js.map +1 -0
  145. package/lib/skills/long-task-continuation.d.ts +2 -2
  146. package/lib/skills/long-task-continuation.d.ts.map +1 -1
  147. package/lib/skills/long-task-continuation.js +2 -2
  148. package/lib/skills/service.d.ts.map +1 -1
  149. package/lib/skills/service.js +8 -3
  150. package/lib/skills/service.js.map +1 -1
  151. package/lib/skills/viora-canvas-builtin.d.ts +3 -0
  152. package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
  153. package/lib/skills/viora-canvas-builtin.js +19 -0
  154. package/lib/skills/viora-canvas-builtin.js.map +1 -0
  155. package/lib/storage/migrate-layout.d.ts.map +1 -1
  156. package/lib/storage/migrate-layout.js +13 -4
  157. package/lib/storage/migrate-layout.js.map +1 -1
  158. package/lib/tasks/context.js +1 -0
  159. package/lib/tasks/context.js.map +1 -1
  160. package/lib/tasks/continuation.d.ts.map +1 -1
  161. package/lib/tasks/continuation.js +3 -0
  162. package/lib/tasks/continuation.js.map +1 -1
  163. package/lib/tasks/domain.d.ts +2 -0
  164. package/lib/tasks/domain.d.ts.map +1 -1
  165. package/lib/tasks/service.d.ts +2 -1
  166. package/lib/tasks/service.d.ts.map +1 -1
  167. package/lib/tasks/service.js +15 -1
  168. package/lib/tasks/service.js.map +1 -1
  169. package/lib/ui/attachment-storage.d.ts +2 -0
  170. package/lib/ui/attachment-storage.d.ts.map +1 -0
  171. package/lib/ui/attachment-storage.js +59 -0
  172. package/lib/ui/attachment-storage.js.map +1 -0
  173. package/lib/ui/capability-editor.js +1 -1
  174. package/lib/ui/capability-editor.js.map +1 -1
  175. package/lib/ui/companion-access-panel.js +1 -1
  176. package/lib/ui/companion-access-panel.js.map +1 -1
  177. package/lib/ui/companion-create.js +1 -1
  178. package/lib/ui/companion-create.js.map +1 -1
  179. package/lib/ui/companion-picker.js +1 -1
  180. package/lib/ui/companion-picker.js.map +1 -1
  181. package/lib/ui/identity-editor.js +1 -1
  182. package/lib/ui/identity-editor.js.map +1 -1
  183. package/lib/ui/mcp-capabilities.js +1 -1
  184. package/lib/ui/mcp-capabilities.js.map +1 -1
  185. package/lib/ui/mcp-panel.js +1 -1
  186. package/lib/ui/mcp-panel.js.map +1 -1
  187. package/lib/ui/memory/concern-board.js +2 -2
  188. package/lib/ui/memory/concern-board.js.map +1 -1
  189. package/lib/ui/memory/concern-deletion.d.ts +1 -1
  190. package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
  191. package/lib/ui/memory/concern-deletion.js +9 -4
  192. package/lib/ui/memory/concern-deletion.js.map +1 -1
  193. package/lib/ui/memory/concern-panel.js +1 -1
  194. package/lib/ui/memory/concern-panel.js.map +1 -1
  195. package/lib/ui/memory/memory-library.js +1 -1
  196. package/lib/ui/memory/memory-library.js.map +1 -1
  197. package/lib/ui/memory/memory-panel.js +1 -1
  198. package/lib/ui/memory/memory-panel.js.map +1 -1
  199. package/lib/ui/partner-components.js +1 -1
  200. package/lib/ui/partner-components.js.map +1 -1
  201. package/lib/ui/requirement-board.js +1 -1
  202. package/lib/ui/requirement-board.js.map +1 -1
  203. package/lib/ui/requirement-dialog.js +1 -1
  204. package/lib/ui/requirement-dialog.js.map +1 -1
  205. package/lib/ui/requirement-tasks-panel.js +1 -1
  206. package/lib/ui/requirement-tasks-panel.js.map +1 -1
  207. package/lib/ui/schedule-panel.js +1 -1
  208. package/lib/ui/schedule-panel.js.map +1 -1
  209. package/lib/ui/skills-panel.js +1 -1
  210. package/lib/ui/skills-panel.js.map +1 -1
  211. package/lib/ui/storage-settings.d.ts.map +1 -1
  212. package/lib/ui/storage-settings.js +2 -1
  213. package/lib/ui/storage-settings.js.map +1 -1
  214. package/lib/ui/task-board-stage.js +1 -1
  215. package/lib/ui/task-board-stage.js.map +1 -1
  216. package/lib/ui/workspace-components.js +1 -1
  217. package/lib/ui/workspace-components.js.map +1 -1
  218. package/lib/ui/workspace-navigation.d.ts +16 -16
  219. package/lib/ui/workspace-navigation.js +1 -1
  220. package/lib/ui/workspace-navigation.js.map +1 -1
  221. package/package.json +53 -41
  222. package/resources/skills/cinematic-director/manifest.json +205 -0
  223. package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
  224. package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
  225. package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
  226. package/resources/skills/cinematic-director/upstream/README.md +507 -0
  227. package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
  228. package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
  229. package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
  230. package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
  231. package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
  232. package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
  233. package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
  234. package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
  235. package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
  236. package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
  237. package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
  238. package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
  239. package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
  240. package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
  241. package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
  242. package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
  243. package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
  244. package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
  245. package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
  246. package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
  247. package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
  248. package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
  249. package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
  250. package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
  251. package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
  252. package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
  253. package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
  254. package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
  255. package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
  256. package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
  257. package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
  258. package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
  259. package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
  260. package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
  261. package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
  262. package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
  263. package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
  264. package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
  265. package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
  266. package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
  267. package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
  268. package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
  269. package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
  270. package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
  271. package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
  272. package/resources/skills/director-skills/manifest.json +541 -0
  273. package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
  274. package/resources/skills/director-skills/upstream/LICENSE +21 -0
  275. package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
  276. package/resources/skills/director-skills/upstream/README.md +251 -0
  277. package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
  278. package/resources/skills/director-skills/upstream/SKILL.md +114 -0
  279. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
  280. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
  281. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
  282. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
  283. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
  284. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
  285. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
  286. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
  287. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
  288. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
  289. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
  290. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
  291. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
  292. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
  293. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
  294. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
  295. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
  296. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
  297. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
  298. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
  299. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
  300. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
  301. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
  302. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
  303. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
  304. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
  305. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
  306. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
  307. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
  308. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
  309. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
  310. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
  311. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
  312. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
  313. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
  314. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
  315. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
  316. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
  317. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
  318. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
  319. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
  320. package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
  321. package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
  322. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
  323. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
  324. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
  325. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
  326. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
  327. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
  328. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
  329. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
  330. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
  331. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
  332. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
  333. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
  334. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
  335. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
  336. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
  337. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
  338. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
  339. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
  340. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
  341. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
  342. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
  343. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
  344. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
  345. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
  346. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
  347. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
  348. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
  349. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
  350. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
  351. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
  352. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
  353. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
  354. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
  355. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
  356. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
  357. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
  358. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
  359. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
  360. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
  361. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
  362. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
  363. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
  364. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
  365. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
  366. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
  367. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
  368. package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
  369. package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
  370. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
  371. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
  372. package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
  373. package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
  374. package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
  375. package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
  376. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
  377. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
  378. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
  379. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
  380. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
  381. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
  382. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
  383. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
  384. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
  385. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
  386. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
  387. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
  388. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
  389. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
  390. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
  391. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
  392. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
  393. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
  394. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
  395. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
  396. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
  397. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
  398. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
  399. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
  400. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
  401. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
  402. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
  403. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
  404. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
  405. package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
  406. package/resources/skills/drama-production/manifest.json +933 -0
  407. package/resources/skills/drama-production/upstream/LICENSE +21 -0
  408. package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
  409. package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
  410. package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  411. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
  412. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
  413. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
  414. package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  415. package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
  416. package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  417. package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
  418. package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
  419. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
  420. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
  421. 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
  422. 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
  423. 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
  424. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  425. 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
  426. 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
  427. package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
  428. package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
  429. package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
  430. package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
  431. package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
  432. package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
  433. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
  434. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
  435. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
  436. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
  437. package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
  438. package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
  439. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  440. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  441. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  442. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  443. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  444. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  445. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  446. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  447. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
  448. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
  449. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
  450. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
  451. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
  452. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
  453. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
  454. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
  455. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
  456. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
  457. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
  458. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
  459. package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
  460. package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
  461. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  462. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
  463. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  464. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
  465. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  466. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  467. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  468. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
  469. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  470. 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
  471. 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
  472. 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
  473. 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
  474. 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
  475. 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
  476. 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
  477. 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
  478. 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
  479. 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
  480. 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
  481. 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
  482. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
  483. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  484. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  485. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
  486. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  487. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  488. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
  489. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
  490. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  491. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
  492. package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
  493. package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
  494. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
  495. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
  496. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  497. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  498. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  499. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  500. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  501. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  502. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  503. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  504. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
  505. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
  506. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
  507. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  508. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
  509. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  510. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
  511. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
  512. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  513. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  514. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
  515. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  516. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
  517. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  518. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
  519. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
  520. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
  521. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
  522. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
  523. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
  524. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  525. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
  526. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  527. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
  528. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  529. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
  530. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
  531. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  532. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  533. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  534. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  535. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  536. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
  537. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  538. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  539. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  540. package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
  541. package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
  542. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
  543. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  544. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
  545. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  546. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  547. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
  548. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
  549. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
  550. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
  551. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
  552. package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
  553. package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
  554. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  555. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  556. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
  557. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  558. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  559. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
  560. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
  561. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
  562. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
  563. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
  564. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  565. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
  566. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
  567. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
  568. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
  569. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
  570. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
  571. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  572. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  573. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  574. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
  575. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  576. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  577. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  578. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  579. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
  580. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  581. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
  582. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
  583. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  584. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
  585. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
  586. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
  587. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
  588. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
  589. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
  590. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
  591. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  592. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  593. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
  594. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  595. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  596. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  597. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
  598. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  599. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  600. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  601. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
  602. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  603. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
  604. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
  605. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
  606. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
  607. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
  608. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
  609. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
  610. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
  611. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
  612. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
  613. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
  614. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
  615. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  616. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  617. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  618. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  619. package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
  620. package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
  621. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
  622. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  623. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
  624. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
  625. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  626. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
  627. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
  628. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
  629. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  630. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
  631. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
  632. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
  633. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
  634. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  635. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  636. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
  637. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  638. package/resources/skills/viora-canvas-production/manifest.json +23 -0
  639. package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
  640. package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
  641. package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
  642. package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: coen_brothers_deadpan_geometry_skill
3
+ title: 科恩兄弟导演风格 Skill
4
+ description: 用于学习并转化科恩兄弟式的冷面几何黑色喜剧、广角低机位运动、强地域具体性、被自身能力反噬的人物和作为荒诞记账的暴力。请用于原创创作,不要复制其具体镜头、台词、角色或受版权保护的表达。
5
+ ---
6
+
7
+ # 科恩兄弟导演风格 Skill
8
+
9
+ Load this file when 用户点名「科恩兄弟 / Coen Brothers 风格」,或当场景需要冷面喜剧、正面死中的对称构图、地域具体性,以及一个人被自己的计划精确地毁掉。
10
+
11
+ ## 一句话镜头 / Lens in one line
12
+
13
+ 把画面摆得一丝不苟,让演员绝对认真地演,然后比该切的时候多留一秒。
14
+
15
+ Compose with total precision, play it with total sincerity, then hold one second past the cut.
16
+
17
+ ## 适用场景
18
+
19
+ - 黑色喜剧、犯罪失控、绑架与勒索、小人物执行大计划、官僚与流程荒诞。
20
+ - 强地域性题材:某个具体的县、某种口音、某种天气、某种连锁店——具体到能说出品类名称。
21
+ - 需要观众"笑得不确定"的段落:同一颗镜头里既有滑稽也有真实的伤害。
22
+ - 低成本可行:一条走廊、一间办公室、一片空地加一个正面对称机位就能成段。
23
+ - 不适用:需要观众情绪代入并被安慰的题材、浪漫、英雄叙事(改用 [01 斯皮尔伯格](01_spielberg.md))。
24
+
25
+ ## 反例:这不是什么 / What this lens is NOT
26
+
27
+ - 不是库布里克([03](03_kubrick.md)):同样是广角对称与冷峻形式。库布里克的对称意味着"制度正在碾碎人",镜头持续凝视直到观众不适;这里的对称意味着"宇宙对你毫无兴趣,而你正在被一件小事绊住",笑点靠的是切点比自然出点晚 0.5–1.5 秒,而不是靠长时间凝视。
28
+ - 不是雷弗恩([13](13_refn.md)):同样是静止、对称、突发暴力。雷弗恩把暴力美学化、仪式化、无后账;这里的暴力笨拙、光打得难看、结束得太快,而且紧接着就是一个后勤问题——一摊要擦的东西、一个看见了的人、一张需要处理的单据。
29
+ - 不是芬奇([12](12_fincher.md)):同样是程序化犯罪。芬奇的专业者确实专业,影片尊重那套流程;这里流程被一个不该做这件事的人正确地执行了,然后计划自身的逻辑把他杀死——失败不是因为疏忽,恰恰是因为他很称职。
30
+ - 不是斯科塞斯([05](05_scorsese.md)):同样有犯罪与方言。斯科塞斯的人抢着说话、语速高、摄影机跟着能量走;这里的对白慢、过分客气、把对方的话原样复述一遍,一个问题之后留 2–3 秒死寂是常规操作。
31
+ - 不是费里尼([06](06_fellini.md)):同样有一整廊怪人。费里尼的怪诞是庆典式的、漂移的;这里每个怪人都被精确地钉在对称画面的正中,功能是"情节机器里的一个障碍",出场、造成延误、退场。
32
+ - 不是通用喜剧:不给反应镜头收笑点,不给喜剧配乐,不许挤眉弄眼。喜剧由几何和时长产生。演员一旦示意"这句好笑",这个镜头就废了。
33
+
34
+ ## 核心风格关键词
35
+
36
+ 冷面、几何、地域具体性、广角低机位、命运是个平板笑话、能力反噬、荒诞记账、多留一秒、正面死中、难看的顶光。
37
+
38
+ ## 叙事方法
39
+
40
+ - 先写"计划书":主角的方案分 5–8 步,每步都合理。然后找出其中恰恰因为执行正确才引发灾难的那一步——那是全片的引擎。
41
+ - 引入一个不理解这套计划的外部力量(天气、一个较真的职员、一条法规、一只动物),它不邪恶,它只是不参与。
42
+ - 暴力必须记账:每一次伤害之后立刻拍善后——擦、搬、填表、解释、赔钱。观众的不适来自后勤,不来自血。
43
+ - 至少一个角色是道德常识的锚点,说话最慢、最客气、最不像主角,最后活着。
44
+ - 结尾把处境交还给日常:一个人坐着,事情已经无法挽回,而生活里琐碎的义务还在继续。不给教训。
45
+
46
+ ## 镜头语言
47
+
48
+ - 主力 14–21mm 做低机位运动与怪诞近景;27mm 做冷面正面对称;40mm 只留给全片唯一一次不开玩笑的单人镜头。
49
+ - 机位是二元的:要么完全锁定正面死中(眼平 1.6m),要么一次硬性机械运动——0.4–0.8 米高的低机位推轨跑在行走者前方或后方,恒速直线。没有"飘",没有微调构图。
50
+ - 广角低机位跑动镜头的规格:镜头高度 0.4–0.6 米,上仰 10–15 度,速度与被摄体一致;14mm 距被摄体 1.2–1.5 米,或 21mm 距 1.8–2 米。这一组数字下,天花板/天空与地面同时在画面里,上半身占画幅高度 30%–35%——想再大就必须切掉天花板,两者不可兼得,别写"上半身占 60% 且看得见天花板"。
51
+ - 正面对称镜头的规格:人物在正中,背后是一扇门、一扇窗或一块牌子,位置正好在头后像光环;反打保持完全相同的构图与轴距,只换人。
52
+ - 允许两种"重音镜头":对一件物品(钱、表格、工具)的快推,以及一颗 90 度顶俯拍"正在被收拾的一摊东西"。两者都不加音效强调。
53
+ - 尺寸落差当标点用:一颗大全景直接切到一颗极特写,中间不放过渡尺寸——这就是这个风格的句号。景别与运动术语见 [`../cinematic-language.md`](../cinematic-language.md)。
54
+
55
+ ## 灯光与色彩
56
+
57
+ - 光要难看得有道理:顶部荧光灯管、一只裸灯泡、雪地反光、汽车旅馆的床头灯。顶光在每个人眼窝里留下阴影,让称职的人看起来像傻子——这是这个风格的核心照明策略。
58
+ - 室内比 3:1,夜外景 8:1;不用柔光箱美化人脸,不用发丝逆光。
59
+ - 每个空间有一个统一的、廉价的色偏:办公室是荧光管的绿白,汽车旅馆是钨丝的橙棕,雪地是无色的高亮,警局是日光灯的青白。
60
+ - 主色:机构米色、旅馆棕、雪白、荧光绿白;重点色:血红、芥末黄、警灯蓝。饱和中等,对比中等:光源是硬的,但阴影不深——荧光管照亮的机构空间四壁都在反光,暗部是脏灰的,不是黑的(正好与 [19 迈克尔·曼](19_michael_mann.md) 的真黑相反,别把两者的调色套用混)。
61
+ - 血是道具,不是特效:量少、位置尴尬、在错误的表面上(浅色地毯、白衬衫、文件),并且必须出现在下一颗善后镜头里。调色语言见 [`../lighting-and-color.md`](../lighting-and-color.md)。
62
+
63
+ ## 剪辑节奏
64
+
65
+ - ASL 4–9 秒。核心技术:把每一颗对话镜头的出点往后拖 0.5–1.5 秒,让人物在说完之后还得继续待在画面里。那段多出来的时间就是笑点。
66
+ - 一个问题之后允许 2–3 秒完全无人说话,两人都不动。不要用反应镜头填补这段死寂。
67
+ - 反应镜头是被克扣的资源:观众想看另一个人的反应时,偏偏不给,把镜头留在说话的人脸上。全场只在最不该给的时候给一次。
68
+ - 硬切为主。转场重音是尺寸的暴力落差(全景 → 极特写),不是溶解,也不是甩镜。
69
+ - 场景以"没有人退场"结束:戏演完了,人还站在那儿,镜头再停 1 秒才切。切点逻辑见 [`../editing-and-assembly.md`](../editing-and-assembly.md)。
70
+
71
+ ## 声音与音乐
72
+
73
+ - 配乐稀少,且只有两种合法形态:一段地域性的源音乐(车里的电台、店里的广播),或者一段与内容完全不匹配的庄严正经的曲子,端正地演奏。禁止喜剧音效、禁止 stinger、禁止滑稽配器。
74
+ - 环境声必须地域具体:某种风穿过平地的声音、某台特定机器、某种鸟、雪被踩下去的声音、荧光镇流器的嗡鸣。观众要能凭声音说出这是哪儿。
75
+ - 对白慢、过分客气、口音明确,人物会把对方刚说的话原样复述一遍再回答。信息密度低,礼节密度高。
76
+ - 静默是主要喜剧乐器:2–3 秒的死寂,环境声不减,谁都不动。声音策略见 [`../sound-and-dialogue.md`](../sound-and-dialogue.md)。
77
+
78
+ ## 人物与表演
79
+
80
+ - 唯一的表演指令是"绝对认真"。人物不知道自己身处喜剧。任何眨眼示意、任何自嘲语调,风格立刻崩塌。
81
+ - 表情基线是中性:不笑、不挑眉;唯一允许的破绽是眨眼变快,或者一次不合时宜的吞咽。
82
+ - 站位是方形的:两人正对面站着,社交距离,谁都不调整姿势,尴尬被完整保留。
83
+ - 每个配角有一件与情节无关但必须做完的事(填一张表、说完一段流程、找一支笔),主角必须等他做完。这就是"命运是个平板笑话"的执行方式。
84
+ - 人物的能力是他的死因:写清他擅长什么,然后让灾难恰好由那项擅长引发。
85
+
86
+ ## 风格参数 / Style parameters
87
+
88
+ ```yaml
89
+ style_id: coen_brothers
90
+ lens_kit_mm: [14, 21, 27, 40] # 14-21 低机位运动与怪诞近景;27 冷面正面对称;40 全片唯一一次不开玩笑的单人
91
+ camera:
92
+ prefer: ["low-mounted wide dolly running ahead of or behind a walking subject", "dead-frontal locked symmetrical hold", "fast push-in on an object", "90-degree overhead of a mess being cleaned up", "snap pan between two square-on people"]
93
+ avoid: ["drifting handheld", "orbit", "shallow-focus beauty shot", "slow motion", "crane release"]
94
+ motion_budget: medium # 二元:要么完全锁定,要么一次恒速直线机械运动;没有微调构图
95
+ height: "0.4-0.6m tilted up 10-15 degrees for the running moves; dead-frontal eye level 1.6m, axis level, for the deadpan holds"
96
+ shot_size_bias: ["dead-frontal medium", "wide with subject centred in a flat landscape or wall", "low-angle wide with ceiling and floor both in frame", "extreme close-up as punctuation", "90-degree overhead insert"]
97
+ composition: ["subject dead centre with a door, window or sign behind the head like a halo", "wide-angle with both ceiling and floor visible", "the object of value at exact frame centre", "flat institutional wall as backdrop", "two people square-on at social distance, neither adjusting"]
98
+ lighting:
99
+ key_quality: hard
100
+ key_ratio: "3:1 室内;8:1 夜外景"
101
+ motivation: practical
102
+ signature: "难看的顶光——荧光管、裸灯泡、雪地反光——在每个人眼窝里留下阴影,让称职的人显得愚蠢"
103
+ palette:
104
+ dominant: "institutional beige, motel brown, snow white, fluorescent green-white"
105
+ accent: "blood red, mustard yellow, police blue"
106
+ saturation: mid
107
+ contrast: mid
108
+ editing:
109
+ avg_shot_length_s: "4-9,每颗对话镜头的出点后拖 0.5-1.5 秒"
110
+ transition_bias: ["hard cut", "hard cut across a violent size jump (wide to extreme close-up)"]
111
+ coverage_style: "正面单人 + 一颗主镜;反应镜头被刻意克扣,只在最不该给时给一次"
112
+ sound:
113
+ music: "稀少;只允许地域性源音乐,或一段完全不匹配的庄严曲子端正演奏。禁止喜剧音效与 stinger"
114
+ ambience: "地域具体:平地上的风、某台特定机器、某种鸟、踩雪声、荧光镇流器嗡鸣"
115
+ dialogue: "慢、过分客气、口音明确;把对方的话原样复述一遍再回答"
116
+ silence_use: "问题之后 2-3 秒死寂,环境声不减,谁都不动——主要喜剧乐器"
117
+ performance:
118
+ register: "绝对认真;人物不知道自己在喜剧里。表情中性,唯一破绽是眨眼变快"
119
+ blocking: "两人正对面方形站位,社交距离,谁都不调整姿势,尴尬完整保留"
120
+ aspect_bias: "1.85:1 / 2.39:1"
121
+ ai_video:
122
+ clip_duration_s: "3-6"
123
+ prompt_bias: "先建一个正面对称的死中构图,给主体一个过度认真的小动作,然后让摄影机要么完全不动,要么走一条直线。"
124
+ risk: "模型会自作主张'把喜剧演出来':夸张表情、耸肩、假笑,结果全是挤眉弄眼。缓解:显式写 expression completely neutral, no smile, no eyebrow movement,把笑点交给几何、物件和时长。"
125
+ negative_prompt_adds: ["smiling", "exaggerated expression", "comic reaction face", "handheld shake", "shallow depth of field", "warm romantic light", "slow motion", "dynamic action pose"]
126
+ ```
127
+
128
+ ## 可迁移拍摄清单
129
+
130
+ 1. 写出主角的 5–8 步计划书,圈出那一步"因为执行正确才引发灾难"的动作。
131
+ 2. 指定地域:一个具体的地貌、一种口音、一种天气、一类店铺;写进美术、声音和台词。
132
+ 3. 给每个正面镜头找一个正好落在人物头后的东西(门、窗、牌子),把它当光环用。
133
+ 4. 把主光改成顶光,检查每个人眼窝里是否都有阴影;没有就再抬高灯位。
134
+ 5. 给每个配角安排一件与情节无关但必须做完的事,并规定主角要等多久。
135
+ 6. 在剪辑里给每颗对话镜头的出点加 0.5–1.5 秒,并至少留一次 2–3 秒的死寂。
136
+ 7. 每次暴力之后立刻安排一颗善后镜头:擦、搬、填表、赔钱。
137
+ 8. 全片保留唯一一次不开玩笑的镜头(40mm 单人),并把它放在观众已经笑过之后。
138
+
139
+ ## 提示词模板 / Prompt templates
140
+
141
+ 镜头设计简报(中文,用于 Step 5 导演本与 Step 7 分镜):
142
+
143
+ ```text
144
+ 风格锁定:科恩兄弟式冷面几何黑色喜剧。
145
+ 计划书:<5-8 步>;灾难由第 <N> 步引发,原因是主角把它做对了。
146
+ 地域:<具体地貌 / 口音 / 天气 / 店铺类型>,必须体现在美术、环境声和台词里。
147
+ 外部力量:<天气 / 较真的职员 / 一条法规 / 一只动物>,它不邪恶,它只是不参与。
148
+ 构图:27mm 正面死中,人物居中,头后正对 <门 / 窗 / 牌子>;反打保持完全相同构图。
149
+ 运动:二选一——完全锁定,或 14-21mm 低机位(高 0.5m,上仰 12 度,距被摄体 <1.4> 米)恒速直线推轨,跑在行走者 <前方 / 后方>。
150
+ 光:顶光(<荧光管 / 裸灯泡 / 雪地反光>),每个人眼窝有阴影;室内比 3:1,夜外 8:1;不用柔光美化。
151
+ 色:机构米色 / 旅馆棕 / 雪白 / 荧光绿白;重点色 <血红 / 芥末黄 / 警灯蓝>。
152
+ 声:地域性环境声 <列 3 项>;音乐只用 <车载电台源音乐 / 一段庄严正经的曲子>;禁止喜剧音效。
153
+ 对白:慢、过分客气、把对方的话复述一遍;一个问题之后留 <2.5> 秒死寂。
154
+ 表演:所有人绝对认真,表情中性,禁止挤眉弄眼;配角必须把 <一件无关的事> 做完。
155
+ 剪辑:每颗对话镜头出点后拖 1 秒;一次全景直切极特写作句号;场景以没有人退场结束。
156
+ 输出:分镜表(编号 / 时长 / 景别 / 焦段 / 机位高度 / 运动 / 头后物件 / 死寂时长 / 连续性锚点)
157
+ ```
158
+
159
+ Image-to-video motion prompt(英文,用于 Step 10,接关键帧):
160
+
161
+ ```text
162
+ Dead-frontal locked camera, absolutely no movement, 27mm equivalent, eye level at 1.6 metres, the subject exactly centred with <a door / a window / a sign> directly behind the head. Symmetrical composition, wide enough that both the ceiling and the floor are visible. The subject performs one small, over-committed action: <squares the object with both hands / straightens the form / adjusts the object and then adjusts it again>, executed with complete seriousness. Expression completely neutral throughout — no smile, no eyebrow movement, no reaction, no acknowledgement that anything is amusing. After the action he simply remains standing there, not moving, for the rest of the clip. Overhead fluorescent light as the only source, shadow in both eye sockets, ratio 3:1, unflattering, no fill, no hair light. Palette institutional beige and fluorescent green-white with one <mustard yellow> accent. Keep the same face, coat, object and symmetrical framing. Avoid: smiling, exaggerated expression, comic reaction face, handheld shake, shallow depth of field, warm romantic light, slow motion, dynamic pose.
163
+ ```
164
+
165
+ Keyframe / still prompt(英文,用于 Step 8,接图像模型):
166
+
167
+ ```text
168
+ Dead-frontal symmetrical frame, 27mm equivalent, camera at eye level, subject exactly centred, shoulders square to the lens, background flat and institutional. Directly behind the subject's head sits <a door / a window / a wall sign>, centred like a halo. Wide enough that both ceiling and floor are in frame; straight lines stay straight. Overhead fluorescent tubes are the only source: hard top light putting distinct shadow in both eye sockets, no fill, no rim, ratio 3:1, deliberately unflattering. Expression completely neutral — not smiling, not reacting, playing the moment with total sincerity. Palette institutional beige, fluorescent green-white, motel brown, with one accent of <mustard yellow / blood red>. Mid saturation, mid contrast — hard top light but the shadows stay grey and open, not black, because the institutional walls bounce. Deep focus, everything sharp. Ordinary, slightly ugly real-world detail: scuffed skirting, a taped notice, a worn floor. 1.85:1. No text overlay, no watermark, no shallow depth of field, no warm romantic light, no comic expression, no dynamic action pose.
169
+ ```
170
+
171
+ ## 落地示例 / Worked example
172
+
173
+ 控制场景:一个人站在一扇关着的公寓门前,手里拿着打算送出去的东西,犹豫,最后没敲门就走了。
174
+
175
+ 用这个镜头,戏不在他心里,戏在那个包裹上。地域设定:北方冬天,楼道里荧光灯管一根接一根,鞋上的雪化成一小滩水。
176
+
177
+ 节拍:正面死中,门在正中,他站着 → 抬手要敲 → 停住,保持 3 秒 → 手放下 → 蹲下把包裹端正地放在门槛上 → 站起来 → 包裹倒了 → 他把它扶正 → 它又倒了 → 他看着它,看了 4 秒 → 把它捡起来,抱在怀里,走了 → 镜头继续拍空走廊 2 秒。
178
+
179
+ 调度:全程一颗正面对称镜头,机位不动。他的动作全部过分认真——摆包裹的时候用两只手对齐门框的中线。包裹第二次倒下时不给任何音效强调,也不切反应镜头。他抱着包裹走出画面时,走的是画面正中的透视线,越走越小,走到消失点前才出画。
180
+
181
+ 这一拍的功能:他的道德决定被一件物品的物理性质推翻。他没有改变主意,他只是输给了摩擦力。
182
+
183
+ 单镜规格:全景 / 27mm / 眼平 1.6m 正面死中 / 机位退到 3.6 米以外——这是 27mm 在 2.5 米层高的走廊里同时收进天花板和地面的最小距离,近一点就会先丢掉地面 / 锁定,全程无运动 / 走廊单点透视,门在正中,门上的号码牌正对他头后 / 光:顶部荧光灯管为唯一光源,眼窝有阴影,比 3:1,暗部是墙面反射的脏灰不是黑,脸不好看 / 结尾接一颗 14mm 低机位(高 0.4 米、上仰 12 度)0.8 秒快推到他站过的那滩雪水上——门槛已经空了,只剩水,作为句号。
184
+
185
+ - 弱写法:`awkward funny moment, deadpan comedy, quirky character`——模型会给你一个挤眉弄眼的人。
186
+ - 强写法:把笑点写成物件的物理行为和构图的严格对称,并显式规定表情中性。
187
+
188
+ 整段动作约 28 秒——这颗镜头在剪辑里是一整颗,但生成时必须拆:本风格单条 3–6 秒,硬塞进去只会得到加速和橡皮人。按四条生成,机位完全相同:(1) 抬手、停住、放下;(2) 蹲下摆正包裹、起身、包裹倒了;(3) 他扶正、它又倒、他盯着它看;(4) 他捡起来抱在怀里,沿走廊中线走远,镜头留在空走廊上。用前一条末帧作为下一条首帧(工具若提供首帧/尾帧接口,见 [`../ai-video-tool-adapters.md`](../ai-video-tool-adapters.md));四条共用下面这段描述,只换动作句。下面是第 (3) 条,也就是笑点那一条:
189
+
190
+ ```text
191
+ Dead-frontal locked camera, no movement of any kind, 27mm equivalent, eye level at 1.6 metres, one-point perspective straight down an apartment corridor with a closed door exactly centred in frame and its number plate directly behind the man's head. Both ceiling and floor visible. A man in a heavy coat stands centred, looking down at a square wrapped parcel that has just fallen over on the doorsill. He crouches, rights the parcel, carefully squaring it to the centre line of the doorframe, and stands. It tips over again. He looks down at it without expression and does not move for the rest of the clip. His expression is completely neutral throughout — no smile, no eyebrow movement, no reaction. Overhead fluorescent tubes are the only light source, hard top light with shadow in both eye sockets, ratio 3:1, unflattering, no fill, shadows grey and open rather than black. A small puddle of melted snow on the floor where he is standing. Palette institutional beige and fluorescent green-white. Keep the same coat, parcel, corridor and framing. Avoid: smiling, exaggerated expression, comic reaction face, handheld shake, shallow depth of field, warm romantic light, slow motion, dynamic pose, text, watermark.
192
+ ```
193
+
194
+ 配套参考:尺寸落差与构图术语见 [`../cinematic-language.md`](../cinematic-language.md);死寂时长与对白节奏见 [`../sound-and-dialogue.md`](../sound-and-dialogue.md);喜剧类型的通用默认值见 [`../genre-playbooks.md`](../genre-playbooks.md)。
@@ -0,0 +1,89 @@
1
+ # Director Style Modules
2
+
3
+ Style overlays used by the main `cinematic-director` skill. Each file is a coherent lens — narrative tendencies, camera grammar, lens kit, lighting, palette, editing rhythm, sound, performance, a machine-readable parameter block, a transferable shot checklist, prompt templates, and a worked example — that overrides defaults in the main workflow when the user asks for an "in the style of X" treatment.
4
+
5
+ These are **reference modules**, not standalone skills. The host agent never loads them on its own. The main skill pulls exactly one in at Step 4 (Style lens selection) when a style is named.
6
+
7
+ > Usage rule: these files describe high-level methods only. Do not copy specific shots, lines, characters, plots, or other copyrighted expression from any director's actual films. Use them to inform original work.
8
+
9
+ ## Available styles
10
+
11
+ | File | Director | Lens in one line |
12
+ |---|---|---|
13
+ | [01_spielberg.md](01_spielberg.md) | Steven Spielberg 斯皮尔伯格 | Emotional mainstream narrative, family stakes, awe via reaction-before-reveal |
14
+ | [02_hitchcock.md](02_hitchcock.md) | Alfred Hitchcock 希区柯克 | Suspense via shared knowledge, voyeurism, mistaken identity, controlled withholding |
15
+ | [03_kubrick.md](03_kubrick.md) | Stanley Kubrick 库布里克 | Wide-angle one-point perspective, central symmetry, cold formalism, allegory |
16
+ | [04_kurosawa.md](04_kurosawa.md) | Akira Kurosawa 黑泽明 | Epic ensemble, humanism, weather as drama, dynamic action space |
17
+ | [05_scorsese.md](05_scorsese.md) | Martin Scorsese 斯科塞斯 | Urban energy, guilt, voice-over, kinetic camera, moral fall |
18
+ | [06_fellini.md](06_fellini.md) | Federico Fellini 费里尼 | Dream logic, circus parade, autobiographical fantasy, grotesque tenderness |
19
+ | [07_bergman.md](07_bergman.md) | Ingmar Bergman 伯格曼 | Interior psychological drama, face close-ups, existential silence |
20
+ | [08_tarkovsky.md](08_tarkovsky.md) | Andrei Tarkovsky 塔可夫斯基 | Poetic time, long takes, water and fire, spiritual search |
21
+ | [09_wong_kar_wai.md](09_wong_kar_wai.md) | Wong Kar-wai 王家卫 | Urban loneliness, missed connections, neon, fragmented memory, voice-over |
22
+ | [10_nolan.md](10_nolan.md) | Christopher Nolan 诺兰 | High-concept structure, time puzzles, large-format practical spectacle |
23
+ | [11_villeneuve.md](11_villeneuve.md) | Denis Villeneuve 维伦纽瓦 | Monumental scale, mist, geometric symmetry, low-rumble silence |
24
+ | [12_fincher.md](12_fincher.md) | David Fincher 芬奇 | Surgical control, teal-amber palette, procedural investigation, restrained dread |
25
+ | [13_refn.md](13_refn.md) | Nicolas Winding Refn 雷弗恩 | Neon color blocks, symmetric ritual framing, slow gaze, sudden violence |
26
+ | [14_bi_gan.md](14_bi_gan.md) | Bi Gan 毕赣 | Misty SW-China small towns, single ultra-long take, dream-memory loops, poetic voice-over |
27
+ | [15_zhang_yimou.md](15_zhang_yimou.md) | Zhang Yimou 张艺谋 | Saturated single-color fields, mass choreography as image, folk-ritual iconography |
28
+ | [16_hou_hsiao_hsien.md](16_hou_hsiao_hsien.md) | Hou Hsiao-hsien 侯孝贤 | Static distant long take, doorway depth, real-time duration, ellipsis over exposition |
29
+ | [17_park_chan_wook.md](17_park_chan_wook.md) | Park Chan-wook 朴赞郁 | Baroque revenge, improbable camera geometry, ironic beauty over cruelty, pattern density |
30
+ | [18_malick.md](18_malick.md) | Terrence Malick 泰伦斯·马力克 | Available light, wide wandering handheld at magic hour, whispered voice-over, associative montage |
31
+ | [19_michael_mann.md](19_michael_mann.md) | Michael Mann 迈克尔·曼 | Urban night as a cold luminous field, professional competence, loneliness as architecture |
32
+ | [20_coen_brothers.md](20_coen_brothers.md) | Coen Brothers 科恩兄弟 | Deadpan geometric dark comedy, wide low-mounted moves, fate as a flat joke |
33
+
34
+ ## Module structure
35
+
36
+ Every module follows the same section order, so switching lenses is a diff and adding one is a template fill:
37
+
38
+ ```markdown
39
+ ## 一句话镜头 / Lens in one line # bilingual, 20 words or fewer each
40
+ ## 适用场景 # when to reach for it
41
+ ## 反例:这不是什么 / What this lens is NOT # the adjacent styles it gets confused with
42
+ ## 核心风格关键词
43
+ ## 叙事方法
44
+ ## 镜头语言
45
+ ## 灯光与色彩
46
+ ## 剪辑节奏
47
+ ## 声音与音乐
48
+ ## 人物与表演
49
+ ## 风格参数 / Style parameters # machine-readable YAML override block
50
+ ## 可迁移拍摄清单 # 6-8 checkable imperatives
51
+ ## 提示词模板 / Prompt templates # 中文 brief (Steps 5/7) + EN i2v (Step 10) + EN keyframe (Step 8)
52
+ ## 落地示例 / Worked example # the shared control scene, this lens
53
+ ```
54
+
55
+ Two sections carry most of the practical weight:
56
+
57
+ - **反例 / What this lens is NOT** names the adjacent style each director gets confused with and states the mechanical difference. Kubrick and Fincher are both cold and controlled — one presses people into architecture with a wide lens and one-point perspective, the other isolates them as specimens with long-lens compression. That distinction is what makes an overlay produce a different film rather than a different adjective.
58
+ - **风格参数 / Style parameters** is a YAML block the main skill reads directly: lens kit in mm, preferred and forbidden camera moves, motion budget, shot-size bias, composition patterns, key quality and ratio, palette, average shot length, transition bias, sound policy, performance register, aspect bias, AI clip duration and prompt bias, and the negative-prompt additions that style requires.
59
+
60
+ Every module ends by directing the **same** control scene — a person stands at a closed apartment door holding something they intend to give away, hesitates, and leaves without knocking — so the twenty files can be read side by side as twenty answers to one question.
61
+
62
+ ## See it in action
63
+
64
+ [example_comparisons.md](example_comparisons.md) takes a single scene and treats it under eight lenses back to back, with a matrix of what each one changes and a "choosing a lens" table covering all twenty. Load it at Step 4 whenever a lens has to be chosen — the user named two directors, or named none and wants to see what an overlay concretely buys. Every figure in it is quoted from a module; where they disagree, the module wins.
65
+
66
+ ## How the main skill uses these
67
+
68
+ 1. The user names a director or asks for "in the style of X" — or supplies one via `project.director_style` in the intake schema.
69
+ 2. The main skill loads exactly one file and applies its `风格参数` block as the override set for:
70
+ - Step 5 (Director's book): lens policy, camera grammar, lighting, palette, editing rhythm, sound, performance
71
+ - Step 7 (Shot list): preferred shot families, camera moves, average shot length, aspect bias
72
+ - Step 8 (Keyframe strategy): palette, key ratio, composition patterns, negative-prompt additions — every module ships a `Keyframe / still prompt` template, and the still is where the lens is actually fixed
73
+ - Step 10 (AI video prompt construction): prompt bias, clip duration, negative-prompt additions
74
+ 3. Precedence is **director lens > genre playbook > project tone > skill defaults**.
75
+ 4. If no director is named, the main skill uses [../genre-playbooks.md](../genre-playbooks.md) and the project's own tone.
76
+
77
+ Only one style is active at a time. If a user names two, pick the one that better serves the scene's dramatic core, say so in one line, and note what the other would have changed — [example_comparisons.md](example_comparisons.md) exists to make that comparison in one read.
78
+
79
+ ## Adding a new style
80
+
81
+ Create `NN_<slug>.md` in this directory using the section structure above, with a complete `风格参数` YAML block and the shared worked-example scene. Then register it in `SKILL.md` (frontmatter description, intake enum, Step 4 list), the table above, and the top-level `README.md` tables. Add an eval case that proves the overlay changes camera, palette, pacing, or sound versus the unstyled baseline, plus a copyright-safety assertion. Full instructions: [../../CONTRIBUTING.md](../../CONTRIBUTING.md).
82
+
83
+ The numbered prefix controls sort order; pick the next available number.
84
+
85
+ Three conventions the twenty existing modules already follow, so a new one does not have to be special-cased:
86
+
87
+ - **`S` is reserved.** `S1`–`S4` mean the four prompt shapes in [../ai-video-tool-adapters.md](../ai-video-tool-adapters.md) and nothing else. Number the shots in a worked example `SH1`, `SH2`, … and any generation chain `CH1`, `CH2`, …
88
+ - **Keep the three prompt-template labels verbatim** — `镜头设计简报(中文,用于 Step 5 导演本与 Step 7 分镜):`, `Image-to-video motion prompt(英文,用于 Step 10,接关键帧):`, `Keyframe / still prompt(英文,用于 Step 8,接图像模型):` — so a reader can tell at a glance which pipeline step each block feeds.
89
+ - **Restate the composition rule for 9:16 where the signature depends on a wide frame.** If the lens leans on lateral ranks, extreme lateral symmetry, or a figure sized as a percentage of frame height at distance, add one bullet at the end of `镜头语言` beginning `竖幅(9:16)改写:` saying what the rule becomes vertically — never that it is abandoned — and point the `aspect_bias` line at it with a comment. Modules 04, 06, 11, 15, 16 and 19 carry one; the rest do not need it. The general vertical grammar is owned by [../cinematic-language.md](../cinematic-language.md).
@@ -0,0 +1,140 @@
1
+ # One scene, eight lenses
2
+
3
+ Every style module in this directory directs the **same** control scene, so the twenty files can be read as twenty answers to one question. This file lines eight of them up side by side.
4
+
5
+ Read it to feel what a style overlay actually changes — blocking, shot count, lens, light, palette, sound, and the prompt that comes out the other end — and what it does not: the dramatic situation, the continuity discipline, and the requirement that every shot earn its place.
6
+
7
+ Load it at Step 4 (style lens selection) when the user names two directors and one has to be chosen, or when someone asks what "in the style of X" concretely buys. Every number below is quoted from the named module's `风格参数` block or its worked example; when the two disagree, the module wins and this file is stale.
8
+
9
+ > Usage rule: these treatments describe high-level methods only. None copies specific shots, dialogue, characters, or plots from any real film. Use them as lenses for original work.
10
+
11
+ ## The control scene
12
+
13
+ > A person stands at a closed apartment door holding something they intend to give away, hesitates, and leaves without knocking.
14
+
15
+ Shared across all eight treatments:
16
+
17
+ - Same character, same object, same door, same corridor.
18
+ - Same dramatic question: what is it about this door that they cannot face?
19
+ - Same continuity anchors: face, coat, the wrapped object, the door, the corridor geometry.
20
+ - Same target: a generatable AI video sequence, not a live-action shoot.
21
+
22
+ Everything else is the lens.
23
+
24
+ ## The same beat, eight ways
25
+
26
+ The scene's pivot is one gesture: **the hand rises toward the door and comes back down.** Here is only that beat, under each lens.
27
+
28
+ | Lens | What the beat becomes | Where the camera is |
29
+ |---|---|---|
30
+ | [Spielberg](01_spielberg.md) | The light under the door goes out while the hand is still rising. He loses a stop on his face before he decides. | 135mm reaction single, locked, 3 m in front — face first, cause second |
31
+ | [Kubrick](03_kubrick.md) | The gesture is performed twice, identically, at the same lock height for the same 4 seconds. Only his shoulder is lower the second time. | 18mm locked wide, vanishing point on the door seam, 14 m of symmetrical corridor |
32
+ | [Bergman](07_bergman.md) | The hand rises below frame and his reflection in the door's glass rises with it. What we watch is his own face watching him decide. | 100mm locked 1.3 m out, 25° off his eyeline — his profile frame left, his frontal reflection frame right, edges touching |
33
+ | [Wong Kar-wai](09_wong_kar_wai.md) | He never faces the door. He shifts the object between hands three times; the third is step-printed, 1.4 seconds stretched to 5. | Chest height through a stairwell railing that crops his face, 30° off |
34
+ | [Bi Gan](14_bi_gan.md) | There is no hesitation at the door. He walks past it, stands at the window for 4 seconds, and comes back. | One drifting gimbal take, 1.5 seconds behind him, never catching up |
35
+ | [Zhang Yimou](15_zhang_yimou.md) | The hand stops 15 cm from the door and holds for 4 seconds. Nothing else in the frame moves, so the whole corridor reads it. | 35mm locked wide down twenty identical red doors; he is the only non-red object |
36
+ | [Michael Mann](19_michael_mann.md) | He does not hesitate. He checks his watch, finishes the calculation, and does not knock. | 25mm locked, 22 m away on a 14th-floor open walkway; he is 8% of frame height |
37
+ | [Coen Brothers](20_coen_brothers.md) | He completes the gesture, sets the parcel down squarely — and it falls over. He rights it. It falls again. | Dead-frontal locked, one-point perspective, door exactly centred, ceiling and floor both in frame |
38
+
39
+ Eight readings of one gesture: withheld information, ritual repetition, interior weather, deflection, geography, mass and color, professional calculation, and physical comedy. None of them is "add cinematic motion."
40
+
41
+ ## The treatments
42
+
43
+ Each block gives the defining decision, the resulting structure, and the clause that makes the finished prompt unmistakably that lens. Full worked examples, shot specs, and complete prompts live in each module.
44
+
45
+ ### Spielberg — reaction before revelation
46
+
47
+ The defining decision is **order**. We see his face lose light before we see why. The corridor is staged three layers deep (warm light leaking under the door in foreground, his approaching shoes in midground, a lit exit at the far end) so the audience always knows the geography. Music enters 1.5 seconds before the hand rises and stops on the frame the light dies. Four shots, ASL 5–9 seconds in the emotional register.
48
+
49
+ Prompt signature: `A thin warm light under the door goes out; his face loses one stop of light on that beat.`
50
+
51
+ ### Kubrick — the geometry outranks the person
52
+
53
+ The defining decision is **symmetry as pressure**. A 14 m corridor, the door dead centre, the vanishing point on the door seam, the camera locked for 24 seconds. The gesture is performed twice with identical timing — the audience finds the difference themselves. A single saturated block of red on the floor is the only high-saturation object. ASL 12–40 seconds; one composition carries the whole beat.
54
+
55
+ Prompt signature: `constant speed, no ease-in, no ease-out, no reframing.`
56
+
57
+ ### Bergman — the corridor stops existing
58
+
59
+ The defining decision is **elimination, then a second face**. Cut the geography, cut the object below frame, cut everything of the door except the small glass panel — which carries his own frontal reflection looking back at him, so the scrutiny needs no second actor. A single hard key at 90° camera-left, 6:1, background near-black. The register is 5–8 shots for a four-minute scene at 20–90 seconds each; here it is one 22-second hold, cut in generation at the frame his hand stops. The hesitation is not staged, it is waited out.
60
+
61
+ Prompt signature: `Focus shifts once from the real face to the reflection over 1.5 seconds and stays there.`
62
+
63
+ ### Wong Kar-wai — he stops at the wrong door
64
+
65
+ The defining decision is **1.2 metres**. He never stands in front of the door he came for; he stops at the one next to it, and that gap is the subject. Shot through a stairwell railing whose two vertical bars crop his face, tungsten on one cheek and green neon on the back of his neck at 8:1, with cooking smoke making the beams visible. Four shots in 12 seconds, ASL 3 seconds — and exactly one step-printed hold.
66
+
67
+ Prompt signature: `the exchange is step-printed — long-shutter trails and a repeated-frame stutter, not smooth slow motion — while the background stays at normal speed.`
68
+
69
+ ### Bi Gan — hesitation becomes a route
70
+
71
+ The defining decision is **replacing the pause with a path**. He walks past the door, stands at the window, comes back, hangs the bag on the handle, and goes down the stairs. The camera never follows him out; it drifts on to the window and holds on the rain. One 48-second take, generated as three chained clips whose seams sit on a corner and a stillness, so the joins read as passages rather than cuts.
72
+
73
+ Prompt signature: `the camera does not follow him — it keeps drifting forward past the door toward the window.`
74
+
75
+ ### Zhang Yimou — the corridor becomes a pattern
76
+
77
+ The defining decision is **turning the set into countable units**. Twenty identical doors, identical red frames, evenly spaced to the vanishing point; red occupies about 70% of the image and he is the only thing in it that is not red. Low afternoon sun runs down the gallery axis, 3:1, shadows dark red rather than black. It ends on a 90° overhead: a red grid with one white point in it.
78
+
79
+ Prompt signature: `the red occupies about 70% of the image; a person in a dark grey coat — the only non-red element.`
80
+
81
+ ### Michael Mann — the city is the other character
82
+
83
+ The defining decision is **moving the corridor outdoors and 14 floors up**, which buys a horizon, municipal light, and distance in one move. He is 8% of frame height at 22 m on a 25mm lens. Three light sources at three colour temperatures share the frame uncorrected — mercury-vapour overhead, sodium from below, office LED hundreds of metres out — and none of them is fixed in the grade. His face is two stops under the city and unreadable, which is the point: we read posture, not expression.
84
+
85
+ Prompt signature: `no unified white balance… his face is about two stops under the city and largely unreadable.`
86
+
87
+ ### Coen Brothers — the parcel wins
88
+
89
+ The defining decision is **letting an object overrule the character**. He makes his moral decision, sets the parcel down, and physics reverses it. He rights it. It falls again. No sound effect, no reaction shot, no cut — the joke is the symmetry holding while the parcel refuses to. Overhead fluorescent as the only source, unflattering top light with shadow in both eye sockets, and a neutral face throughout.
90
+
91
+ Prompt signature: `His expression is completely neutral throughout — no smile, no eyebrow movement, no reaction.`
92
+
93
+ ## What changed
94
+
95
+ | Dimension | Spielberg | Kubrick | Bergman | Wong Kar-wai | Bi Gan | Zhang Yimou | Mann | Coen |
96
+ |---|---|---|---|---|---|---|---|---|
97
+ | Shots for the beat | 4 | 1 | 1 | 4 | 1 | 1 + overhead | 3 + hold | 1 |
98
+ | ASL (s) | 5–9 | 12–40 | 20–90 | 1.5–4 | 45–600 | 4–10 | 3–8 | 4–9 |
99
+ | Lens | 21 + 135 | 18 | 100 | 25 | 25 | 35 | 25 | 27 |
100
+ | Camera | locked, cuts to reaction | locked, symmetric | locked on face | handheld through railing | continuous drift | locked, one-point | locked, distant | locked, dead-frontal |
101
+ | Key light | warm tungsten leak | even hard array, 2:1 | single window, 6:1 | tungsten + neon, 8:1 | three uncorrected practicals, 3:1 | low hard sun, 3:1 | mercury + sodium + LED, 8:1 | overhead fluorescent, 3:1 |
102
+ | Palette | amber, warm | cold white + one red block | grey, near-monochrome | green + amber | humid teal + purple | one saturated red, 70% | cold blue-green + sodium | institutional beige + fluorescent |
103
+ | Subject size in frame | MCU | full figure, small | two faces, edges touching | cropped by foreground | medium follow | small, single unit | 8% of frame height | full figure, centred |
104
+ | Sound lead | melodic motif | one continuous piece | breath and a distant clock | pop song + VO | rain, tape, dialect | cloth and massed footsteps | traffic and transformer hum | fluorescent ballast hum |
105
+ | Where the meaning sits | in the reveal order | in the repetition | in the duration | in the 1.2 m gap | in the route | in the color mass | in the distance | in the object |
106
+ | Clip budget (s) | 4–8 | 8–12 | 8–15 | 4–8 | 10–20 | 3–6 | 3–6 | 3–6 |
107
+
108
+ The continuity anchors — face, coat, object, door, corridor — are identical in all eight. So is the discipline: one primary action per clip, one dominant camera behaviour, an explicit end state, invariants repeated verbatim, negatives matched to that shot's real risk. The lens decides everything else.
109
+
110
+ ## Choosing a lens
111
+
112
+ Work backwards from what the scene is actually about, not from which director you like.
113
+
114
+ | If the scene is about… | Reach for |
115
+ |---|---|
116
+ | A person's interior weather, nothing else | Bergman, Tarkovsky |
117
+ | A system or institution acting through a person | Kubrick, Fincher, Villeneuve |
118
+ | Missed connection, deferral, the thing not said | Wong Kar-wai, Hou Hsiao-hsien |
119
+ | Memory that will not resolve into a timeline | Bi Gan, Malick, Fellini |
120
+ | Competence and isolation in a modern city | Michael Mann, Fincher |
121
+ | Emotional legibility for a broad audience | Spielberg, Kurosawa |
122
+ | A moral idea rendered as color and mass | Zhang Yimou, Refn |
123
+ | Fate as an unfunny joke landing on a competent person | Coen Brothers |
124
+ | Suspense built from what the audience knows | Hitchcock |
125
+ | Ornate cruelty that the frame refuses to condemn | Park Chan-wook |
126
+ | A social ladder climbed by talking, and the fall at the top | Scorsese |
127
+ | A structure the audience has to solve while it runs | Nolan |
128
+
129
+ Two rules. **One lens at a time** — mixing produces incoherence, not fusion. And a lens is a starting position, not a cage: the module gives you the defaults, the scene tells you which one to break.
130
+
131
+ ## Try it yourself
132
+
133
+ Take any two treatments above, open the matching modules, copy their finished prompts, and generate both from the same neutral keyframe. Use [`../ai-video-tool-adapters.md`](../ai-video-tool-adapters.md) to reshape the prompt for your tool's control surface. The difference should be visible in the first second.
134
+
135
+ If it is not, the cause is usually one of these:
136
+
137
+ - **The keyframe already carries a lens.** A still generated with a style baked in will fight every motion prompt. Start from a neutral frame — see [`../image-model-adapters.md`](../image-model-adapters.md).
138
+ - **The tool ignores camera instructions.** Check whether it exposes camera control at all before blaming the prompt; route by control surface, not by hope.
139
+ - **Two lenses in one prompt.** Pick one.
140
+ - **The lens was named but not applied.** If the output does not violate the other seven modules' parameter blocks, no overlay actually took effect.