@oh-story/dsh 0.1.8 → 0.1.10

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 (360) hide show
  1. package/README.md +14 -14
  2. package/lib/client.js +237 -84
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +183 -77
  5. package/lib/drama/skills/short-drama/SKILL.md +5 -1
  6. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +140 -9
  7. package/lib/drama/skills/short-drama/scripts/project_tool.py +11 -0
  8. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +28 -0
  9. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +8 -2
  10. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
  11. package/lib/drama/skills/short-drama-edit/SKILL.md +146 -0
  12. package/lib/drama/skills/short-drama-edit/agents/openai.yaml +4 -0
  13. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +60 -0
  14. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +15 -0
  15. package/lib/drama/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  16. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  17. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  18. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  19. package/lib/drama/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  20. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  21. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  22. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  23. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +38 -0
  24. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +29 -0
  25. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +54 -0
  26. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  27. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +51 -0
  28. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  29. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +520 -0
  30. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
  31. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +5 -0
  32. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +3 -0
  33. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
  34. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +2 -2
  35. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +4 -1
  36. package/lib/drama/skills/short-drama-produce/SKILL.md +29 -4
  37. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +22 -0
  38. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +13 -12
  39. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  40. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +7 -0
  41. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +18 -1
  42. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +181 -2
  43. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +199 -3
  44. package/lib/drama/skills/short-drama-review/SKILL.md +2 -0
  45. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +7 -0
  46. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +10 -0
  47. package/lib/drama/skills/short-drama-storyboard/SKILL.md +12 -1
  48. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +4 -0
  49. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  50. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +78 -2
  51. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -0
  52. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +12 -5
  53. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +17 -0
  54. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +76 -7
  55. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +5 -2
  56. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +21 -0
  57. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +6 -17
  58. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +12 -3
  59. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +61 -5
  60. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -3
  61. package/lib/drama/skills/short-drama-write/SKILL.md +11 -2
  62. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +6 -0
  63. package/lib/drama/skills/short-drama-write/references/stage-contract.md +1 -0
  64. package/lib/index.js +290 -90
  65. package/lib/index.js.map +4 -4
  66. package/lib/novel-to-game/README.md +299 -59
  67. package/lib/novel-to-game/README_ZH.md +299 -56
  68. package/lib/novel-to-game/VERSION +1 -1
  69. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
  70. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
  71. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
  72. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
  73. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
  74. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
  75. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
  76. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
  77. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
  78. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
  79. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
  80. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
  81. package/lib/novel-to-game/manifest.json +77 -87
  82. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +9 -35
  83. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
  84. package/lib/novel-to-game/skills/game-build/SKILL.md +17 -35
  85. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
  86. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
  87. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
  88. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
  89. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
  90. package/lib/novel-to-game/skills/game-concept/SKILL.md +16 -34
  91. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
  92. package/lib/novel-to-game/skills/game-qa/SKILL.md +9 -20
  93. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +10 -6
  94. package/lib/novel-to-game/skills/game-world-design/SKILL.md +19 -32
  95. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
  96. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
  97. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
  98. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +9 -18
  99. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
  100. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +10 -27
  101. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -6
  102. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +6 -11
  103. package/lib/oh-story/manifest.json +419 -254
  104. package/lib/oh-story/roles/chapter-extractor.md +177 -237
  105. package/lib/oh-story/roles/character-designer.md +1 -1
  106. package/lib/oh-story/roles/consistency-checker.md +4 -4
  107. package/lib/oh-story/roles/narrative-writer.md +56 -243
  108. package/lib/oh-story/roles/story-architect.md +6 -6
  109. package/lib/oh-story/roles/story-explorer.md +11 -11
  110. package/lib/oh-story/skills/story/SKILL.md +13 -7
  111. package/lib/oh-story/skills/story/VERSION +1 -1
  112. package/lib/oh-story/skills/story/references/author-memory.md +61 -29
  113. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
  114. package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
  115. package/lib/oh-story/skills/story-deslop/SKILL.md +54 -229
  116. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +29 -56
  117. package/lib/oh-story/skills/story-deslop/references/author-memory.md +61 -29
  118. package/lib/oh-story/skills/story-deslop/references/banned-words.md +3 -1
  119. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +154 -0
  120. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +27 -0
  121. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
  122. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +6 -1
  123. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +39 -20
  124. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +10 -5
  125. package/lib/oh-story/skills/story-deslop/scripts/style-whitelist.js +39 -0
  126. package/lib/oh-story/skills/story-import/SKILL.md +78 -82
  127. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
  128. package/lib/oh-story/skills/story-import/references/format-and-structure.md +2 -2
  129. package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
  130. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +10 -8
  131. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +31 -0
  132. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +9 -34
  133. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +197 -15
  134. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +210 -2
  135. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +3 -0
  136. package/lib/oh-story/skills/story-long-analyze/SKILL.md +91 -258
  137. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +245 -0
  138. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +2 -2
  139. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
  140. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +113 -105
  141. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +169 -125
  142. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +172 -64
  143. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
  144. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +42 -132
  145. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +5 -5
  146. package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
  147. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
  148. package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
  149. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1106 -0
  150. package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
  151. package/lib/oh-story/skills/story-long-scan/SKILL.md +4 -1
  152. package/lib/oh-story/skills/story-long-write/SKILL.md +52 -216
  153. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +29 -56
  154. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +72 -12
  155. package/lib/oh-story/skills/story-long-write/references/author-memory.md +61 -29
  156. package/lib/oh-story/skills/story-long-write/references/banned-words.md +3 -1
  157. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +20 -0
  158. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
  159. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +10 -4
  160. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
  161. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +6 -15
  162. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -0
  163. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +2 -0
  164. package/lib/oh-story/skills/story-long-write/references/project-files.md +110 -0
  165. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +12 -4
  166. package/lib/oh-story/skills/story-long-write/references/reference-index.md +86 -0
  167. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -1
  168. package/lib/oh-story/skills/story-long-write/references/style-craft.md +9 -29
  169. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  170. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +27 -0
  171. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +31 -0
  172. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +9 -34
  173. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +88 -118
  174. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +55 -119
  175. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +15 -11
  176. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +73 -54
  177. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +22 -0
  178. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +63 -4
  179. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
  180. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +531 -0
  181. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +6 -1
  182. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +39 -20
  183. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +197 -15
  184. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +90 -23
  185. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +10 -5
  186. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +285 -0
  187. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +58 -0
  188. package/lib/oh-story/skills/story-long-write/scripts/style-whitelist.js +39 -0
  189. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +210 -2
  190. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +3 -0
  191. package/lib/oh-story/skills/story-review/SKILL.md +80 -87
  192. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +29 -56
  193. package/lib/oh-story/skills/story-review/references/author-memory.md +61 -29
  194. package/lib/oh-story/skills/story-review/references/banned-words.md +3 -1
  195. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +10 -4
  196. package/lib/oh-story/skills/story-review/references/review-quality.md +6 -12
  197. package/lib/oh-story/skills/story-review/references/style-resolution.md +27 -0
  198. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +31 -0
  199. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +9 -34
  200. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
  201. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +6 -1
  202. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +39 -20
  203. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +10 -5
  204. package/lib/oh-story/skills/story-review/scripts/style-whitelist.js +39 -0
  205. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +210 -2
  206. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +3 -0
  207. package/lib/oh-story/skills/story-setup/SKILL.md +58 -43
  208. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +29 -56
  209. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +3 -1
  210. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +154 -0
  211. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +10 -4
  212. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +2 -2
  213. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
  214. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +1 -1
  215. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +1 -1
  216. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -1
  217. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  218. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +27 -0
  219. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +63 -4
  220. package/lib/oh-story/skills/story-setup/references/diagnostics.md +38 -0
  221. package/lib/oh-story/skills/story-short-analyze/SKILL.md +22 -3
  222. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +1 -1
  223. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +5 -1
  224. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +2 -2
  225. package/lib/oh-story/skills/story-short-scan/SKILL.md +5 -1
  226. package/lib/oh-story/skills/story-short-write/SKILL.md +15 -324
  227. package/lib/oh-story/skills/story-short-write/references/author-memory.md +61 -29
  228. package/lib/oh-story/skills/story-short-write/references/banned-words.md +3 -1
  229. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +60 -0
  230. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +10 -4
  231. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +2 -2
  232. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +1 -1
  233. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +3 -3
  234. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +3 -3
  235. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +3 -3
  236. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +5 -5
  237. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +4 -4
  238. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +5 -5
  239. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +3 -3
  240. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +1 -1
  241. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +1 -1
  242. package/lib/oh-story/skills/story-short-write/references/reference-index.md +55 -0
  243. package/lib/oh-story/skills/story-short-write/references/short-craft.md +12 -14
  244. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +10 -10
  245. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -1
  246. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -2
  247. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +27 -0
  248. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +78 -0
  249. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +126 -0
  250. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +32 -0
  251. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +5 -5
  252. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
  253. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +6 -1
  254. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +39 -20
  255. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +34 -5
  256. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +90 -23
  257. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +10 -5
  258. package/lib/oh-story/skills/story-short-write/scripts/style-whitelist.js +39 -0
  259. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  260. package/lib/types/client/file-activity.d.ts +19 -1
  261. package/lib/types/client/file-activity.d.ts.map +1 -1
  262. package/lib/types/client/index.d.ts.map +1 -1
  263. package/lib/types/client/production-prompts.d.ts +7 -0
  264. package/lib/types/client/production-prompts.d.ts.map +1 -1
  265. package/lib/types/client/production-runtime.d.ts +33 -0
  266. package/lib/types/client/production-runtime.d.ts.map +1 -1
  267. package/lib/types/drama-adapters.d.ts +5 -3
  268. package/lib/types/drama-adapters.d.ts.map +1 -1
  269. package/lib/types/native-hooks.d.ts +52 -0
  270. package/lib/types/native-hooks.d.ts.map +1 -1
  271. package/lib/types/role-identity.d.ts +17 -0
  272. package/lib/types/role-identity.d.ts.map +1 -0
  273. package/lib/types/role-tool.d.ts.map +1 -1
  274. package/lib/types/skill-provider.d.ts.map +1 -1
  275. package/lib/video-recap/CHANGELOG.md +31 -1
  276. package/lib/video-recap/manifest.json +162 -162
  277. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +4 -9
  278. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +47 -60
  279. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +77 -115
  280. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +41 -40
  281. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +22 -32
  282. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +102 -192
  283. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +14 -35
  284. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +14 -12
  285. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +8 -9
  286. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +3 -14
  287. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +23 -12
  288. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +1 -4
  289. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +24 -25
  290. package/lib/video-recap/skills/video-assemble/scripts/lib.py +31 -85
  291. package/lib/video-recap/skills/video-assemble/scripts/media.py +100 -144
  292. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +101 -195
  293. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +10 -21
  294. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +90 -169
  295. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +69 -122
  296. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +10 -17
  297. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +33 -48
  298. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +14 -20
  299. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +135 -213
  300. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +49 -57
  301. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +38 -74
  302. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +46 -95
  303. package/lib/video-recap/skills/video-cut/scripts/lib.py +23 -25
  304. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +70 -173
  305. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +28 -53
  306. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +162 -322
  307. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +6 -7
  308. package/lib/video-recap/skills/video-recap/scripts/doctor.py +104 -124
  309. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +255 -412
  310. package/lib/video-recap/skills/video-recap/scripts/lib.py +30 -52
  311. package/lib/video-recap/skills/video-recap/scripts/materials.py +97 -120
  312. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +7 -12
  313. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +46 -97
  314. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +18 -36
  315. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +29 -47
  316. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +43 -76
  317. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +2 -1
  318. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +2 -1
  319. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +2 -2
  320. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +129 -145
  321. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +27 -20
  322. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +20 -31
  323. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +31 -106
  324. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +43 -113
  325. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +196 -377
  326. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +1 -1
  327. package/lib/video-recap/skills/video-script/scripts/agent_text.py +63 -172
  328. package/lib/video-recap/skills/video-script/scripts/brief_context.py +80 -135
  329. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +125 -167
  330. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +93 -208
  331. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +20 -46
  332. package/lib/video-recap/skills/video-script/scripts/lib.py +30 -26
  333. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +145 -140
  334. package/lib/video-recap/skills/video-script/scripts/review_response.py +12 -42
  335. package/lib/video-recap/skills/video-script/scripts/review_runner.py +0 -6
  336. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +39 -100
  337. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +33 -124
  338. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +1 -1
  339. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +63 -172
  340. package/lib/video-recap/skills/video-understanding/scripts/asr.py +1 -2
  341. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +80 -135
  342. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +125 -167
  343. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +93 -208
  344. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +1 -1
  345. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +20 -46
  346. package/lib/video-recap/skills/video-understanding/scripts/lib.py +31 -26
  347. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +145 -140
  348. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +39 -100
  349. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +33 -124
  350. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +1 -4
  351. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +7 -13
  352. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +12 -30
  353. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +98 -131
  354. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +17 -28
  355. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +151 -240
  356. package/package.json +45 -45
  357. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -59
  358. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
  359. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -42
  360. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
@@ -2,13 +2,14 @@
2
2
  "schemaVersion": 1,
3
3
  "upstream": {
4
4
  "repository": "https://github.com/zenstory-ai/drama-skills.git",
5
- "commit": "4cd584668bf6dc613a51d1ca40d00de352db9713"
5
+ "commit": "795cb805c88a71ebc32d1cdcf624cd84944d8710"
6
6
  },
7
- "generatedAt": "2026-09-04T14:24:07.064Z",
7
+ "generatedAt": "2026-09-26T03:08:35.107Z",
8
8
  "skills": [
9
9
  "short-drama",
10
10
  "short-drama-assets",
11
11
  "short-drama-develop",
12
+ "short-drama-edit",
12
13
  "short-drama-image-prompts",
13
14
  "short-drama-novel-analyze",
14
15
  "short-drama-produce",
@@ -80,8 +81,8 @@
80
81
  },
81
82
  {
82
83
  "path": "skills/short-drama-assets/references/character-and-look.md",
83
- "sha256": "ae7e949ebc8c686d75a780597b43996d868e15b0c633801bf13f82f5c74752e9",
84
- "bytes": 10066
84
+ "sha256": "bb7535e28dfc616a8f101f69b457f57439792515c65b1eb78d020ac786d81b43",
85
+ "bytes": 11757
85
86
  },
86
87
  {
87
88
  "path": "skills/short-drama-assets/references/continuity-delta.md",
@@ -90,8 +91,8 @@
90
91
  },
91
92
  {
92
93
  "path": "skills/short-drama-assets/references/continuity-lock.md",
93
- "sha256": "5ba6bfa82597c89756b765263f618a21f98d9b534d9f2ee3c23308c026f97f41",
94
- "bytes": 6746
94
+ "sha256": "8099cee42ee3de35a0c7ce22908f6cb79bdaf61c0cdbecb39907a15e249d39d8",
95
+ "bytes": 7315
95
96
  },
96
97
  {
97
98
  "path": "skills/short-drama-assets/references/identity-vs-variant.md",
@@ -120,8 +121,8 @@
120
121
  },
121
122
  {
122
123
  "path": "skills/short-drama-assets/references/voice-direction.md",
123
- "sha256": "61f4db4876084e181f6b3d36c53a551d733e3d131656dc9a271be9e90913a40f",
124
- "bytes": 7741
124
+ "sha256": "231eb47a9c84917777250a4e4f7f35ecf2d8fef39c12e846ec4b932f3e89a5f1",
125
+ "bytes": 9819
125
126
  },
126
127
  {
127
128
  "path": "skills/short-drama-assets/scripts/asset_check.py",
@@ -298,10 +299,105 @@
298
299
  "sha256": "812fecc4d0c022240ccafa01d4fee74f86bac0de98e9cae8b90ffc7eb1ffe231",
299
300
  "bytes": 1533
300
301
  },
302
+ {
303
+ "path": "skills/short-drama-edit/SKILL.md",
304
+ "sha256": "2e53700bceae46e735d0d018324cec936ed6745a234763119735105947b1517e",
305
+ "bytes": 10416
306
+ },
307
+ {
308
+ "path": "skills/short-drama-edit/agents/openai.yaml",
309
+ "sha256": "5f6f131727496be7d4512e6516722a5a33be83e55a11fefa6ca9c7d9a355a653",
310
+ "bytes": 254
311
+ },
312
+ {
313
+ "path": "skills/short-drama-edit/assets/remotion/README.md",
314
+ "sha256": "13cccd696d78e59f55e0ffa1aa4aa75c3d2be8fc7a7c12a2106dbca82c388a17",
315
+ "bytes": 2929
316
+ },
317
+ {
318
+ "path": "skills/short-drama-edit/assets/remotion/package.json",
319
+ "sha256": "437058ea7afd499fcc03f57f2f5b2470254826ebbe092d1c515b26bd01db1031",
320
+ "bytes": 386
321
+ },
322
+ {
323
+ "path": "skills/short-drama-edit/assets/remotion/remotion.config.ts",
324
+ "sha256": "a13e13dc5e99eba7fc8861ba1fbc6c1455fd068801a476432120d663e5ea7145",
325
+ "bytes": 219
326
+ },
327
+ {
328
+ "path": "skills/short-drama-edit/assets/remotion/src/Root.tsx",
329
+ "sha256": "522487f39c9b4d91c32304be4867f64784aab3ae5b25135b8d9fdbc6362a0dbc",
330
+ "bytes": 941
331
+ },
332
+ {
333
+ "path": "skills/short-drama-edit/assets/remotion/src/Subtitles.tsx",
334
+ "sha256": "21fbb6548fbe57842a59b2e9002513bcedd08b4bec488c1dd0c80c637499b87a",
335
+ "bytes": 3095
336
+ },
337
+ {
338
+ "path": "skills/short-drama-edit/assets/remotion/src/font.ts",
339
+ "sha256": "8b42d2fbc238e36cf74955492433fc56ea5197843875c62ef56e815337e61b54",
340
+ "bytes": 1794
341
+ },
342
+ {
343
+ "path": "skills/short-drama-edit/assets/remotion/src/index.ts",
344
+ "sha256": "957e481dd33a29b4a55ae0e95dbf763b7e48c37c427ca4bd1275faf34bc07a74",
345
+ "bytes": 109
346
+ },
347
+ {
348
+ "path": "skills/short-drama-edit/assets/remotion/src/schema.ts",
349
+ "sha256": "9dc78db7e6334673ca2086cfd632da1d2cd3bc9746dd441237926b2d79ac9a59",
350
+ "bytes": 835
351
+ },
352
+ {
353
+ "path": "skills/short-drama-edit/assets/remotion/tsconfig.json",
354
+ "sha256": "e58a703515f2767b0c4a7fb872a882f98cc05674aa641fd87e279f697d548f87",
355
+ "bytes": 255
356
+ },
357
+ {
358
+ "path": "skills/short-drama-edit/assets/剪辑单.md",
359
+ "sha256": "3a99c2d7c587702e3bd06588e550faa6b62b905b8432df3bf6263e91524f3e37",
360
+ "bytes": 1930
361
+ },
362
+ {
363
+ "path": "skills/short-drama-edit/references/cut-craft.md",
364
+ "sha256": "25d970ca8100232cb7d4b823aacec4bce9cda9f8cc6e5e26c396251d2b596ac6",
365
+ "bytes": 2261
366
+ },
367
+ {
368
+ "path": "skills/short-drama-edit/references/delivery-verify.md",
369
+ "sha256": "ee097b3166c2b044fdc0db34aa84ef02d9a86c3862d146f12b52dc441e3a7dcb",
370
+ "bytes": 1821
371
+ },
372
+ {
373
+ "path": "skills/short-drama-edit/references/generated-footage.md",
374
+ "sha256": "d8d45c18d993721079d828a743f79680a54e61e53ed7c664f15e188d42cbaffc",
375
+ "bytes": 2862
376
+ },
377
+ {
378
+ "path": "skills/short-drama-edit/references/sound-and-subtitles.md",
379
+ "sha256": "99d8d38f678c048765a41a33b512e0db6aea53dfdb0d81d7f60cb7b57b25227d",
380
+ "bytes": 3280
381
+ },
382
+ {
383
+ "path": "skills/short-drama-edit/references/stage-contract.md",
384
+ "sha256": "21e7fc92c708b8aeed3611b3f11fa14620595328be383302c3be7ede56ed1773",
385
+ "bytes": 5287
386
+ },
387
+ {
388
+ "path": "skills/short-drama-edit/scripts/edit_tool.py",
389
+ "sha256": "5863aed017019a4d8a7de9e4b81946212f503ff05d0059c2d2c28fcb3364f727",
390
+ "bytes": 47616
391
+ },
392
+ {
393
+ "path": "skills/short-drama-edit/scripts/selftest.py",
394
+ "sha256": "490504c562c54c9acf8385f3eed23dd35bd6164eb5bbbff7b870b41a48bff836",
395
+ "bytes": 22100
396
+ },
301
397
  {
302
398
  "path": "skills/short-drama-image-prompts/SKILL.md",
303
- "sha256": "a3341fc0c5562ab2808c3e61ed5b9c57e720ea339bea58cf3a65268660d9032f",
304
- "bytes": 4255
399
+ "sha256": "95f0bd1da8a53d887b2d9a98ea085518f1d746390cba275fee0766172f04110b",
400
+ "bytes": 4510
305
401
  },
306
402
  {
307
403
  "path": "skills/short-drama-image-prompts/agents/openai.yaml",
@@ -315,8 +411,8 @@
315
411
  },
316
412
  {
317
413
  "path": "skills/short-drama-image-prompts/assets/image-prompts.md",
318
- "sha256": "fd4a629b4c4332fc510f0229855c7f14ed344abbe69d5dcab7cc23c01ee55167",
319
- "bytes": 1980
414
+ "sha256": "4bae26f62b9a6374a9d6a5a4bde55b8afc28374a0c483835b00d160b39848fa0",
415
+ "bytes": 2559
320
416
  },
321
417
  {
322
418
  "path": "skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md",
@@ -325,8 +421,8 @@
325
421
  },
326
422
  {
327
423
  "path": "skills/short-drama-image-prompts/assets/lookdev-prompts.md",
328
- "sha256": "3211141935eb5f8b34ca1bb0476e055dd4ad455f5c877df0f4daf75dcf451f70",
329
- "bytes": 1592
424
+ "sha256": "4b367dd74df4f8fb91807aa428ec70e882ed7dfda8cccdd7f180953618db2d88",
425
+ "bytes": 1824
330
426
  },
331
427
  {
332
428
  "path": "skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl",
@@ -340,8 +436,8 @@
340
436
  },
341
437
  {
342
438
  "path": "skills/short-drama-image-prompts/references/common-recipe.md",
343
- "sha256": "a185edab74e7cf2c68e9c21057c13808a366b319787ecd0307ac4f6c475a32bb",
344
- "bytes": 15099
439
+ "sha256": "4558ebe60a64cbfe0a2a58a0137e46c12899d36e116a240d883233f4cab92d72",
440
+ "bytes": 15748
345
441
  },
346
442
  {
347
443
  "path": "skills/short-drama-image-prompts/references/edit-and-revision.md",
@@ -420,13 +516,13 @@
420
516
  },
421
517
  {
422
518
  "path": "skills/short-drama-novel-analyze/references/aggregation-and-entities.md",
423
- "sha256": "1f47967b7d44d11435c104486f51fabb77ded47c6dbddf702b2a84eb869ffe77",
519
+ "sha256": "ffc622547a53070473e8293cc3bae35595c5d45eee18ddde3cafd4d88d0b8fe1",
424
520
  "bytes": 8511
425
521
  },
426
522
  {
427
523
  "path": "skills/short-drama-novel-analyze/references/chapter-extraction.md",
428
- "sha256": "428e6c80b37f75706808d3f3d7048c4ca91e6c98d020c2e67c996e325b6aa0f1",
429
- "bytes": 8139
524
+ "sha256": "72af59213d2a46d1670cdbc937d6a87a8b8086035acea5451be6970bac467802",
525
+ "bytes": 8518
430
526
  },
431
527
  {
432
528
  "path": "skills/short-drama-novel-analyze/references/stage-contract.md",
@@ -445,8 +541,8 @@
445
541
  },
446
542
  {
447
543
  "path": "skills/short-drama-produce/SKILL.md",
448
- "sha256": "9eb35a905f94fea67852d8437e1f5640a5d4090d71ac645e4857958f04b2c08e",
449
- "bytes": 12422
544
+ "sha256": "90716253be3e28eacd98071465faa8313de2b6598b6d1bc8b64b4fc8616a350e",
545
+ "bytes": 14398
450
546
  },
451
547
  {
452
548
  "path": "skills/short-drama-produce/agents/openai.yaml",
@@ -455,8 +551,8 @@
455
551
  },
456
552
  {
457
553
  "path": "skills/short-drama-produce/references/adapter-contract.md",
458
- "sha256": "a2825dd9dee723fbc0cf24486348df9fd0a7cb2fcb39b384179a8302677fe4b1",
459
- "bytes": 9863
554
+ "sha256": "34f4e51c8b76aebed3b49e35c15cab0372d55084f89423deee646f4be13fee5e",
555
+ "bytes": 11062
460
556
  },
461
557
  {
462
558
  "path": "skills/short-drama-produce/references/providers/gpt-image-2.md",
@@ -465,33 +561,38 @@
465
561
  },
466
562
  {
467
563
  "path": "skills/short-drama-produce/references/providers/minimax-h3-video.md",
468
- "sha256": "ed2ebb0234cf841442f54342196b52df65c6f42a74a5bdfe80bc774bf6911e54",
469
- "bytes": 5531
564
+ "sha256": "b9e81b0be63f48e661ee6afa6ca6cbc3a8bd7ce48afce2b5258c5c05f6555c30",
565
+ "bytes": 5538
470
566
  },
471
567
  {
472
568
  "path": "skills/short-drama-produce/references/providers/minimax-music.md",
473
569
  "sha256": "ef1d00a430edf31a451b3ed588b5e5775a7f61376a4f74d6fe75139f8f1c49cc",
474
570
  "bytes": 1361
475
571
  },
572
+ {
573
+ "path": "skills/short-drama-produce/references/providers/minimax-speech.md",
574
+ "sha256": "5eee1a47e4916f4048bddd5e4714fc66b0c877def3cf5af80d4d97971d6d2d23",
575
+ "bytes": 2139
576
+ },
476
577
  {
477
578
  "path": "skills/short-drama-produce/references/providers/seedance.md",
478
- "sha256": "0c5672a8c6a1d9e47f7b950773d4a12843df92aa5ec4b67b053cc8e17de84ada",
479
- "bytes": 3380
579
+ "sha256": "76bfd27a1b1181c0e0079c49ba4ae926012e638794c9bec3c046aaa1846e1c8d",
580
+ "bytes": 3976
480
581
  },
481
582
  {
482
583
  "path": "skills/short-drama-produce/scripts/fixture_adapter.py",
483
- "sha256": "6c80a50efe36499231804df5e202f74a12590d707114ed41322fddd069ac2d81",
484
- "bytes": 1861
584
+ "sha256": "f3695da2aa5281b30991515d36863322f93f3d85de574cf30fe81664aec8a730",
585
+ "bytes": 2732
485
586
  },
486
587
  {
487
588
  "path": "skills/short-drama-produce/scripts/production_tool.py",
488
- "sha256": "b39253946f17ff966ce661ca365cdda5b2ea25d1b43466399d839fbb3bebe745",
489
- "bytes": 79461
589
+ "sha256": "560808219145a958723ff70841d8bac6280eed0ea4d55feb18646444f8661e3e",
590
+ "bytes": 87712
490
591
  },
491
592
  {
492
593
  "path": "skills/short-drama-produce/scripts/provider_adapters.py",
493
- "sha256": "056f49984683bffd7f7c8e13faa3aee3b7d73bc0f22e33d8f06b054bceb9ce67",
494
- "bytes": 62022
594
+ "sha256": "b311b155947f22ecce3f39d783f214aad84291db7966090a64f466259f9f76bf",
595
+ "bytes": 70329
495
596
  },
496
597
  {
497
598
  "path": "skills/short-drama-produce/scripts/selftest.py",
@@ -500,8 +601,8 @@
500
601
  },
501
602
  {
502
603
  "path": "skills/short-drama-review/SKILL.md",
503
- "sha256": "594a11ecb99cbd61ec7e1154a6ab026cf2568fd976871046fc2fca9716f23361",
504
- "bytes": 4965
604
+ "sha256": "251364f35886455bded0310ac980927a93dd7563dcad53bd5271f83ea211a7c9",
605
+ "bytes": 5194
505
606
  },
506
607
  {
507
608
  "path": "skills/short-drama-review/agents/openai.yaml",
@@ -540,8 +641,8 @@
540
641
  },
541
642
  {
542
643
  "path": "skills/short-drama-review/references/production-quality-gates.md",
543
- "sha256": "fe98c67d1a0016dd550ba5449889e3d67e57886c6b6504c07437c7392980c1d3",
544
- "bytes": 18647
644
+ "sha256": "918f7a2ffc65051b71041e920040181e75908342dc8d5ea0aa411197ee782f44",
645
+ "bytes": 19154
545
646
  },
546
647
  {
547
648
  "path": "skills/short-drama-review/references/project-calibration.md",
@@ -570,8 +671,8 @@
570
671
  },
571
672
  {
572
673
  "path": "skills/short-drama-review/references/rubric-visual-motion.md",
573
- "sha256": "03b14c6b8d708b0f3b24a6f8693f5b43343b20c7197690e472f94376cf334cca",
574
- "bytes": 9951
674
+ "sha256": "3f594c34c003f7d81aee6cf80adedc6c04c7605703cbf156224b2d4e4cc38e37",
675
+ "bytes": 10517
575
676
  },
576
677
  {
577
678
  "path": "skills/short-drama-review/references/stage-contract.md",
@@ -590,8 +691,8 @@
590
691
  },
591
692
  {
592
693
  "path": "skills/short-drama-storyboard/SKILL.md",
593
- "sha256": "187b38c3f17742959403cee6d99d688361bc8d62ef720a4e4096fd1adb6e0f26",
594
- "bytes": 16588
694
+ "sha256": "f893fb81cb45f02affd985fcb225cfa7a261f3020c33c4de4ce48c5669299944",
695
+ "bytes": 17622
595
696
  },
596
697
  {
597
698
  "path": "skills/short-drama-storyboard/agents/openai.yaml",
@@ -610,8 +711,8 @@
610
711
  },
611
712
  {
612
713
  "path": "skills/short-drama-storyboard/assets/keyframe-prompts.md",
613
- "sha256": "7feb2959deba04d78ef42e5cb1d20a9b7674c9e4056dfef0bfe93629bd293106",
614
- "bytes": 1500
714
+ "sha256": "da25a4f84f0ac80e487bc5a34f0131add83c161689d15f783c0324dc833fe20a",
715
+ "bytes": 1840
615
716
  },
616
717
  {
617
718
  "path": "skills/short-drama-storyboard/assets/keyframe-template.jsonl",
@@ -653,6 +754,11 @@
653
754
  "sha256": "02c095439f73211817a3f75ae2af264459356060755eecaf51ce11c1512ce2ca",
654
755
  "bytes": 10255
655
756
  },
757
+ {
758
+ "path": "skills/short-drama-storyboard/references/lighting-craft.md",
759
+ "sha256": "62b7fe6bfb3a87fc94732d4723d3b6c9fe1b5432c08cdbd4edca72e590216719",
760
+ "bytes": 2118
761
+ },
656
762
  {
657
763
  "path": "skills/short-drama-storyboard/references/production-shot-grammar.md",
658
764
  "sha256": "c8723d9f628ea7b546a2e4a558f9d5463da8296286c15a1eeb146e492b6fe04f",
@@ -675,8 +781,8 @@
675
781
  },
676
782
  {
677
783
  "path": "skills/short-drama-storyboard/references/shot-craft.md",
678
- "sha256": "ff794b3d83e2fe5f58c1f023eb245bf9fd801a7516901c85f1d33c2c333e3f33",
679
- "bytes": 11127
784
+ "sha256": "19f33418eb236fc9a2c0c650fcce1d46b2682ce49b03e7e4891a3f1c740bfe55",
785
+ "bytes": 16549
680
786
  },
681
787
  {
682
788
  "path": "skills/short-drama-storyboard/references/shot-revision-identity.md",
@@ -685,8 +791,8 @@
685
791
  },
686
792
  {
687
793
  "path": "skills/short-drama-storyboard/references/stage-contract.md",
688
- "sha256": "8624622c16dc60ca56aeba67f7d68c10c3f972ff533d6fbc484694a07ab5ae0e",
689
- "bytes": 9148
794
+ "sha256": "afc5fc4dc60c49e37cb71955f345a2049720f5f94ecf58eae1cc9cd92eaea745",
795
+ "bytes": 10181
690
796
  },
691
797
  {
692
798
  "path": "skills/short-drama-storyboard/scripts/selftest.py",
@@ -700,8 +806,8 @@
700
806
  },
701
807
  {
702
808
  "path": "skills/short-drama-video-prompts/SKILL.md",
703
- "sha256": "6af04f52c90b92120648cc703dd3f85f6225afa428a76d7b5c61471baea39250",
704
- "bytes": 15419
809
+ "sha256": "e9ab120687deabf1fa34404bf8d09b46f30f7c3b209e0ab5e583dab3482bacc4",
810
+ "bytes": 15825
705
811
  },
706
812
  {
707
813
  "path": "skills/short-drama-video-prompts/agents/openai.yaml",
@@ -750,8 +856,8 @@
750
856
  },
751
857
  {
752
858
  "path": "skills/short-drama-video-prompts/references/camera-audio-continuity.md",
753
- "sha256": "5ba794bd0844a42775098d96054e1f19719ce905fcdb79a6de27c245d9f66ab5",
754
- "bytes": 13386
859
+ "sha256": "f712304e82f1848f74b11312ad94d723a63d82f8d39da1b02b776524c30e7b55",
860
+ "bytes": 14317
755
861
  },
756
862
  {
757
863
  "path": "skills/short-drama-video-prompts/references/delivery-profile.md",
@@ -765,23 +871,23 @@
765
871
  },
766
872
  {
767
873
  "path": "skills/short-drama-video-prompts/references/minimax-h3.md",
768
- "sha256": "d83692c446175da092521ec11f4fbcbb0861b9ac96ce1bb426e73e9a3dfcdb02",
769
- "bytes": 11266
874
+ "sha256": "74fe472646f9eb09ae14eb2a5e3563e5c6334aacd0520e03733b3f171298898f",
875
+ "bytes": 16957
770
876
  },
771
877
  {
772
878
  "path": "skills/short-drama-video-prompts/references/motion-recipe.md",
773
- "sha256": "60fecef7a573b364ddb3d13708a6d2adc432e939fefd09653d2749a23b91c87b",
774
- "bytes": 20275
879
+ "sha256": "7a792afb82186ebd6b64f0758655a6d275766a8619b4714e0597d80c8b471af1",
880
+ "bytes": 20452
775
881
  },
776
882
  {
777
883
  "path": "skills/short-drama-video-prompts/references/performance-action-timing.md",
778
- "sha256": "4b986ab6a61eef2a16530ffaed82b9195d4cb33038c0e6a80c7e908680ad9b2a",
779
- "bytes": 11060
884
+ "sha256": "7e9504ceeff949d13179d3137d5d010982ca8c23e8977598a58c24e5730fe4d6",
885
+ "bytes": 12802
780
886
  },
781
887
  {
782
888
  "path": "skills/short-drama-video-prompts/references/production-prompt-grammar.md",
783
- "sha256": "774b3fc3949a92ee3d1fe4f1daa2f278d5ecf2e4d93b19fb282ae0123b179abc",
784
- "bytes": 23136
889
+ "sha256": "558c011dbbad162d7e6b76906f3c35e44225911d87f10124580d44b053ba127e",
890
+ "bytes": 21937
785
891
  },
786
892
  {
787
893
  "path": "skills/short-drama-video-prompts/references/review-and-fixtures.md",
@@ -790,18 +896,18 @@
790
896
  },
791
897
  {
792
898
  "path": "skills/short-drama-video-prompts/references/seedance-2.0.md",
793
- "sha256": "24a7a6f6b15088a015d7e646458de109017e1f52ba45f4171c46c5121f7f88f9",
794
- "bytes": 2466
899
+ "sha256": "00a81382de7137ce33ca602935087948cde9df499dd1d666f2602ef649b78f4b",
900
+ "bytes": 3460
795
901
  },
796
902
  {
797
903
  "path": "skills/short-drama-video-prompts/references/seedance-2.5.md",
798
- "sha256": "c0365b29478aa81f5eeea78f07c83f1a8caff3f5ac56b4372ea629207835fdd6",
799
- "bytes": 4427
904
+ "sha256": "cb7276819941ab6dcc3159c605402d04ad97c3d1d6ff30ae8092c695ba400e52",
905
+ "bytes": 8652
800
906
  },
801
907
  {
802
908
  "path": "skills/short-drama-video-prompts/references/stage-contract.md",
803
- "sha256": "9e24f8e5459dfc50c4fdb00dd0d37b14c2586f582caaa934df72031bb263111a",
804
- "bytes": 11068
909
+ "sha256": "3680ba91f61eb63af1a3f2e9a63f91544f181716fdfe9371d3bf7767e0a5ed4c",
910
+ "bytes": 11089
805
911
  },
806
912
  {
807
913
  "path": "skills/short-drama-video-prompts/references/target-model-profile.md",
@@ -830,8 +936,8 @@
830
936
  },
831
937
  {
832
938
  "path": "skills/short-drama-write/SKILL.md",
833
- "sha256": "859d01337ed392be36393d444d0222ee4742bafac8cd6cf4e3e8bcdd659a90cf",
834
- "bytes": 8719
939
+ "sha256": "f0a74465dbdd12c06ee7a37b2eda84423d1c8d03d364f0ef42c1e04b586f81cc",
940
+ "bytes": 9427
835
941
  },
836
942
  {
837
943
  "path": "skills/short-drama-write/agents/openai.yaml",
@@ -885,8 +991,8 @@
885
991
  },
886
992
  {
887
993
  "path": "skills/short-drama-write/references/screenplay-format.md",
888
- "sha256": "19b19b370e0958a3c6f004bc05312bf9ca53c92f07d5d58274409730897c8f71",
889
- "bytes": 9951
994
+ "sha256": "809b6033554899224c387d548aad096cfe469930fe0c0d713bfde732841a1dfa",
995
+ "bytes": 10614
890
996
  },
891
997
  {
892
998
  "path": "skills/short-drama-write/references/script-craft.md",
@@ -895,8 +1001,8 @@
895
1001
  },
896
1002
  {
897
1003
  "path": "skills/short-drama-write/references/stage-contract.md",
898
- "sha256": "9b0f5bade21156a59dd16d2917739f57eb793fd90f9d7bf47f46b535cd90b756",
899
- "bytes": 6744
1004
+ "sha256": "c554b7dee6d7e57b25966c962465f7d2d0210594e4cb93fea8dcdf971a732c6a",
1005
+ "bytes": 7238
900
1006
  },
901
1007
  {
902
1008
  "path": "skills/short-drama-write/references/substitutable-realization.md",
@@ -925,8 +1031,8 @@
925
1031
  },
926
1032
  {
927
1033
  "path": "skills/short-drama/SKILL.md",
928
- "sha256": "0fe4e5630d93eea97108868f3806fb525661062d0636c12b8d7d2bd5d1e147ad",
929
- "bytes": 9772
1034
+ "sha256": "a8efa0cc1f73a4cbc55ee1f1aa05491b2f43fba89a43fb87a21aef5f2b612784",
1035
+ "bytes": 10088
930
1036
  },
931
1037
  {
932
1038
  "path": "skills/short-drama/agents/openai.yaml",
@@ -1035,13 +1141,13 @@
1035
1141
  },
1036
1142
  {
1037
1143
  "path": "skills/short-drama/scripts/creator_markdown_check.py",
1038
- "sha256": "f34e71b24bf725e105c4b943370064c6e7fa5d389e1835fb3c6a467ba2c05617",
1039
- "bytes": 55674
1144
+ "sha256": "21f0af79598d6161cec8c7bf720fe9acbe4d4de4319c9eb1499c8e5a77277e97",
1145
+ "bytes": 61927
1040
1146
  },
1041
1147
  {
1042
1148
  "path": "skills/short-drama/scripts/project_tool.py",
1043
- "sha256": "5a195d69a256056940af74e89cae862ad7af12b350e2554376df445747a19f69",
1044
- "bytes": 95059
1149
+ "sha256": "40c40a1160ad86b83a5ad322d67968e5b9f805ff13e68643b530785a1c6189aa",
1150
+ "bytes": 95650
1045
1151
  },
1046
1152
  {
1047
1153
  "path": "skills/short-drama/scripts/selftest.py",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: short-drama
3
- description: 基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜或审查请求由对应子 skill 直接处理。
3
+ description: 基于文件系统初始化和继续短剧或漫剧项目,提供 creator-first 五文档路由、本地 Dashboard、制作形态与 Look Development 决策。用户提出“创建/继续短剧项目”“看进度/下一步”“做 Look Development”“打开 dashboard/短剧创作台”“导出制作资料”,或任务跨多个创作阶段时使用;明确的写作、资产、提示词、分镜、剪辑或审查请求由对应子 skill 直接处理。
4
4
  license: MIT
5
5
  ---
6
6
 
@@ -27,6 +27,7 @@ license: MIT
27
27
  | 做镜头和冻结关键帧 | `$short-drama-storyboard` → `分镜.md` |
28
28
  | 写视频/时间线音乐提示词 | `$short-drama-video-prompts` → `视频提示词.md` |
29
29
  | 实际生成媒体 | `$short-drama-produce`,先预览,再显式确认,最后运行 |
30
+ | 把已生产的素材剪成成片 | `$short-drama-edit` → `剪辑单.md` 与 `制作成果/成片/` |
30
31
  | 审稿或校验 | `$short-drama-review`,仅在用户点名时 |
31
32
  | 初始化、Dashboard、归档点名文档 | 本技能 |
32
33
 
@@ -36,6 +37,9 @@ license: MIT
36
37
  现成剧本可直接拆资产;已有视觉事实可直接写图片提示词或分镜;已有分镜可直接写视频提示词。
37
38
  不要为补齐名义流水线伪造上游。
38
39
 
40
+ 五份创作文档记录剧本、视觉与提示词;剪辑单在素材生产后记录取舍和后期处理。
41
+ 修改故事、镜头职责或上游时长声明时,回到负责该内容的文档。
42
+
39
43
  ## 执行请求
40
44
 
41
45
  1. 找到用户给出的项目或资料,只读当前任务的直接输入。