@oh-story/dsh 0.1.3 → 0.1.5

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 (524) hide show
  1. package/README.md +58 -12
  2. package/lib/client.js +2970 -537
  3. package/lib/client.js.map +4 -4
  4. package/lib/drama/manifest.json +218 -178
  5. package/lib/drama/skills/short-drama/SKILL.md +110 -117
  6. package/lib/drama/skills/short-drama/references/audience-reveal.md +14 -67
  7. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +26 -77
  8. package/lib/drama/skills/short-drama/references/creator-documents.md +204 -0
  9. package/lib/drama/skills/short-drama/references/creator-workflow.md +73 -63
  10. package/lib/drama/skills/short-drama/references/knowhow-index.md +5 -0
  11. package/lib/drama/skills/short-drama/references/look-development.md +2 -3
  12. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +14 -48
  13. package/lib/drama/skills/short-drama/references/production-form-profiles.md +1 -1
  14. package/lib/drama/skills/short-drama/references/reference-roles.md +32 -135
  15. package/lib/drama/skills/short-drama/references/runtime-preflight.md +16 -19
  16. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +1002 -0
  17. package/lib/drama/skills/short-drama/scripts/project_tool.py +485 -5
  18. package/lib/drama/skills/short-drama-assets/SKILL.md +59 -170
  19. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +18 -25
  20. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +13 -15
  21. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +11 -14
  22. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +116 -0
  23. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +6 -12
  24. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -11
  25. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +21 -2
  26. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +12 -105
  27. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +12 -32
  28. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +1 -1
  29. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +45 -155
  30. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +12 -13
  31. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +12 -13
  32. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +39 -51
  33. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +3 -4
  34. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +15 -14
  35. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +11 -15
  36. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +1 -1
  37. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +4 -7
  38. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +23 -23
  39. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +8 -65
  40. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +8 -8
  41. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +4 -2
  42. package/lib/drama/skills/short-drama-produce/SKILL.md +67 -15
  43. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +65 -8
  44. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +85 -0
  45. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +27 -10
  46. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +362 -3
  47. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +627 -40
  48. package/lib/drama/skills/short-drama-produce/scripts/selftest.py +5 -4
  49. package/lib/drama/skills/short-drama-review/SKILL.md +61 -123
  50. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -15
  51. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +15 -16
  52. package/lib/drama/skills/short-drama-review/references/project-calibration.md +7 -9
  53. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -9
  54. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +9 -13
  55. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +104 -4
  56. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +27 -19
  57. package/lib/drama/skills/short-drama-review/references/stage-contract.md +4 -63
  58. package/lib/drama/skills/short-drama-review/scripts/review_check.py +1 -1
  59. package/lib/drama/skills/short-drama-storyboard/SKILL.md +116 -238
  60. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +1 -1
  61. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +9 -34
  62. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  63. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +5 -10
  64. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +12 -7
  65. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +19 -4
  66. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +27 -62
  67. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +16 -25
  68. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +21 -23
  69. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -10
  70. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +9 -13
  71. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +16 -71
  72. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +1 -1
  73. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +123 -230
  74. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +6 -1
  75. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +17 -1
  76. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +10 -8
  77. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +24 -6
  78. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +2 -2
  79. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +154 -0
  80. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +35 -27
  81. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +8 -11
  82. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +13 -10
  83. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +34 -63
  84. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +41 -0
  85. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +66 -0
  86. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +17 -73
  87. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +115 -0
  88. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +1 -1
  89. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +1 -1
  90. package/lib/drama/skills/short-drama-write/SKILL.md +74 -268
  91. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +7 -0
  92. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +17 -43
  93. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +15 -15
  94. package/lib/drama/skills/short-drama-write/references/script-craft.md +208 -21
  95. package/lib/drama/skills/short-drama-write/references/stage-contract.md +11 -70
  96. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +1 -1
  97. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +2 -2
  98. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +1 -1
  99. package/lib/index.js +971 -46
  100. package/lib/index.js.map +4 -4
  101. package/lib/novel-to-game/LICENSE +21 -0
  102. package/lib/novel-to-game/README.md +180 -0
  103. package/lib/novel-to-game/README_ZH.md +178 -0
  104. package/lib/novel-to-game/VERSION +1 -0
  105. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +217 -0
  106. package/lib/novel-to-game/examples/jin-ping-mei/build/app/.vercelignore +3 -0
  107. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +130 -0
  108. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp +0 -0
  109. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp +0 -0
  110. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/meng.webp +0 -0
  111. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pan.webp +0 -0
  112. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pinger.webp +0 -0
  113. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/xuee.webp +0 -0
  114. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/yue.webp +0 -0
  115. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
  116. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp +0 -0
  117. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_alliance.webp +0 -0
  118. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day10.webp +0 -0
  119. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
  120. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp +0 -0
  121. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/title_new_guofeng.webp +0 -0
  122. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_pinger.webp +0 -0
  123. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_xuee.webp +0 -0
  124. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_meng.webp +0 -0
  125. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pan.webp +0 -0
  126. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pinger.webp +0 -0
  127. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/explicit.webp +0 -0
  128. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/prelude.webp +0 -0
  129. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/meng.webp +0 -0
  130. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pan.webp +0 -0
  131. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pinger.webp +0 -0
  132. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/xuee.webp +0 -0
  133. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/yue.webp +0 -0
  134. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/explicit.webp +0 -0
  135. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/prelude.webp +0 -0
  136. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/explicit.webp +0 -0
  137. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/prelude.webp +0 -0
  138. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/explicit.webp +0 -0
  139. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/prelude.webp +0 -0
  140. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/explicit.webp +0 -0
  141. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp +0 -0
  142. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/meng/night.webp +0 -0
  143. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pan/night.webp +0 -0
  144. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pinger/night.webp +0 -0
  145. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/xuee/night.webp +0 -0
  146. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/yue/night.webp +0 -0
  147. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
  148. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp +0 -0
  149. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +1105 -0
  150. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +2539 -0
  151. package/lib/novel-to-game/examples/jin-ping-mei/build/app/index.html +18 -0
  152. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/assets.js +147 -0
  153. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/audio.js +332 -0
  154. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +7472 -0
  155. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +13077 -0
  156. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +3028 -0
  157. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +32 -0
  158. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +10 -0
  159. package/lib/novel-to-game/examples/jin-ping-mei/build/app/vercel.json +23 -0
  160. package/lib/novel-to-game/examples/jin-ping-mei/build/art/generated-art.json +161 -0
  161. package/lib/novel-to-game/examples/jin-ping-mei/example.json +12 -0
  162. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +31 -0
  163. package/lib/novel-to-game/examples/jin-ping-mei/qa/playable-model.json +99 -0
  164. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +41 -0
  165. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +129 -0
  166. package/lib/novel-to-game/manifest.json +508 -0
  167. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +73 -0
  168. package/lib/novel-to-game/skills/game-art-direction/agents/openai.yaml +4 -0
  169. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +119 -0
  170. package/lib/novel-to-game/skills/game-build/SKILL.md +84 -0
  171. package/lib/novel-to-game/skills/game-build/agents/openai.yaml +4 -0
  172. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +109 -0
  173. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +56 -0
  174. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +81 -0
  175. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +37 -0
  176. package/lib/novel-to-game/skills/game-concept/SKILL.md +72 -0
  177. package/lib/novel-to-game/skills/game-concept/agents/openai.yaml +4 -0
  178. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +94 -0
  179. package/lib/novel-to-game/skills/game-qa/SKILL.md +50 -0
  180. package/lib/novel-to-game/skills/game-qa/agents/openai.yaml +4 -0
  181. package/lib/novel-to-game/skills/game-qa/references/qa-contract.md +66 -0
  182. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +45 -0
  183. package/lib/novel-to-game/skills/game-world-design/SKILL.md +63 -0
  184. package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +4 -0
  185. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +59 -0
  186. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +53 -0
  187. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +84 -0
  188. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +56 -0
  189. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +124 -0
  190. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +77 -0
  191. package/lib/novel-to-game/skills/novel-game-analyze/agents/openai.yaml +4 -0
  192. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +65 -0
  193. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +71 -0
  194. package/lib/novel-to-game/skills/novel-to-game/agents/openai.yaml +4 -0
  195. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +42 -0
  196. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +51 -0
  197. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +65 -0
  198. package/lib/oh-story/manifest.json +419 -309
  199. package/lib/oh-story/roles/character-designer.md +4 -4
  200. package/lib/oh-story/roles/consistency-checker.md +1 -1
  201. package/lib/oh-story/roles/narrative-writer.md +41 -42
  202. package/lib/oh-story/roles/story-architect.md +19 -23
  203. package/lib/oh-story/roles/story-explorer.md +8 -5
  204. package/lib/oh-story/skills/browser-cdp/SKILL.md +1 -1
  205. package/lib/oh-story/skills/story/SKILL.md +16 -9
  206. package/lib/oh-story/skills/story/VERSION +1 -1
  207. package/lib/oh-story/skills/story/references/author-memory.md +163 -0
  208. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +871 -0
  209. package/lib/oh-story/skills/story-cover/SKILL.md +1 -1
  210. package/lib/oh-story/skills/story-deslop/SKILL.md +10 -5
  211. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +2 -1
  212. package/lib/oh-story/skills/story-deslop/references/author-memory.md +163 -0
  213. package/lib/oh-story/skills/story-deslop/references/banned-words.md +6 -4
  214. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +871 -0
  215. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +64 -1
  216. package/lib/oh-story/skills/story-import/SKILL.md +21 -8
  217. package/lib/oh-story/skills/story-import/references/format-and-structure.md +9 -10
  218. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +2 -2
  219. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +1 -1
  220. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +14 -6
  221. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +251 -0
  222. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +98 -9
  223. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +246 -0
  224. package/lib/oh-story/skills/story-long-analyze/SKILL.md +4 -4
  225. package/lib/oh-story/skills/story-long-scan/SKILL.md +1 -1
  226. package/lib/oh-story/skills/story-long-write/SKILL.md +35 -21
  227. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +2 -1
  228. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +7 -3
  229. package/lib/oh-story/skills/story-long-write/references/author-memory.md +163 -0
  230. package/lib/oh-story/skills/story-long-write/references/banned-words.md +6 -4
  231. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +6 -6
  232. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
  233. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +1 -1
  234. package/lib/oh-story/skills/{story-setup/references/agent-references/hooks-chapter.md → story-long-write/references/long-chapter-hooks.md} +5 -5
  235. package/lib/oh-story/skills/story-long-write/references/{quality-checklist.md → long-chapter-quality.md} +2 -1
  236. package/lib/oh-story/skills/story-long-write/references/long-format.md +42 -0
  237. package/lib/oh-story/skills/{story-setup/references/agent-references/genre-catalog.md → story-long-write/references/long-genre-catalog.md} +11 -97
  238. package/lib/oh-story/skills/story-long-write/references/{genre-core-mechanics.md → long-genre-mechanics.md} +1 -1
  239. package/lib/oh-story/skills/story-long-write/references/{reversal-toolkit.md → long-reversal.md} +18 -32
  240. package/lib/oh-story/skills/story-long-write/references/{hooks-suspense.md → long-suspense.md} +6 -6
  241. package/lib/oh-story/skills/story-long-write/references/opening-design.md +1 -1
  242. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +1 -1
  243. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  244. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +14 -6
  245. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +32 -27
  246. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +5 -4
  247. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +2 -2
  248. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +17 -11
  249. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +54 -54
  250. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +871 -0
  251. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +64 -1
  252. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +251 -0
  253. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +303 -0
  254. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +98 -9
  255. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +246 -0
  256. package/lib/oh-story/skills/story-review/SKILL.md +26 -17
  257. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +2 -1
  258. package/lib/oh-story/skills/story-review/references/author-memory.md +163 -0
  259. package/lib/oh-story/skills/story-review/references/banned-words.md +6 -4
  260. package/lib/oh-story/skills/story-review/references/{quality-checklist.md → review-quality.md} +22 -21
  261. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +14 -6
  262. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +871 -0
  263. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +64 -1
  264. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +98 -9
  265. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +246 -0
  266. package/lib/oh-story/skills/story-setup/SKILL.md +85 -41
  267. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +72 -0
  268. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +55 -0
  269. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +2 -1
  270. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +6 -4
  271. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +9 -10
  272. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
  273. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +1 -1
  274. package/lib/oh-story/skills/{story-short-analyze/references/hooks-chapter.md → story-setup/references/agent-references/long-chapter-hooks.md} +5 -5
  275. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +209 -0
  276. package/lib/oh-story/skills/{story-long-write/references/genre-catalog.md → story-setup/references/agent-references/long-genre-catalog.md} +11 -97
  277. package/lib/oh-story/skills/story-setup/references/agent-references/{genre-core-mechanics.md → long-genre-mechanics.md} +1 -1
  278. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +40 -0
  279. package/lib/oh-story/skills/{story-short-write/references/reversal-toolkit.md → story-setup/references/agent-references/long-reversal.md} +18 -32
  280. package/lib/oh-story/skills/{story-short-write/references/hooks-suspense.md → story-setup/references/agent-references/long-suspense.md} +6 -6
  281. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +1 -1
  282. package/lib/oh-story/skills/story-setup/references/agent-references/{emotional-methods.md → short-emotional-methods.md} +4 -4
  283. package/lib/oh-story/skills/{story-long-write/references/genre-writing-formulas.md → story-setup/references/agent-references/short-genre-formulas.md} +32 -44
  284. package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +39 -0
  285. package/lib/oh-story/skills/story-setup/references/agent-references/{reversal-toolkit.md → short-reversal.md} +29 -23
  286. package/lib/oh-story/skills/story-setup/references/agent-references/{hooks-suspense.md → short-suspense.md} +31 -31
  287. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  288. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +55 -55
  289. package/lib/oh-story/skills/story-short-analyze/SKILL.md +28 -28
  290. package/lib/oh-story/skills/story-short-analyze/references/{character-basics.md → analysis-character-basics.md} +1 -1
  291. package/lib/oh-story/skills/story-short-analyze/references/{character-design-methods.md → analysis-character-design.md} +1 -1
  292. package/lib/oh-story/skills/story-short-analyze/references/{character-relations.md → analysis-character-relations.md} +1 -1
  293. package/lib/oh-story/skills/story-short-analyze/references/{hooks-paragraph.md → analysis-paragraph-hooks.md} +1 -1
  294. package/lib/oh-story/skills/story-short-analyze/references/{genre-readers.md → analysis-reader-profile.md} +2 -2
  295. package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +45 -0
  296. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +65 -0
  297. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +77 -0
  298. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +82 -0
  299. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +50 -0
  300. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +98 -0
  301. package/lib/oh-story/skills/story-short-analyze/references/{genre-writing-techniques.md → analysis-writing-techniques.md} +21 -19
  302. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +1 -1
  303. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +21 -28
  304. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +1 -1
  305. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +17 -17
  306. package/lib/oh-story/skills/story-short-analyze/references/{quality-checklist.md → source-story-quality.md} +28 -49
  307. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +2 -2
  308. package/lib/oh-story/skills/story-short-scan/SKILL.md +1 -1
  309. package/lib/oh-story/skills/story-short-write/SKILL.md +78 -55
  310. package/lib/oh-story/skills/story-short-write/references/author-memory.md +163 -0
  311. package/lib/oh-story/skills/story-short-write/references/banned-words.md +6 -4
  312. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +3 -3
  313. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +4 -4
  314. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +3 -3
  315. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +2 -2
  316. 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
  317. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +6 -6
  318. 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
  319. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +4 -4
  320. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +7 -7
  321. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +5 -5
  322. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +4 -4
  323. 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
  324. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +32 -44
  325. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +20 -18
  326. package/lib/oh-story/skills/story-short-write/references/output-contract.md +1 -1
  327. package/lib/oh-story/skills/story-short-write/references/short-craft.md +18 -18
  328. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +1 -1
  329. package/lib/oh-story/skills/story-short-write/references/short-format.md +38 -8
  330. package/lib/oh-story/skills/story-short-write/references/{quality-checklist.md → short-prose-quality.md} +22 -21
  331. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +355 -0
  332. package/lib/oh-story/skills/{story-short-analyze/references/hooks-suspense.md → story-short-write/references/short-suspense.md} +31 -31
  333. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +2 -2
  334. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +31 -22
  335. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +871 -0
  336. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +64 -1
  337. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +212 -0
  338. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +363 -0
  339. package/lib/types/client/drama-production-view.d.ts +34 -0
  340. package/lib/types/client/drama-production-view.d.ts.map +1 -0
  341. package/lib/types/client/drama-production.d.ts +92 -0
  342. package/lib/types/client/drama-production.d.ts.map +1 -0
  343. package/lib/types/client/file-activity.d.ts +9 -2
  344. package/lib/types/client/file-activity.d.ts.map +1 -1
  345. package/lib/types/client/index.d.ts +1 -1
  346. package/lib/types/client/index.d.ts.map +1 -1
  347. package/lib/types/client/production-intents.d.ts +9 -0
  348. package/lib/types/client/production-intents.d.ts.map +1 -0
  349. package/lib/types/client/production-prompts.d.ts +9 -0
  350. package/lib/types/client/production-prompts.d.ts.map +1 -0
  351. package/lib/types/client/production-runtime.d.ts +58 -0
  352. package/lib/types/client/production-runtime.d.ts.map +1 -0
  353. package/lib/types/client/video-studio.d.ts +41 -0
  354. package/lib/types/client/video-studio.d.ts.map +1 -0
  355. package/lib/types/client/workbench-ui.d.ts +5 -0
  356. package/lib/types/client/workbench-ui.d.ts.map +1 -0
  357. package/lib/types/game-verification.d.ts +16 -0
  358. package/lib/types/game-verification.d.ts.map +1 -0
  359. package/lib/types/index.d.ts +5 -2
  360. package/lib/types/index.d.ts.map +1 -1
  361. package/lib/types/production-intent.d.ts +21 -0
  362. package/lib/types/production-intent.d.ts.map +1 -0
  363. package/lib/types/production-tool.d.ts +5 -0
  364. package/lib/types/production-tool.d.ts.map +1 -0
  365. package/lib/types/reference-tool.d.ts +6 -0
  366. package/lib/types/reference-tool.d.ts.map +1 -0
  367. package/lib/types/role-provider.d.ts.map +1 -1
  368. package/lib/types/role-tool.d.ts +3 -1
  369. package/lib/types/role-tool.d.ts.map +1 -1
  370. package/lib/types/skill-provider.d.ts +7 -0
  371. package/lib/types/skill-provider.d.ts.map +1 -1
  372. package/lib/types/video-project.d.ts +42 -0
  373. package/lib/types/video-project.d.ts.map +1 -0
  374. package/lib/types/workspace-request-trust.d.ts +6 -0
  375. package/lib/types/workspace-request-trust.d.ts.map +1 -1
  376. package/lib/types/workspace-route.d.ts +20 -0
  377. package/lib/types/workspace-route.d.ts.map +1 -1
  378. package/lib/video-recap/CHANGELOG.md +282 -0
  379. package/lib/video-recap/LICENSE +21 -0
  380. package/lib/video-recap/README.en.md +257 -0
  381. package/lib/video-recap/README.md +255 -0
  382. package/lib/video-recap/manifest.json +684 -0
  383. package/lib/video-recap/skills/video-assemble/SKILL.md +97 -0
  384. package/lib/video-recap/skills/video-assemble/references/jianying/LICENSE.duo-video +21 -0
  385. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +15 -0
  386. package/lib/video-recap/skills/video-assemble/references/jianying/empty_draft_meta_info.json +69 -0
  387. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_segment.json +84 -0
  388. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_video_material.json +98 -0
  389. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_draft.json +204 -0
  390. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_material_video.json +83 -0
  391. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_meta_material_value.json +23 -0
  392. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_project_info.json +133 -0
  393. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_segment.json +70 -0
  394. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_text_styles.json +30 -0
  395. package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_audio.json +41 -0
  396. package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_text.json +109 -0
  397. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +88 -0
  398. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +345 -0
  399. package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +34 -0
  400. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +305 -0
  401. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +94 -0
  402. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +205 -0
  403. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +555 -0
  404. package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +261 -0
  405. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +767 -0
  406. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +111 -0
  407. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +24 -0
  408. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +109 -0
  409. package/lib/video-recap/skills/video-assemble/scripts/jianying_templates.py +37 -0
  410. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +191 -0
  411. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +75 -0
  412. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +394 -0
  413. package/lib/video-recap/skills/video-assemble/scripts/lib.py +239 -0
  414. package/lib/video-recap/skills/video-assemble/scripts/media.py +243 -0
  415. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +477 -0
  416. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +46 -0
  417. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +486 -0
  418. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +376 -0
  419. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +88 -0
  420. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +248 -0
  421. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +89 -0
  422. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +512 -0
  423. package/lib/video-recap/skills/video-cut/SKILL.md +90 -0
  424. package/lib/video-recap/skills/video-cut/scripts/cut.py +67 -0
  425. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +320 -0
  426. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +545 -0
  427. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +348 -0
  428. package/lib/video-recap/skills/video-cut/scripts/lib.py +77 -0
  429. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +341 -0
  430. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +249 -0
  431. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +745 -0
  432. package/lib/video-recap/skills/video-recap/SKILL.md +216 -0
  433. package/lib/video-recap/skills/video-recap/references/config-playbook.md +61 -0
  434. package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +225 -0
  435. package/lib/video-recap/skills/video-recap/references/data-schema.md +534 -0
  436. package/lib/video-recap/skills/video-recap/references/research-guide.md +74 -0
  437. package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +23 -0
  438. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +251 -0
  439. package/lib/video-recap/skills/video-recap/scripts/doctor.py +483 -0
  440. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +737 -0
  441. package/lib/video-recap/skills/video-recap/scripts/lib.py +242 -0
  442. package/lib/video-recap/skills/video-recap/scripts/materials.py +457 -0
  443. package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +95 -0
  444. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +18 -0
  445. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_contract.py +9 -0
  446. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +371 -0
  447. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +201 -0
  448. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +227 -0
  449. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +362 -0
  450. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +129 -0
  451. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +338 -0
  452. package/lib/video-recap/skills/video-recap/scripts/recap.py +9 -0
  453. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +140 -0
  454. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +550 -0
  455. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +77 -0
  456. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +654 -0
  457. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +335 -0
  458. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +217 -0
  459. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +795 -0
  460. package/lib/video-recap/skills/video-script/SKILL.md +248 -0
  461. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +225 -0
  462. package/lib/video-recap/skills/video-script/references/research-guide.md +75 -0
  463. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +399 -0
  464. package/lib/video-recap/skills/video-script/scripts/agent_text.py +410 -0
  465. package/lib/video-recap/skills/video-script/scripts/brief_context.py +403 -0
  466. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +332 -0
  467. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +442 -0
  468. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +237 -0
  469. package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +492 -0
  470. package/lib/video-recap/skills/video-script/scripts/lib.py +327 -0
  471. package/lib/video-recap/skills/video-script/scripts/narration.py +12 -0
  472. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +678 -0
  473. package/lib/video-recap/skills/video-script/scripts/review.py +42 -0
  474. package/lib/video-recap/skills/video-script/scripts/review_grounding.py +262 -0
  475. package/lib/video-recap/skills/video-script/scripts/review_response.py +761 -0
  476. package/lib/video-recap/skills/video-script/scripts/review_runner.py +200 -0
  477. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +204 -0
  478. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +199 -0
  479. package/lib/video-recap/skills/video-script/scripts/validate.py +164 -0
  480. package/lib/video-recap/skills/video-understanding/SKILL.md +75 -0
  481. package/lib/video-recap/skills/video-understanding/references/data-schema.md +299 -0
  482. package/lib/video-recap/skills/video-understanding/references/prompt-templates.md +37 -0
  483. package/lib/video-recap/skills/video-understanding/references/research-guide.md +74 -0
  484. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +399 -0
  485. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +410 -0
  486. package/lib/video-recap/skills/video-understanding/scripts/asr.py +260 -0
  487. package/lib/video-recap/skills/video-understanding/scripts/brief.py +12 -0
  488. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +403 -0
  489. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +332 -0
  490. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +442 -0
  491. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +647 -0
  492. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +237 -0
  493. package/lib/video-recap/skills/video-understanding/scripts/detect.py +513 -0
  494. package/lib/video-recap/skills/video-understanding/scripts/extract.py +62 -0
  495. package/lib/video-recap/skills/video-understanding/scripts/lib.py +470 -0
  496. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +678 -0
  497. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +204 -0
  498. package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +507 -0
  499. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +199 -0
  500. package/lib/video-recap/skills/video-understanding/scripts/understand.py +9 -0
  501. package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +216 -0
  502. package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +327 -0
  503. package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +367 -0
  504. package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +162 -0
  505. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +705 -0
  506. package/lib/video-recap/skills/video-voiceover/SKILL.md +81 -0
  507. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +637 -0
  508. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +109 -0
  509. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +421 -0
  510. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +113 -0
  511. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +782 -0
  512. package/package.json +57 -41
  513. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +0 -130
  514. package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +0 -241
  515. package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +0 -169
  516. package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +0 -444
  517. package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +0 -247
  518. package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +0 -582
  519. package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +0 -147
  520. package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +0 -490
  521. package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +0 -425
  522. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +0 -453
  523. /package/lib/oh-story/skills/{story-long-write/references/hooks-chapter.md → story-setup/references/agent-references/short-chapter-hooks.md} +0 -0
  524. /package/lib/oh-story/skills/{story-long-write/references/hooks-paragraph.md → story-setup/references/agent-references/short-paragraph-hooks.md} +0 -0
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "upstream": {
4
- "repository": "https://github.com/worldwonderer/drama-skills.git",
5
- "commit": "3b9f807cd384cd63324d0856d92950be4c95b40d"
4
+ "repository": "https://github.com/zenstory-ai/drama-skills.git",
5
+ "commit": "ebcb02ea488132da9211f8c76e71e03b6f1956a0"
6
6
  },
7
- "generatedAt": "2026-08-20T13:29:18.975Z",
7
+ "generatedAt": "2026-09-02T02:39:35.239Z",
8
8
  "skills": [
9
9
  "short-drama",
10
10
  "short-drama-assets",
@@ -25,8 +25,8 @@
25
25
  },
26
26
  {
27
27
  "path": "skills/short-drama-assets/SKILL.md",
28
- "sha256": "0004f5224d0168c1540ced6e5d8cb58bc14c1f8e29248cdde2934379f9708a0f",
29
- "bytes": 11618
28
+ "sha256": "a8d3a4568b98ce256b8340bea221bb03f2cd8839f80485e46fae5a164c7bd737",
29
+ "bytes": 5321
30
30
  },
31
31
  {
32
32
  "path": "skills/short-drama-assets/agents/openai.yaml",
@@ -75,23 +75,28 @@
75
75
  },
76
76
  {
77
77
  "path": "skills/short-drama-assets/references/asset-review-checklist.md",
78
- "sha256": "58f3ca9b0baa34bc1329622d8b82f0efefbf0ed738ddd7e06f226f9e61743ee3",
79
- "bytes": 4888
78
+ "sha256": "c8f8a83a292edbd11f9d788d043a1ab79896b40ade80a8754fc46e0e23a2e123",
79
+ "bytes": 4661
80
80
  },
81
81
  {
82
82
  "path": "skills/short-drama-assets/references/character-and-look.md",
83
- "sha256": "0b6f89a7a52abbd36f71f54ec3e9851af1d5d4d5ed1b561fd84ac70f13db4965",
84
- "bytes": 10256
83
+ "sha256": "ae7e949ebc8c686d75a780597b43996d868e15b0c633801bf13f82f5c74752e9",
84
+ "bytes": 10066
85
85
  },
86
86
  {
87
87
  "path": "skills/short-drama-assets/references/continuity-delta.md",
88
- "sha256": "efef61007fdd0da7165bdab6c7ec0469dfbfec1a2af556a1949b58426181fdf4",
89
- "bytes": 7483
88
+ "sha256": "9406f36b5d3ba9697760773480f6b3101b81e0e645ec6d2569ef6e571f3a2b4b",
89
+ "bytes": 7322
90
+ },
91
+ {
92
+ "path": "skills/short-drama-assets/references/continuity-lock.md",
93
+ "sha256": "5ba6bfa82597c89756b765263f618a21f98d9b534d9f2ee3c23308c026f97f41",
94
+ "bytes": 6746
90
95
  },
91
96
  {
92
97
  "path": "skills/short-drama-assets/references/identity-vs-variant.md",
93
- "sha256": "da52b12a90949897d4b81ed7c2fd909c9802766c6796f22860d9700cfd76a867",
94
- "bytes": 8253
98
+ "sha256": "06eac61e6b6b497f1071775903d85f5a08b27917805847cc3b9842022e0e3a23",
99
+ "bytes": 7911
95
100
  },
96
101
  {
97
102
  "path": "skills/short-drama-assets/references/location-and-view.md",
@@ -100,28 +105,28 @@
100
105
  },
101
106
  {
102
107
  "path": "skills/short-drama-assets/references/occurrence-extraction.md",
103
- "sha256": "057282b4dafdae63116d87b05dfd9cd990a0898fd0a2f3906497d5cb33d63823",
104
- "bytes": 6333
108
+ "sha256": "3e47aefa8e787f07a49efd32a86105af69d7df1561923bdca9604984aa2109a2",
109
+ "bytes": 6063
105
110
  },
106
111
  {
107
112
  "path": "skills/short-drama-assets/references/prop-and-state.md",
108
- "sha256": "7dccae92f5b4e5f5fcff87b11f8157e5a8cfb5c036e7ab3508b9b6780411309f",
109
- "bytes": 5403
113
+ "sha256": "66e9eaa6e31a0ee5f74cabd6a19f2c4b38a6595fe9433fd1b323ff80bce42b4b",
114
+ "bytes": 6962
110
115
  },
111
116
  {
112
117
  "path": "skills/short-drama-assets/references/stage-contract.md",
113
- "sha256": "43a5be1c2848a1d8614431910b270fca5edc21f5b269a3cbe091f5be968e567a",
114
- "bytes": 8833
118
+ "sha256": "ddfe599f7d1b86669b999a2483093bd9d90572adbb749233f5a434e1b741e81b",
119
+ "bytes": 4141
115
120
  },
116
121
  {
117
122
  "path": "skills/short-drama-assets/references/voice-direction.md",
118
- "sha256": "d40f4cb63c92a7334315655cff71463f11706e0a661e1c61c0b1f0f95f40a84f",
119
- "bytes": 9000
123
+ "sha256": "61f4db4876084e181f6b3d36c53a551d733e3d131656dc9a271be9e90913a40f",
124
+ "bytes": 7741
120
125
  },
121
126
  {
122
127
  "path": "skills/short-drama-assets/scripts/asset_check.py",
123
- "sha256": "413ee8e37927690b482d1f0809d61675bc6035f9fc1ba20d1b2a30f585f88221",
124
- "bytes": 10261
128
+ "sha256": "e19bf29a16d407c4b397fe721267ddffe5000f280db43fe89b5436a7db0bc9a7",
129
+ "bytes": 10260
125
130
  },
126
131
  {
127
132
  "path": "skills/short-drama-assets/scripts/selftest.py",
@@ -295,8 +300,8 @@
295
300
  },
296
301
  {
297
302
  "path": "skills/short-drama-image-prompts/SKILL.md",
298
- "sha256": "c3c9f68580be4098b32a83c8f4c2494924c1eec86d3ce3668fcb814f997a8321",
299
- "bytes": 12517
303
+ "sha256": "a3341fc0c5562ab2808c3e61ed5b9c57e720ea339bea58cf3a65268660d9032f",
304
+ "bytes": 4255
300
305
  },
301
306
  {
302
307
  "path": "skills/short-drama-image-prompts/agents/openai.yaml",
@@ -330,63 +335,63 @@
330
335
  },
331
336
  {
332
337
  "path": "skills/short-drama-image-prompts/references/character-and-look.md",
333
- "sha256": "139b43d639a1a801fc805c1e184dd4f23264c1612bd86e65b6157a2289c17322",
334
- "bytes": 8664
338
+ "sha256": "49311499479e40ac3a4c1e648e1900eb39e6bfa80cc26ef7617ad3e2eb6eaef0",
339
+ "bytes": 8534
335
340
  },
336
341
  {
337
342
  "path": "skills/short-drama-image-prompts/references/common-recipe.md",
338
- "sha256": "c298d45cb4ab5891a6f842b2529ee5f5406042bc44eaab1a60f89c9ab0f718fd",
339
- "bytes": 14761
343
+ "sha256": "a185edab74e7cf2c68e9c21057c13808a366b319787ecd0307ac4f6c475a32bb",
344
+ "bytes": 15099
340
345
  },
341
346
  {
342
347
  "path": "skills/short-drama-image-prompts/references/edit-and-revision.md",
343
- "sha256": "c9783db4fd4eb68c56556b00ad66c68837b0cba567fb28527b2bbba9dce29b32",
344
- "bytes": 5785
348
+ "sha256": "3fda68d710ef218d716d87176d66ab1ae79dbf8529a42be3dd631cad4330a7ba",
349
+ "bytes": 5238
345
350
  },
346
351
  {
347
352
  "path": "skills/short-drama-image-prompts/references/location-plate.md",
348
- "sha256": "15412802cae043910dca3d8a7af74105d6fe38eaaf604b35abd27525f5737310",
349
- "bytes": 9166
353
+ "sha256": "5b9beda7d5e30931a44033e6d97839febc7f4a708f0b7c842fa2ad3971b1ab4f",
354
+ "bytes": 9002
350
355
  },
351
356
  {
352
357
  "path": "skills/short-drama-image-prompts/references/look-and-state-variant.md",
353
- "sha256": "20c6da224896742979aab8da1b031df647cbaa7e2f30eb96629137e5e1b08a0c",
354
- "bytes": 5489
358
+ "sha256": "c812ae7f0693d989b61a992833bd91f4b6ac124a4aff19536132e1cc44c1eb2b",
359
+ "bytes": 5475
355
360
  },
356
361
  {
357
362
  "path": "skills/short-drama-image-prompts/references/lookdev-frame.md",
358
- "sha256": "08ee11c6b3e62272b6f14696d643448f1ff421f351ff83ec510a0467b728abb8",
359
- "bytes": 2421
363
+ "sha256": "7977688d131689bc29d08bbc17237c7b626e70bd768bbc30c8e5af9b2d96212f",
364
+ "bytes": 2407
360
365
  },
361
366
  {
362
367
  "path": "skills/short-drama-image-prompts/references/production-sheet-recipes.md",
363
- "sha256": "77fe726d09568938efd72b7388f6caa299137589bc7afdd94cfb8125ab5e3a0b",
364
- "bytes": 11675
368
+ "sha256": "24bf14407695b33a54075b3cc0a6554a648dbdbdaa9497417b1685e88a9c58f6",
369
+ "bytes": 11690
365
370
  },
366
371
  {
367
372
  "path": "skills/short-drama-image-prompts/references/prop-plate.md",
368
- "sha256": "f50c1150b6c9d8b3f7003f580834e042edd64d6a0d05a560dac2248a8b5f01ce",
369
- "bytes": 7060
373
+ "sha256": "9ca8717e51a8a8c7e692bbeb898c68f49db8630d02067413378cd2d1e65a4fcd",
374
+ "bytes": 6897
370
375
  },
371
376
  {
372
377
  "path": "skills/short-drama-image-prompts/references/review-and-fixtures.md",
373
- "sha256": "4b90085d3d49ccd15032a695f31f06a14966128a53a147b09facf19ea1973b8c",
374
- "bytes": 5910
378
+ "sha256": "6da6d575617c7caf3983ec17e2c4d6af24443a210e109651e70708745f552e65",
379
+ "bytes": 5354
375
380
  },
376
381
  {
377
382
  "path": "skills/short-drama-image-prompts/references/stage-contract.md",
378
- "sha256": "1d1ee1373980e060ca811263783525d4fb7fa4d2324e8d3a05836642f4672bd5",
379
- "bytes": 6966
383
+ "sha256": "7813c87297ef94ec26178cc59bf3a59a93b47fc19be2793a7e80cdc9d3c5ebb9",
384
+ "bytes": 3712
380
385
  },
381
386
  {
382
387
  "path": "skills/short-drama-image-prompts/scripts/image_prompt_check.py",
383
- "sha256": "86b14704ea92b88f71d020732fbc41e0454f924b3ea9201c2042c70ca8fb171a",
384
- "bytes": 17932
388
+ "sha256": "a6e3217410e366f0626766218e41e5d41501efde87f5f2283c65c7e7adb901f4",
389
+ "bytes": 17936
385
390
  },
386
391
  {
387
392
  "path": "skills/short-drama-image-prompts/scripts/selftest.py",
388
- "sha256": "839b5e6c6a62d096193fb580783627af5769cbcc071e4edb2731aedf18f8c7d4",
389
- "bytes": 3725
393
+ "sha256": "9cc21ea2b835df84289d3d1f6bd363ed20c2cb2f81870a69e75bd53052c01968",
394
+ "bytes": 3862
390
395
  },
391
396
  {
392
397
  "path": "skills/short-drama-novel-analyze/SKILL.md",
@@ -440,8 +445,8 @@
440
445
  },
441
446
  {
442
447
  "path": "skills/short-drama-produce/SKILL.md",
443
- "sha256": "ba074e3f57b1e014c852e2e5606a7f477ba9ad60b0173e5452cc107b8935cf12",
444
- "bytes": 7179
448
+ "sha256": "e9f3678b49a156ada1d777457101f6bc6703f5d1c77a737099a51bd4cc41dbde",
449
+ "bytes": 11989
445
450
  },
446
451
  {
447
452
  "path": "skills/short-drama-produce/agents/openai.yaml",
@@ -450,14 +455,19 @@
450
455
  },
451
456
  {
452
457
  "path": "skills/short-drama-produce/references/adapter-contract.md",
453
- "sha256": "ed4bae0e868958c04deabefd6179a53d875eea2662b3b3c4664c0d9117533c2c",
454
- "bytes": 5954
458
+ "sha256": "a2825dd9dee723fbc0cf24486348df9fd0a7cb2fcb39b384179a8302677fe4b1",
459
+ "bytes": 9863
455
460
  },
456
461
  {
457
462
  "path": "skills/short-drama-produce/references/providers/gpt-image-2.md",
458
463
  "sha256": "823735597abc95ee34ef82d0869c368feb1e732ffc6bd2a4a061f3b0fcd08ee4",
459
464
  "bytes": 1329
460
465
  },
466
+ {
467
+ "path": "skills/short-drama-produce/references/providers/minimax-h3-video.md",
468
+ "sha256": "ed2ebb0234cf841442f54342196b52df65c6f42a74a5bdfe80bc774bf6911e54",
469
+ "bytes": 5531
470
+ },
461
471
  {
462
472
  "path": "skills/short-drama-produce/references/providers/minimax-music.md",
463
473
  "sha256": "ef1d00a430edf31a451b3ed588b5e5775a7f61376a4f74d6fe75139f8f1c49cc",
@@ -465,8 +475,8 @@
465
475
  },
466
476
  {
467
477
  "path": "skills/short-drama-produce/references/providers/seedance.md",
468
- "sha256": "168c77b31eebb1f56502c57904917fd60092532a79b9de693c150cfcb7925881",
469
- "bytes": 2063
478
+ "sha256": "0c5672a8c6a1d9e47f7b950773d4a12843df92aa5ec4b67b053cc8e17de84ada",
479
+ "bytes": 3380
470
480
  },
471
481
  {
472
482
  "path": "skills/short-drama-produce/scripts/fixture_adapter.py",
@@ -475,23 +485,23 @@
475
485
  },
476
486
  {
477
487
  "path": "skills/short-drama-produce/scripts/production_tool.py",
478
- "sha256": "0ebac2fe72ca4d463dd05810cdab8fb2ed5a7ca3c03b3743756e38be8e1e3284",
479
- "bytes": 63120
488
+ "sha256": "6b13682f4769495ee1cddb678651c48572623a1480c070d1b2565262761388df",
489
+ "bytes": 77848
480
490
  },
481
491
  {
482
492
  "path": "skills/short-drama-produce/scripts/provider_adapters.py",
483
- "sha256": "0d0e6e7658f81bdf8ced49c30e0363a57e8c8264ba1cc54e11b45a537089f63e",
484
- "bytes": 37489
493
+ "sha256": "056f49984683bffd7f7c8e13faa3aee3b7d73bc0f22e33d8f06b054bceb9ce67",
494
+ "bytes": 62022
485
495
  },
486
496
  {
487
497
  "path": "skills/short-drama-produce/scripts/selftest.py",
488
- "sha256": "60125eb64f8e10c153054833332eb43f4c28181a30fecd23c84a9036b3d66b0f",
489
- "bytes": 4101
498
+ "sha256": "d93f6717f3a347be3188d0619946002d1e49e86db5315fb550e7cd8c314bcac3",
499
+ "bytes": 4122
490
500
  },
491
501
  {
492
502
  "path": "skills/short-drama-review/SKILL.md",
493
- "sha256": "53a49ce0b4bce210d9bf2b2c767bff3280a88f224ec7eacb584c0ceceb98e1c7",
494
- "bytes": 8846
503
+ "sha256": "594a11ecb99cbd61ec7e1154a6ab026cf2568fd976871046fc2fca9716f23361",
504
+ "bytes": 4965
495
505
  },
496
506
  {
497
507
  "path": "skills/short-drama-review/agents/openai.yaml",
@@ -525,28 +535,28 @@
525
535
  },
526
536
  {
527
537
  "path": "skills/short-drama-review/references/anti-template-repair.md",
528
- "sha256": "672428db56908e3738cf1c7a7e88d271efdaebf9aecbd54db743c811940d310b",
529
- "bytes": 5507
538
+ "sha256": "c357d622db275494589199d3cde90460471250724288f0c6be642cc9411bf1f9",
539
+ "bytes": 5421
530
540
  },
531
541
  {
532
542
  "path": "skills/short-drama-review/references/production-quality-gates.md",
533
- "sha256": "df2e4b28df271d92a9f38414ae522f033906788dfce176d54e46feb0f3c35a3d",
534
- "bytes": 18613
543
+ "sha256": "fe98c67d1a0016dd550ba5449889e3d67e57886c6b6504c07437c7392980c1d3",
544
+ "bytes": 18647
535
545
  },
536
546
  {
537
547
  "path": "skills/short-drama-review/references/project-calibration.md",
538
- "sha256": "9312bea50f68b4114cece32b78ce2e1984493e3e8246ba00c6e95dbfd15aad56",
539
- "bytes": 6223
548
+ "sha256": "389989faaf802ffd0388b0a2febc7c5ecffaa36bca9fe5c97d4ce92da23a9760",
549
+ "bytes": 5926
540
550
  },
541
551
  {
542
552
  "path": "skills/short-drama-review/references/review-method.md",
543
- "sha256": "3d0036a77b383b75f1d979ecfbe84162e5c24443754a0c96af3de2a62d9301c3",
544
- "bytes": 4004
553
+ "sha256": "832cc8ac66920d485d3dc6495de363dba72e5c58f7d03b3caffab143bc08915c",
554
+ "bytes": 3981
545
555
  },
546
556
  {
547
557
  "path": "skills/short-drama-review/references/rubric-assets-prompts.md",
548
- "sha256": "9d5141091aa174953b40ccbf991700b3f97876627b7da1685e5f61bb0537402e",
549
- "bytes": 5659
558
+ "sha256": "b313caf053d50a84abc099fae8589841739f9a2a315926ccfcc4c79747fb0695",
559
+ "bytes": 5518
550
560
  },
551
561
  {
552
562
  "path": "skills/short-drama-review/references/rubric-source-analysis.md",
@@ -555,23 +565,23 @@
555
565
  },
556
566
  {
557
567
  "path": "skills/short-drama-review/references/rubric-story-script.md",
558
- "sha256": "30da17ca84ad507d35010e64778a2afa014ff978dd8bbe8b39f7f2a1104efc3a",
559
- "bytes": 8159
568
+ "sha256": "4394c080da47ae6bbb45e0a8ada29ea71dc41721bab333befd3a2db227177338",
569
+ "bytes": 16095
560
570
  },
561
571
  {
562
572
  "path": "skills/short-drama-review/references/rubric-visual-motion.md",
563
- "sha256": "9b7dba42fe997fe56187d1d5b096212a05067485c852677b78ffe8fb4a575218",
564
- "bytes": 9117
573
+ "sha256": "03b14c6b8d708b0f3b24a6f8693f5b43343b20c7197690e472f94376cf334cca",
574
+ "bytes": 9951
565
575
  },
566
576
  {
567
577
  "path": "skills/short-drama-review/references/stage-contract.md",
568
- "sha256": "faa2d909e59ea7a150a51b2417128aefd30b57364808bcacc8f3cfb072dc8fee",
569
- "bytes": 7198
578
+ "sha256": "c08599a33866a131529c83e7ea0b1ca1e2d0f621fceeddfc7c54cf07feb66029",
579
+ "bytes": 3170
570
580
  },
571
581
  {
572
582
  "path": "skills/short-drama-review/scripts/review_check.py",
573
- "sha256": "701bef4fa99d82326fa5883a2bbdb5f519e05379333868d02d50da3cbd222ae4",
574
- "bytes": 12685
583
+ "sha256": "01503d966920ff9b931eaa50fb7aebc6500c94e75e2ae0e387a2bac8c7c3c27a",
584
+ "bytes": 12684
575
585
  },
576
586
  {
577
587
  "path": "skills/short-drama-review/scripts/selftest.py",
@@ -580,8 +590,8 @@
580
590
  },
581
591
  {
582
592
  "path": "skills/short-drama-storyboard/SKILL.md",
583
- "sha256": "2b61fe6d2e6e0d9a5940c468e50c0b2c057bbd48a5fb8e056e7727f134d16618",
584
- "bytes": 16690
593
+ "sha256": "e3d444376dd3a6e8e51efe3b03bc1167eeadb3005d1a9dd7ed42399256359275",
594
+ "bytes": 14011
585
595
  },
586
596
  {
587
597
  "path": "skills/short-drama-storyboard/agents/openai.yaml",
@@ -620,58 +630,63 @@
620
630
  },
621
631
  {
622
632
  "path": "skills/short-drama-storyboard/assets/shot-template.jsonl",
623
- "sha256": "c1048e3b4ca395625707402ad6df46a00c9690715a7addb17d077d39a8bb0f77",
624
- "bytes": 3343
633
+ "sha256": "e40ec0f0e7b7f36095fbfe4484dae5ec8efeeaf06937def309a3141ca8718e65",
634
+ "bytes": 3590
625
635
  },
626
636
  {
627
637
  "path": "skills/short-drama-storyboard/references/blocking-playbooks.md",
628
- "sha256": "683b90ea17ee700268f36244b7c935212ad3b6494cac6b9c067b40438e561976",
629
- "bytes": 13460
638
+ "sha256": "3d52f1c8820be2ea735ff40dfbb8df4940f009e4d1a2f6887d7559a74bb8ca01",
639
+ "bytes": 12621
640
+ },
641
+ {
642
+ "path": "skills/short-drama-storyboard/references/comic-keyframe-lexicon.md",
643
+ "sha256": "5dd1cafeea8586ba05f14580ab328fd34430de452073e5c69bac78bb519def5a",
644
+ "bytes": 11301
630
645
  },
631
646
  {
632
647
  "path": "skills/short-drama-storyboard/references/coverage-audition.md",
633
- "sha256": "ec7bcea46a317323e2e06137057e0bc1467338584f7701fa2a8611480be351c4",
634
- "bytes": 2576
648
+ "sha256": "d2ccefd58df2c3ba339cbbd1433ccc4a86f8ec2779c1e5982c9484ff20338e0a",
649
+ "bytes": 2128
635
650
  },
636
651
  {
637
652
  "path": "skills/short-drama-storyboard/references/keyframe-craft.md",
638
- "sha256": "e0e366d0a3d290d5b2734418b9e45d901ff2a75bf65c7d5587d7fd2d37cdd88b",
639
- "bytes": 9838
653
+ "sha256": "02c095439f73211817a3f75ae2af264459356060755eecaf51ce11c1512ce2ca",
654
+ "bytes": 10255
640
655
  },
641
656
  {
642
657
  "path": "skills/short-drama-storyboard/references/production-shot-grammar.md",
643
- "sha256": "66838602dc063c0e3ef6cd36aeb25ca8b3df577eb77dabfe2c17d9a532346903",
644
- "bytes": 19721
658
+ "sha256": "c8723d9f628ea7b546a2e4a558f9d5463da8296286c15a1eeb146e492b6fe04f",
659
+ "bytes": 21127
645
660
  },
646
661
  {
647
662
  "path": "skills/short-drama-storyboard/references/review-and-fixtures.md",
648
- "sha256": "bdfa5711f7cd920de6c53285dd8dc6e3e2321a09062613ad13200b4549556ec4",
649
- "bytes": 6957
663
+ "sha256": "c71f525973c895849e7b1cb8807ddac9e60c31afe16dd8e521960ca8cc178d51",
664
+ "bytes": 3067
650
665
  },
651
666
  {
652
667
  "path": "skills/short-drama-storyboard/references/scene-visual-plan.md",
653
- "sha256": "1a7fee3aeef03c102b61acdc36a4c8018ce5581ede6062b065a5b57b1dacde6a",
654
- "bytes": 2607
668
+ "sha256": "404b7634d0947335d69f0ee93b7df11aab530865c66c97d9510f58d5423377c6",
669
+ "bytes": 1826
655
670
  },
656
671
  {
657
672
  "path": "skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md",
658
- "sha256": "e160c91f6f55065486fde02dd25bdbab39b6d77aeb4cff800edb2092a450f718",
659
- "bytes": 7130
673
+ "sha256": "85b2db8f0ba9c476c5c216170482cd9f6e1e4963f6ab97bace51fe4cb0386ab5",
674
+ "bytes": 7882
660
675
  },
661
676
  {
662
677
  "path": "skills/short-drama-storyboard/references/shot-craft.md",
663
- "sha256": "4db69925a44769153579c0566fed9f52f8698f15de336629965b8f626a922a76",
664
- "bytes": 11274
678
+ "sha256": "ff794b3d83e2fe5f58c1f023eb245bf9fd801a7516901c85f1d33c2c333e3f33",
679
+ "bytes": 11127
665
680
  },
666
681
  {
667
682
  "path": "skills/short-drama-storyboard/references/shot-revision-identity.md",
668
- "sha256": "89aa508c3edf42ddf1465406e5b368f3e17f20bd6a6d59be9bd8b67592a35e77",
669
- "bytes": 2013
683
+ "sha256": "960ce518a96854f8482a1e82dc8f0e1856a179b9c4fb3cf0285747096a7f1c97",
684
+ "bytes": 1732
670
685
  },
671
686
  {
672
687
  "path": "skills/short-drama-storyboard/references/stage-contract.md",
673
- "sha256": "20ecbfe8a0a2b4134d234da09bdaa64c87b89f2f3e22ab55c2f27782b90c33fd",
674
- "bytes": 11046
688
+ "sha256": "2aabdd9043869ec87569b61f70e593517c91cdfc605c1deaa7f781241da6a86e",
689
+ "bytes": 8691
675
690
  },
676
691
  {
677
692
  "path": "skills/short-drama-storyboard/scripts/selftest.py",
@@ -680,13 +695,13 @@
680
695
  },
681
696
  {
682
697
  "path": "skills/short-drama-storyboard/scripts/storyboard_check.py",
683
- "sha256": "24272959aa5821863f5f06c7ad98a07d13a65d0fe695f8114f0c67809bcf26a5",
684
- "bytes": 31134
698
+ "sha256": "0f9956fd53782b6da43ab0d63bfda1f3b7be3ceb4a776d32f3272088f7be912d",
699
+ "bytes": 31133
685
700
  },
686
701
  {
687
702
  "path": "skills/short-drama-video-prompts/SKILL.md",
688
- "sha256": "77edcf4d86e3ec4051239dbd8290e708927a78781f21556b1af256db0a17592e",
689
- "bytes": 18849
703
+ "sha256": "de7681a06df9f7fa78d609065400ce1588fc929853614b125a231c4257dc5a34",
704
+ "bytes": 14289
690
705
  },
691
706
  {
692
707
  "path": "skills/short-drama-video-prompts/agents/openai.yaml",
@@ -705,8 +720,8 @@
705
720
  },
706
721
  {
707
722
  "path": "skills/short-drama-video-prompts/assets/motion-spec.jsonl.md",
708
- "sha256": "34b8d91552a46da190da55c462b7ad2bdb4eeb0e898eb375da0912cce034f1ff",
709
- "bytes": 7791
723
+ "sha256": "b7b03298bbedc14143ed136e009021a5673e6e99677ccc985aba2b73db5ce736",
724
+ "bytes": 7956
710
725
  },
711
726
  {
712
727
  "path": "skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl",
@@ -725,8 +740,8 @@
725
740
  },
726
741
  {
727
742
  "path": "skills/short-drama-video-prompts/assets/video-prompts.md",
728
- "sha256": "0cad8182daf69a5955d026bd88eeb076f881f2b3e2f9eb6f73b50aa77aabff07",
729
- "bytes": 2935
743
+ "sha256": "e6aa175dc99c14d593b9bd61bf99c581f9986bf03fda4da28a4a5f3596045a39",
744
+ "bytes": 4634
730
745
  },
731
746
  {
732
747
  "path": "skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl",
@@ -735,48 +750,68 @@
735
750
  },
736
751
  {
737
752
  "path": "skills/short-drama-video-prompts/references/camera-audio-continuity.md",
738
- "sha256": "8ec07a7fa97532bc67cd6b30d581de1b58558519a95e33a117953cc8ca3cb04b",
739
- "bytes": 13486
753
+ "sha256": "5ba794bd0844a42775098d96054e1f19719ce905fcdb79a6de27c245d9f66ab5",
754
+ "bytes": 13386
740
755
  },
741
756
  {
742
757
  "path": "skills/short-drama-video-prompts/references/delivery-profile.md",
743
- "sha256": "13b64e6a17339ce178387294ace26c60d0dcf7ba53dea0543cb3f251a6f5f194",
744
- "bytes": 18748
758
+ "sha256": "ce88cbc66e52246e2a4a77fc9db272c32db9fe6cb28d2d439d7ca5bfd6f0cf0f",
759
+ "bytes": 20373
745
760
  },
746
761
  {
747
762
  "path": "skills/short-drama-video-prompts/references/generability.md",
748
- "sha256": "638a7d46306fa2c92a3cf27df8cc579a862d30d66996c9726c6388f428de3680",
749
- "bytes": 5260
763
+ "sha256": "c8ef1a75f24fdb1ad633e294a89b78e09589d2bd2177a31d252e25a7f5d2d79d",
764
+ "bytes": 5233
765
+ },
766
+ {
767
+ "path": "skills/short-drama-video-prompts/references/minimax-h3.md",
768
+ "sha256": "1f1e619cf0e5b5a84bb7d09d65748d5df11aba79bbbeb7d614240957a9905f9c",
769
+ "bytes": 9840
750
770
  },
751
771
  {
752
772
  "path": "skills/short-drama-video-prompts/references/motion-recipe.md",
753
- "sha256": "2d3893f598620a47b0f268015a3fde0380abe160162466a597f5143001993061",
754
- "bytes": 19413
773
+ "sha256": "60fecef7a573b364ddb3d13708a6d2adc432e939fefd09653d2749a23b91c87b",
774
+ "bytes": 20275
755
775
  },
756
776
  {
757
777
  "path": "skills/short-drama-video-prompts/references/performance-action-timing.md",
758
- "sha256": "b17eda4a824e064fdd44ceb485cd0c5e7e25c9e95fc652bd0b044d23be4368a6",
759
- "bytes": 11332
778
+ "sha256": "4b986ab6a61eef2a16530ffaed82b9195d4cb33038c0e6a80c7e908680ad9b2a",
779
+ "bytes": 11060
760
780
  },
761
781
  {
762
782
  "path": "skills/short-drama-video-prompts/references/production-prompt-grammar.md",
763
- "sha256": "fdaf6da7430e5b0fb51ced41e9ea6d41c56b33278eeb0d77a9324e2f03e68d9e",
764
- "bytes": 22679
783
+ "sha256": "774b3fc3949a92ee3d1fe4f1daa2f278d5ecf2e4d93b19fb282ae0123b179abc",
784
+ "bytes": 23136
765
785
  },
766
786
  {
767
787
  "path": "skills/short-drama-video-prompts/references/review-and-fixtures.md",
768
- "sha256": "ae9ff017ab3f53e0cd5ad5df7eefd115be0a272357ca9a623fb9814bb6f0c965",
769
- "bytes": 14376
788
+ "sha256": "75b516ce26ffe0eb23893048eeabb86b3f90390bca35b5c398f24b86002172ec",
789
+ "bytes": 9313
790
+ },
791
+ {
792
+ "path": "skills/short-drama-video-prompts/references/seedance-2.0.md",
793
+ "sha256": "24a7a6f6b15088a015d7e646458de109017e1f52ba45f4171c46c5121f7f88f9",
794
+ "bytes": 2466
795
+ },
796
+ {
797
+ "path": "skills/short-drama-video-prompts/references/seedance-2.5.md",
798
+ "sha256": "c0365b29478aa81f5eeea78f07c83f1a8caff3f5ac56b4372ea629207835fdd6",
799
+ "bytes": 4427
770
800
  },
771
801
  {
772
802
  "path": "skills/short-drama-video-prompts/references/stage-contract.md",
773
- "sha256": "0484bacd507dda3d57ee5a81529bd062cfd3db59dfc72f0078d744207fe4f92e",
774
- "bytes": 12758
803
+ "sha256": "adc27a15538db3db3fb8d04278653c6cedb0c5944b1103559c4926549d69a4eb",
804
+ "bytes": 9932
805
+ },
806
+ {
807
+ "path": "skills/short-drama-video-prompts/references/target-model-profile.md",
808
+ "sha256": "0eb11385cb1a9d8108bc42044562e3b86f316acbc3752ea06fa1aba1fde6e1c1",
809
+ "bytes": 8709
775
810
  },
776
811
  {
777
812
  "path": "skills/short-drama-video-prompts/scripts/container_check.py",
778
- "sha256": "7753699cce40fd4616e24bfc452bf81c2db132c5f360cbca0a7f4e88724b0070",
779
- "bytes": 12663
813
+ "sha256": "74650a2e5c9fa982f82df17a4b5796f2f80280a1d4a6af69cf67fcafcb351837",
814
+ "bytes": 12662
780
815
  },
781
816
  {
782
817
  "path": "skills/short-drama-video-prompts/scripts/motion_timing_check.py",
@@ -785,8 +820,8 @@
785
820
  },
786
821
  {
787
822
  "path": "skills/short-drama-video-prompts/scripts/music_spec_check.py",
788
- "sha256": "8147116d0093ed6cf61710f4011c7d3d8e579bd425c872c8d0054adde2b425b7",
789
- "bytes": 12503
823
+ "sha256": "abcbd5d3fc55b281b5b05989b81919a0a8477bb85d4c580d47cc7de22b95c493",
824
+ "bytes": 12502
790
825
  },
791
826
  {
792
827
  "path": "skills/short-drama-video-prompts/scripts/selftest.py",
@@ -795,8 +830,8 @@
795
830
  },
796
831
  {
797
832
  "path": "skills/short-drama-write/SKILL.md",
798
- "sha256": "164649b3cf72a4a4b3878bd1d65cf0c22c107df865f5194b2c7e6296f64c3d25",
799
- "bytes": 17857
833
+ "sha256": "859d01337ed392be36393d444d0222ee4742bafac8cd6cf4e3e8bcdd659a90cf",
834
+ "bytes": 8719
800
835
  },
801
836
  {
802
837
  "path": "skills/short-drama-write/agents/openai.yaml",
@@ -830,8 +865,8 @@
830
865
  },
831
866
  {
832
867
  "path": "skills/short-drama-write/references/dialogue-craft.md",
833
- "sha256": "08bed98fb63d71ca32099f71dee11abdcc13f5e3bcf03ef8a1ae732847cf680d",
834
- "bytes": 21204
868
+ "sha256": "5ee34637ae5ff0cd3387cead3886a009dc5a507deedda36576f12c4ee52bf2f0",
869
+ "bytes": 21853
835
870
  },
836
871
  {
837
872
  "path": "skills/short-drama-write/references/production-format-dialect.md",
@@ -840,8 +875,8 @@
840
875
  },
841
876
  {
842
877
  "path": "skills/short-drama-write/references/scene-handoff-capsule.md",
843
- "sha256": "be5dbbfa73a4438671dce8b2df314849bbfe49b98756fdc6640c21fe8b44a584",
844
- "bytes": 2563
878
+ "sha256": "65dbe92eec77c65e638fae7dfbad0569bb9eb33d98647816868f98410397c05d",
879
+ "bytes": 1536
845
880
  },
846
881
  {
847
882
  "path": "skills/short-drama-write/references/scene-sound-dramaturgy.md",
@@ -850,18 +885,18 @@
850
885
  },
851
886
  {
852
887
  "path": "skills/short-drama-write/references/screenplay-format.md",
853
- "sha256": "ad70f6e6025706e147a95579e0ee71f4120b7ce7ab08c6f5d41e9ac07265e8af",
854
- "bytes": 9823
888
+ "sha256": "19b19b370e0958a3c6f004bc05312bf9ca53c92f07d5d58274409730897c8f71",
889
+ "bytes": 9951
855
890
  },
856
891
  {
857
892
  "path": "skills/short-drama-write/references/script-craft.md",
858
- "sha256": "3f594aaef2b3fc5e8d1517c078b24253b0335cf1c03bb2adf1b7f6b64c4e20b9",
859
- "bytes": 25384
893
+ "sha256": "a43bb118e015ff0ee89c7e61a65ec1920ba95c671576f68a98e61c18ece10b47",
894
+ "bytes": 44357
860
895
  },
861
896
  {
862
897
  "path": "skills/short-drama-write/references/stage-contract.md",
863
- "sha256": "7bb0d9085b375512536baa0b67e5b7b1317d0e818e27770a47d0c4b57c007f62",
864
- "bytes": 7369
898
+ "sha256": "9b0f5bade21156a59dd16d2917739f57eb793fd90f9d7bf47f46b535cd90b756",
899
+ "bytes": 6744
865
900
  },
866
901
  {
867
902
  "path": "skills/short-drama-write/references/substitutable-realization.md",
@@ -870,13 +905,13 @@
870
905
  },
871
906
  {
872
907
  "path": "skills/short-drama-write/scripts/duration_estimate.py",
873
- "sha256": "c53f38c0a1825a62358981fe04e3d39e51ff15401dfc81a3a4242da14f3a9286",
874
- "bytes": 12408
908
+ "sha256": "7e885c057d389a15ad47546890ad530cc2ec4ee860bc801959d3b838b2e341a8",
909
+ "bytes": 12407
875
910
  },
876
911
  {
877
912
  "path": "skills/short-drama-write/scripts/screenplay_index.py",
878
- "sha256": "53c07e39440d537424bc2de7b4c5df25f95c0565300b63102c256f53b682ed6a",
879
- "bytes": 43580
913
+ "sha256": "11ce6307b615e91ea9ff277212875c3adf5aafb58289bed5ff54f0f2d877dec9",
914
+ "bytes": 43578
880
915
  },
881
916
  {
882
917
  "path": "skills/short-drama-write/scripts/selftest.py",
@@ -885,13 +920,13 @@
885
920
  },
886
921
  {
887
922
  "path": "skills/short-drama-write/scripts/voice_sheet_check.py",
888
- "sha256": "e469bce96806d084e7b13e208810d3d1c470d049550fdfc9dd92d98782f6db17",
889
- "bytes": 15354
923
+ "sha256": "c3862db34546c6bad280e44c5cb08d680c250b7f62c73cb8bfe33876a9494753",
924
+ "bytes": 15353
890
925
  },
891
926
  {
892
927
  "path": "skills/short-drama/SKILL.md",
893
- "sha256": "28f98ab202914592a21ad1d2a4cb9fe43b4d55bd5284df48424802bf9f631a06",
894
- "bytes": 8690
928
+ "sha256": "8cec2c92391c017074dd3a4fc8c3ab00a85b5e9c2f52870423499e488b88fc45",
929
+ "bytes": 9371
895
930
  },
896
931
  {
897
932
  "path": "skills/short-drama/agents/openai.yaml",
@@ -920,18 +955,23 @@
920
955
  },
921
956
  {
922
957
  "path": "skills/short-drama/references/audience-reveal.md",
923
- "sha256": "4a3459b8d2f22a4f906b82c020025dffddb081c0efee653cf333c8c1e532f137",
924
- "bytes": 3218
958
+ "sha256": "432f77a1240cb72368810e3e655adb8e877f3358a0e92de0a9cd85bc94c50694",
959
+ "bytes": 1221
925
960
  },
926
961
  {
927
962
  "path": "skills/short-drama/references/contract-and-ownership.md",
928
- "sha256": "db136908b713fd24e58c32aa15380eedf34c35db0c40816e087563b6c3501298",
929
- "bytes": 4849
963
+ "sha256": "8db8bda47e74619ad68bbd86dd0e63e3f6c9c27fb1a8a599a79950755c2507f3",
964
+ "bytes": 2419
965
+ },
966
+ {
967
+ "path": "skills/short-drama/references/creator-documents.md",
968
+ "sha256": "d4e0c13e41859cc78aa902561060dcb2fde39b72a01edcf5924b58b19d17989a",
969
+ "bytes": 14026
930
970
  },
931
971
  {
932
972
  "path": "skills/short-drama/references/creator-workflow.md",
933
- "sha256": "ad44a8af1c02703a36a241e87f382a3351c3ec8fe9cf1f41b4fa446318b8f0ce",
934
- "bytes": 4101
973
+ "sha256": "b7a6ef8d2fafce3fab1efbb91531dfa70a3d2713003f2cc1e3a14fc4d7afb626",
974
+ "bytes": 5660
935
975
  },
936
976
  {
937
977
  "path": "skills/short-drama/references/form-cards/Q版表达.md",
@@ -965,43 +1005,43 @@
965
1005
  },
966
1006
  {
967
1007
  "path": "skills/short-drama/references/knowhow-index.md",
968
- "sha256": "d59a6ff78c15072f1be049594135405d1c5af6e8a31971dde13403962834752b",
969
- "bytes": 8236
970
- },
971
- {
972
- "path": "skills/short-drama/references/lifecycle-commands.md",
973
- "sha256": "8619387147082f661abd429c4f6ea9e43be2fed449479e4a62c8a62dcfcf7a09",
974
- "bytes": 8138
1008
+ "sha256": "bfcf27e6456a2a4fac69e97b1b3c5beee29ced1422c5d8e80d1a8c9a0af7f6bc",
1009
+ "bytes": 9477
975
1010
  },
976
1011
  {
977
1012
  "path": "skills/short-drama/references/look-development.md",
978
- "sha256": "c16ecf7279336317ab60afaaedc29588caf8544688e557ff6376e28354790f5b",
979
- "bytes": 3365
1013
+ "sha256": "3b090352876f86b1ed2cfab3cc824c8d51e1ba8f93cfd0dfcc441996ce225001",
1014
+ "bytes": 3409
980
1015
  },
981
1016
  {
982
1017
  "path": "skills/short-drama/references/pickup-and-alternate.md",
983
- "sha256": "713b748ab0d0e8990e5e56335175b3bf4e8075c23275b6f86f6760164d5cad78",
984
- "bytes": 3048
1018
+ "sha256": "bfd64060d12e62cc37315ec4a6e9a27bd39ebecae8e370dd5b80b5ca7a913f67",
1019
+ "bytes": 1257
985
1020
  },
986
1021
  {
987
1022
  "path": "skills/short-drama/references/production-form-profiles.md",
988
- "sha256": "30fc6ce7c513807052888fa7a752b26dd7ac5a86918332732b9b40df12adedc0",
989
- "bytes": 10220
1023
+ "sha256": "59fbbfc2124849188ad9532a93345da635aa9f90350950a279f63ee35043f04b",
1024
+ "bytes": 10254
990
1025
  },
991
1026
  {
992
1027
  "path": "skills/short-drama/references/reference-roles.md",
993
- "sha256": "c2ce17691ff83fed2bbfd0442082965ab59ce4e27944d268cfe7f4030d3c7b3b",
994
- "bytes": 7941
1028
+ "sha256": "536b50bdff1194ed3a8d3f72c3f1a4a75aa851fb30ce0a173853b469d4c26260",
1029
+ "bytes": 2873
995
1030
  },
996
1031
  {
997
1032
  "path": "skills/short-drama/references/runtime-preflight.md",
998
- "sha256": "13504c0260ce3e8977c9054f462cbdf00eeec3bad0f639b6928d94ea4b8150b8",
999
- "bytes": 1294
1033
+ "sha256": "6f4473e6d8dc00ad4843d26c6c34c4560ef8ed8a457c23ea4f2236d2a14e9df4",
1034
+ "bytes": 1226
1035
+ },
1036
+ {
1037
+ "path": "skills/short-drama/scripts/creator_markdown_check.py",
1038
+ "sha256": "2ea4596b7f2de62065186fb09208baa86a345a54be1fd596630a7d5d702dd16e",
1039
+ "bytes": 43157
1000
1040
  },
1001
1041
  {
1002
1042
  "path": "skills/short-drama/scripts/project_tool.py",
1003
- "sha256": "21f842c22944ce58dd97825aaa98746f239a8cae79a11bf99d3f9fdee01a103d",
1004
- "bytes": 75655
1043
+ "sha256": "5a195d69a256056940af74e89cae862ad7af12b350e2554376df445747a19f69",
1044
+ "bytes": 95059
1005
1045
  },
1006
1046
  {
1007
1047
  "path": "skills/short-drama/scripts/selftest.py",