@lemoncat7/dsh-partner 2.4.2 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/README.md +8 -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 +51 -0
  6. package/docs/releases/2.5.0.md +13 -0
  7. package/docs/releases/2.6.0.md +11 -0
  8. package/docs/releases/2.7.0.md +21 -0
  9. package/lib/agent-runtime.d.ts +9 -1
  10. package/lib/agent-runtime.d.ts.map +1 -1
  11. package/lib/agent-runtime.js +117 -17
  12. package/lib/agent-runtime.js.map +1 -1
  13. package/lib/api/features/attachments-api.d.ts.map +1 -1
  14. package/lib/api/features/attachments-api.js +31 -1
  15. package/lib/api/features/attachments-api.js.map +1 -1
  16. package/lib/api.d.ts +1 -1
  17. package/lib/api.d.ts.map +1 -1
  18. package/lib/api.js +1 -1
  19. package/lib/api.js.map +1 -1
  20. package/lib/attachments/grouped-storage.d.ts +5 -0
  21. package/lib/attachments/grouped-storage.d.ts.map +1 -0
  22. package/lib/attachments/grouped-storage.js +47 -0
  23. package/lib/attachments/grouped-storage.js.map +1 -0
  24. package/lib/attachments/service.d.ts +17 -0
  25. package/lib/attachments/service.d.ts.map +1 -1
  26. package/lib/attachments/service.js +100 -8
  27. package/lib/attachments/service.js.map +1 -1
  28. package/lib/attachments/shared-storage.d.ts +7 -0
  29. package/lib/attachments/shared-storage.d.ts.map +1 -0
  30. package/lib/attachments/shared-storage.js +44 -0
  31. package/lib/attachments/shared-storage.js.map +1 -0
  32. package/lib/attachments/storage-admin.d.ts +6 -0
  33. package/lib/attachments/storage-admin.d.ts.map +1 -0
  34. package/lib/attachments/storage-admin.js +43 -0
  35. package/lib/attachments/storage-admin.js.map +1 -0
  36. package/lib/attachments/storage-types.d.ts +33 -0
  37. package/lib/attachments/storage-types.d.ts.map +1 -0
  38. package/lib/attachments/storage-types.js +2 -0
  39. package/lib/attachments/storage-types.js.map +1 -0
  40. package/lib/attachments/tool.d.ts.map +1 -1
  41. package/lib/attachments/tool.js +16 -5
  42. package/lib/attachments/tool.js.map +1 -1
  43. package/lib/channels/delivery-policy.d.ts.map +1 -1
  44. package/lib/channels/delivery-policy.js +7 -4
  45. package/lib/channels/delivery-policy.js.map +1 -1
  46. package/lib/channels/direct/message-format.js +418 -281
  47. package/lib/channels/direct/message-format.js.map +4 -4
  48. package/lib/channels/manager.d.ts +7 -3
  49. package/lib/channels/manager.d.ts.map +1 -1
  50. package/lib/channels/manager.js +73 -38
  51. package/lib/channels/manager.js.map +1 -1
  52. package/lib/channels/weixin/api.d.ts.map +1 -1
  53. package/lib/channels/weixin/api.js +7 -2
  54. package/lib/channels/weixin/api.js.map +1 -1
  55. package/lib/channels/weixin/errors.d.ts +14 -0
  56. package/lib/channels/weixin/errors.d.ts.map +1 -0
  57. package/lib/channels/weixin/errors.js +29 -0
  58. package/lib/channels/weixin/errors.js.map +1 -0
  59. package/lib/channels/weixin/poll.d.ts +14 -0
  60. package/lib/channels/weixin/poll.d.ts.map +1 -0
  61. package/lib/channels/weixin/poll.js +50 -0
  62. package/lib/channels/weixin/poll.js.map +1 -0
  63. package/lib/client-api.d.ts +1 -23
  64. package/lib/client-api.d.ts.map +1 -1
  65. package/lib/client-api.js.map +1 -1
  66. package/lib/client-controller.d.ts.map +1 -1
  67. package/lib/client-controller.js +3 -3
  68. package/lib/client-controller.js.map +1 -1
  69. package/lib/client.d.ts.map +1 -1
  70. package/lib/client.js +1078 -679
  71. package/lib/client.js.map +4 -4
  72. package/lib/collaboration/composition.d.ts.map +1 -1
  73. package/lib/collaboration/composition.js +32 -8
  74. package/lib/collaboration/composition.js.map +1 -1
  75. package/lib/collaboration/domain.d.ts +8 -0
  76. package/lib/collaboration/domain.d.ts.map +1 -1
  77. package/lib/collaboration/domain.js.map +1 -1
  78. package/lib/collaboration/service.d.ts.map +1 -1
  79. package/lib/collaboration/service.js +38 -5
  80. package/lib/collaboration/service.js.map +1 -1
  81. package/lib/concern-notification.d.ts.map +1 -1
  82. package/lib/concern-notification.js +2 -1
  83. package/lib/concern-notification.js.map +1 -1
  84. package/lib/concern-tool.js +1 -1
  85. package/lib/concern-tool.js.map +1 -1
  86. package/lib/execution/reply-progress.d.ts.map +1 -1
  87. package/lib/execution/reply-progress.js +4 -2
  88. package/lib/execution/reply-progress.js.map +1 -1
  89. package/lib/execution/service.d.ts +1 -1
  90. package/lib/execution/service.d.ts.map +1 -1
  91. package/lib/execution/service.js +4 -7
  92. package/lib/execution/service.js.map +1 -1
  93. package/lib/index.d.ts.map +1 -1
  94. package/lib/index.js +7 -1
  95. package/lib/index.js.map +1 -1
  96. package/lib/memory-reflection.js +2 -2
  97. package/lib/memory-reflection.js.map +1 -1
  98. package/lib/message-source.d.ts +25 -0
  99. package/lib/message-source.d.ts.map +1 -0
  100. package/lib/message-source.js +8 -0
  101. package/lib/message-source.js.map +1 -0
  102. package/lib/observation-loop.js +4 -4
  103. package/lib/observation-loop.js.map +1 -1
  104. package/lib/pendant/reader.js +1 -1
  105. package/lib/pendant/reader.js.map +1 -1
  106. package/lib/pendant/settings-panel.js +1 -1
  107. package/lib/pendant/settings-panel.js.map +1 -1
  108. package/lib/persona/service.js +1 -1
  109. package/lib/persona/service.js.map +1 -1
  110. package/lib/requirements/attachments.d.ts +7 -0
  111. package/lib/requirements/attachments.d.ts.map +1 -0
  112. package/lib/requirements/attachments.js +26 -0
  113. package/lib/requirements/attachments.js.map +1 -0
  114. package/lib/requirements/domain.d.ts +1 -1
  115. package/lib/requirements/domain.d.ts.map +1 -1
  116. package/lib/requirements/service.d.ts.map +1 -1
  117. package/lib/requirements/service.js +4 -1
  118. package/lib/requirements/service.js.map +1 -1
  119. package/lib/scheduler/channel-origin.d.ts +7 -0
  120. package/lib/scheduler/channel-origin.d.ts.map +1 -0
  121. package/lib/scheduler/channel-origin.js +27 -0
  122. package/lib/scheduler/channel-origin.js.map +1 -0
  123. package/lib/scheduler/continuations.d.ts +29 -0
  124. package/lib/scheduler/continuations.d.ts.map +1 -0
  125. package/lib/scheduler/continuations.js +286 -0
  126. package/lib/scheduler/continuations.js.map +1 -0
  127. package/lib/scheduler/domain.d.ts +40 -0
  128. package/lib/scheduler/domain.d.ts.map +1 -1
  129. package/lib/scheduler/final-reply.d.ts +13 -0
  130. package/lib/scheduler/final-reply.d.ts.map +1 -0
  131. package/lib/scheduler/final-reply.js +21 -0
  132. package/lib/scheduler/final-reply.js.map +1 -0
  133. package/lib/scheduler/service.d.ts +2 -0
  134. package/lib/scheduler/service.d.ts.map +1 -1
  135. package/lib/scheduler/service.js +30 -1
  136. package/lib/scheduler/service.js.map +1 -1
  137. package/lib/scheduler/wakeup-context.d.ts +7 -0
  138. package/lib/scheduler/wakeup-context.d.ts.map +1 -0
  139. package/lib/scheduler/wakeup-context.js +14 -0
  140. package/lib/scheduler/wakeup-context.js.map +1 -0
  141. package/lib/scheduler/wakeup.d.ts +11 -0
  142. package/lib/scheduler/wakeup.d.ts.map +1 -0
  143. package/lib/scheduler/wakeup.js +52 -0
  144. package/lib/scheduler/wakeup.js.map +1 -0
  145. package/lib/skills/builtin-resources.d.ts +6 -0
  146. package/lib/skills/builtin-resources.d.ts.map +1 -0
  147. package/lib/skills/builtin-resources.js +47 -0
  148. package/lib/skills/builtin-resources.js.map +1 -0
  149. package/lib/skills/builtin.d.ts +2 -5
  150. package/lib/skills/builtin.d.ts.map +1 -1
  151. package/lib/skills/builtin.js +11 -0
  152. package/lib/skills/builtin.js.map +1 -1
  153. package/lib/skills/director-builtins.d.ts +8 -0
  154. package/lib/skills/director-builtins.d.ts.map +1 -0
  155. package/lib/skills/director-builtins.js +65 -0
  156. package/lib/skills/director-builtins.js.map +1 -0
  157. package/lib/skills/drama-builtin.d.ts +3 -0
  158. package/lib/skills/drama-builtin.d.ts.map +1 -0
  159. package/lib/skills/drama-builtin.js +49 -0
  160. package/lib/skills/drama-builtin.js.map +1 -0
  161. package/lib/skills/long-task-continuation.d.ts +4 -0
  162. package/lib/skills/long-task-continuation.d.ts.map +1 -0
  163. package/lib/skills/long-task-continuation.js +43 -0
  164. package/lib/skills/long-task-continuation.js.map +1 -0
  165. package/lib/skills/service.d.ts.map +1 -1
  166. package/lib/skills/service.js +8 -3
  167. package/lib/skills/service.js.map +1 -1
  168. package/lib/skills/viora-canvas-builtin.d.ts +3 -0
  169. package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
  170. package/lib/skills/viora-canvas-builtin.js +19 -0
  171. package/lib/skills/viora-canvas-builtin.js.map +1 -0
  172. package/lib/storage/migrate-layout.d.ts.map +1 -1
  173. package/lib/storage/migrate-layout.js +13 -4
  174. package/lib/storage/migrate-layout.js.map +1 -1
  175. package/lib/store.d.ts.map +1 -1
  176. package/lib/store.js +2 -0
  177. package/lib/store.js.map +1 -1
  178. package/lib/tasks/context.js +1 -0
  179. package/lib/tasks/context.js.map +1 -1
  180. package/lib/tasks/continuation-yield.d.ts +4 -0
  181. package/lib/tasks/continuation-yield.d.ts.map +1 -0
  182. package/lib/tasks/continuation-yield.js +27 -0
  183. package/lib/tasks/continuation-yield.js.map +1 -0
  184. package/lib/tasks/continuation.d.ts +13 -0
  185. package/lib/tasks/continuation.d.ts.map +1 -0
  186. package/lib/tasks/continuation.js +106 -0
  187. package/lib/tasks/continuation.js.map +1 -0
  188. package/lib/tasks/domain.d.ts +2 -0
  189. package/lib/tasks/domain.d.ts.map +1 -1
  190. package/lib/tasks/scheduling.d.ts.map +1 -1
  191. package/lib/tasks/scheduling.js +7 -0
  192. package/lib/tasks/scheduling.js.map +1 -1
  193. package/lib/tasks/service.d.ts +2 -1
  194. package/lib/tasks/service.d.ts.map +1 -1
  195. package/lib/tasks/service.js +19 -1
  196. package/lib/tasks/service.js.map +1 -1
  197. package/lib/ui/attachment-storage.d.ts +2 -0
  198. package/lib/ui/attachment-storage.d.ts.map +1 -0
  199. package/lib/ui/attachment-storage.js +59 -0
  200. package/lib/ui/attachment-storage.js.map +1 -0
  201. package/lib/ui/capability-editor.js +1 -1
  202. package/lib/ui/capability-editor.js.map +1 -1
  203. package/lib/ui/companion-access-panel.js +1 -1
  204. package/lib/ui/companion-access-panel.js.map +1 -1
  205. package/lib/ui/companion-create.js +1 -1
  206. package/lib/ui/companion-create.js.map +1 -1
  207. package/lib/ui/companion-picker.js +1 -1
  208. package/lib/ui/companion-picker.js.map +1 -1
  209. package/lib/ui/identity-editor.js +1 -1
  210. package/lib/ui/identity-editor.js.map +1 -1
  211. package/lib/ui/mcp-capabilities.js +1 -1
  212. package/lib/ui/mcp-capabilities.js.map +1 -1
  213. package/lib/ui/mcp-panel.js +1 -1
  214. package/lib/ui/mcp-panel.js.map +1 -1
  215. package/lib/ui/memory/concern-board.js +2 -2
  216. package/lib/ui/memory/concern-board.js.map +1 -1
  217. package/lib/ui/memory/concern-deletion.d.ts +1 -1
  218. package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
  219. package/lib/ui/memory/concern-deletion.js +9 -4
  220. package/lib/ui/memory/concern-deletion.js.map +1 -1
  221. package/lib/ui/memory/concern-panel.js +1 -1
  222. package/lib/ui/memory/concern-panel.js.map +1 -1
  223. package/lib/ui/memory/memory-library.js +1 -1
  224. package/lib/ui/memory/memory-library.js.map +1 -1
  225. package/lib/ui/memory/memory-panel.js +1 -1
  226. package/lib/ui/memory/memory-panel.js.map +1 -1
  227. package/lib/ui/partner-components.js +1 -1
  228. package/lib/ui/partner-components.js.map +1 -1
  229. package/lib/ui/requirement-board.js +1 -1
  230. package/lib/ui/requirement-board.js.map +1 -1
  231. package/lib/ui/requirement-dialog.js +1 -1
  232. package/lib/ui/requirement-dialog.js.map +1 -1
  233. package/lib/ui/requirement-tasks-panel.js +1 -1
  234. package/lib/ui/requirement-tasks-panel.js.map +1 -1
  235. package/lib/ui/schedule-panel.d.ts.map +1 -1
  236. package/lib/ui/schedule-panel.js +20 -4
  237. package/lib/ui/schedule-panel.js.map +1 -1
  238. package/lib/ui/skills-panel.js +1 -1
  239. package/lib/ui/skills-panel.js.map +1 -1
  240. package/lib/ui/storage-settings.d.ts.map +1 -1
  241. package/lib/ui/storage-settings.js +2 -1
  242. package/lib/ui/storage-settings.js.map +1 -1
  243. package/lib/ui/task-board-stage.js +1 -1
  244. package/lib/ui/task-board-stage.js.map +1 -1
  245. package/lib/ui/workspace-components.js +1 -1
  246. package/lib/ui/workspace-components.js.map +1 -1
  247. package/lib/ui/workspace-navigation.d.ts +16 -16
  248. package/lib/ui/workspace-navigation.js +1 -1
  249. package/lib/ui/workspace-navigation.js.map +1 -1
  250. package/package.json +55 -41
  251. package/resources/skills/cinematic-director/manifest.json +205 -0
  252. package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
  253. package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
  254. package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
  255. package/resources/skills/cinematic-director/upstream/README.md +507 -0
  256. package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
  257. package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
  258. package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
  259. package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
  260. package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
  261. package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
  262. package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
  263. package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
  264. package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
  265. package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
  266. package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
  267. package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
  268. package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
  269. package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
  270. package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
  271. package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
  272. package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
  273. package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
  274. package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
  275. package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
  276. package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
  277. package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
  278. package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
  279. package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
  280. package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
  281. package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
  282. package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
  283. package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
  284. package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
  285. package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
  286. package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
  287. package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
  288. package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
  289. package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
  290. package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
  291. package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
  292. package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
  293. package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
  294. package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
  295. package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
  296. package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
  297. package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
  298. package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
  299. package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
  300. package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
  301. package/resources/skills/director-skills/manifest.json +541 -0
  302. package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
  303. package/resources/skills/director-skills/upstream/LICENSE +21 -0
  304. package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
  305. package/resources/skills/director-skills/upstream/README.md +251 -0
  306. package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
  307. package/resources/skills/director-skills/upstream/SKILL.md +114 -0
  308. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
  309. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
  310. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
  311. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
  312. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
  313. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
  314. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
  315. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
  316. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
  317. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
  318. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
  319. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
  320. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
  321. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
  322. package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
  323. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
  324. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
  325. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
  326. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
  327. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
  328. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
  329. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
  330. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
  331. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
  332. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
  333. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
  334. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
  335. package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
  336. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
  337. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
  338. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
  339. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
  340. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
  341. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
  342. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
  343. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
  344. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
  345. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
  346. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
  347. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
  348. package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
  349. package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
  350. package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
  351. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
  352. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
  353. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
  354. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
  355. package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
  356. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
  357. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
  358. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
  359. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
  360. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
  361. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
  362. package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
  363. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
  364. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
  365. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
  366. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
  367. package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
  368. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
  369. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
  370. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
  371. package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
  372. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
  373. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
  374. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
  375. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
  376. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
  377. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
  378. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
  379. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
  380. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
  381. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
  382. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
  383. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
  384. package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
  385. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
  386. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
  387. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
  388. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
  389. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
  390. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
  391. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
  392. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
  393. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
  394. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
  395. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
  396. package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
  397. package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
  398. package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
  399. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
  400. package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
  401. package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
  402. package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
  403. package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
  404. package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
  405. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
  406. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
  407. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
  408. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
  409. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
  410. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
  411. package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
  412. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
  413. package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
  414. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
  415. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
  416. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
  417. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
  418. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
  419. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
  420. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
  421. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
  422. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
  423. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
  424. package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
  425. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
  426. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
  427. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
  428. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
  429. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
  430. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
  431. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
  432. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
  433. package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
  434. package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
  435. package/resources/skills/drama-production/manifest.json +933 -0
  436. package/resources/skills/drama-production/upstream/LICENSE +21 -0
  437. package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
  438. package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
  439. package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  440. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
  441. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
  442. package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
  443. package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  444. package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
  445. package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  446. package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
  447. package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
  448. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
  449. package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
  450. 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
  451. 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
  452. 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
  453. package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  454. 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
  455. 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
  456. package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
  457. package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
  458. package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
  459. package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
  460. package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
  461. package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
  462. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
  463. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
  464. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
  465. package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
  466. package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
  467. package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
  468. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  469. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  470. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  471. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  472. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  473. package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  474. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  475. package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  476. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
  477. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
  478. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
  479. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
  480. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
  481. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
  482. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
  483. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
  484. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
  485. package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
  486. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
  487. package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
  488. package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
  489. package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
  490. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  491. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
  492. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  493. package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
  494. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  495. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  496. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  497. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
  498. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  499. 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
  500. 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
  501. 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
  502. 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
  503. 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
  504. 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
  505. 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
  506. 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
  507. 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
  508. 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
  509. 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
  510. 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
  511. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
  512. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  513. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  514. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
  515. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  516. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  517. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
  518. package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
  519. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  520. package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
  521. package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
  522. package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
  523. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
  524. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
  525. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  526. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  527. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  528. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  529. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  530. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  531. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  532. package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  533. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
  534. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
  535. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
  536. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  537. package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
  538. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  539. package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
  540. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
  541. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  542. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  543. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
  544. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  545. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
  546. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  547. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
  548. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
  549. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
  550. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
  551. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
  552. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
  553. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  554. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
  555. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  556. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
  557. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  558. package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
  559. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
  560. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  561. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  562. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  563. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  564. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  565. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
  566. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  567. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  568. package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  569. package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
  570. package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
  571. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
  572. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  573. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
  574. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  575. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  576. package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
  577. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
  578. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
  579. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
  580. package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
  581. package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
  582. package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
  583. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  584. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  585. package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
  586. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  587. package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  588. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
  589. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
  590. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
  591. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
  592. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
  593. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  594. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
  595. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
  596. package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
  597. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
  598. package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
  599. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
  600. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  601. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  602. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  603. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
  604. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  605. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  606. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  607. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  608. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
  609. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  610. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
  611. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
  612. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  613. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
  614. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
  615. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
  616. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
  617. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
  618. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
  619. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
  620. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  621. package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  622. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
  623. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  624. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  625. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  626. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
  627. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  628. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  629. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  630. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
  631. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  632. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
  633. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
  634. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
  635. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
  636. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
  637. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
  638. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
  639. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
  640. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
  641. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
  642. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
  643. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
  644. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  645. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  646. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  647. package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  648. package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
  649. package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
  650. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
  651. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  652. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
  653. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
  654. package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  655. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
  656. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
  657. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
  658. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  659. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
  660. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
  661. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
  662. package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
  663. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  664. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  665. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
  666. package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  667. package/resources/skills/viora-canvas-production/manifest.json +23 -0
  668. package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
  669. package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
  670. package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
  671. package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
@@ -0,0 +1,420 @@
1
+ ---
2
+ name: cinematic-director
3
+ # Keep the description specific so the host agent loads this skill only for film/video direction tasks.
4
+ description: >-
5
+ Acts as a director and previs supervisor for film, video, and AI filmmaking. Turns scripts, prose,
6
+ briefs, or existing image and video assets into production deliverables — subtext breakdown, beat
7
+ sheet, director's book, blocking and staging, shot list with coverage, keyframe and storyboard
8
+ prompts, image-to-video motion prompts, sound and dialogue plans, edit timelines, continuity bibles,
9
+ and QC repair notes. Carries genre playbooks, a controlled prompt lexicon, a coded failure-diagnosis
10
+ manual, and capability-first adapters for current video and image models. Optionally applies one
11
+ named director's style lens — Spielberg, Hitchcock, Kubrick, Kurosawa, Scorsese, Fellini, Bergman,
12
+ Tarkovsky, Wong Kar-wai, Nolan, Villeneuve, Fincher, Refn, Bi Gan, Zhang Yimou, Hou Hsiao-hsien,
13
+ Park Chan-wook, Malick, Michael Mann, Coen Brothers. Use for shot planning, blocking, staging,
14
+ camera movement, visual continuity, storyboard and keyframe design, prompt repair, "in the style of
15
+ X" direction, and any AI video workflow.
16
+ license: MIT
17
+ metadata:
18
+ version: "2.1.0"
19
+ author: "wangzhang-wu"
20
+ ---
21
+
22
+ # Cinematic Director Skill
23
+
24
+ ## Operating stance
25
+
26
+ Act as a working director and previs supervisor, not a critic and not a prompt decorator. The job is to turn source material into a plan someone could actually execute — with a camera crew or with a generation queue.
27
+
28
+ Three domains have to meet in every answer:
29
+
30
+ - **Directing** — story, subtext, blocking, staging, shot rationale, performance, visual language.
31
+ - **Pre-production** — breakdown, beat sheet, director's book, shot list, coverage, continuity, budget of effort.
32
+ - **AI production** — keyframes, reference assets, motion prompts, first/last-frame workflows, tool control surfaces, generation QC and repair.
33
+
34
+ The enemy is adjective soup. `cinematic, dramatic, masterpiece, 8K` tells a model nothing about where the camera is, what the body does, where the action ends, or what must not change. Replace it with observable physical description and explicit constraints.
35
+
36
+ ## Non-goals
37
+
38
+ - Do not write film criticism unless asked for critique.
39
+ - Do not reproduce specific shots, dialogue, characters, or plot beats from real films. Style modules teach methods.
40
+
41
+ Three more non-goals are stated once, as hard rules, so they have a single home: shot variety for its own sake (rule 1), overloading one clip (rule 3), and reinventing what a supplied reference already fixed (rule 6 and the Gotchas).
42
+
43
+ ## Routing — pick the mode, then load only what you need
44
+
45
+ `SKILL.md` alone is enough for a short answer. Load reference files on demand, and only the ones the request actually needs. Reading everything wastes context and dilutes the answer.
46
+
47
+ Load *parts* of files, not whole files. The four largest references — `failure-modes.md`, `genre-playbooks.md`, `ai-video-tool-adapters.md`, `prompt-lexicon.md` — are each an index plus independent sections, and a request almost always needs one section. Read the index, read the one section, stop. The rows below say so where it matters most.
48
+
49
+ | The user asks for | Mode | Load |
50
+ |---|---|---|
51
+ | "What is this scene really about?" / interpretation | A | — |
52
+ | Beats, structure, "break this into beats" | B | `assets/beat-sheet-template.md` |
53
+ | Visual treatment, director's book, "set the rules" | C | `assets/director-book-template.md`, `references/lighting-and-color.md`, `references/genre-playbooks.md` |
54
+ | Staging, blocking, "where do they stand", "block this two-hander" | D | `references/blocking-and-staging.md`, `assets/shot-plan-template.md` |
55
+ | Shot list, storyboard plan, shooting table | D | `assets/shot-plan-template.md`, `references/cinematic-language.md`, `references/blocking-and-staging.md`, `references/production-workflow.md` — the last for the difficulty rubric the Risk column is required to read off |
56
+ | Image/keyframe/storyboard-panel prompts | E | `assets/keyframe-prompt-template.md`, `references/image-model-adapters.md`, `assets/qc-checklist.md` — Gate 1 is a hard gate on this step |
57
+ | Video motion prompts from existing images | F | `assets/video-prompt-template.md`, `references/prompt-lexicon.md`, `references/ai-video-tool-adapters.md` |
58
+ | Recurring characters/locations across shots | G | `references/continuity-bible.md` |
59
+ | Sound design, music, dialogue, voice-over | H | `assets/sound-plan-template.md`, `references/sound-and-dialogue.md` |
60
+ | "I have clips — how do I cut them together?" | I | `assets/edit-timeline-template.md`, `references/editing-and-assembly.md` |
61
+ | "It failed / looks like a slideshow / face changed" | J | `references/failure-modes.md` — for a single named symptom read only its symptom-to-code index and that one code, then stop |
62
+ | "…and give me a fixed prompt" | J→F | add `assets/video-prompt-template.md` and the matching tool adapter |
63
+ | "Score this / gate this batch / how do I report a failure" | J | `assets/qc-checklist.md` |
64
+ | "Direct this" / "everything I need" / full production pass | A–J | run the pipeline in order, loading per step |
65
+ | "In the style of \<director\>" | any | `references/director_styles/NN_<slug>.md` (exactly one) |
66
+ | "Which lens should I use?" / "how do X and Y differ?" | any | `references/director_styles/example_comparisons.md` — the picker table and the difference matrix |
67
+ | Names a specific model or platform | any | `references/ai-video-tool-adapters.md` or `references/image-model-adapters.md` — read the control-surface matrix and that one family block, then stop |
68
+ | Horror / comedy / commercial / vertical / any genre framing | any | `references/genre-playbooks.md` — read `How to use a playbook` and the one genre named, then stop |
69
+ | Product, packshot, cosmetics, food, macro | any | `references/product-and-macro.md` |
70
+ | Word-level prompt help, negatives, EN↔中文 terms | any | `references/prompt-lexicon.md` — read the conversion procedure and the one bank or table you need, then stop |
71
+ | Scheduling, retries, versioning, handoff, "how do I run this" | any | `references/production-workflow.md` |
72
+
73
+ Modes combine, but chaining is opt-in, not automatic. Mode J is rarely terminal *in principle* — a repair that lands on re-planning the shot produces new shots, which want F for the prompts, I for the cut, and G once more than two shots share invariants. Chain only when the user asked for the downstream artifact, or when the fix is unusable without it. Otherwise stop at the diagnosis and offer the chain in one line. The response-size table below outranks this row.
74
+
75
+ A full production pass runs the steps in order, with modes attached where they produce a deliverable: 1 intake · 2 breakdown (A) · 3 beats (B) · 4 lens · 5 book (C) · 6 blocking · 7 shots (D) · 8 keyframes (E) · 9 adapter · 10 prompts (F) · 11 sound (H) · 12 edit (I) · 13 QC (J), with G running underneath. Steps 1, 4, 6 and 9 carry no mode letter, and 4, 6 and 9 are the most commonly skipped — do not skip them.
76
+
77
+ ### Response size
78
+
79
+ Over-production is the most common failure of this skill. Match the answer to the ask.
80
+
81
+ | Request | Ceiling |
82
+ |---|---|
83
+ | One prompt for one shot | The prompt, at most three lines of rationale, one tool-specific rule |
84
+ | A symptom with no artifact attached | Diagnosis, the fix ladder, at most one question |
85
+ | A one-line brief | Assumptions in one line, then at most one screen of deliverable |
86
+ | A named mode | That mode's deliverable only — do not volunteer the neighbouring modes |
87
+ | A script, a multi-scene piece, or "everything I need" | The full pipeline |
88
+
89
+ ## Intake and defaults
90
+
91
+ Extract or infer this. If information is missing, proceed on stated assumptions — do not interrogate the user. Ask at most one question, and only when a wrong guess would make the whole deliverable useless (for example, aspect ratio for a vertical-only campaign, or whether an era is period or modern).
92
+
93
+ ```yaml
94
+ project:
95
+ title: optional
96
+ format: short film | trailer | social vertical | scene | commercial | music video | documentary | unknown
97
+ target_duration: seconds
98
+ aspect_ratio: 16:9 | 9:16 | 2.39:1 | 1.85:1 | 4:3 | 1:1 | unknown
99
+ target_tool: Runway | Veo | Kling | Luma | Sora-class | Hailuo | Pika | Vidu | Jimeng/Dreamina/Seedance | Wanxiang | other | unknown
100
+ genre: horror | thriller | drama | comedy | action | sci-fi | noir | romance | commercial | documentary | ...
101
+ director_style: spielberg | hitchcock | kubrick | kurosawa | scorsese | fellini | bergman | tarkovsky |
102
+ wong_kar_wai | nolan | villeneuve | fincher | refn | bi_gan | zhang_yimou |
103
+ hou_hsiao_hsien | park_chan_wook | malick | michael_mann | coen_brothers | none
104
+ source:
105
+ text: script | prose | brief | logline
106
+ core_conflict: inferred
107
+ emotional_arc: inferred
108
+ assets:
109
+ characters: reference images/videos if provided
110
+ locations: reference images/videos if provided
111
+ props: reference images/videos if provided
112
+ audio: voice/music/reference if provided
113
+ constraints:
114
+ era: e.g. Republican-era China, modern Toronto
115
+ must_keep: identity, costume, lighting, setting, props, palette
116
+ must_avoid: named instances only — no plastic, no printed logos, no rubber soles, no wristwatch,
117
+ no text, no watermark, no extra people, no face change
118
+ output:
119
+ deliverables: [A..J]
120
+ language: match the user's language
121
+ ```
122
+
123
+ This block is a checklist for you. Never print it back to the user.
124
+
125
+ Defaults when unspecified:
126
+
127
+ - **Output language** — match the user's. **Generation prompt language** — English by default. If the user writes in Chinese and names no tool, assume a Chinese-UI tool: write the prompts in Chinese, keep camera and lighting terms in their standard Chinese trade forms (`推镜`, `侧逆光`, `景深`), and state the assumption in one line. Give both languages only when the user names an English-first tool or asks for a mirror.
128
+ - **Aspect** — 16:9 for narrative, 9:16 if the user says social/短视频/Reels/抖音.
129
+ - **Clip length** — 3–5s for character performance, 3–4s for fine hand work, 8–12s for environmental or product motion with no legible face. Longer only when the model holds narrative stably and the shot earns it. Duration strategy and its mechanism are owned by `references/ai-video-tool-adapters.md`.
130
+ - **Camera** — locked or one slow push-in when continuity is fragile. Complex moves only when the story needs them and the tool controls them.
131
+ - **Motion budget** — one primary subject action + one camera behavior + one environmental motion per clip. See the motion-budget model in `references/ai-video-tool-adapters.md`.
132
+ - **Register** — set by genre (`references/genre-playbooks.md`) unless a director lens is named, which outranks it.
133
+
134
+ ## Hard rules
135
+
136
+ 1. **Story function first.** A shot with no story function is deleted, not improved.
137
+ 2. **Blocking before framing.** Decide what bodies do in space, then place the camera. A well-blocked scene reads even shot flat.
138
+ 3. **One dominant camera move and one primary action per clip.** No move at all is a legitimate choice and often the better one. Unrelated actions stacked into one clip is the same defect from the other side — the motion budget is owned by `references/ai-video-tool-adapters.md`.
139
+ 4. **Every action has an end state.** "He turns" is not a shot. "He turns until his profile is against the window, then stops" is.
140
+ 5. **Behavior, not emotion.** Never prompt "he is afraid." Prompt what fear looks like on a body.
141
+ 6. **Continuity is engineered.** Name the invariants — identity, wardrobe, light direction, era, geography — and repeat them verbatim across every prompt in a scene.
142
+ 7. **The keyframe is the control point.** A video model mostly re-animates what the still already decided. Fix the still before spending video generations.
143
+ 8. **Match the tool's control surface.** Do not ask a model for a feature it does not expose. Identify the surface, then pick the prompt shape.
144
+ 9. **Negatives are targeted, and they name instances.** Include only the constraints matching this shot's real risk. "No modern objects" is a category the model cannot resolve — name the things: no plastic, no lever handles, no rubber soles, no wristwatch, no printed logos. Long negative lists dilute and can invoke what they forbid.
145
+ 10. **One style lens at a time.** Mixing two directors produces incoherence. Pick one, say why, note what the other would have given.
146
+ 11. **Answer the size of the question.** A prompt request gets a prompt. Never expand a small ask into a production package, and never ask for information you can reasonably assume — state the assumption instead.
147
+
148
+ ## Pipeline
149
+
150
+ Thirteen steps. Run only the ones the request needs, in this order. Each step names the file to load if you go deep.
151
+
152
+ ### 1. Intake and scope
153
+
154
+ Fix the deliverable, duration, aspect, tool, genre, and constraints. State assumptions in one or two lines, then work. Decide the shot budget: target duration ÷ average shot length for the register gives the shot count (`references/editing-and-assembly.md`).
155
+
156
+ ### 2. Script and subtext breakdown
157
+
158
+ Identify, in this order:
159
+
160
+ - **Literal event** — what happens on the surface.
161
+ - **Dramatic question** — what the audience should be wondering.
162
+ - **Conflict** — external and internal.
163
+ - **Subtext** — what the scene is actually about.
164
+ - **Emotional movement** — opening emotion → pressure → turn → closing emotion.
165
+ - **Visual thesis** — the simplest visual idea that governs the scene.
166
+
167
+ The visual thesis must be concrete and testable: "the boy gets smaller as the room gets more judgmental," not "loneliness and fate." If you cannot state it as a change you could photograph, it is not a thesis yet.
168
+
169
+ **Non-narrative work skips this block.** For commercial, product, corporate, fashion, music-video, and trailer briefs, the genre playbook's engine and audience contract replace it. The equivalent of a visual thesis is the claim and the single visible proof of it. Do not derive subtext for a lipstick.
170
+
171
+ ### 3. Beat map
172
+
173
+ Break the scene into beats, not shots. A beat is a change in the balance of pressure — not a change of camera. Each beat carries: story function, character state in and out, visual action, pressure delta, and a likely shot family drawn from the nine functions owned by `references/cinematic-language.md` — establishing, relation, close-up, insert/detail, reaction, transition, aftermath, point-of-view, reveal. Do not coin others; Step 7 has to look the word up.
174
+
175
+ For non-narrative formats, beats are the format's structural blocks — hook, demonstration, claim, end card — not pressure deltas. Template: `assets/beat-sheet-template.md`.
176
+
177
+ ### 4. Style lens selection (optional)
178
+
179
+ If the user names a director or says "in the style of X," load exactly one file from `references/director_styles/` and treat its `风格参数 / Style parameters` YAML as the override set for Steps 5, 7, 8, and 10. Step 8 matters most: the still is where a style is actually fixed, and a lens applied to the shot list but not to the keyframe will not survive generation.
180
+
181
+ Available: `spielberg`, `hitchcock`, `kubrick`, `kurosawa`, `scorsese`, `fellini`, `bergman`, `tarkovsky`, `wong_kar_wai`, `nolan`, `villeneuve`, `fincher`, `refn`, `bi_gan`, `zhang_yimou`, `hou_hsiao_hsien`, `park_chan_wook`, `malick`, `michael_mann`, `coen_brothers`. Index and how to add more: `references/director_styles/README.md`. Choosing between candidates, or explaining how two lenses differ: `references/director_styles/example_comparisons.md`, which directs one shared control scene through every lens.
182
+
183
+ **If the named director has no module, do not silently substitute one.** Say in one line that there is no module for them, name the nearest module and the axis on which it differs, then build an ad-hoc lens: fill the same `风格参数` key set from the user's own reference images or description, and mark it as ad-hoc so later steps know it was not vetted. Silent substitution is worse than no lens, because the user cannot tell it happened.
184
+
185
+ Precedence: **director lens > genre playbook > project tone > skill defaults.** If the user names two directors, pick the one that better serves the scene's dramatic core, say so in one line, and note what the other would have changed. If none is named, skip this step and let genre and tone set defaults at Step 5.
186
+
187
+ Style modules describe high-level methods. Never copy specific shots, lines, characters, or plots from real films.
188
+
189
+ ### 5. Director's book / visual treatment
190
+
191
+ The reusable rule set that stabilizes every later prompt: tone and genre, lens and framing policy, camera grammar and the allowed move set, lighting logic and key direction, palette and color script, production design and era lock, performance register, editing rhythm and target ASL, sound direction, and the **invariant clauses** — the identity strings and lighting invariant that get pasted verbatim into every prompt.
192
+
193
+ Template: `assets/director-book-template.md`. Depth: `references/lighting-and-color.md`, `references/genre-playbooks.md`, and `references/continuity-bible.md` — the identity string is written *here*, at this step, and that file owns its recipe and its word budget. Writing one without the recipe is how a string ends up with no face geometry in it.
194
+
195
+ A director's book entry is only done when two different people filling in shots from it would produce compatible work.
196
+
197
+ ### 6. Blocking and staging
198
+
199
+ For every shot with people: start position, movement, interaction with space and props, camera relationship, end position, eyeline. Blocking is not where actors stand — it is how body position, movement, props, and camera placement reveal power, fear, attraction, secrecy, isolation, or irony.
200
+
201
+ Depth: `references/blocking-and-staging.md` — staging geometries, proxemics, blocking notation, and the honest list of what AI models can and cannot render.
202
+
203
+ ### 7. Shot list and coverage
204
+
205
+ Build rows only after beats and blocking are clear. Each shot: number, duration, scene/location, story function, shot size, lens, angle, camera movement, blocking as start → motion → end, light direction and atmosphere, continuity anchors, transition, risk, AI generation note.
206
+
207
+ Template: `assets/shot-plan-template.md`. Grammar: `references/cinematic-language.md` — including the continuity geometry (axis of action, screen direction, eyeline match, the 30° rule) that a video model cannot infer on its own and must be encoded into keyframes. Risk values are read off the difficulty rubric in `references/production-workflow.md`; do not invent a second scale.
208
+
209
+ If a style lens is active, its `风格参数` block sets `lens_kit_mm`, `camera`, `shot_size_bias`, `composition` and `editing` for every row here. Apply it now, not later — a lens that only reaches the prompts arrives after the shot has already been decided.
210
+
211
+ ### 8. Keyframe strategy
212
+
213
+ Choose by continuity risk:
214
+
215
+ - **Single first frame** — simple action inside one stable composition.
216
+ - **First + last frame** — controlled transformation, a definite action endpoint, or a designed transition between two compositions.
217
+ - **Per-shot keyframes** — whenever identity, costume, location, or blocking must hold.
218
+ - **Storyboard panels** — when the model treats stills as slides. Every panel must imply a motion beginning, a motion just completed, a reveal, a power relationship, or a clue.
219
+
220
+ Template: `assets/keyframe-prompt-template.md`. Consistency techniques (identity strings, character sheets, location plates, reference binding, building last frames from first frames): `references/image-model-adapters.md`.
221
+
222
+ If a style lens is active, this is the step where it is actually fixed. Start from that module's `Keyframe / still prompt` template rather than the generic one, apply its `lighting`, `palette`, `composition` and `aspect_bias`, and append its `negative_prompt_adds`. A lens applied to the shot list but not to the keyframe does not survive generation.
223
+
224
+ Gate: do not generate video from a keyframe that has not passed the pre-generation checks in `assets/qc-checklist.md`.
225
+
226
+ ### 9. Tool adapter selection
227
+
228
+ Identify the control surface before writing a word. Read `references/ai-video-tool-adapters.md` (video) or `references/image-model-adapters.md` (stills). If the tool is unfamiliar, do not guess its features — ask which of these it exposes, or route by capability: text-to-video, image-to-video first frame, last-frame slot, reference binding, camera controls, motion strength, native audio, duration range, extend, multi-shot timestamps, seed, negative prompt, and video-to-video.
229
+
230
+ That answer selects one of four prompt shapes: **S1** motion-only, **S2** full-description, **S3** keyframe-pair, **S4** multi-shot timestamped.
231
+
232
+ Video-to-video — restyle, relight, regrade, reframe, or transfer a performance onto an existing clip — is a fifth control surface, not a fifth shape. It is chosen here, and it changes what you do at Step 13 rather than at Step 10: when a take is right and only its surface is wrong, it repairs the clip you already have. Details: `references/ai-video-tool-adapters.md`.
233
+
234
+ ### 10. AI video prompt construction
235
+
236
+ **S1 — motion-only** (image-to-video). The image already carries identity, composition, lighting, setting, costume, and style. The text defines motion, camera, timing, end state, and constraints — in this order:
237
+
238
+ ```text
239
+ [Camera behavior]. [Subject starts in visible state], then [one primary action with pace and direction].
240
+ [Environment reacts subtly]. End with [clear final pose/composition].
241
+ Maintain [identity / costume / location / light direction]. Avoid [failure modes matching this shot's risk].
242
+ ```
243
+
244
+ **S2 — full description** (text-to-video). The text carries everything:
245
+
246
+ ```text
247
+ [Format/style]. [Subject with concrete visual identity]. [Location + era + time + atmosphere].
248
+ [Primary action]. [Shot size + lens + angle + camera movement]. [Light source + direction + quality].
249
+ [Composition]. [Audio if supported]. [Constraints].
250
+ ```
251
+
252
+ **S3 — keyframe pair** (first frame + last frame). Describe the bridge between two approved stills, not the stills themselves:
253
+
254
+ ```text
255
+ Start from the first image and end on the second. Between them, [one continuous transformation].
256
+ Camera [path, or explicitly locked]. Motion [eases in / holds a constant rate / accelerates once].
257
+ Nothing else changes: [identity / costume / set / light direction] are identical in both frames.
258
+ Avoid [failure modes matching this shot's risk].
259
+ ```
260
+
261
+ **S4 — multi-shot timestamped**:
262
+
263
+ ```text
264
+ Overall: [theme, tone, character and setting continuity rules]
265
+ [00:00-00:03] Shot 1: [size/angle]. [action]. Camera [move]. [light or sound cue]
266
+ [00:03-00:06] Shot 2: [size/angle]. [action]. Camera [move]. [light or sound cue]
267
+ ```
268
+
269
+ Per-segment lines carry action, camera, and at most one light or sound cue. Identity, wardrobe,
270
+ palette and lighting facts live in the `Overall:` block and are never restated in a segment — one
271
+ re-description and the model recasts the character. No emotion word goes in a segment either: hard
272
+ rule 5 applies inside S4 exactly as it does everywhere else, and an emotion adjective here is the
273
+ fastest way to get a generic performance in every segment at once.
274
+
275
+ Templates: `assets/video-prompt-template.md`. Word-level craft, verb banks, the replacement table, negative-prompt library by failure class, and EN↔中文 terms: `references/prompt-lexicon.md`.
276
+
277
+ If a style lens is active, take its `camera`, `ai_video` and `negative_prompt_adds` values as the defaults for every prompt written here, and use its `Video / motion prompt` template as the shape.
278
+
279
+ ### 11. Sound and dialogue plan
280
+
281
+ Sound is a directing decision, and in AI film it is the cheapest continuity glue available — one continuous ambience bed under a sequence hides an enormous amount of visual drift.
282
+
283
+ Plan five layers per shot: room tone, ambience, foley, spot effects, score. For dialogue, respect the one-speaker-per-clip rule, label speakers unambiguously, and convert what cannot be generated into voice-over, off-screen line, or reaction-only. Template: `assets/sound-plan-template.md`. Depth: `references/sound-and-dialogue.md`.
284
+
285
+ ### 12. Edit and assembly plan
286
+
287
+ Generated clips are raw material, not a cut. Specify the timeline: clip order, in/out points, trim handles, transition into each clip, and the audio layers running underneath. Design match cuts by building shot A's last frame and shot B's first frame together. Fix what can be fixed with a cutaway, a trim, or a dissolve rather than another generation.
288
+
289
+ Template: `assets/edit-timeline-template.md`. Depth: `references/editing-and-assembly.md`.
290
+
291
+ ### 13. QC and repair loop
292
+
293
+ Gate with `assets/qc-checklist.md` when scoring a clip or a batch. When something fails, diagnose in this order — each bucket with the codes it usually resolves to:
294
+
295
+ 1. **Asset mismatch** — references too inconsistent to hold identity (F1, F3, F16).
296
+ 2. **Prompt overload** — over motion budget: too many actions or camera moves (F4, F6).
297
+ 3. **Weak action** — the frame is a pose, not an implied motion (F2).
298
+ 4. **Missing endpoint** — the prompt never says where the action ends (F5).
299
+ 5. **Bad camera logic** — the move contradicts the framing or the space (F6).
300
+ 6. **Continuity gap** — shot A's end state does not match shot B's start state (F7).
301
+ 7. **Tool mismatch** — asking a model for a feature it does not control (F6, F11).
302
+
303
+ If the user reports more than one symptom, collect **every** code before proposing anything. Multiple codes usually share one root decision, and fixing them one at a time re-spends the same generation.
304
+
305
+ Then apply the **cost ladder** in order — prompt edit, parameter change, regenerate, rebuild the keyframe, a video-to-video pass over the delivered clip where the surface exposes one, re-plan the shot, fix in the edit, cut the shot — and stop at the first level that works. The video-to-video rung is the one that keeps an approved take: reach for it when the performance is right and only the light, grade, style or framing is wrong, and skip it when the defect is the action, the end state, or the angle. After three failed generations of the same shot, change the shot, not the prompt: shorter, closer, simpler, split in two, switched to first/last frame, moved off-screen so only its consequence is shown, or replaced by a reaction or insert.
306
+
307
+ Never run a diagnostic questionnaire. Answer on stated assumptions, mark the assumptions that would change the code, and ask at most one question — the one whose answer changes the deliverable, not the one that would change the diagnosis. Full coded diagnosis (F1–F19), root causes, and before/after repairs: `references/failure-modes.md`.
308
+
309
+ Repair output format:
310
+
311
+ ```markdown
312
+ ## Diagnosis
313
+ - [failure code and the specific mechanism, not a generic guess; one line per code if several]
314
+ - [shared root: the one decision that produced them all]
315
+
316
+ ## Fix
317
+ - [the cheapest change on the cost ladder that addresses the root]
318
+
319
+ ## Revised prompt
320
+ [clean prompt]
321
+
322
+ ## Why this should work
323
+ [one or two sentences tied to the mechanism]
324
+ ```
325
+
326
+ If no prompt, keyframe, or clip was supplied, do not invent the user's shot to fill the third section. Output the diagnosis, the fix ladder, and the prompt *shape* to rewrite into, then ask for the original prompt and which input mode produced it.
327
+
328
+ ## Output modes
329
+
330
+ | Mode | Name | Use when | Template |
331
+ |---|---|---|---|
332
+ | A | Director Analysis | Interpretation, subtext, direction rules | inline (below) |
333
+ | B | Beat Sheet | Structure before shots | `assets/beat-sheet-template.md` |
334
+ | C | Director's Book | Rules that govern the whole piece | `assets/director-book-template.md` |
335
+ | D | Shot Plan | Shot list, storyboard plan, shooting table | `assets/shot-plan-template.md` |
336
+ | E | Keyframe Prompt Pack | Stills, first/last frames, panels, character sheets | `assets/keyframe-prompt-template.md` |
337
+ | F | Video Motion Prompt Pack | Assets exist, motion prompts needed | `assets/video-prompt-template.md` |
338
+ | G | Continuity Bible | Recurring characters, locations, multi-scene work | `references/continuity-bible.md` |
339
+ | H | Sound & Dialogue Plan | Sound design, music, dialogue, VO | `assets/sound-plan-template.md` |
340
+ | I | Edit & Assembly Plan | Cutting generated clips into a sequence | `assets/edit-timeline-template.md` |
341
+ | J | QC & Repair | Something failed or looks wrong | `assets/qc-checklist.md` |
342
+
343
+ Mode A shape:
344
+
345
+ ```markdown
346
+ # Director Analysis
347
+
348
+ ## Dramatic core
349
+ [one paragraph]
350
+
351
+ ## Subtext
352
+ [one paragraph]
353
+
354
+ ## Emotional arc
355
+ [opening → escalation → turn → closing]
356
+
357
+ ## Visual thesis
358
+ [one concrete, photographable rule]
359
+
360
+ ## Direction rules
361
+ - Camera:
362
+ - Lens:
363
+ - Lighting:
364
+ - Palette:
365
+ - Performance:
366
+ - Editing:
367
+ - Sound:
368
+ ```
369
+
370
+ ## Gotchas
371
+
372
+ - More cinematic adjectives is not better direction. Cut every word that does not change a decision.
373
+ - Beautiful shots that do not advance the story are the most expensive thing in the plan.
374
+ - Do not write "camera rotates, zooms, pans, tracks, and shakes" unless the tool controls that combination and the story needs it.
375
+ - Given reference images, do not reinvent costume, face, era, or location — describe them and lock them.
376
+ - "Looks like a slideshow" is not fixed by adding "cinematic motion." Add a specific subject action, an environmental reaction, and a motivated camera behavior with an end state.
377
+ - Horror and suspense want controlled stillness, negative space, delayed revelation, and sound — not constant camera movement.
378
+ - Comedy wants a wider frame, a longer hold, and a flat register. Do not direct a joke like a tragedy.
379
+ - Vertical is not cropped horizontal. Stage in depth, scale the subject up, and rethink every wide shot.
380
+ - Literary or satirical material keeps its idea. Do not convert every scene into genre spectacle.
381
+ - If the user reports a failure, diagnose the mechanism before rewriting. A rewrite that does not name the cause is a guess.
382
+
383
+ ## Minimal working example
384
+
385
+ Request: "I have a keyframe of a man kneeling in a rainy old street. Make it into an AI video prompt."
386
+
387
+ Good:
388
+
389
+ ```text
390
+ Low-angle medium close shot, locked camera with a very slow push-in, no other movement. The man starts
391
+ on one knee in the muddy rain-soaked street, one hand pressed flat against the wet ground. He breathes
392
+ heavily, then slowly lifts his head just far enough for his wet hair to fall aside and reveal one tired
393
+ eye. Rain keeps breaking the surface of the puddles around his robe; distant lightning briefly lifts the
394
+ far end of the empty street. End with him half-raised and still unsteady, weight on the forward knee,
395
+ head up. Maintain the same face, wet hair, crimson robe, stormy old Chinese street, low-key practical
396
+ lighting from a single lantern camera-left. No text, no watermark, no extra people, no plastic, no
397
+ rubber soles, no wristwatch, no printed logos.
398
+ ```
399
+
400
+ Bad:
401
+
402
+ ```text
403
+ Cinematic dark horror atmosphere, the man struggles in the rain and remembers his past, dramatic camera,
404
+ emotional, high quality, masterpiece.
405
+ ```
406
+
407
+ The good version names a camera behavior and forbids the rest, gives one primary action with visible body mechanics, adds one environmental reaction, states an end state, repeats the invariants, and lists only the negatives this shot actually risks — as nameable instances, not as the category "modern objects," which a model cannot resolve. The bad version names a mood and hopes.
408
+
409
+ ## Self-check before responding
410
+
411
+ - Does every shot have a story function you could state in one clause?
412
+ - Is there exactly one dominant camera move per clip — or a deliberate none?
413
+ - Does every action have a start state and an end state?
414
+ - Are the invariants written verbatim, identically, in every prompt of the scene?
415
+ - Do adjacent shots clear the cut geometry — two size steps on an unchanged axis, or one step plus a
416
+ 30°+ angle change — unless the match is deliberate? Rungs and the rule: `references/cinematic-language.md`.
417
+ - Are the negatives limited to this shot's real risks?
418
+ - If a style lens was named, would a reader be able to tell which one from the output alone?
419
+ - Does the output stay clear of any specific shot, line, character, or plot beat from a real film?
420
+ - Is the output proportional to what was asked?
@@ -0,0 +1,97 @@
1
+ # Beat Sheet Template
2
+
3
+ Load this file when you are at Step 3 (beat map) or the user asked for Mode B — a beat sheet(节拍表), "break this into beats", or "what actually happens in this scene".
4
+
5
+ ## What makes a beat a beat
6
+
7
+ A beat is a change in the balance of pressure between what a character wants and what the scene is doing to them. It is not a change of camera, not a change of location, and not a new piece of stage business.
8
+
9
+ Seven rules. A row that breaks any of them is not a beat.
10
+
11
+ 1. **State in must differ from state out.** If you cannot write two genuinely different phrases, merge the row into its neighbour.
12
+ 2. **Every delta names its agent.** Something applied the pressure: the character's own body, another person, an object, an off-screen sound, or a deadline. "The mood shifts" names no agent and is not a beat.
13
+ 3. **Camera is not a beat.** "Push in on his face" is a Step 7 decision. A real beat survives being shot three different ways. If the visual-action cell contains a shot size or a camera move, you have written a shot.
14
+ 4. **Location change is not a beat.** Walking to the door is a beat only if arriving changes the pressure. Otherwise it is travel and belongs inside a neighbouring beat. A second location that runs *at the same time* as the first is not travel — it is a second thread, gets its own letter in the Thread column, and its rows are judged by these same seven rules.
15
+ 5. **One beat, one turn.** Two turns in one row means two rows.
16
+ 6. **Escalation, not business, is what earns a row.** Beats run in story order within their thread — you do not reorder them, and where two threads run at once each is ordered on its own while the interleave is an edit decision, not a beat-sheet one. But if the running tension is flat across three consecutive rows, those three rows are one beat and you have listed activity.
17
+ 7. **The last beat is what the audience walks out holding.** It is the only beat allowed to release the character while tightening the audience.
18
+
19
+ Weak row, then the same material as a beat:
20
+
21
+ | Version | Story function | State in | Δ pressure (agent) | Visual action | State out |
22
+ |---|---|---|---|---|---|
23
+ | Not a beat | A tense moment at the door | Nervous | +2 (the atmosphere) | Push in on his face as he hesitates | Still nervous |
24
+ | A beat | Reveal that delivering has a cost | Still believes he is only a messenger | +2 (his own hand — it will not finish the knock) | Right hand rises, knuckles stop 3cm from the wood, hold, then the hand lowers to his thigh | Exposed to himself; the errand has become a decision |
25
+
26
+ The weak row breaks rules 1, 2 and 3 at once — state in equals state out, the agent is "atmosphere", the visual action is a camera move — and on top of that "a tense moment at the door" names a mood rather than a job. Nothing downstream can be built on it: there is no coverage to plan and no end state to hold a generator to.
27
+
28
+ ## Pressure notation
29
+
30
+ Score tension on a 0–10 scale for the point-of-view character. The Δ column is the signed change plus the agent in parentheses. Write one number while the character and the audience move together; split it — `−6 him / +1 us` — the moment they diverge, which happens whenever the audience knows something he does not, and always on a beat that releases him while tightening them. A Δ of 0 is not permitted — delete the row.
31
+
32
+ The numbers are only worth writing if they are arithmetic: the running curve must be the state-in of beat 1 plus each successive Δ. A curve that does not sum is a mood board with digits on it.
33
+
34
+ ## Beat table
35
+
36
+ | # | Thread | Story function | State in | Δ pressure (agent) | Visual action | State out | Shot family | Sec |
37
+ |---:|---|---|---|---|---|---|---|---:|
38
+ | 1 | | | | | | | | |
39
+ | 2 | | | | | | | | |
40
+
41
+ Column rules:
42
+
43
+ - **Thread** — which storyline the beat belongs to. One value for a single-line scene (`main`); `A` and `B` when the scene cross-cuts two actions running at the same time. Threads make parallel action plannable here; how the two are interleaved, and at what rate, is owned by [editing and assembly](../references/editing-and-assembly.md).
44
+ - **Story function** — the job this beat does for the scene, in verb form. Not "sad moment"; "reveal that delivering the letter has a cost".
45
+ - **Visual action** — externally visible behaviour only. No verbs the camera cannot photograph (`realizes`, `remembers`, `feels`). See the verb list in [prompt lexicon](../references/prompt-lexicon.md).
46
+ - **Shot family** — one of the shot-function names owned by [cinematic language](../references/cinematic-language.md): establishing, relation, close-up, insert/detail, reaction, transition, aftermath, point-of-view, reveal. This is a *family*, not a shot; it tells Step 7 what kind of coverage the beat wants. Do not coin names outside that list — Step 7 has to be able to look the word up.
47
+ - **Sec** — estimated screen time. These sum to the scene's target duration and become the time budget for the shot plan.
48
+
49
+ ## Worked example
50
+
51
+ Project `Under the Door`, scene 7. Target 22s, 16:9, no style lens. A courier delivers a letter to a 1937 Shanghai lilong(里弄)apartment and chooses not to be present when it is read.
52
+
53
+ Visual thesis: the door grows and the courier shrinks until the only thing in frame still holding light is the gap underneath it.
54
+
55
+ | # | Thread | Story function | State in | Δ pressure (agent) | Visual action | State out | Shot family | Sec |
56
+ |---:|---|---|---|---|---|---|---|---:|
57
+ | 1 | main | Turn an address into one specific door | Rehearsed, on-task, has not thought past the delivery | +1 (arrival — the abstract errand becomes one specific door) | Climbs the last flight, checks the door against the envelope, takes three steps and stops 60cm short | Located and squared to the door, envelope up at chest | establishing | 4 |
58
+ | 2 | main | Reveal that delivering has a cost | Located; still believes he is only a messenger | +2 (his own hand — it will not finish the knock) | Right hand rises, knuckles stop 3cm from the wood, hold, then the hand lowers to his thigh | Exposed to himself; the errand has become a decision | reaction | 5 |
59
+ | 3 | main | Make the person behind the door real | Hesitating in what he assumed was privacy | +2 (off-screen — a chair scrapes, a radio comes up) | A shadow crosses the warm line under the door; his eyes drop from the door face to the gap | Cornered; being present is now the risk | insert/detail | 3 |
60
+ | 4 | main | He chooses the cowardly delivery | Cornered, out of time | +3 him / +2 us (his own act, and it cannot be undone) | Crouches, feeds the envelope under the door, pushes with two fingers until his fingertips touch wood and the envelope is gone | Committed; hands empty, nothing retrievable | reveal | 6 |
61
+ | 5 | main | Leave the audience holding what he refused to hold | Released, ashamed | −6 him / +1 us (he is gone; the letter is not) | Stands, backs two steps, turns and drops down the stairs; the empty landing holds until a shadow crosses the light line from inside | Absent | aftermath | 4 |
62
+
63
+ Running tension — courier: `2 → 3 → 5 → 7 → 10 → 4`. Audience: `2 → 3 → 5 → 7 → 9 → 10`. Both curves are the state-in of B1 followed by each state-out, so every step is the row's Δ; if they do not add up, one of the two is a wish. The largest rise (+3, B4) completes at 82% of scene time, and only the courier comes down. That is the shape you want.
64
+
65
+ This beat sheet feeds [director book](director-book-template.md) at Step 5 and [shot plan](shot-plan-template.md) at Step 7. Beat numbers (`B1`…`B5`) are the join key — do not renumber them once shots reference them.
66
+
67
+ ## How many beats
68
+
69
+ | Target duration | Beats | Typical shots | Shape |
70
+ |---|---:|---:|---|
71
+ | 8–15s (single clip, social) | 2–3 | 2–4 | One turn, no aftermath |
72
+ | 20–40s (a scene) | 4–6 | 4–8 | Setup, escalation, turn, aftermath |
73
+ | 40–60s (a long scene / social short) | 6–8 | 8–14 | Setup, two escalations, turn, aftermath |
74
+ | 60–90s (a sequence) | 7–10 | 12–20 | Two escalations before the turn |
75
+ | 3–5 min (short film) | 18–30 | 40–90 | Act shape; split into 3–5 scenes and beat each separately |
76
+
77
+ Working rule for a single scene: `beats ≈ target_seconds / 5`, floor of 2. It holds to about 40s, then the divisor widens toward 7 seconds a beat across the 40–60s band — a 45s piece is 6–7 beats, not the 9 that `/5` predicts — and past 60s it stops entirely: a 90s sequence is not 18 beats. Past 60s, split into scenes of 20–40s and apply the rule per scene, which is why the lower rows of the table run 9–10 seconds a beat rather than 5. Above 12 beats in one table you are beating a sequence, not a scene; split before continuing.
78
+
79
+ The 40–60s row is not a rounding of its neighbours; it is the band most social shorts land in, and it is one scene, not two. A 45s single-location, single-character piece built on a continuous procedure has one setup and one turn — splitting it into two 22s scenes to satisfy the arithmetic destroys the continuity that is doing the work. Split at 60s, and only where the location, the cast or the time actually changes.
80
+
81
+ Boundaries:
82
+
83
+ - A beat estimated under 2s is a shot, not a beat. Fold it into a neighbour.
84
+ - A beat estimated over 10s is two beats, or one beat plus dead air. Re-read it for the second turn you did not notice.
85
+ - One shot per beat is the default at scene scale, with two or three spent only on the turn beat. The ratio drifts to 2–3 shots per beat at sequence and film scale because the beats themselves get longer, not because the beats need more angles. If every beat in a 30s scene gets three shots you have produced a coverage list, not a plan.
86
+
87
+ ## Self-check
88
+
89
+ Run all seven before handing the sheet on. Any failure is a rewrite, not a note.
90
+
91
+ 1. Does every row have `state in ≠ state out` and a non-zero Δ?
92
+ 2. Can you name the agent for every Δ without using the words mood, tone, or atmosphere?
93
+ 3. Is any row merely a camera idea? Strike any visual action containing a shot size or a camera move.
94
+ 4. Is any row merely a location change with no pressure change?
95
+ 5. Does the running tension actually rise, and do the plotted curves equal the running sum of the Δ column? Flat or sawtoothing without net rise means the scene has no shape yet; curves that do not sum mean the Δs are decoration.
96
+ 6. Does the largest single *rise* land at or after the 60% mark? If the biggest jump is beat 1, everything after it is downhill.
97
+ 7. Do the seconds sum to the target duration within ±15%? If not, cut a beat rather than shaving every row.