@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,245 @@
1
+ ---
2
+ name: short-drama-novel-analyze
3
+ description: 把长篇小说、连载网文或多集散稿拆成可追溯的原著分析:章节索引、改编价值快评、逐章功能提取、剧情单元与节奏聚合、人物与设定归并,最后给出改编价值判定与分集候选,交给 $short-drama-develop 立契约。用户说“导入这本小说”“拆这本书”“分析原著”“这本书能不能改短剧”“先看看值不值得拆”“把长篇拆成分集候选”,或直接给出小说文件路径时使用。只做只读的结构化分析,不写剧本、不建资产、不生成媒体,也不替创作者决定改编方案。
4
+ license: MIT
5
+ ---
6
+
7
+ # 长篇原著分析
8
+
9
+ 把一部长材料变成**能被引用、能被反驳、能被接着用**的分析层。目标不是复述剧情,而是找出
10
+ 每一段承担的戏剧功能,并说明它在竖屏短剧里值多少钱。
11
+
12
+ 分析永远是候选。哪条线保留、哪些人合并、从哪里开篇,是创作者的决定,由
13
+ `$short-drama-develop` 立成改编契约。本技能不替它决定,也不批准自己的产物。
14
+
15
+ ## Quick Start
16
+
17
+ 离线验证章节索引、采样和源文件变更检测:
18
+
19
+ ```bash
20
+ python3 {技能目录}/scripts/selftest.py
21
+ python3 {技能目录}/scripts/novel_index.py index <原著.txt> --out <chapter-index.json>
22
+ ```
23
+
24
+ ## 开始前
25
+
26
+ 本技能可独立安装和执行。先读取用户明确提供的原著与本任务直接输入;若当前目录是
27
+ `short-drama` 项目且项目工具可用,可以读取 `status` 并使用其发布生命周期,但缺少 core
28
+ 或任何其他技能都不是分析工作的阻断条件。完整边界与规则见
29
+ [阶段契约](references/stage-contract.md),无需读取其他技能的文件。
30
+
31
+ ## 材料前提
32
+
33
+ 只分析创作者**合法持有、拥有使用权**的作品。分析是只读的转化性工作:提取结构与功能,
34
+ 不复制原文成段落,不把原句搬进下游产物。
35
+
36
+ 通俗题材里的暴力、复仇、背叛、情爱张力与黑暗伦理是常规虚构叙事元素,照常做结构化提取。
37
+ 个别片段无法处理时跳过该段并记录,不要因此中止整章或整本——中止会让后续所有阶段拿到
38
+ 一份有洞却看不出洞在哪的分析。
39
+
40
+ ## 先判断入口
41
+
42
+ 1. **只有书名,没有原文**:请创作者提供文件路径或粘贴正文。不要凭书名回忆情节——
43
+ 没有字节就没有 span,没有 span 的分析无法被引用,也无法被反驳。
44
+ 2. **有原文,未建项目**:直接建立一个本技能自己的工作区,至少包含只读输入目录
45
+ `输入/` 与输出目录 `项目开发/source-analysis/_work/`;把原文字节复制到 `输入/` 后记录
46
+ 原始文件位置,再用本技能的 `novel_index.py` 建索引。若 `$short-drama` 可用,可选用它
47
+ 初始化同样的目录和发布生命周期,但不得把 core 安装变成开始分析的前提。
48
+ 3. **有原文,项目已在**:直接进入管道。
49
+ 4. **已有部分分析**:读 `项目开发/source-analysis/_progress.md` 从断点续跑,
50
+ 不重跑已完成阶段。
51
+
52
+ ## 管道
53
+
54
+ `输入/` 是不可变的创作者输入,本阶段只读它。全部产出落在 `项目开发/source-analysis/`。
55
+ 独立工作区与完整项目使用同一套相对路径,因此后续安装 core 时无需迁移分析产物。
56
+
57
+ | 阶段 | 做什么 | 产出 | 停靠 |
58
+ |---|---|---|---|
59
+ | S0 | 建章节索引(脚本) | `_index.json`、`_progress.md` | 索引有问题就停 |
60
+ | S1 | 改编价值快评(抽样) | `triage.md` | **停靠问创作者** |
61
+ | S2 | 逐章功能提取 | `chapters/ch-<N>-extract.md` | 覆盖率不足就停 |
62
+ | S3 | 剧情单元与节奏聚合 | `story-units.md`、`rhythm-and-emotion.md` | 阈值不达标就复核 |
63
+ | S4 | 人物归并与设定 | `characters.md`、`world.md` | — |
64
+ | S5 | 改编价值与分集候选 | `adaptation-value.md`、`episode-candidates.jsonl` | 交接 develop |
65
+
66
+ ### S0 章节索引
67
+
68
+ 索引是**唯一切片真源**,由 [章节索引脚本](scripts/novel_index.py) 建立。每个阶段各跑
69
+ 一次正则,就会切出互相对不上的章节,第 47 章按一种边界分析、按另一种边界聚合,
70
+ 而且没有人会发现。
71
+
72
+ ```bash
73
+ python3 {技能目录}/scripts/novel_index.py index 输入/{原文文件} \
74
+ --out 项目开发/source-analysis/_work/_index.next.json
75
+ python3 {技能目录}/scripts/novel_index.py verify \
76
+ 项目开发/source-analysis/_work/_index.next.json 输入/{原文文件}
77
+ # 项目工具可用时可选:
78
+ python3 {core 技能目录}/scripts/project_tool.py publish {项目根} \
79
+ --owner short-drama-novel-analyze --artifact-id source-analysis:index \
80
+ --output 项目开发/source-analysis/_index.json=项目开发/source-analysis/_work/_index.next.json \
81
+ --input 输入/{原文文件}
82
+ ```
83
+
84
+ 脚本识别阿拉伯数字与中文数字章号(含 千 / 两,覆盖千章以上连载),**只认一种编号单位**
85
+ (章/回/节里出现最多的那个,其余记进 `ignored_heading_units`),只把**短的独立行**当标题
86
+ (以章号开头的正文段落记进 `long_heading_lines_skipped`),剔除开头的目录块,
87
+ 按卷分段校验编号。它**不做编辑判断**——哪章重要、
88
+ 讲了什么,是后面阶段的事。
89
+
90
+ `problems` 非空就停下报告,不要带着错表进 S1。常见四种:章号跳号(缺章或抓错标题)、
91
+ 同卷内重号、正文极少的章(多半抓到了目录残留或卷首页)、无法解析的章号。
92
+ 另外确认三个计数:`chapter_unit` 与 `ignored_heading_units`——一本用 `第N章` 分章、
93
+ 用 `第N节` 分小节的书应当看到 `chapter_unit: 章` 且 `节` 被记入忽略计数,反过来说明分章单位
94
+ 判断错了;`long_heading_lines_skipped` 明显偏大时,多半是这本书的章节标题确实很长,
95
+ 需要与创作者确认后手写边界。
96
+
97
+ 原文本身没有章节标题时索引会返回空表,此时与创作者确认按什么切分,把边界写进
98
+ `_work/_index.next.json`,通过 `verify` 后再按上面的公开生命周期发布——手写的行也要带齐
99
+ `sequence` / `line_start` / `line_end`,`verify` 会逐行检查并报出缺字段的行。
100
+
101
+ 改了原文必须重建索引,不能沿用旧 span。`verify` 核对编号、顺序与行号覆盖,所以插行删行会被报出来;
102
+ 但同行数的原地改写不会——那一步靠改原文的人自己重建,套件不比对字节。
103
+
104
+ ```bash
105
+ python3 {技能目录}/scripts/novel_index.py verify \
106
+ 项目开发/source-analysis/_index.json 输入/{原文文件}
107
+ ```
108
+
109
+ ### S1 改编价值快评
110
+
111
+ 回答**这本书值不值得花全量拆解的成本**。判据是全书的改编密度——`screen_ready` 单元占多少、
112
+ `prose_only` 占多少、制作负担压在哪几段——所以快评横跨整本书,用脚本抽样:
113
+
114
+ ```bash
115
+ python3 {技能目录}/scripts/novel_index.py sample \
116
+ 项目开发/source-analysis/_index.json --count 12
117
+ ```
118
+
119
+ 抽样确定、可复现、首尾必取,跑第二次引用的是同一批章。按
120
+ [改编价值快评](references/adaptation-triage.md) 写 `triage.md`,覆盖六件事:
121
+ 故事框架、三类判定比例、开篇替换点、制作负担量级、最大的三处改编风险、分集候选量级。
122
+ 第一行写覆盖率(脚本返回的 `coverage_ratio`),所有结论限于抽样范围。
123
+
124
+ **这里停靠问创作者**:给出快评与全量拆解的预计耗时(按章数粗估),问是否继续。
125
+ 创作者一开始就明确说「一次跑完」时仍写 `triage.md`,但不停下等待——它是 S5 要回填
126
+ 对照的第一版假设。
127
+
128
+ 停靠时把 `_progress.md` 的状态写成 `paused_after_triage`,断点写「下一步:S2 逐章提取」。
129
+
130
+ S1–S5 的 Agent 创作产物同样先写到 `source-analysis/_work/`,完成本阶段机械检查后再发布到
131
+ 上表中的正式路径。项目工具可用时用 `project_tool.py publish` 和稳定 artifact-id;独立运行时
132
+ 原子替换正式文件。不要用半成品覆盖 `_index.json`、`_progress.md`、`chapters/*.md` 或聚合产物。
133
+ `_work/` 是候选工作区,不是权威分析层,也不进入交付包。
134
+
135
+ **并发子代理写 `_work/`,主线程发布到正式路径**。子代理只落
136
+ `_work/chapters/ch-<N>-extract.md`,主线程跑完机械自检后再发布到 `chapters/`。
137
+ 覆盖率闸门按正式路径 `chapters/` 匹配文件名——发布之前跑,每一章都会进
138
+ `unmatched_files`,那不是缺陷,只是跑早了。
139
+
140
+ `_progress.md` 每个阶段都会重写,而发布要求一个路径只有一个 owner,所以它用一个固定
141
+ artifact-id:`source-analysis:progress`,owner 是 `short-drama-novel-analyze`,
142
+ S0–S5 每次停靠都用同一个 id 重新发布。
143
+
144
+ ### S2 逐章功能提取
145
+
146
+ 按 [章节提取](references/chapter-extraction.md) 处理每一章。能并发子代理就分批并发
147
+ (每批 5–8 章,等一批落盘再发下一批),不支持就串行——两条路径的写法要求和自检是同一份,
148
+ 只是速度不同。
149
+
150
+ 每章提取完落到 `chapters/ch-<N>-extract.md`,`<N>` 是索引里的 `sequence`,不是原文章号
151
+ (多卷书的原文章号会重复,sequence 不会)。全部落盘后跑覆盖率:
152
+
153
+ ```bash
154
+ python3 {技能目录}/scripts/novel_index.py coverage \
155
+ 项目开发/source-analysis/_index.json 项目开发/source-analysis/chapters
156
+ ```
157
+
158
+ `missing` 非空就补跑缺的章;`unmatched_files` 非空说明有文件名写歪了——它既不算覆盖,
159
+ 也不会被当成缺章,必须改名而不是重跑。**不要在覆盖率不足时进入 S3**——聚合会照样产出
160
+ 一份读起来完整的结果,而缺掉的章不会在任何地方留下痕迹。
161
+
162
+ 单章连续失败两次就标记跳过,写进 `_progress.md` 的失败记录,并在后续每一份聚合产物里
163
+ 注明该章缺失。失败可以接受,失败被藏起来不行。
164
+
165
+ ### S3 剧情单元与节奏
166
+
167
+ 从逐章提取聚合,不回头重读原文——原文已经在 S2 被读过一次,再读一次只会得到第二份互相
168
+ 矛盾的事实。按 [聚合与实体](references/aggregation-and-entities.md) 先识别故事框架
169
+ (框架决定按什么切单元),再产出:
170
+
171
+ - `story-units.md`:把情节点归成有始有终的单元,每个单元记录进入状态、冲突、代价与出去状态;
172
+ - `rhythm-and-emotion.md`:关键信息如何逐章推进、情绪触动点的铺垫→释放→余波、
173
+ 跨章伏笔与兑现。
174
+
175
+ 聚合完成后跑同一文件里的三条阈值自检(归属置信、覆盖率、重叠率)与散落情节兜底。
176
+ 阈值不是评分,是**边界模糊的信号**:重叠率过高说明两个单元其实是一个。
177
+
178
+ ### S4 人物与设定
179
+
180
+ 按 [聚合与实体](references/aggregation-and-entities.md) 归并人物(跨章去重、别名归一、
181
+ 分级),并从提及数据归纳世界规则、力量体系与势力。别名只有专名与有同指证据的绰号能合并,
182
+ 描述性称谓与头衔**永远不触发合并**。
183
+
184
+ **人物归并是候选,不是资产**。 这里的人物条目带 `unresolved` 与来源引用,
185
+ 交给 `$short-drama-develop` 定改编决定、`$short-drama-write` 写进剧本之后,
186
+ 才由 `$short-drama-assets` 从已接受剧本建立真正的资产身份。绕过这条链直接建资产,
187
+ 等于让原著的人物表冒充剧本的出现证据。
188
+
189
+ ### S5 改编价值与分集候选
190
+
191
+ 这是本技能与通用拆书的分水岭。按 [改编价值](references/adaptation-value.md) 产出:
192
+
193
+ - `adaptation-value.md`:哪些单元在竖屏短剧里能直接成立、哪些要换载体、哪些是纯文字快感
194
+ (内心戏、叙述性诡计、长铺垫)在画面上无法兑现;制作负担落在哪里。
195
+ - `episode-candidates.jsonl`:按**局部戏剧结果与精确交接**切出的候选集,不按章号或字数
196
+ 平均切。每条带来源 span、承担的功能、以及未决项。
197
+
198
+ 同时**回填快评**:S1 的哪几条判断被全量结果推翻了,写进 `adaptation-value.md` 的开头。
199
+ 一个抽样结论被证伪,比它被悄悄忘掉有用得多——下一本书的快评会因此更准。
200
+
201
+ 样例见 [分集候选样例](assets/episode-candidate.example.jsonl)。
202
+
203
+ ### 交接
204
+
205
+ S5 完成后展示创作者可读的摘要,说明:拆了多少章、跳过哪些、分了多少个候选集、
206
+ 最大的三处改编风险、以及快评里被推翻的判断。然后交给 `$short-drama-develop`——
207
+ 由它把候选变成 `项目开发/adaptation-map.jsonl` 与改编契约。
208
+
209
+ **本技能不写 `adaptation-map.jsonl`**,那是 develop 的产物。需要质量结论时交给独立的
210
+ `$short-drama-review`(范围 `source_analysis`)。
211
+
212
+ ## 规则分级
213
+
214
+ - **`structural_invariant`**:索引与 span 的可证明性、引用完整性、覆盖率。可由脚本阻断。
215
+ - **`reviewed_invariant`**:功能提取是否忠于原文、归并是否保住戏剧作用等语义义务。
216
+ - **`craft_default`**:通常有帮助的做法;创作者说明理由后可覆盖。
217
+ - **`taste_option`**:从哪里开篇、保留哪条线等选择;不得单独阻断。
218
+
219
+ 不要用固定的章数配方、情节点数量或篇幅比例替代因果判断。
220
+
221
+ ## 产物与边界
222
+
223
+ 本技能只拥有 `项目开发/source-analysis/` 下的文件:`_index.json`、`_progress.md`、
224
+ `chapters/*.md`、`triage.md`、`story-units.md`、`rhythm-and-emotion.md`、
225
+ `characters.md`、`world.md`、`adaptation-value.md`、`episode-candidates.jsonl`。
226
+
227
+ 它不改写 `输入/`,不写 `项目开发/` 下其他技能的产物,不建资产、不写场景与台词、
228
+ 不写提示词、不生成媒体,也不签发终审结论。
229
+
230
+ **不把原文成段复制进分析**。记录 locator、span 与去引用的功能摘要;需要证据时引用
231
+ 最短的必要片段。交付包不得把原始材料带出边界。
232
+
233
+ ## 语言
234
+
235
+ 分析产物是创作者读的:项目内跟随 `short-drama.json#/language`,独立运行时跟随用户使用的
236
+ 语言,不在本技能内硬编码语言。本技能不产生提示词正文,与
237
+ `#/format/prompt_language` 无关。
238
+
239
+ ## 按需加载
240
+
241
+ - **快评读哪些章、写哪六件事、怎么不冒充全量分析**:[改编价值快评](references/adaptation-triage.md)
242
+ - **逐章提取写法、白描与叙事框架词的界线、机械自检、并发与串行**:[章节提取](references/chapter-extraction.md)
243
+ - **故事框架、剧情单元、节奏情绪、人物归并、阈值与散落兜底**:[聚合与实体](references/aggregation-and-entities.md)
244
+ - **改编价值评估、载体替换与分集候选切法**:[改编价值](references/adaptation-value.md)
245
+ - **本阶段拥有什么、继承什么、不越权什么**:[阶段契约](references/stage-contract.md)
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "长篇原著分析"
3
+ short_description: "把长篇小说拆成章节索引、剧情单元与可改编的分集候选清单"
4
+ default_prompt: "使用 $short-drama-novel-analyze 先给这本小说做改编价值快评,再决定要不要全量拆解。"
@@ -0,0 +1,3 @@
1
+ {"record_type":"sources","schema_version":"1.0.0","sources":{"index":{"owner":"short-drama-novel-analyze","artifact":"项目开发/source-analysis/_index.json"},"original-source":{"owner":"creator","artifact":"输入/original-source.txt"}}}
2
+ {"example_only":true,"destination":"项目开发/source-analysis/episode-candidates.jsonl","schema_version":"1.0.0-draft","record_type":"episode_candidate","candidate_id":"NVA-EPC-EXAMPLE-001","status":"candidate","source_ref":{"src":"original-source"},"index_ref":{"src":"index"},"story_units":["UNIT-EXAMPLE-03"],"chapter_range":{"sequence_start":14,"sequence_end":19},"screen_judgement":"needs_carrier","trope_tags":["信息差","反转打脸"],"entering_knowledge":"观众已知两人共用一份旧证据,但不知道其中一人已经改过它","promise_paid":"改动被第三方当场指出,怀疑从猜测变成具体指控","exit_pressure":"被指控者必须在下一次公开场合前决定认或不认","inherited_facts":["改动过的证据仍在对方手里","两人的合作关系尚未破裂"],"preserved_functions":["关系压力","信息不对称"],"carrier_change":{"original_carrier":"长段内心权衡","new_carrier":"第三方当众比对两份文件的可见动作","lost_or_changed":["读者原本先于角色知道改动,改编后观众与角色同时知道"]},"production_load":{"distinct_locations":2,"characters_in_frame":3,"readable_text_required":true,"notes":"证据文件的可读文字需与美术确认"},"unresolved":["第三方的立场在原文中前后不一致,待创作者裁定"],"creator_acceptance":{"status":"pending","decision_ref":null}}
3
+ {"example_only":true,"destination":"项目开发/source-analysis/episode-candidates.jsonl","schema_version":"1.0.0-draft","record_type":"episode_candidate","candidate_id":"NVA-EPC-EXAMPLE-002","status":"candidate","source_ref":{"src":"original-source"},"index_ref":{"src":"index"},"story_units":["UNIT-EXAMPLE-04"],"chapter_range":{"sequence_start":20,"sequence_end":22},"screen_judgement":"screen_ready","trope_tags":["打脸"],"entering_knowledge":"观众已知指控成立,不知道被指控者手里还有一份未公开的记录","promise_paid":"记录被主动交出,代价是失去唯一的退路","exit_pressure":"退路没了,对手却仍未出手","inherited_facts":["记录已进入公开视野"],"preserved_functions":["代价","权力转移"],"carrier_change":null,"production_load":{"distinct_locations":1,"characters_in_frame":2,"readable_text_required":false,"notes":null},"unresolved":[],"creator_acceptance":{"status":"pending","decision_ref":null}}
@@ -0,0 +1,116 @@
1
+ # 改编价值快评
2
+
3
+ ## 目录
4
+
5
+ - [产出什么](#产出什么)
6
+ - [抽样怎么取](#抽样怎么取)
7
+ - [写六件事](#写六件事)
8
+ - [开篇替换点](#开篇替换点)
9
+ - [结论限于抽样范围](#结论限于抽样范围)
10
+ - [停靠与交接](#停靠与交接)
11
+
12
+ ## 产出什么
13
+
14
+ 一份 `triage.md`,回答**这本书值不值得花全量拆解的成本**。
15
+
16
+ 它是一份可以被后面推翻的假设:S5 拿全量结果回来对照它,被推翻的判断写进
17
+ `adaptation-value.md` 开头。
18
+
19
+ ## 抽样怎么取
20
+
21
+ 由脚本取,不手挑:
22
+
23
+ ```bash
24
+ python3 {技能目录}/scripts/novel_index.py sample \
25
+ 项目开发/source-analysis/_index.json --count 12
26
+ ```
27
+
28
+ 抽样等距、首尾必取、结果确定。跑第二次引用的是同一批章,S5 回填对照才说得清哪条判断错了。
29
+
30
+ 默认 12 章。书特别长或框架复杂时调大 `--count`,调大要写进快评。抽到的章正文极少
31
+ (索引里 `char_count` 很小)时往后顺延一章并记录——那多半是卷首页,不是内容。
32
+
33
+ 快评只判断**功能与载体**:不写完整情节点表,不写人物表,不产出 `chapters/` 下的文件。
34
+ 逐章提取的格式要求见 [章节提取](chapter-extraction.md),这一步不套用。
35
+
36
+ ## 写六件事
37
+
38
+ `triage.md` 固定六段,缺一段不算快评。
39
+
40
+ ### 1. 故事框架
41
+
42
+ 从 [聚合与实体](aggregation-and-entities.md) 的框架表里选一个:升级流 / 复仇线 /
43
+ 单元剧 / 多线交织 / 蜕变成长。框架决定后面按什么切单元,也决定这本书按集切的难度——
44
+ 单元剧与短剧的集结构最贴合,多线交织在竖屏里最贵。
45
+
46
+ 抽样判不出来时写「抽样不足以判断框架」并说明原因。
47
+
48
+ ### 2. 三类判定比例
49
+
50
+ 对抽到的每一章,判断它承担的功能属于哪一类(定义见 [改编价值](adaptation-value.md)):
51
+
52
+ | 判定 | 含义 |
53
+ |---|---|
54
+ | `screen_ready` | 功能由可见行动、可听对白或空间关系承担 |
55
+ | `needs_carrier` | 功能成立,但当前载体是文字专属 |
56
+ | `prose_only` | 功能依赖读者与叙述者的关系,屏幕上无法兑现 |
57
+
58
+ 写出三类各占抽样里的多少章。这是快评里唯一给数字的一段,其余用文字判断。
59
+ `prose_only` 过半时直接说明:全量拆解大概率只会把同一个结论算得更精确。
60
+
61
+ ### 3. 开篇替换点
62
+
63
+ 见下一节。
64
+
65
+ ### 4. 制作负担量级
66
+
67
+ 抽样里出现的:最多几人同框、需要多少个不重复空间、有没有群戏 / 动作 / 特效 /
68
+ 可读文字 / 跨时间造型变化。给量级,不给预算表。
69
+
70
+ 按已接受的制作形态估;形态未定时按两种形态各给一句,不替创作者选。
71
+
72
+ ### 5. 三处最大改编风险
73
+
74
+ 具体到抽到的哪一章、哪个功能。写「改编难度较大」对任何一本书都成立,
75
+ 因此对这一本没有信息。
76
+
77
+ ### 6. 分集候选量级
78
+
79
+ 按抽样里的戏剧结果密度给一个量级(例如「约 20–30 集」),并写清这是从 N/M 章推出来的。
80
+ 集数由创作者与 `$short-drama-develop` 定,这里给的是量级。
81
+
82
+ ## 开篇替换点
83
+
84
+ 回答一个问题:**如果这本书改成短剧,第 1 集从哪里开始**?
85
+
86
+ 找**第一个可见的、有代价的、当场发生的转折**——主角第一次做出会付出代价的选择,
87
+ 且这个选择能被拍出来而不是被想出来。它通常不在第一章。写清三条:
88
+
89
+ - 落在第几章(用索引的 `sequence`);
90
+ - 它之前的内容里,哪些是观众必须知道的,可以怎样在开场后补进去;
91
+ - 哪些是原著读者需要、短剧观众不需要的。
92
+
93
+ 抽样里没有这样的转折时,写「抽样内未见可用的开篇替换点」,并列进第 5 段的风险。
94
+
95
+ ## 结论限于抽样范围
96
+
97
+ `triage.md` 第一行写覆盖率,用脚本返回的 `coverage_ratio` 与 `total_chapters`:
98
+
99
+ ```markdown
100
+ > 本快评基于抽样:读了 340 章中的 12 章(3.5%),章号见下表。结论是假设,不是结论。
101
+ ```
102
+
103
+ 三条:
104
+
105
+ - **只用读过的章做证据**。 需要提到抽样外的内容时写「抽样未覆盖」。
106
+ - **比例的分母是抽样章数**,在文里写出来。
107
+ - **候选集条目是 S5 的产物**,快评给量级即可。
108
+
109
+ ## 停靠与交接
110
+
111
+ 快评写完后向创作者报告:覆盖率、六段结论、全量拆解的预计耗时(按章数粗估)、
112
+ 以及一句直给的建议(值得拆 / 不值得拆 / 拆但先砍掉某几卷)。
113
+
114
+ 然后停下等待。`_progress.md` 状态写 `paused_after_triage`,断点写「下一步:S2 逐章提取」。
115
+
116
+ 创作者一开始就说「一次跑完」时不停靠,`triage.md` 仍然要写——S5 要拿全量结果回填对照它。
@@ -0,0 +1,124 @@
1
+ # 改编价值与分集候选
2
+
3
+ ## 目录
4
+
5
+ - [这一步在回答什么](#这一步在回答什么)
6
+ - [三类判定](#三类判定)
7
+ - [载体替换](#载体替换)
8
+ - [制作负担](#制作负担)
9
+ - [桥段标签](#桥段标签)
10
+ - [分集候选](#分集候选)
11
+ - [回填快评](#回填快评)
12
+ - [交给 develop 之前](#交给-develop-之前)
13
+
14
+ ## 这一步在回答什么
15
+
16
+ 前面几步产出的是「这本书是怎么运转的」。这一步回答的是**「这本书里有多少东西能在竖屏
17
+ 短剧里成立」**——这是拆书和改编分析的分水岭,也是本技能存在的理由。
18
+
19
+ 判定对象是**剧情单元**,不是章,也不是情节点。判定的原始依据是 S2 每章写下的
20
+ [载体记录](chapter-extraction.md#载体记录):通道栏走可见行动或对白的,多半能直接成立;
21
+ 走心理叙述或叙述者旁白的,需要换载体或根本换不了。
22
+
23
+ ## 三类判定
24
+
25
+ 每个单元落进且只落进一类:
26
+
27
+ | 判定 | 含义 | 后续 |
28
+ |---|---|---|
29
+ | `screen_ready` | 功能由可见行动、可听对白或空间关系承担 | 直接进候选集 |
30
+ | `needs_carrier` | 功能成立,但当前载体是文字专属 | 必须写出新载体,否则降级 |
31
+ | `prose_only` | 功能依赖读者与叙述者的关系,屏幕上无法兑现 | 明说放弃了什么 |
32
+
33
+ `prose_only` 的典型:长段内心权衡、叙述性诡计(读者被叙述视角欺骗,而镜头做不到同样的
34
+ 隐瞒)、靠信息密度堆出的爽感、以及需要读者记住三十章前一个细节才成立的回扣。
35
+
36
+ **不要把 `prose_only` 悄悄改写成 `needs_carrier`**。 承认放弃比假装能拍便宜得多——
37
+ 假装的代价会在分镜阶段才暴露,那时整条链都已经建在上面。
38
+
39
+ ## 载体替换
40
+
41
+ `needs_carrier` 的单元逐个写:
42
+
43
+ - **原载体**:功能现在靠什么承担(抄 S2 载体记录里的通道栏);
44
+ - **新载体**:可见行动 / 物证 / 空间关系 / 对白策略 / 第三方反应,任选但要具体;
45
+ - **保住了什么**:功能清单,逐项对上;
46
+ - **改变或失去了什么**:不写「无」。总有东西变了,写不出来说明还没想清楚。
47
+
48
+ 替换的检验标准只有一条:**观众不需要旁白就能知道发生了什么**。需要旁白解释的替换,
49
+ 是把文字问题搬到了画面上,不是解决。
50
+
51
+ ## 制作负担
52
+
53
+ 按已接受的制作形态估,不设跨项目阈值。逐单元记:需要几个人物同框、需要哪些不重复的
54
+ 空间、有没有群戏、动作或特效、可读文字、跨时间的造型变化。
55
+
56
+ 这不是预算表,是**改编排序的依据**:同样是 `screen_ready`,负担低的单元先进候选集。
57
+
58
+ ## 桥段标签
59
+
60
+ 给每个单元打桥段标签,命中就标,逗号分隔。标签的用处是让 `$short-drama-develop`
61
+ 能按题材检索,也让重复的桥段一眼可见——同一个桥段在一本书里出现五次,
62
+ 改编时要么是卖点,要么是拖沓,这个判断需要先能数出来。
63
+
64
+ | 题材 | 常见桥段 |
65
+ |---|---|
66
+ | 都市/言情 | 打脸、扮猪吃虎、马甲掉落、先婚后爱、追妻火葬场、破镜重圆、替身、契约婚姻、萌宝助攻 |
67
+ | 玄幻/修仙 | 废柴逆袭、越级战斗、夺宝、护短打脸、绝境翻盘、机缘逆天 |
68
+ | 历史/种田 | 先知先觉、改变历史、科举经商崛起、攒钱起家 |
69
+ | 悬疑/无限 | 信息差、反转打脸、规则怪谈、身份揭穿、复盘解谜 |
70
+ | 系统流 | 任务奖励、签到、面板升级、强制任务、积分兑换 |
71
+ | 重生/穿越 | 前世复仇、改命、身份调换、双重生、未卜先知 |
72
+ | 世情/家庭 | 极品亲戚、偏心打脸、维权反击、自我觉醒 |
73
+
74
+ 这是**可扩展的种子表,不是封闭枚举**。不在表内但本书确有的桥段照实写;
75
+ 凑不出标签就留空,不硬凑。
76
+
77
+ ## 分集候选
78
+
79
+ 按**局部戏剧结果与精确交接**切,不按章号、字数或平均分配。一个候选集必须能回答:
80
+
81
+ 1. 进入时观众已经知道什么;
82
+ 2. 本集内兑现了哪一部分承诺(不能一条都不兑现);
83
+ 3. 出去时留下的具体决定、危险或问题是什么;
84
+ 4. 下一集必须继承哪些事实。
85
+
86
+ 只留钩子、不兑现任何承诺的集,观众会在第三集停——这是分集候选里最常见的错。
87
+
88
+ 每条候选写进 `episode-candidates.jsonl`,字段见
89
+ [分集候选样例](../assets/episode-candidate.example.jsonl)。每条都带:来源单元与章号区间、
90
+ 承担的功能、判定类别、桥段标签、未决项、以及 `creator_acceptance: pending`。
91
+
92
+ **集数不由本技能决定**。 候选可以多于、也可以少于创作者设定的集数;差多少要明说,
93
+ 由创作者与 `$short-drama-develop` 决定合并还是拆分。
94
+
95
+ ## 回填快评
96
+
97
+ `adaptation-value.md` 开头写一段**快评对照**:S1 的 `triage.md` 里哪几条判断被全量结果
98
+ 推翻了,以及为什么。逐条对上六段:故事框架、三类判定比例、开篇替换点、制作负担量级、
99
+ 三处风险、分集量级。
100
+
101
+ **其中「三类判定比例」两边的判定对象不同**:S1 抽样判的是章,S5 判的是剧情单元,
102
+ 两者之间没有换算,也不该造一个——一个单元里的章可以分属不同类别,按章数加权回推
103
+ 只会得到一个看起来精确的假数字。这一条按方向对照即可:抽样说「多数章走心理叙述」,
104
+ 全量结论若是「多数单元需要换载体」,就是印证;若方向相反,写清是抽样偏了还是
105
+ 全书后段变了。其余五段仍逐条对上。
106
+
107
+ 抽样结论被证伪不是失误,是抽样这一步在起作用。写出来才有两个用处:创作者知道
108
+ 「当时那个建议是基于什么」,下一本书的快评知道该往哪个方向修正。
109
+
110
+ 全部命中时也写一句,别留空——一份从不出错的快评,多半是没有被认真对照过。
111
+
112
+ ## 交给 develop 之前
113
+
114
+ 自检五条:
115
+
116
+ - 每个 `screen_ready` / `needs_carrier` 单元都能在候选集里找到落点,或明确说明为什么没有;
117
+ - 每条候选的功能都能回溯到某个单元、某条情节点的白描;
118
+ - 硬事实(等级、数值、出场章、谁说的话)都能回到白描或原文,回不到的已改成「原文未明确」;
119
+ - `prose_only`、被跳过的章与散落清单都出现在交接摘要里,不只是躺在某个文件深处;
120
+ - 没有把本技能的判定写成结论——它们是候选,等创作者接受。
121
+
122
+ 交接摘要给创作者读,说清:拆了多少章、跳过哪些、多少单元分别落进三类、
123
+ 切出多少候选集、最大的三处改编风险、快评里被推翻的判断。风险要具体到单元,
124
+ 不写「改编难度较大」。
@@ -0,0 +1,155 @@
1
+ # 聚合与实体
2
+
3
+ ## 目录
4
+
5
+ - [先识别故事框架](#先识别故事框架)
6
+ - [剧情单元](#剧情单元)
7
+ - [单元粒度](#单元粒度)
8
+ - [阈值自检](#阈值自检)
9
+ - [散落情节兜底](#散落情节兜底)
10
+ - [节奏与情绪](#节奏与情绪)
11
+ - [人物归并](#人物归并)
12
+ - [设定归纳](#设定归纳)
13
+
14
+ 聚合只读 S2 的逐章提取,**不回头重读原文**。原文在 S2 已经被读过一次;再读一次得到的
15
+ 不是补充,是第二份互相矛盾的事实。需要核对某条硬事实时回查具体那一条白描,
16
+ 而不是重新通读。
17
+
18
+ ## 先识别故事框架
19
+
20
+ 框架决定按什么切单元。先判框架再切,能省掉一整轮返工。
21
+
22
+ | 框架 | 特征 | 切单元的依据 | 改编提示 |
23
+ |---|---|---|---|
24
+ | 升级流 | 等级/境界体系清晰,按阶段推进 | 按等级阶段 | 阶段边界天然是集边界 |
25
+ | 复仇线 | 核心矛盾明确,目标驱动 | 按复仇对象或阶段 | 每个对象一个小高潮,适配短剧 |
26
+ | 单元剧 | 每卷独立故事,弱连续性 | 按单元 | 与短剧的集结构最贴合 |
27
+ | 多线交织 | 多视角/多时间线 | 按线索切,交叉点单独标记 | 竖屏里最贵:观众要记住的人最多 |
28
+ | 蜕变成长 | 主角内在变化为主线 | 按成长阶段 | 内在变化要找到外部载体才成立 |
29
+
30
+ 判定方法:扫全部章节概要 + 首尾各三章的提取。判不出来时写「框架不明确」并说明原因,
31
+ 不硬套——套错框架会让后面每一个单元都切在错的地方。
32
+
33
+ 框架识别的结论写进 `story-units.md` 开头,并与 S1 `triage.md` 里的框架判断对照:
34
+ 不一致时写清哪一个错了、为什么。
35
+
36
+ ## 剧情单元
37
+
38
+ 一个单元记录六项:
39
+
40
+ | 字段 | 写什么 |
41
+ |---|---|
42
+ | 标题 | 15 字以内 |
43
+ | 章节范围 | 用索引的 `sequence` 起止 |
44
+ | 进入状态 | 单元开始时,谁知道什么、谁有什么筹码 |
45
+ | 核心冲突 | 具体的对抗对象 + 具体的冲突事件 |
46
+ | 代价 | 这个单元里谁付出了什么,不写「无」 |
47
+ | 出去状态 | 单元结束时改变了什么,下一个单元必须继承哪些事实 |
48
+
49
+ 进入状态与出去状态必须能对接:上一个单元的出去状态就是下一个的进入状态。
50
+ 对不上说明中间漏了一个单元,或者边界切错了。
51
+
52
+ ## 单元粒度
53
+
54
+ | 粒度 | 例子 | 问题 |
55
+ |---|---|---|
56
+ | 过细 | 「获得神器」(1–2 章) | 这是事件,不是单元 |
57
+ | 过粗 | 「主角的成长之路」(1–100 章) | 这是主题,不是单元 |
58
+ | 合适 | 「家族觉醒与传承认知」(1–6 章) | 有独立目标、冲突、角色群和完整弧线 |
59
+
60
+ 一个单元必须同时满足四条:有独立且可衡量的戏剧目标;有具体的对抗力量;有本单元特有的
61
+ 核心角色(可与其他单元共享部分角色);有自己的紧张—缓和节奏。
62
+
63
+ 四条里缺一条,它多半是另一个单元的**阶段**,降级处理即可,不必单独建条。
64
+
65
+ ## 阈值自检
66
+
67
+ 聚合后跑三条。它们不是评分,是**边界模糊的信号**:
68
+
69
+ | 指标 | 参考值 | 算法 | 不达标怎么办 |
70
+ |---|---|---|---|
71
+ | 归属置信 | ≥ 0.85 | 有明确归属的情节点 / 单元内情节点总数 | 低于线的单元标「待复核」,不删 |
72
+ | 覆盖率 | 85%–95% | 已归类情节点 / 总情节点数 | < 85% 走散落兜底;> 95% 复核是否过度归并 |
73
+ | 重叠率 | ≤ 35% | 跨单元共享的情节点 / 总情节点数 | > 35% 说明两个单元其实是一个,考虑合并 |
74
+
75
+ 「有明确归属」指这条情节点服务于本单元的戏剧目标或对抗力量,而不只是恰好落在本单元的
76
+ 章节范围内。按连续章节切分时,若把「落在范围内」当作归属,这个比值恒等于 1,指标失去
77
+ 意义——所以逐条判的是**它推动的是不是这个单元的那件事**,跨单元共享的情节点计入重叠率
78
+ 而不计入本单元的分子。
79
+
80
+ **小体量素材的例外**:不足 30 章、单主线连续叙事的材料按时序切分时,覆盖率天然接近
81
+ 100%、散落接近 0,这是线性结构的正常结果,不是过度归并。此时复核的重点是
82
+ 「有没有把两条剧情硬并进同一个单元」,不是把数字压到 95% 以下。
83
+
84
+ 不要为了凑阈值人为拆分或合并单元。数字对不上时先怀疑边界,再怀疑数字。
85
+
86
+ ## 散落情节兜底
87
+
88
+ 覆盖率不足时执行,目的是**不丢情节点**,不是把每个点都塞进某个单元:
89
+
90
+ 1. 算孤立比例。低于 5% 直接标「少量散落」,不再处理。
91
+ 2. 收集未归类的情节点。
92
+ 3. 按角色重叠、地点重叠、因果关系三条线索判相关性:强相关归入并标 `[孤立归入]`;
93
+ 中等相关归入并标 `[低置信归入]` 待复核;弱相关**不强行归入**。
94
+ 4. 弱相关的按主题聚类,聚出 5 个以上情节点才形成候选单元并标 `[聚类生成]`。
95
+ 5. 仍无法归类的写进 `story-units.md` 末尾的散落清单,按章排列并注明原因。
96
+
97
+ **宁可留在散落清单里,也不要塞进不相关的单元**。 塞进去之后,那个单元的进入/出去状态
98
+ 就会带上一条对不上的事实,而它在下游看起来和真事实一模一样。
99
+
100
+ ## 节奏与情绪
101
+
102
+ `rhythm-and-emotion.md` 写三件事,全部要能回指到章或情节点:
103
+
104
+ - **关键信息推进**:某条信息何时进入读者视野 → 如何被延迟、误导或验证 → 何时爆发 →
105
+ 余波与新钩子。
106
+ - **情绪触动点索引**:每个触动点落在哪一章、由哪条情节点承担。
107
+ - **长间隔说明**:连续 3 章以上没有触动点时,写清作者用什么维持期待。
108
+ 改编时这些长间隔就是要合并或砍掉的段落——短剧没有这个耐心。
109
+
110
+ 回指不到章或情节点的条目删掉,不要保留无源断言。
111
+
112
+ ## 人物归并
113
+
114
+ 跨章去重时,**一人一实体**:无法确定两个称谓是否指同一人,就分开建两条,不合并。
115
+ 合并错了的代价不对称——两个人被并成一个,之后每一条关于「他」的事实都可能属于另一个人,
116
+ 而这种错在文本里几乎看不出来。
117
+
118
+ 别名分四类,只有前两类能触发合并:
119
+
120
+ | 类型 | 定义 | 可合并 | 例 |
121
+ |---|---|---|---|
122
+ | 专名 | 全名、常用名 | 是 | 「顾禾」「顾小禾」 |
123
+ | 绰号 | 外号,须有同指证据 | 是(证据充分时) | 「城东那位」经文中点明即为某人 |
124
+ | 描述性称谓 | 按外形或角色描述 | **否** | 「红衣女子」「随从」 |
125
+ | 头衔职务 | 泛指某个职位的称呼 | **否** | 「护卫队长」「家主」 |
126
+ | 姓氏+头衔 | 带姓氏或名的称呼 | 是(证据充分时) | 「周团」「钟记者」「齐军长」 |
127
+
128
+ 绰号与姓氏+头衔的合并都需要可指出的同指证据:同位说明、括号别名、上下文明确指代、
129
+ 文中改名。「读起来像同一个人」不是证据。
130
+
131
+ **姓氏+头衔单列一类,因为中文叙事里它常常是最主要的称呼方式**。「周团」「钟记者」
132
+ 出现频次可能远高于全名,而它们带着姓氏,指向性与绰号相当——按「头衔职务」一律禁止合并,
133
+ 一部书会留下十几条重复实体。真正不可合并的是**不带姓名的泛指**:「护卫队长」「家主」
134
+ 可以先后由不同人担任,同一部书里换了人也看不出来。
135
+
136
+ 判据是:去掉头衔后还剩不剩一个姓或名。剩,按证据判;不剩,不合并。
137
+
138
+ 分级按戏份,不按喜好:出场章数占比、是否推动主线、是否有独立动机与变化。
139
+ 每条人物记 `unresolved`(未定的指代、矛盾的描述)与来源引用。
140
+
141
+ **归并结果是候选,不是资产**。资产身份由 `$short-drama-assets` 从已接受剧本建立。
142
+
143
+ ## 设定归纳
144
+
145
+ 从提及数据归纳世界规则、力量体系与势力,不从记忆或同题材惯例补。
146
+
147
+ - 力量体系:名称、层级、晋升方式;原文没写清的层级写「原文未明确」。
148
+ - 地理:分布、主要区域、关键地点。
149
+ - 势力:门派/组织/家族/国家,各自的目标与彼此的关系。
150
+ - 特殊设定:区别于现实的规则。
151
+
152
+ 相互依赖、共同起作用的设定合并成一条(例如「戒指 + 里面的残魂」是一个整体,
153
+ 不拆成两条);只有完全独立、互不依赖的才分开。
154
+
155
+ 每条设定标注它出现在哪几章。标不出来的设定,多半是从题材惯例里补出来的,删掉。