@oh-story/dsh 0.1.9 → 0.1.11

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 (529) hide show
  1. package/README.md +14 -14
  2. package/lib/client.js +209 -73
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +248 -168
  5. package/lib/drama/skills/short-drama/SKILL.md +16 -4
  6. package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +3 -0
  7. package/lib/drama/skills/short-drama/references/creator-documents.md +3 -0
  8. package/lib/drama/skills/short-drama/references/knowhow-index.md +15 -0
  9. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +14 -0
  10. package/lib/drama/skills/short-drama/scripts/project_tool.py +131 -0
  11. package/lib/drama/skills/short-drama-assets/SKILL.md +2 -1
  12. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +2 -0
  13. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +10 -0
  14. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +6 -9
  15. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +37 -0
  16. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +2 -0
  17. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
  18. package/lib/drama/skills/short-drama-develop/SKILL.md +10 -4
  19. package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -1
  20. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +8 -0
  21. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +80 -13
  22. package/lib/drama/skills/short-drama-develop/references/episode-design.md +95 -12
  23. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +9 -5
  24. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
  25. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/263/273/347/273/237/346/265/201.md +51 -0
  26. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +51 -0
  27. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +51 -0
  28. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +10 -7
  29. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +15 -9
  30. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -2
  31. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +14 -7
  32. package/lib/drama/skills/short-drama-develop/references/story-craft.md +7 -3
  33. package/lib/drama/skills/short-drama-edit/SKILL.md +65 -44
  34. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +49 -13
  35. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +4 -2
  36. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Overlay.tsx +31 -0
  37. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +5 -5
  38. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +68 -69
  39. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +39 -29
  40. package/lib/drama/skills/short-drama-edit/assets/remotion/src/rules.mjs +188 -0
  41. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +26 -13
  42. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/Card.tsx +72 -0
  43. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/CornerChip.tsx +39 -0
  44. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/ScreenText.tsx +36 -0
  45. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/SystemPanel.tsx +44 -0
  46. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/TaskPanel.tsx +100 -0
  47. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/chrome.tsx +197 -0
  48. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/tokens.ts +62 -0
  49. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +1 -0
  50. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +6 -4
  51. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +26 -67
  52. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +31 -56
  53. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +42 -78
  54. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +44 -92
  55. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +14 -16
  56. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1272 -125
  57. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +113 -9
  58. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
  59. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
  60. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +3 -3
  61. package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +2 -2
  62. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +8 -4
  63. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +10 -3
  64. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +25 -1
  65. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +1 -0
  66. package/lib/drama/skills/short-drama-produce/SKILL.md +5 -1
  67. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +14 -20
  68. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +8 -26
  69. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  70. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +142 -1
  71. package/lib/drama/skills/short-drama-review/SKILL.md +4 -5
  72. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +6 -19
  73. package/lib/drama/skills/short-drama-review/references/review-method.md +6 -1
  74. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +11 -0
  75. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +77 -3
  76. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +24 -35
  77. package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -0
  78. package/lib/drama/skills/short-drama-storyboard/SKILL.md +23 -11
  79. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +1 -1
  80. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  81. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +2 -2
  82. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +139 -34
  83. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +5 -3
  84. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +15 -12
  85. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +29 -0
  86. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +4 -5
  87. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +4 -2
  88. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +52 -39
  89. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +24 -21
  90. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +9 -23
  91. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +14 -26
  92. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +1 -1
  93. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +2 -3
  94. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +34 -9
  95. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -2
  96. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +8 -1
  97. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +103 -0
  98. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +8 -7
  99. package/lib/drama/skills/short-drama-write/SKILL.md +10 -7
  100. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +1 -1
  101. package/lib/drama/skills/short-drama-write/references/script-craft.md +56 -3
  102. package/lib/drama/skills/short-drama-write/references/stage-contract.md +4 -0
  103. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +48 -2
  104. package/lib/index.js +346 -98
  105. package/lib/index.js.map +4 -4
  106. package/lib/novel-to-game/README.md +299 -59
  107. package/lib/novel-to-game/README_ZH.md +299 -56
  108. package/lib/novel-to-game/VERSION +1 -1
  109. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
  110. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
  111. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
  112. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
  113. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
  114. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
  115. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
  116. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
  117. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
  118. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
  119. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
  120. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
  121. package/lib/novel-to-game/manifest.json +77 -87
  122. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +7 -12
  123. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
  124. package/lib/novel-to-game/skills/game-build/SKILL.md +13 -14
  125. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
  126. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
  127. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
  128. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
  129. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
  130. package/lib/novel-to-game/skills/game-concept/SKILL.md +13 -15
  131. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
  132. package/lib/novel-to-game/skills/game-qa/SKILL.md +6 -7
  133. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +9 -5
  134. package/lib/novel-to-game/skills/game-world-design/SKILL.md +12 -16
  135. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
  136. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
  137. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
  138. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +4 -10
  139. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
  140. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +9 -21
  141. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
  142. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +5 -8
  143. package/lib/oh-story/manifest.json +607 -327
  144. package/lib/oh-story/roles/chapter-extractor.md +177 -237
  145. package/lib/oh-story/roles/character-designer.md +1 -2
  146. package/lib/oh-story/roles/consistency-checker.md +15 -13
  147. package/lib/oh-story/roles/narrative-writer.md +36 -38
  148. package/lib/oh-story/roles/story-architect.md +9 -61
  149. package/lib/oh-story/roles/story-explorer.md +20 -125
  150. package/lib/oh-story/roles/story-researcher.md +0 -1
  151. package/lib/oh-story/skills/story/SKILL.md +15 -9
  152. package/lib/oh-story/skills/story/VERSION +1 -1
  153. package/lib/oh-story/skills/story/references/author-memory-maintenance.md +75 -0
  154. package/lib/oh-story/skills/story/references/author-memory.md +46 -94
  155. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
  156. package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
  157. package/lib/oh-story/skills/story-deslop/SKILL.md +59 -73
  158. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +5 -0
  159. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +12 -11
  160. package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +75 -0
  161. package/lib/oh-story/skills/story-deslop/references/author-memory.md +46 -94
  162. package/lib/oh-story/skills/story-deslop/references/banned-words.md +2 -2
  163. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +22 -5
  164. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +4 -4
  165. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
  166. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +155 -8
  167. package/lib/oh-story/skills/story-import/SKILL.md +64 -584
  168. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
  169. package/lib/oh-story/skills/story-import/references/deep-analysis.md +47 -0
  170. package/lib/oh-story/skills/story-import/references/format-and-structure.md +1 -1
  171. package/lib/oh-story/skills/story-import/references/import-report.md +64 -0
  172. package/lib/oh-story/skills/story-import/references/import-special-cases.md +34 -0
  173. package/lib/oh-story/skills/story-import/references/import-tracking.md +95 -0
  174. package/lib/oh-story/skills/story-import/references/length-routing.md +1 -1
  175. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +79 -0
  176. package/lib/oh-story/skills/story-import/references/outline-reverse.md +24 -0
  177. package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
  178. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +98 -92
  179. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +24 -12
  180. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +1 -1
  181. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +15 -11
  182. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +332 -0
  183. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +132 -27
  184. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +478 -15
  185. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +182 -23
  186. package/lib/oh-story/skills/story-long-analyze/SKILL.md +81 -270
  187. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +252 -0
  188. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +3 -3
  189. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +19 -0
  190. package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +11 -0
  191. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
  192. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +138 -64
  193. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
  194. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +128 -0
  195. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +229 -0
  196. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +480 -0
  197. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +195 -0
  198. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +33 -0
  199. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +55 -128
  200. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +6 -6
  201. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +39 -0
  202. package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
  203. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
  204. package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
  205. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1145 -0
  206. package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
  207. package/lib/oh-story/skills/story-long-scan/SKILL.md +45 -194
  208. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +19 -0
  209. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +45 -0
  210. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +28 -0
  211. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +35 -0
  212. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +27 -0
  213. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +6 -2
  214. package/lib/oh-story/skills/story-long-write/SKILL.md +49 -81
  215. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +47 -0
  216. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +12 -11
  217. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +24 -202
  218. package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +75 -0
  219. package/lib/oh-story/skills/story-long-write/references/author-memory.md +46 -94
  220. package/lib/oh-story/skills/story-long-write/references/banned-words.md +2 -2
  221. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +7 -11
  222. package/lib/oh-story/skills/story-long-write/references/character-relations.md +49 -1
  223. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
  224. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +171 -0
  225. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +4 -0
  226. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +116 -0
  227. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +1 -114
  228. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
  229. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
  230. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +7 -15
  231. package/lib/oh-story/skills/story-long-write/references/long-format.md +0 -8
  232. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +1 -1
  233. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +3 -3
  234. package/lib/oh-story/skills/story-long-write/references/opening-design.md +2 -2
  235. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +4 -4
  236. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +7 -7
  237. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +3 -3
  238. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +14 -69
  239. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +1 -1
  240. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +2 -2
  241. package/lib/oh-story/skills/story-long-write/references/project-files.md +19 -13
  242. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +13 -5
  243. package/lib/oh-story/skills/story-long-write/references/reference-index.md +5 -6
  244. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +9 -0
  245. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -58
  246. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  247. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +4 -4
  248. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +1 -1
  249. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +15 -11
  250. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +81 -121
  251. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +41 -139
  252. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +157 -0
  253. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +57 -67
  254. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +112 -253
  255. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +142 -0
  256. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +6 -4
  257. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +19 -65
  258. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
  259. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +260 -0
  260. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +226 -25
  261. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +155 -8
  262. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +132 -27
  263. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +7 -2
  264. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +7 -4
  265. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +304 -46
  266. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +478 -15
  267. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +182 -23
  268. package/lib/oh-story/skills/story-review/SKILL.md +31 -302
  269. package/lib/oh-story/skills/story-review/references/agent-prompts.md +184 -0
  270. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +12 -11
  271. package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +75 -0
  272. package/lib/oh-story/skills/story-review/references/author-memory.md +46 -94
  273. package/lib/oh-story/skills/story-review/references/banned-words.md +2 -2
  274. package/lib/oh-story/skills/story-review/references/batch-review.md +19 -0
  275. package/lib/oh-story/skills/story-review/references/character-relations.md +49 -1
  276. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +4 -0
  277. package/lib/oh-story/skills/story-review/references/review-quality.md +6 -11
  278. package/lib/oh-story/skills/story-review/references/review-tracking.md +10 -0
  279. package/lib/oh-story/skills/story-review/references/solo.md +52 -0
  280. package/lib/oh-story/skills/story-review/references/style-resolution.md +4 -4
  281. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +1 -1
  282. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +15 -11
  283. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
  284. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +155 -8
  285. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +478 -15
  286. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +182 -23
  287. package/lib/oh-story/skills/story-setup/SKILL.md +71 -452
  288. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +4 -4
  289. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +12 -11
  290. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +2 -2
  291. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +107 -0
  292. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +49 -1
  293. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +22 -5
  294. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +4 -0
  295. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +116 -0
  296. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +1 -114
  297. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +1 -1
  298. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
  299. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
  300. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +1 -1
  301. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +3 -3
  302. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +7 -5
  303. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +2 -2
  304. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +4 -4
  305. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +7 -7
  306. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +3 -3
  307. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +1 -1
  308. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +0 -15
  309. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +1 -1
  310. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -58
  311. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  312. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +4 -4
  313. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +19 -65
  314. package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
  315. package/lib/oh-story/skills/story-short-analyze/SKILL.md +56 -110
  316. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +1 -1
  317. package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +42 -0
  318. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +97 -0
  319. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +9 -47
  320. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +80 -0
  321. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +4 -4
  322. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +308 -0
  323. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +611 -0
  324. package/lib/oh-story/skills/story-short-scan/SKILL.md +35 -65
  325. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +36 -0
  326. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +24 -0
  327. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +21 -0
  328. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +38 -0
  329. package/lib/oh-story/skills/story-short-write/SKILL.md +23 -175
  330. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +13 -0
  331. package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +75 -0
  332. package/lib/oh-story/skills/story-short-write/references/author-memory.md +46 -94
  333. package/lib/oh-story/skills/story-short-write/references/banned-words.md +2 -2
  334. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +1 -21
  335. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +4 -0
  336. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +1 -1
  337. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +0 -15
  338. package/lib/oh-story/skills/story-short-write/references/output-contract.md +9 -47
  339. package/lib/oh-story/skills/story-short-write/references/reference-index.md +17 -47
  340. package/lib/oh-story/skills/story-short-write/references/scene-craft.md +40 -0
  341. package/lib/oh-story/skills/story-short-write/references/short-craft.md +7 -43
  342. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -3
  343. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -1
  344. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +1 -1
  345. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +4 -4
  346. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +1 -1
  347. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +5 -10
  348. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +21 -13
  349. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +116 -0
  350. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +99 -0
  351. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +7 -119
  352. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
  353. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +155 -8
  354. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +7 -2
  355. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  356. package/lib/types/client/file-activity.d.ts +19 -1
  357. package/lib/types/client/file-activity.d.ts.map +1 -1
  358. package/lib/types/client/index.d.ts.map +1 -1
  359. package/lib/types/client/production-prompts.d.ts +7 -0
  360. package/lib/types/client/production-prompts.d.ts.map +1 -1
  361. package/lib/types/client/production-runtime.d.ts +16 -0
  362. package/lib/types/client/production-runtime.d.ts.map +1 -1
  363. package/lib/types/client/video-studio.d.ts.map +1 -1
  364. package/lib/types/drama-adapters.d.ts +5 -3
  365. package/lib/types/drama-adapters.d.ts.map +1 -1
  366. package/lib/types/native-hooks.d.ts +53 -1
  367. package/lib/types/native-hooks.d.ts.map +1 -1
  368. package/lib/types/role-identity.d.ts +17 -0
  369. package/lib/types/role-identity.d.ts.map +1 -0
  370. package/lib/types/role-tool.d.ts.map +1 -1
  371. package/lib/types/skill-provider.d.ts.map +1 -1
  372. package/lib/types/video-project.d.ts.map +1 -1
  373. package/lib/types/workspace-route.d.ts.map +1 -1
  374. package/lib/video-recap/CHANGELOG.md +60 -1
  375. package/lib/video-recap/README.en.md +348 -137
  376. package/lib/video-recap/README.md +340 -136
  377. package/lib/video-recap/manifest.json +406 -251
  378. package/lib/video-recap/skills/video-assemble/SKILL.md +30 -15
  379. package/lib/video-recap/skills/video-assemble/references/audio-modes.md +63 -0
  380. package/lib/video-recap/skills/video-assemble/references/explicit-audio-mix.md +75 -0
  381. package/lib/video-recap/skills/video-assemble/references/foreground-compose.md +118 -0
  382. package/lib/video-recap/skills/video-assemble/references/narration-adoption.md +103 -0
  383. package/lib/video-recap/skills/video-assemble/references/packaging.md +45 -0
  384. package/lib/video-recap/skills/video-assemble/references/pair-media.md +74 -0
  385. package/lib/video-recap/skills/video-assemble/references/source-score.md +147 -0
  386. package/lib/video-recap/skills/video-assemble/references/subtitle-track.md +202 -0
  387. package/lib/video-recap/skills/video-assemble/scripts/adoption/__init__.py +1 -0
  388. package/lib/video-recap/skills/video-assemble/scripts/adoption/audio_mix_binding.py +279 -0
  389. package/lib/video-recap/skills/video-assemble/scripts/adoption/frozen_audio.py +187 -0
  390. package/lib/video-recap/skills/video-assemble/scripts/adoption/narration_binding.py +323 -0
  391. package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_inputs.py +109 -0
  392. package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_publish.py +130 -0
  393. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +10 -46
  394. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +378 -119
  395. package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +29 -12
  396. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +95 -44
  397. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +75 -32
  398. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +11 -11
  399. package/lib/video-recap/skills/video-assemble/scripts/compose_foreground.py +293 -0
  400. package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +71 -78
  401. package/lib/video-recap/skills/video-assemble/scripts/jianying/__init__.py +1 -0
  402. package/lib/video-recap/skills/video-assemble/scripts/{jianying_builders.py → jianying/builders.py} +39 -67
  403. package/lib/video-recap/skills/video-assemble/scripts/{jianying_model.py → jianying/model.py} +3 -11
  404. package/lib/video-recap/skills/video-assemble/scripts/{jianying_optional.py → jianying/optional.py} +1 -1
  405. package/lib/video-recap/skills/video-assemble/scripts/jianying/schema.py +53 -0
  406. package/lib/video-recap/skills/video-assemble/scripts/{jianying_templates.py → jianying/templates.py} +1 -1
  407. package/lib/video-recap/skills/video-assemble/scripts/{jianying_timeline_contract.py → jianying/timeline_contract.py} +34 -13
  408. package/lib/video-recap/skills/video-assemble/scripts/{jianying_writer.py → jianying/writer.py} +7 -17
  409. package/lib/video-recap/skills/video-assemble/scripts/lib.py +37 -4
  410. package/lib/video-recap/skills/video-assemble/scripts/media.py +12 -21
  411. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +64 -34
  412. package/lib/video-recap/skills/video-assemble/scripts/packaging.py +122 -0
  413. package/lib/video-recap/skills/video-assemble/scripts/pair_media.py +216 -0
  414. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +1 -3
  415. package/lib/video-recap/skills/video-assemble/scripts/source_score.py +469 -0
  416. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +25 -9
  417. package/lib/video-recap/skills/video-assemble/scripts/subtitles/__init__.py +1 -0
  418. package/lib/video-recap/skills/video-assemble/scripts/{subtitle_core.py → subtitles/core.py} +13 -6
  419. package/lib/video-recap/skills/video-assemble/scripts/{subtitle_render.py → subtitles/render.py} +5 -4
  420. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track.py +324 -0
  421. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track_binding.py +200 -0
  422. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +30 -46
  423. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +91 -7
  424. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +22 -8
  425. package/lib/video-recap/skills/video-cut/SKILL.md +34 -16
  426. package/lib/video-recap/skills/video-cut/references/shot-review.md +50 -0
  427. package/lib/video-recap/skills/video-cut/scripts/cut.py +2 -28
  428. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +58 -62
  429. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +21 -106
  430. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +14 -9
  431. package/lib/video-recap/skills/video-cut/scripts/lib.py +39 -0
  432. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +2 -155
  433. package/lib/video-recap/skills/video-cut/scripts/narrative_selection.py +244 -0
  434. package/lib/video-recap/skills/video-cut/scripts/shot_review.py +357 -0
  435. package/lib/video-recap/skills/video-recap/SKILL.md +86 -42
  436. package/lib/video-recap/skills/video-recap/references/audio-routing.md +126 -0
  437. package/lib/video-recap/skills/video-recap/references/config-playbook.md +12 -8
  438. package/lib/video-recap/skills/video-recap/references/data-schema.md +44 -33
  439. package/lib/video-recap/skills/video-recap/references/resource-library.md +151 -0
  440. package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +1 -1
  441. package/lib/video-recap/skills/video-recap/scripts/doctor.py +123 -30
  442. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +22 -75
  443. package/lib/video-recap/skills/video-recap/scripts/lib.py +3 -3
  444. package/lib/video-recap/skills/video-recap/scripts/library.py +509 -0
  445. package/lib/video-recap/skills/video-recap/scripts/materials.py +63 -91
  446. package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +8 -70
  447. package/lib/video-recap/skills/video-recap/scripts/project_binding.py +286 -0
  448. package/lib/video-recap/skills/video-recap/scripts/qc/__init__.py +1 -0
  449. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_client.py → qc/mimo_client.py} +1 -1
  450. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_evidence.py → qc/mimo_evidence.py} +33 -66
  451. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_observations.py → qc/mimo_observations.py} +3 -11
  452. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_payload.py → qc/mimo_payload.py} +4 -7
  453. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_report.py → qc/mimo_report.py} +17 -28
  454. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_runner.py → qc/mimo_runner.py} +2 -2
  455. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +0 -19
  456. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +119 -50
  457. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +32 -114
  458. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +9 -23
  459. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +387 -334
  460. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +23 -23
  461. package/lib/video-recap/skills/video-recap/scripts/recap_source.py +278 -0
  462. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +25 -12
  463. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +59 -52
  464. package/lib/video-recap/skills/video-recap/scripts/resource_lock.py +162 -0
  465. package/lib/video-recap/skills/video-script/SKILL.md +16 -13
  466. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +9 -5
  467. package/lib/video-recap/skills/video-script/references/promotional-copy.md +68 -0
  468. package/lib/video-recap/skills/video-script/references/research-guide.md +1 -1
  469. package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +24 -76
  470. package/lib/video-recap/skills/video-script/scripts/lib.py +10 -87
  471. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +63 -39
  472. package/lib/video-recap/skills/video-script/scripts/review.py +0 -2
  473. package/lib/video-recap/skills/video-script/scripts/review_grounding.py +35 -59
  474. package/lib/video-recap/skills/video-script/scripts/review_response.py +66 -128
  475. package/lib/video-recap/skills/video-script/scripts/review_runner.py +12 -20
  476. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +4 -4
  477. package/lib/video-recap/skills/video-script/scripts/validate.py +53 -42
  478. package/lib/video-recap/skills/video-understanding/SKILL.md +6 -4
  479. package/lib/video-recap/skills/video-understanding/references/data-schema.md +50 -156
  480. package/lib/video-recap/skills/video-understanding/references/research-guide.md +4 -4
  481. package/lib/video-recap/skills/video-understanding/scripts/asr.py +85 -65
  482. package/lib/video-recap/skills/video-understanding/scripts/asr_timing_evidence.py +270 -0
  483. package/lib/video-recap/skills/video-understanding/scripts/brief.py +2 -5
  484. package/lib/video-recap/skills/video-understanding/scripts/briefing/__init__.py +1 -0
  485. package/lib/video-recap/skills/{video-script/scripts/agent_brief.py → video-understanding/scripts/briefing/builder.py} +38 -35
  486. package/lib/video-recap/skills/video-understanding/scripts/{brief_context.py → briefing/context.py} +4 -35
  487. package/lib/video-recap/skills/{video-script/scripts/brief_inputs.py → video-understanding/scripts/briefing/inputs.py} +9 -31
  488. package/lib/video-recap/skills/{video-script/scripts/brief_timeline.py → video-understanding/scripts/briefing/timeline.py} +5 -6
  489. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +65 -116
  490. package/lib/video-recap/skills/video-understanding/scripts/detect.py +31 -40
  491. package/lib/video-recap/skills/video-understanding/scripts/lib.py +30 -86
  492. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +63 -39
  493. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +4 -4
  494. package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +17 -79
  495. package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +14 -40
  496. package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +64 -46
  497. package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +31 -11
  498. package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +19 -14
  499. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +80 -108
  500. package/lib/video-recap/skills/video-voiceover/SKILL.md +29 -19
  501. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +31 -0
  502. package/lib/video-recap/skills/video-voiceover/scripts/approved_text_policy.py +123 -0
  503. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +51 -59
  504. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +8 -44
  505. package/lib/video-recap/skills/video-voiceover/scripts/providers/__init__.py +1 -0
  506. package/lib/video-recap/skills/video-voiceover/scripts/providers/index_tts.py +184 -0
  507. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +212 -134
  508. package/package.json +45 -45
  509. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -58
  510. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
  511. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -38
  512. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +0 -530
  513. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +0 -559
  514. package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +0 -207
  515. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
  516. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +0 -678
  517. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +0 -561
  518. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +0 -98
  519. package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +0 -225
  520. package/lib/video-recap/skills/video-recap/references/research-guide.md +0 -74
  521. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +0 -250
  522. package/lib/video-recap/skills/video-script/scripts/brief_context.py +0 -348
  523. package/lib/video-recap/skills/video-script/scripts/narration.py +0 -12
  524. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +0 -399
  525. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +0 -290
  526. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +0 -327
  527. /package/lib/video-recap/skills/video-assemble/scripts/{jianying_tracks.py → jianying/tracks.py} +0 -0
  528. /package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_contract.py → qc/mimo_contract.py} +0 -0
  529. /package/lib/video-recap/skills/video-voiceover/scripts/{fish_audio.py → providers/fish_audio.py} +0 -0
@@ -2,10 +2,10 @@
2
2
  "schemaVersion": 1,
3
3
  "upstream": {
4
4
  "repository": "https://github.com/zenstory-ai/video-recap-skills.git",
5
- "commit": "ec369e7e38866f23e953903fb30de9638a900e57",
6
- "releaseVersion": "0.5.0"
5
+ "commit": "e7eb0a82f13aab930f64a669e91ece78b82f65f5",
6
+ "releaseVersion": "0.6.0"
7
7
  },
8
- "generatedAt": "2026-09-10T13:26:16.832Z",
8
+ "generatedAt": "2026-09-28T04:09:53.544Z",
9
9
  "skills": [
10
10
  "video-assemble",
11
11
  "video-cut",
@@ -17,8 +17,8 @@
17
17
  "files": [
18
18
  {
19
19
  "path": "CHANGELOG.md",
20
- "sha256": "98c82ba7cf52881794d701ea5baca926638c1eb5e696bf34dbbc96002a7d3380",
21
- "bytes": 33937
20
+ "sha256": "1f1c9b54c80ccd4bd4ae65cc115e123ef88601df63cd078c5d8ad8d0b85418cc",
21
+ "bytes": 49652
22
22
  },
23
23
  {
24
24
  "path": "LICENSE",
@@ -27,18 +27,33 @@
27
27
  },
28
28
  {
29
29
  "path": "README.en.md",
30
- "sha256": "689dfc34a7c2eb6abda6bcdd04d62d79d7700ad110efacbca08e0f28511132fa",
31
- "bytes": 15743
30
+ "sha256": "d34ac318ae1adaddd6ba0a9f5d3e2ae8156e0c857721491be90d96c3d6c21e51",
31
+ "bytes": 29374
32
32
  },
33
33
  {
34
34
  "path": "README.md",
35
- "sha256": "7dacb2ddbcf4c7ab656ec7288eaa90f223a37ca5fbe1d56567e9d960f3975a9f",
36
- "bytes": 13804
35
+ "sha256": "cbbeaaae063cbe821540b73edb1775b545266ebcf9d3acab59d4019734085ad2",
36
+ "bytes": 25433
37
37
  },
38
38
  {
39
39
  "path": "skills/video-assemble/SKILL.md",
40
- "sha256": "e0771facf681f6a55481f9317c2c75ebe76ba1079b2f258d5a8013fd9d287b8b",
41
- "bytes": 6926
40
+ "sha256": "0d2225578266896418dbbc30e877c01da293c824a8ba3e500734453ea61143dd",
41
+ "bytes": 8875
42
+ },
43
+ {
44
+ "path": "skills/video-assemble/references/audio-modes.md",
45
+ "sha256": "39a6544ba0918db7de0a113f6d40a3af3c4e96d6158464e698681cbcef451bac",
46
+ "bytes": 3537
47
+ },
48
+ {
49
+ "path": "skills/video-assemble/references/explicit-audio-mix.md",
50
+ "sha256": "06957b2ba1879fd2064efb873d93c5640d86ac9247bf6de72147483f22a5c148",
51
+ "bytes": 3756
52
+ },
53
+ {
54
+ "path": "skills/video-assemble/references/foreground-compose.md",
55
+ "sha256": "c7112618cd62e43a0a98a4dd31c43a2c5657fec8134c0b70df63be131f32d2fb",
56
+ "bytes": 5244
42
57
  },
43
58
  {
44
59
  "path": "skills/video-assemble/references/jianying/LICENSE.duo-video",
@@ -105,30 +120,85 @@
105
120
  "sha256": "d70bbce903e07b025a7235b0bfc7c2acc633257105050fc21ce7b5ada296a45b",
106
121
  "bytes": 2447
107
122
  },
123
+ {
124
+ "path": "skills/video-assemble/references/narration-adoption.md",
125
+ "sha256": "fe1da17dcf5d5ad2daf1a66ce372dbc828e3d8dcd2b448d13745021df7abcf6e",
126
+ "bytes": 4767
127
+ },
128
+ {
129
+ "path": "skills/video-assemble/references/packaging.md",
130
+ "sha256": "a3dd8e54f0e0bc696a3083f40e25875d5eda7695b03128ca4ae5e9a7f71616a0",
131
+ "bytes": 2832
132
+ },
133
+ {
134
+ "path": "skills/video-assemble/references/pair-media.md",
135
+ "sha256": "797e94f495cddbae2e11e9a6544cd39487110939ca9737147007047d3ba7d7b1",
136
+ "bytes": 4151
137
+ },
138
+ {
139
+ "path": "skills/video-assemble/references/source-score.md",
140
+ "sha256": "cbed800c93e32ddc00987ae4cb5fa77e7e4cc5bbc677a134e61d6adb925c7208",
141
+ "bytes": 6864
142
+ },
143
+ {
144
+ "path": "skills/video-assemble/references/subtitle-track.md",
145
+ "sha256": "e34a687763061ef6b213483692af5b8b56902dfbc4ea3493c83e1af69889d18b",
146
+ "bytes": 8730
147
+ },
148
+ {
149
+ "path": "skills/video-assemble/scripts/adoption/__init__.py",
150
+ "sha256": "e10434b751cea0b67f4b56c4a4266ca19d55f305da5db4e1747e28968898c64f",
151
+ "bytes": 94
152
+ },
153
+ {
154
+ "path": "skills/video-assemble/scripts/adoption/audio_mix_binding.py",
155
+ "sha256": "0906c5ac568d26fe558b8e59d384f714f61cfd1062b091dbd8f3615df7efb6d7",
156
+ "bytes": 13727
157
+ },
158
+ {
159
+ "path": "skills/video-assemble/scripts/adoption/frozen_audio.py",
160
+ "sha256": "86445ab4e90c58444645e965b56c4f44b150ec79c4f03e89ce362cec3ea39169",
161
+ "bytes": 7750
162
+ },
163
+ {
164
+ "path": "skills/video-assemble/scripts/adoption/narration_binding.py",
165
+ "sha256": "3a9fced5c64e3f1b5bb795c9f16f3ad73dfeeb8beed0ecb3d15e70aa2c1789ec",
166
+ "bytes": 14877
167
+ },
168
+ {
169
+ "path": "skills/video-assemble/scripts/adoption/strict_inputs.py",
170
+ "sha256": "24bc01baade017e2c1f7921fdecad284a502d37728a1af599f807a3ddfed8881",
171
+ "bytes": 4200
172
+ },
173
+ {
174
+ "path": "skills/video-assemble/scripts/adoption/strict_publish.py",
175
+ "sha256": "0f51790a7a724385e2c8d06aa64a1aee727ad153fb2bae49b97f91d50be5848f",
176
+ "bytes": 6144
177
+ },
108
178
  {
109
179
  "path": "skills/video-assemble/scripts/artifacts.py",
110
- "sha256": "15ad56b5a39f6879c00c50d90f6aacd393de83926d813c9c596607a7dbab4ca2",
111
- "bytes": 2808
180
+ "sha256": "0f7d502f6637ab58dfbd8496fe7e42784f4b2030ccfc9cce339d6e2998fa7a01",
181
+ "bytes": 1399
112
182
  },
113
183
  {
114
184
  "path": "skills/video-assemble/scripts/assemble.py",
115
- "sha256": "6ac40f8281e7648fd07a40e512c560133926bf40b14349cc54720a7127804253",
116
- "bytes": 16425
185
+ "sha256": "3f38bde7943eb1c2779e60ea146dc4a25ec0956b92733f426f674df7dcc3c0c6",
186
+ "bytes": 29707
117
187
  },
118
188
  {
119
189
  "path": "skills/video-assemble/scripts/assemble_constants.py",
120
- "sha256": "6c2d0d58a7d2d5f91a7fdf9cac4c1455458f837e3cadbd03a378bd6dad0bee62",
121
- "bytes": 1044
190
+ "sha256": "73774582f82f387c40003d9d758e19d5c0070b3a8abee749647685f445971467",
191
+ "bytes": 2024
122
192
  },
123
193
  {
124
194
  "path": "skills/video-assemble/scripts/assembly_contract.py",
125
- "sha256": "c9405f40848153e23b0ef5dbdecd4cd56d99eee30cfb8dfd7ceece90f6914f61",
126
- "bytes": 11345
195
+ "sha256": "976acc985f75f644dbf3f5305221d4d7421002c57b1dc9d1a8f150125bedfe72",
196
+ "bytes": 13881
127
197
  },
128
198
  {
129
199
  "path": "skills/video-assemble/scripts/assembly_settings.py",
130
- "sha256": "b95322ebe2fdbb001a533c4d1ffd3b1a9085d79d2ea5c101a929033fa6b0ef5b",
131
- "bytes": 4474
200
+ "sha256": "ab052125d1ca695bf7e10d63c1ca6fbf917f41531dfc1a72b153861d98fbac1e",
201
+ "bytes": 6710
132
202
  },
133
203
  {
134
204
  "path": "skills/video-assemble/scripts/audio_automation.py",
@@ -137,133 +207,178 @@
137
207
  },
138
208
  {
139
209
  "path": "skills/video-assemble/scripts/audio_mix.py",
140
- "sha256": "2a30865aed73723281ad82263aaa67e1762debb801ba804ebc800fa8a559c92d",
141
- "bytes": 18981
210
+ "sha256": "4624eb6859cdd306f971fb49898d863aff692ca8b81c76a86ecbd0d8d99e6b57",
211
+ "bytes": 18940
212
+ },
213
+ {
214
+ "path": "skills/video-assemble/scripts/compose_foreground.py",
215
+ "sha256": "49ba6eb4c6cfc179991c55c5a054eb43bc2c47fce31ccd3ea6bdea61d1ec794e",
216
+ "bytes": 14431
142
217
  },
143
218
  {
144
219
  "path": "skills/video-assemble/scripts/export_jianying.py",
145
- "sha256": "bf5d57dbb58b2f5b4b640035a17f318ae714fdf424d5b55945b356ffd0de7588",
146
- "bytes": 8874
220
+ "sha256": "447fc4bd39f63445cb790430d637554ba643d4716b6a69f5dd3e7b42351b1596",
221
+ "bytes": 8684
147
222
  },
148
223
  {
149
- "path": "skills/video-assemble/scripts/jianying_builders.py",
150
- "sha256": "925a6f25eda0938a62494dc2cc76196a3c2cb8facf72d9e9918e541c14c24294",
151
- "bytes": 32203
224
+ "path": "skills/video-assemble/scripts/jianying/__init__.py",
225
+ "sha256": "cd934c6910bd483080448b958f8c7b48e10609da4fb8b11361e646b8b56c3772",
226
+ "bytes": 49
152
227
  },
153
228
  {
154
- "path": "skills/video-assemble/scripts/jianying_model.py",
155
- "sha256": "5c8b3bac994b6e6d4ff53de04d51b63393ea952c018c0907c38d8baeea499e0b",
156
- "bytes": 3778
229
+ "path": "skills/video-assemble/scripts/jianying/builders.py",
230
+ "sha256": "4c66e77043cfbcb32b46a5345489c6c07425554730845c1271435dcba1c7b2d6",
231
+ "bytes": 30773
157
232
  },
158
233
  {
159
- "path": "skills/video-assemble/scripts/jianying_optional.py",
160
- "sha256": "6ef8bcc1db532746201b0231be6b8052488f51c7be1e4e6254f1663c9447b1dd",
161
- "bytes": 1013
234
+ "path": "skills/video-assemble/scripts/jianying/model.py",
235
+ "sha256": "02787ddfbe98132a1e53c2df458a365c29d1cb3d5882362f1ef31cdc9854b3b1",
236
+ "bytes": 3432
162
237
  },
163
238
  {
164
- "path": "skills/video-assemble/scripts/jianying_schema.py",
165
- "sha256": "ebfb30c6e2290e02469cdf4cea6922450ba2033e8457d60aa0079a1b2818194c",
166
- "bytes": 5723
239
+ "path": "skills/video-assemble/scripts/jianying/optional.py",
240
+ "sha256": "9b410526c0a28e40ed9f58b234ea5f24d03dbf108191acd2a65f91dc44f29c10",
241
+ "bytes": 1012
167
242
  },
168
243
  {
169
- "path": "skills/video-assemble/scripts/jianying_templates.py",
170
- "sha256": "ff1360b1ad4dec80e4c3830b0f7393d67d874e94de1c7357ffb100d9a03c77fe",
171
- "bytes": 1226
244
+ "path": "skills/video-assemble/scripts/jianying/schema.py",
245
+ "sha256": "fb66aba99d010477a418a7f45d87e92ced1ae5d9995f6f66b326890e41dc51bd",
246
+ "bytes": 2600
172
247
  },
173
248
  {
174
- "path": "skills/video-assemble/scripts/jianying_timeline_contract.py",
175
- "sha256": "a49e0a456d5f7517148a8f19540b7925945cd3cdafcd2b270a1090e79a5a608f",
176
- "bytes": 8680
249
+ "path": "skills/video-assemble/scripts/jianying/templates.py",
250
+ "sha256": "5857fc622dbf71ec4ccb1012ddac56f03788e2da9294083ba5e46e3f08c648ad",
251
+ "bytes": 1233
177
252
  },
178
253
  {
179
- "path": "skills/video-assemble/scripts/jianying_tracks.py",
254
+ "path": "skills/video-assemble/scripts/jianying/timeline_contract.py",
255
+ "sha256": "c4b2eee6f0cb4a2e9eb6a8c15e258732f8e2f5908c820b2a20b372b9e513d14a",
256
+ "bytes": 9634
257
+ },
258
+ {
259
+ "path": "skills/video-assemble/scripts/jianying/tracks.py",
180
260
  "sha256": "9c20912d62b4845ca4b48c4c1c6a71c3899150865b6d7db05f21a34bd976888b",
181
261
  "bytes": 2666
182
262
  },
183
263
  {
184
- "path": "skills/video-assemble/scripts/jianying_writer.py",
185
- "sha256": "19933e70071bfaabbdabad971f7a027c175a2d3858db5c7d3ab9201ae5de0755",
186
- "bytes": 15688
264
+ "path": "skills/video-assemble/scripts/jianying/writer.py",
265
+ "sha256": "24304446d7fe33b30abf2a1d91eaba604a34d1e6da0874e2f5854aae2d0d6e1e",
266
+ "bytes": 15245
187
267
  },
188
268
  {
189
269
  "path": "skills/video-assemble/scripts/lib.py",
190
- "sha256": "6e23176483d2914450c512312c2feb9a73dd2a34048a0a4c264a417ab251ef92",
191
- "bytes": 12859
270
+ "sha256": "e043e844d34a68712c9774a51e29cdd3c5a1a0934422a973f31f0c28a27ae86d",
271
+ "bytes": 14370
192
272
  },
193
273
  {
194
274
  "path": "skills/video-assemble/scripts/media.py",
195
- "sha256": "7f968e87ec0da6e55b8d571b54e529cb488766de0df616be19fc39f4a92224e5",
196
- "bytes": 8656
275
+ "sha256": "f0d416bfafd45c1743e7de5dc09f248837776e3b743038ac7be15ab1e51c1d63",
276
+ "bytes": 8422
197
277
  },
198
278
  {
199
279
  "path": "skills/video-assemble/scripts/narration_audio.py",
200
- "sha256": "c3d9b2b5042161ab278f75ff0b290baa6253c777fc28947412f2d12e52b86443",
201
- "bytes": 17953
280
+ "sha256": "d20d48a37f2a49982e34d2c5ac20ed7581fd7f47ef8a646cbe164a6e746e8582",
281
+ "bytes": 19362
282
+ },
283
+ {
284
+ "path": "skills/video-assemble/scripts/packaging.py",
285
+ "sha256": "f4c59b07dac1b65509ca6c3d1f9d2770798b1b981b8d71be685788fdf2c29ae0",
286
+ "bytes": 5586
287
+ },
288
+ {
289
+ "path": "skills/video-assemble/scripts/pair_media.py",
290
+ "sha256": "18be86a9eb1856f7f4ba9e1148ab1113e2fe28d33f6091c8485f42095764cc69",
291
+ "bytes": 11113
202
292
  },
203
293
  {
204
294
  "path": "skills/video-assemble/scripts/render_preflight.py",
205
- "sha256": "19166fdce29774a6b8b815f9d570e13ac271e72d29d3c1eeb874626cc542bccc",
206
- "bytes": 1352
295
+ "sha256": "62f0e2b2cf37ce7c1e6d5e2142fd198cb358b433339381d9cdfb6ab4e9ac3ce0",
296
+ "bytes": 1329
297
+ },
298
+ {
299
+ "path": "skills/video-assemble/scripts/source_score.py",
300
+ "sha256": "db1dc8804c10f1a5d1db512025a09a4a8846e7a7f0eb2f05500862211314aaf8",
301
+ "bytes": 24274
207
302
  },
208
303
  {
209
304
  "path": "skills/video-assemble/scripts/source_subtitles.py",
210
- "sha256": "7d97fd9836cf7101f5795a9d524b7b197acb145e1b34c0ddc412f28d7f492e8e",
211
- "bytes": 19462
305
+ "sha256": "5d47a798d7c321d632d070f6346ea3db9bb2a0fae72524234db06d0a2330ed3d",
306
+ "bytes": 20485
307
+ },
308
+ {
309
+ "path": "skills/video-assemble/scripts/subtitles/__init__.py",
310
+ "sha256": "2e32301538d2a80e1f1731ed7d22174f0727a5f9973f5dbe668a8e8196cc9ae3",
311
+ "bytes": 56
312
+ },
313
+ {
314
+ "path": "skills/video-assemble/scripts/subtitles/core.py",
315
+ "sha256": "2019e96e8c8024fc2eac42a2d84abb709317a1f944e0a6bf553d9c6d33ad14f3",
316
+ "bytes": 13938
212
317
  },
213
318
  {
214
- "path": "skills/video-assemble/scripts/subtitle_core.py",
215
- "sha256": "b5f492af251d87b9e3fb4c9e92989db5a0c0e2274be32af8236fedf0895b94b0",
216
- "bytes": 13612
319
+ "path": "skills/video-assemble/scripts/subtitles/render.py",
320
+ "sha256": "acb4d5db2082fbb51bcc788d224f7d0d4d0e7b57e15148ad12bb2c44d020dd5f",
321
+ "bytes": 3577
217
322
  },
218
323
  {
219
- "path": "skills/video-assemble/scripts/subtitle_render.py",
220
- "sha256": "a7835b5358eb8b5ae3ef54865d524aeed1c956dd22bc1761aae8d9b0f4aebd1a",
221
- "bytes": 3418
324
+ "path": "skills/video-assemble/scripts/subtitles/track.py",
325
+ "sha256": "11f15d2af362c9f9ab37fdc5e11ccb52200ca82b40cb5b6cb4210bbe316a9129",
326
+ "bytes": 12878
327
+ },
328
+ {
329
+ "path": "skills/video-assemble/scripts/subtitles/track_binding.py",
330
+ "sha256": "e04b86fe8d5f15cd2fce33b8aad5be0da5bda7cd6ef0dc712b3963298e635d3e",
331
+ "bytes": 10572
222
332
  },
223
333
  {
224
334
  "path": "skills/video-assemble/scripts/timeline.py",
225
- "sha256": "69ad2a2a1b8a7faf90d2b04425e61137f0f5d034c065fe0e55a90d278d759477",
226
- "bytes": 10308
335
+ "sha256": "e25f5c933809769f3b705bf64f6f1cbc28d9efef34c2d8c4501dc9db8ae304b0",
336
+ "bytes": 9466
227
337
  },
228
338
  {
229
339
  "path": "skills/video-assemble/scripts/timeline_emit.py",
230
- "sha256": "be95ae2a3bac008aafc4875f357a22a7fcf29c472bfa4c6bd2da05dbc06f80a6",
231
- "bytes": 3707
340
+ "sha256": "0b4af848b4774d095bf3556c2781f7673ff5d156f202ce898a59d2e4fea23774",
341
+ "bytes": 7854
232
342
  },
233
343
  {
234
344
  "path": "skills/video-assemble/scripts/visual_render.py",
235
- "sha256": "7c2adbb74ce3eab3958f98e19481aae2f0deebeb66290b532ca6ad1ddc6dbe07",
236
- "bytes": 16677
345
+ "sha256": "6310e6eac017578fe945bffcdb221ef1f58246e66b0adfacf7bf10497adaad65",
346
+ "bytes": 17225
237
347
  },
238
348
  {
239
349
  "path": "skills/video-cut/SKILL.md",
240
- "sha256": "6ac561990a6eb89da6023f3df3136f96160b89927247530e733e384d76e97116",
241
- "bytes": 6060
350
+ "sha256": "9a403ef16ed16d961f161d828ad9e601f8c3a85b9982e7fd756b76386fff021e",
351
+ "bytes": 7281
352
+ },
353
+ {
354
+ "path": "skills/video-cut/references/shot-review.md",
355
+ "sha256": "188699940f614a6876b4018990e74e117165e5b462a28db949814ca2137839b7",
356
+ "bytes": 5549
242
357
  },
243
358
  {
244
359
  "path": "skills/video-cut/scripts/cut.py",
245
- "sha256": "97e2b5b16bf6a84efdad5c1ed9cb8754439be127aa22eb0e32ea6a7b8221825f",
246
- "bytes": 1769
360
+ "sha256": "a1c3228d71ec25115f8e57f02b0b94e7c9d36fb91bc08844bce9b71eb4f4fe67",
361
+ "bytes": 1131
247
362
  },
248
363
  {
249
364
  "path": "skills/video-cut/scripts/cut_cli.py",
250
- "sha256": "01145cc6b03c4c3372cbfd5986a206f65eb264a2dafd32228479f68fa3980a96",
251
- "bytes": 12203
365
+ "sha256": "16b6b47247196f5dcd0704fe1eaba011980189e2b4f9a7252c2724350d4f0b42",
366
+ "bytes": 12385
252
367
  },
253
368
  {
254
369
  "path": "skills/video-cut/scripts/cut_contract.py",
255
- "sha256": "81ad6426d32f64eb41f9510d9a9dbf1f2335442af90718521d6136c9a751f493",
256
- "bytes": 19327
370
+ "sha256": "8bd575ac319e97551ef44bdd8fa0feb369e92cbe1ae27cef647d25dc94eb052b",
371
+ "bytes": 16364
257
372
  },
258
373
  {
259
374
  "path": "skills/video-cut/scripts/cut_render.py",
260
- "sha256": "4395d4816005f9b5ec88ee981741c00979612f833388a5ebc8fb3d26bfee3903",
261
- "bytes": 10974
375
+ "sha256": "b979e9d1c67102f29cd98c1f34e861ca995bc337304592cb3ab21e67825d50c4",
376
+ "bytes": 11249
262
377
  },
263
378
  {
264
379
  "path": "skills/video-cut/scripts/lib.py",
265
- "sha256": "42c010d218d44389b2a7b7de2f9a0add1fe7a49e992b1a7846d49d9879888205",
266
- "bytes": 3275
380
+ "sha256": "6b5f2a63869d61d5b60ed2860cdc36ac03e2fe8ec0f0acbceff3923af46f8c9c",
381
+ "bytes": 4796
267
382
  },
268
383
  {
269
384
  "path": "skills/video-cut/scripts/media_geometry.py",
@@ -272,113 +387,133 @@
272
387
  },
273
388
  {
274
389
  "path": "skills/video-cut/scripts/narration_mapping.py",
275
- "sha256": "65afd4ce9c73287f9910b389d2c00a3451cacab0e0a8ce893d10041b77fcdd39",
276
- "bytes": 9055
390
+ "sha256": "b1a95b0ac1cac78137a4c3f1a5ab9255f3b8ad6ed4d3ccaada103aa8a6454495",
391
+ "bytes": 2674
392
+ },
393
+ {
394
+ "path": "skills/video-cut/scripts/narrative_selection.py",
395
+ "sha256": "a3f22fe3176578a0869ab48ee90a2c6f739c3d75d0e6ee67db84aa47ae679676",
396
+ "bytes": 8972
277
397
  },
278
398
  {
279
399
  "path": "skills/video-cut/scripts/sentence_boundaries.py",
280
400
  "sha256": "9ba7f55ce51b2b86d885532b6800f42052ce7911d2816b4068eae7ccf2ae6962",
281
401
  "bytes": 22883
282
402
  },
403
+ {
404
+ "path": "skills/video-cut/scripts/shot_review.py",
405
+ "sha256": "0b341a1050bbfcf5484db633349542521ecc3823a36454cf93815b218727b0b7",
406
+ "bytes": 17440
407
+ },
283
408
  {
284
409
  "path": "skills/video-recap/SKILL.md",
285
- "sha256": "217913bc6f9e47e01fd5e32154e126f8abec7aaee52f3525982bece01e3c0abc",
286
- "bytes": 12492
410
+ "sha256": "021dc178c4ba55e3b1f546430481658a7240e36802a7feecf2411f93a92b1fba",
411
+ "bytes": 15438
287
412
  },
288
413
  {
289
- "path": "skills/video-recap/references/config-playbook.md",
290
- "sha256": "b3b9b3e0141ded55c40cac54fce07b8de5b5ae38a6ece32f03e8908cacf9e007",
291
- "bytes": 11246
414
+ "path": "skills/video-recap/references/audio-routing.md",
415
+ "sha256": "5613ec941acec2e36ed9557839340bc0427834a16d39cc03cde1706ac03557fc",
416
+ "bytes": 7139
292
417
  },
293
418
  {
294
- "path": "skills/video-recap/references/creative-editing-playbook.md",
295
- "sha256": "dbf367620a250b542bfcb9faeba6fdc4d752f029ef46978cec1b0ae770ed912c",
296
- "bytes": 12407
419
+ "path": "skills/video-recap/references/config-playbook.md",
420
+ "sha256": "649eecc1de73b3eb3137c945ad3a0ac0aee1ad7c5c3d40924f37100fe445b288",
421
+ "bytes": 11916
297
422
  },
298
423
  {
299
424
  "path": "skills/video-recap/references/data-schema.md",
300
- "sha256": "38228f689aa66409aa924a772d6e73b5badb6e082f5e5e3813c685977d7d5571",
301
- "bytes": 26854
425
+ "sha256": "916973e83f24c6e1b90a55a6a115ca3b3ad1ce9fee47a1f480d0ded1876b63c1",
426
+ "bytes": 28353
302
427
  },
303
428
  {
304
- "path": "skills/video-recap/references/research-guide.md",
305
- "sha256": "5d8a0830ee2092ea759a05ed842c63679fb205b653af79af8a99f1234e406b13",
306
- "bytes": 2880
429
+ "path": "skills/video-recap/references/resource-library.md",
430
+ "sha256": "1d29835427b82352c7a404c78e20b42977b8d1700e677e8e6aec33fb4ff419d9",
431
+ "bytes": 8460
307
432
  },
308
433
  {
309
434
  "path": "skills/video-recap/references/shift-left-qc-schema.md",
310
- "sha256": "d4db18ce8b58fc160dcd08174fbc48dbf1a724b27d7d95dcf13817c979218df2",
311
- "bytes": 2314
312
- },
313
- {
314
- "path": "skills/video-recap/references/timeline-and-jianying.md",
315
- "sha256": "9fa138687a42c4701808aecb18d23cf7b2c01775728fc828e708b88859896110",
316
- "bytes": 13652
435
+ "sha256": "3e2628f803fda686611dfdbcdd018799155f2a9d7833d934e20a872cb641eae3",
436
+ "bytes": 2288
317
437
  },
318
438
  {
319
439
  "path": "skills/video-recap/scripts/doctor.py",
320
- "sha256": "c94ca5d1b8da15f72b228e55493ce527844e296e17ae794c40cd64aad19638ff",
321
- "bytes": 16968
440
+ "sha256": "50a12a5526dc9d5c025f838ea0d03b86a7bacec5e59147670b4b199a86716ddb",
441
+ "bytes": 20852
322
442
  },
323
443
  {
324
444
  "path": "skills/video-recap/scripts/final_qc.py",
325
- "sha256": "3615e7a749bace6213eaafe321762d813a6d1ea06d4223b85be253ec708e5569",
326
- "bytes": 25284
445
+ "sha256": "e4ed593259cc2190ec7d6fdf097e5f08eb0a864a83ed0746827dce145048823d",
446
+ "bytes": 23040
327
447
  },
328
448
  {
329
449
  "path": "skills/video-recap/scripts/lib.py",
330
- "sha256": "279680fcb17a45ef19b1c3f8a50b7a38b341d9f2a790baa315c3cf86f838495d",
331
- "bytes": 10080
450
+ "sha256": "e5de141a2fb548824f43f56e1974d6d06559f06d35ebee60f062e5323e8dfc50",
451
+ "bytes": 10070
452
+ },
453
+ {
454
+ "path": "skills/video-recap/scripts/library.py",
455
+ "sha256": "739fa6f16a376e5430a9fc9c21bcb03940f29f644fe04b0ea448f390c81db757",
456
+ "bytes": 25314
332
457
  },
333
458
  {
334
459
  "path": "skills/video-recap/scripts/materials.py",
335
- "sha256": "ab9cff9176d8fbee66d83aaa240b29f46cc08a7d57d5794c1baa2b35671cca7b",
336
- "bytes": 17528
460
+ "sha256": "49f66b14b8ee617e2e7f9e9d93382b4180244f6799f479584022078742004228",
461
+ "bytes": 16415
337
462
  },
338
463
  {
339
464
  "path": "skills/video-recap/scripts/mimo_qc.py",
340
- "sha256": "54dc05048b034cf2e57ea3c877ffed6ceff18618d3ca2071454a1039cb35e73d",
341
- "bytes": 2083
465
+ "sha256": "3dcfe28a9d4dc5235e4924c73b23d2a99bf401bac8d44e29d0e4c20d2c4e53b0",
466
+ "bytes": 885
467
+ },
468
+ {
469
+ "path": "skills/video-recap/scripts/project_binding.py",
470
+ "sha256": "678f1ad5a7f14b72a037c316f5313af44760d9698522d0656ffba35118d153d1",
471
+ "bytes": 12121
342
472
  },
343
473
  {
344
- "path": "skills/video-recap/scripts/mimo_qc_client.py",
345
- "sha256": "6ab7a39202ee1ce9098c9d37cfd33872acd31320c2fd142a45a014460b446087",
346
- "bytes": 398
474
+ "path": "skills/video-recap/scripts/qc/__init__.py",
475
+ "sha256": "df3276d8bc4e83f0dd2be8bbca7ec976dc67b7ad5a7f3312c8d0974972f58ff2",
476
+ "bytes": 26
347
477
  },
348
478
  {
349
- "path": "skills/video-recap/scripts/mimo_qc_contract.py",
479
+ "path": "skills/video-recap/scripts/qc/mimo_client.py",
480
+ "sha256": "47010cda466f92600c5744d72e7f716cb3c6542bd8e3ae70d6f6f10fcf412bb7",
481
+ "bytes": 410
482
+ },
483
+ {
484
+ "path": "skills/video-recap/scripts/qc/mimo_contract.py",
350
485
  "sha256": "e51d30a11798d056ebfadfd1fa21142fea82bc69a07d611670b0dab394cca6fc",
351
486
  "bytes": 239
352
487
  },
353
488
  {
354
- "path": "skills/video-recap/scripts/mimo_qc_evidence.py",
355
- "sha256": "4dc0ca12953299ee187591ff6229c9f937026b45b07e756358b64277a8f17b2a",
356
- "bytes": 10461
489
+ "path": "skills/video-recap/scripts/qc/mimo_evidence.py",
490
+ "sha256": "d2cba1f68f4f43f7314f48a4e44bcef501668cf9ea58fee6b34cadacc15fdf03",
491
+ "bytes": 9696
357
492
  },
358
493
  {
359
- "path": "skills/video-recap/scripts/mimo_qc_observations.py",
360
- "sha256": "84232242ce3a6ba0af780294908c207b567b37a27b01db4863c5071a753a5a04",
361
- "bytes": 6801
494
+ "path": "skills/video-recap/scripts/qc/mimo_observations.py",
495
+ "sha256": "4c2cfbf621c85d1943d7a47adeeb3ea1c939b60762e160b74f78597a8f35ec51",
496
+ "bytes": 6425
362
497
  },
363
498
  {
364
- "path": "skills/video-recap/scripts/mimo_qc_payload.py",
365
- "sha256": "fc09d63726f7f969348c6a610dcbf498365fce6b2967b22504381dfec36d5695",
366
- "bytes": 10855
499
+ "path": "skills/video-recap/scripts/qc/mimo_payload.py",
500
+ "sha256": "fffaefe42ff475c2e836ff4abadcce5d2b77b14869a73d4f4716404622f4b567",
501
+ "bytes": 10673
367
502
  },
368
503
  {
369
- "path": "skills/video-recap/scripts/mimo_qc_report.py",
370
- "sha256": "386a3c03b764b4d92ece6069e5f46ece5c97dd7a939c345238660b5aa70085e3",
371
- "bytes": 10681
504
+ "path": "skills/video-recap/scripts/qc/mimo_report.py",
505
+ "sha256": "a13f93981ab55710b169554122e129902e1ba1a6c1655ec72b05bb2e90a02234",
506
+ "bytes": 10588
372
507
  },
373
508
  {
374
- "path": "skills/video-recap/scripts/mimo_qc_runner.py",
375
- "sha256": "68641b646363dc0ea3dddaa88e8d3120e826f9e81ca481200b5afc4e3de2f2dc",
509
+ "path": "skills/video-recap/scripts/qc/mimo_runner.py",
510
+ "sha256": "a14d14c657e8fff13af672e953f5b6ca558738cbd9050e11e885929c15f3d3a8",
376
511
  "bytes": 3823
377
512
  },
378
513
  {
379
514
  "path": "skills/video-recap/scripts/qc_contract.py",
380
- "sha256": "a2c4a57cd95421fb5d5826dfb62444d70e2184967f891c10115ced9de6b89dc9",
381
- "bytes": 12798
515
+ "sha256": "a105e3b6f12debd9de3e50d1bc39a3d0520b7397ac7d659b60ded9b8f078f6a9",
516
+ "bytes": 11990
382
517
  },
383
518
  {
384
519
  "path": "skills/video-recap/scripts/recap.py",
@@ -387,79 +522,74 @@
387
522
  },
388
523
  {
389
524
  "path": "skills/video-recap/scripts/recap_cli.py",
390
- "sha256": "69f5d9acf9a145e4d9bf9fc3efd9f4fb9854de17d8a97b994c1915fcad10dda5",
391
- "bytes": 5016
525
+ "sha256": "ba6161ebb0ec30b1e228b2155535fdd66cfdd9bc4b9e7785c9fe63a3d498e16d",
526
+ "bytes": 7602
392
527
  },
393
528
  {
394
529
  "path": "skills/video-recap/scripts/recap_inspect.py",
395
- "sha256": "36a33d75072d50f2c283e749d7d1e88655a2b9e9a7440d22e7bc7393316f5e19",
396
- "bytes": 21712
530
+ "sha256": "37a5b9a9f74be9af478329cc2e453527dc45a685264819ee74cfeb2cb8c8bbee",
531
+ "bytes": 18688
397
532
  },
398
533
  {
399
534
  "path": "skills/video-recap/scripts/recap_review.py",
400
- "sha256": "0d02a69a190cba2ac5152e8432241fb9405ef12e9aab2e5d7b21bd5984b79188",
401
- "bytes": 3441
535
+ "sha256": "4aeb13286d6f7f31fb8b43ab3e60a2f7cbad1b8926cb35213362b3b5b93e746f",
536
+ "bytes": 2894
402
537
  },
403
538
  {
404
539
  "path": "skills/video-recap/scripts/recap_runner.py",
405
- "sha256": "c10be6f5d235f801af17f31b930335e220d3c57264548404cec525cc1eefbc8c",
406
- "bytes": 24584
540
+ "sha256": "7a5baa9ebefce4369f21154ef418fe6bdbbf5d9ebbbf215456a167e47d61e0dd",
541
+ "bytes": 28650
407
542
  },
408
543
  {
409
544
  "path": "skills/video-recap/scripts/recap_runtime.py",
410
- "sha256": "9926173b1d689d605336a26575c3416ca4a4b363f3948b8daf9d6f952d1160a3",
411
- "bytes": 9309
545
+ "sha256": "0c5f4d2baa72b57c4f629c3f0426d4c814c53f1cb92bd963443216f7dfc7b7d0",
546
+ "bytes": 9557
547
+ },
548
+ {
549
+ "path": "skills/video-recap/scripts/recap_source.py",
550
+ "sha256": "401eb5b81b66bfe9081c082000ad40e65831261b49e6a9ed6137446a41d17673",
551
+ "bytes": 10645
412
552
  },
413
553
  {
414
554
  "path": "skills/video-recap/scripts/recap_stage_qc.py",
415
- "sha256": "5abd51015ee30b26bc9db8aee44a129a740c2846fd385c3ce9da048f69f89771",
416
- "bytes": 4959
555
+ "sha256": "f7f31e92aa234a7f837abf5c02ed2c4fb472053b1771b843f1b1d174e95e22f9",
556
+ "bytes": 5793
417
557
  },
418
558
  {
419
559
  "path": "skills/video-recap/scripts/recap_timeline.py",
420
- "sha256": "2d1757a363d6a30fe30275e7afd21d938cc9da3a3e3f3bf558eb4eea9156f402",
421
- "bytes": 27570
560
+ "sha256": "205f0c89969365daecd0d8183b1ebc83dbd85cd83550310c7a76b126f01654b8",
561
+ "bytes": 28631
562
+ },
563
+ {
564
+ "path": "skills/video-recap/scripts/resource_lock.py",
565
+ "sha256": "6ea34ef4a4befdf6749c99d7042e77d701d30833c5143585021ae0f92bb99942",
566
+ "bytes": 7163
422
567
  },
423
568
  {
424
569
  "path": "skills/video-script/SKILL.md",
425
- "sha256": "58d03a784e81589a4933f3c321bc783bf37bb914436881058774e54213f06675",
426
- "bytes": 13116
570
+ "sha256": "bec6a27c499bb342779c5e2115cf57440c4ebc454e18806a628396ac747ab253",
571
+ "bytes": 13634
427
572
  },
428
573
  {
429
574
  "path": "skills/video-script/references/creative-editing-playbook.md",
430
- "sha256": "dbf367620a250b542bfcb9faeba6fdc4d752f029ef46978cec1b0ae770ed912c",
431
- "bytes": 12407
575
+ "sha256": "c20ee6bd4f6923a1009b451408416e6db91f70a683f072ffd4e89b3fbb1fe436",
576
+ "bytes": 13959
432
577
  },
433
578
  {
434
- "path": "skills/video-script/references/research-guide.md",
435
- "sha256": "d239f4bc8680313184c91650cba0ee4fff2d454b91bf2edfdbeea02cd2adab48",
436
- "bytes": 3243
579
+ "path": "skills/video-script/references/promotional-copy.md",
580
+ "sha256": "08f653dac1a0cd9cadb963a3c03e388cb657b953e5254536efc415cac53a2b4a",
581
+ "bytes": 5170
437
582
  },
438
583
  {
439
- "path": "skills/video-script/scripts/agent_brief.py",
440
- "sha256": "92ebe1b2b5976b82401a983e03c85b38463b35e84794e359589d9f5f42159907",
441
- "bytes": 26333
584
+ "path": "skills/video-script/references/research-guide.md",
585
+ "sha256": "8bae849ff5a9aa2faa0ed7bf62f7bbf70c458b10774306308cce7a8fdfc1ee63",
586
+ "bytes": 3189
442
587
  },
443
588
  {
444
589
  "path": "skills/video-script/scripts/agent_text.py",
445
590
  "sha256": "49880a67bde8ae872743b604435222e766db81147e9bd64f2435a510c4622341",
446
591
  "bytes": 11084
447
592
  },
448
- {
449
- "path": "skills/video-script/scripts/brief_context.py",
450
- "sha256": "8ffc33ab1bc34da1f9002c2ecf42771753e169413a7cfa9d70da8c5d181c51df",
451
- "bytes": 14169
452
- },
453
- {
454
- "path": "skills/video-script/scripts/brief_inputs.py",
455
- "sha256": "8eb025f7b48e23dc763a612b503bdba36b925015340b230be28065adb0b239ef",
456
- "bytes": 10045
457
- },
458
- {
459
- "path": "skills/video-script/scripts/brief_timeline.py",
460
- "sha256": "4c79202bcefb096c8dfaa6e79dbd968b1f4e0925e128231e4d25350c5d7a4bbf",
461
- "bytes": 13820
462
- },
463
593
  {
464
594
  "path": "skills/video-script/scripts/deslop_qc.py",
465
595
  "sha256": "72ae5740191740f44c1801d8e377a4df962d43e8e126c6e705cca05e06e5c5ce",
@@ -467,48 +597,43 @@
467
597
  },
468
598
  {
469
599
  "path": "skills/video-script/scripts/evidence_bundle.py",
470
- "sha256": "b65f71fbc9d327fa29566101f34f763ba7b7c8bea60ec0881cd9e9a658bffb7f",
471
- "bytes": 17303
600
+ "sha256": "c6357f68a142df77325b60cf0250101740de1bc9887d7199fca22b6723699ba8",
601
+ "bytes": 14769
472
602
  },
473
603
  {
474
604
  "path": "skills/video-script/scripts/lib.py",
475
- "sha256": "92fca08ac275861ff0cf3c30f80ff90c3178f4b263f351eb127cb121f75d960c",
476
- "bytes": 17293
477
- },
478
- {
479
- "path": "skills/video-script/scripts/narration.py",
480
- "sha256": "2a562a02de57fec1a772d411c2e30379e275972c0787e45d49cbed4cab69f49d",
481
- "bytes": 370
605
+ "sha256": "f53ef1ac0a1ce83d1f6c11b72674116b6d543b761de27fdf2c978bb4cb9057a8",
606
+ "bytes": 12853
482
607
  },
483
608
  {
484
609
  "path": "skills/video-script/scripts/narration_lint.py",
485
- "sha256": "11ed5f09c4baf42af678083fafd4836cb80c2022d8497a99ffe49168c3053810",
486
- "bytes": 27867
610
+ "sha256": "2df85ede64f78bdbcafc4887162c4d7f3327d106a2aeb62f5fde1149764944e3",
611
+ "bytes": 28869
487
612
  },
488
613
  {
489
614
  "path": "skills/video-script/scripts/review.py",
490
- "sha256": "73882f2181be51e944a095174832c5b6a910600f0db9d904f6520e4888955eb6",
491
- "bytes": 1087
615
+ "sha256": "50b65f01cd354cc8e9dcc08cd0c5c73d9b06630512b253f945b98dc4a73ed7ae",
616
+ "bytes": 1007
492
617
  },
493
618
  {
494
619
  "path": "skills/video-script/scripts/review_grounding.py",
495
- "sha256": "cda8e661ac8728d05b5dea4b661c4873c4e021aef70aac60914934ad044d5c33",
496
- "bytes": 9873
620
+ "sha256": "3d1b21ec6a64da90d1dd317d954bcb9a8a8cbc79243dd0a6c820679f3f6eccc5",
621
+ "bytes": 9245
497
622
  },
498
623
  {
499
624
  "path": "skills/video-script/scripts/review_response.py",
500
- "sha256": "6060ad5010500a6bf963ffe4609d55896ded0437d32fd9cce65f792e4daf58c5",
501
- "bytes": 32846
625
+ "sha256": "825332ce92b00eac46676d774562cefcbbbf5031db5ebcae48ec8ab523a30857",
626
+ "bytes": 31624
502
627
  },
503
628
  {
504
629
  "path": "skills/video-script/scripts/review_runner.py",
505
- "sha256": "a41ff732ff3047c9d5a1f0118cc1a67e1c5ff3dbb5b5320b4c015c8a91029278",
506
- "bytes": 7372
630
+ "sha256": "02fb26fd14fe6a35b9024bb040464d27345e6905c9a54c67b3ee00fd7a984c51",
631
+ "bytes": 6869
507
632
  },
508
633
  {
509
634
  "path": "skills/video-script/scripts/speech_ownership.py",
510
- "sha256": "0f474ec2e2730e31f6f1a52ad4ff2f1f3961a0b585de8e589b61328550e59835",
511
- "bytes": 5008
635
+ "sha256": "3816fdf7e2817c7ddc958025337c387e02bee571c3bbc1e72187ccd7c0c90e51",
636
+ "bytes": 5009
512
637
  },
513
638
  {
514
639
  "path": "skills/video-script/scripts/timeline_fusion.py",
@@ -517,18 +642,18 @@
517
642
  },
518
643
  {
519
644
  "path": "skills/video-script/scripts/validate.py",
520
- "sha256": "91ef0764d9992822d2b84ba95fa1089022aa55d670d8e8a27b0e1966217d6a79",
521
- "bytes": 6193
645
+ "sha256": "ee8ba36179192af23f499663697d4d25c6f6edf0d9faf68c3ecebac9920d0885",
646
+ "bytes": 6682
522
647
  },
523
648
  {
524
649
  "path": "skills/video-understanding/SKILL.md",
525
- "sha256": "86c395f032d934f66dba719c0cc8d908fa47c98fff23b0c1b94438dbd47af7bf",
526
- "bytes": 3852
650
+ "sha256": "3cd5bc643ea2f427c96e3c37d9cf3ea67606f653f07ba64c3a1f57c186bfbec9",
651
+ "bytes": 4128
527
652
  },
528
653
  {
529
654
  "path": "skills/video-understanding/references/data-schema.md",
530
- "sha256": "d9f2a1a6f8a1e1c033b635af450cf3337b2f6767389737a67a26c462cd14e699",
531
- "bytes": 11586
655
+ "sha256": "479a5475e4bb964243d9c60273f21a1e1ab781fa6a51967e005296b75835fc89",
656
+ "bytes": 6925
532
657
  },
533
658
  {
534
659
  "path": "skills/video-understanding/references/prompt-templates.md",
@@ -537,13 +662,8 @@
537
662
  },
538
663
  {
539
664
  "path": "skills/video-understanding/references/research-guide.md",
540
- "sha256": "adb44c43a19310ebe1a735832c4d66a816dcda35e98efb478c482f695ab2d9a2",
541
- "bytes": 2833
542
- },
543
- {
544
- "path": "skills/video-understanding/scripts/agent_brief.py",
545
- "sha256": "92ebe1b2b5976b82401a983e03c85b38463b35e84794e359589d9f5f42159907",
546
- "bytes": 26333
665
+ "sha256": "5d8a0830ee2092ea759a05ed842c63679fb205b653af79af8a99f1234e406b13",
666
+ "bytes": 2880
547
667
  },
548
668
  {
549
669
  "path": "skills/video-understanding/scripts/agent_text.py",
@@ -552,33 +672,48 @@
552
672
  },
553
673
  {
554
674
  "path": "skills/video-understanding/scripts/asr.py",
555
- "sha256": "155c6e543a2c9a40af58bf31e1b48792f2c3f2fc55b882bd643f77150dea1b11",
556
- "bytes": 10458
675
+ "sha256": "c75749ee562ae1bfc3cba9dbad3067c55e8ba591346df848bf313b1e07eac9b7",
676
+ "bytes": 11124
677
+ },
678
+ {
679
+ "path": "skills/video-understanding/scripts/asr_timing_evidence.py",
680
+ "sha256": "f2787d1465ae0ac5020c213b44847d078cba431582d481b133c61795defdae1e",
681
+ "bytes": 10508
557
682
  },
558
683
  {
559
684
  "path": "skills/video-understanding/scripts/brief.py",
560
- "sha256": "2a562a02de57fec1a772d411c2e30379e275972c0787e45d49cbed4cab69f49d",
561
- "bytes": 370
685
+ "sha256": "15c070ebcdf4d2a2010c586243c35af951136ac068ec41af7ae2be8f29652a12",
686
+ "bytes": 250
687
+ },
688
+ {
689
+ "path": "skills/video-understanding/scripts/briefing/__init__.py",
690
+ "sha256": "795f69ec8ba7f2f3026bb53f92e5bf6b9039956016a9433947307d1fa3b4af1d",
691
+ "bytes": 101
562
692
  },
563
693
  {
564
- "path": "skills/video-understanding/scripts/brief_context.py",
565
- "sha256": "8ffc33ab1bc34da1f9002c2ecf42771753e169413a7cfa9d70da8c5d181c51df",
566
- "bytes": 14169
694
+ "path": "skills/video-understanding/scripts/briefing/builder.py",
695
+ "sha256": "15bc4c392a0bbaea56b451afe2dd7af2667e4f42a65fc64927ec25906d836b3b",
696
+ "bytes": 27097
567
697
  },
568
698
  {
569
- "path": "skills/video-understanding/scripts/brief_inputs.py",
570
- "sha256": "8eb025f7b48e23dc763a612b503bdba36b925015340b230be28065adb0b239ef",
571
- "bytes": 10045
699
+ "path": "skills/video-understanding/scripts/briefing/context.py",
700
+ "sha256": "977a7c906f7bbaed4cc50ab077b7728d29af99faf532fb741aa1de6d9a39517d",
701
+ "bytes": 11882
572
702
  },
573
703
  {
574
- "path": "skills/video-understanding/scripts/brief_timeline.py",
575
- "sha256": "4c79202bcefb096c8dfaa6e79dbd968b1f4e0925e128231e4d25350c5d7a4bbf",
576
- "bytes": 13820
704
+ "path": "skills/video-understanding/scripts/briefing/inputs.py",
705
+ "sha256": "3f7cff1180414f3aabe7f9a9f2577a3fec7cc71b3aed32f2c1e74c8789f5ea42",
706
+ "bytes": 9375
707
+ },
708
+ {
709
+ "path": "skills/video-understanding/scripts/briefing/timeline.py",
710
+ "sha256": "f8f7d82398114644a8f6b0627c6db7622ac3c9c8249444c8ffb32a4849c2a99c",
711
+ "bytes": 13737
577
712
  },
578
713
  {
579
714
  "path": "skills/video-understanding/scripts/consolidate.py",
580
- "sha256": "79afa9d631f72cd9fd7f5efb49449edf8f5e7a72d7c962ea78ba79276a84fbb0",
581
- "bytes": 24951
715
+ "sha256": "e748c207c19076c3e514a8e009f669a9174d9da1695b4c24b81ad826278c6eb1",
716
+ "bytes": 23213
582
717
  },
583
718
  {
584
719
  "path": "skills/video-understanding/scripts/deslop_qc.py",
@@ -587,8 +722,8 @@
587
722
  },
588
723
  {
589
724
  "path": "skills/video-understanding/scripts/detect.py",
590
- "sha256": "bf639b522c7f01d42430576bbfff44e145f45b2c05f1c61b8124fda6cf564123",
591
- "bytes": 21996
725
+ "sha256": "60dd6217e2822459345392b489a79d91a33949eb2396cbaea5f7c9e49c8b474f",
726
+ "bytes": 21490
592
727
  },
593
728
  {
594
729
  "path": "skills/video-understanding/scripts/extract.py",
@@ -597,23 +732,23 @@
597
732
  },
598
733
  {
599
734
  "path": "skills/video-understanding/scripts/lib.py",
600
- "sha256": "7ad8dda638664f4b8a8a887ec639dbb57fb0937200050d21b29c221b152db421",
601
- "bytes": 25008
735
+ "sha256": "8cbc1b9800683371fe569a3e967c623f74a4b39f292dd7737354c4892e7effd4",
736
+ "bytes": 22160
602
737
  },
603
738
  {
604
739
  "path": "skills/video-understanding/scripts/narration_lint.py",
605
- "sha256": "11ed5f09c4baf42af678083fafd4836cb80c2022d8497a99ffe49168c3053810",
606
- "bytes": 27867
740
+ "sha256": "2df85ede64f78bdbcafc4887162c4d7f3327d106a2aeb62f5fde1149764944e3",
741
+ "bytes": 28869
607
742
  },
608
743
  {
609
744
  "path": "skills/video-understanding/scripts/speech_ownership.py",
610
- "sha256": "0f474ec2e2730e31f6f1a52ad4ff2f1f3961a0b585de8e589b61328550e59835",
611
- "bytes": 5008
745
+ "sha256": "3816fdf7e2817c7ddc958025337c387e02bee571c3bbc1e72187ccd7c0c90e51",
746
+ "bytes": 5009
612
747
  },
613
748
  {
614
749
  "path": "skills/video-understanding/scripts/storyboard.py",
615
- "sha256": "5e2f2ca56d0e1c99174ae857f271a57980cead6d4c260688c20dfbffe2e157f1",
616
- "bytes": 21080
750
+ "sha256": "632c9f75d49034ae3c75e86dc0db0ab7007ee0a9af1188f2cf8cea59c74939f5",
751
+ "bytes": 18908
617
752
  },
618
753
  {
619
754
  "path": "skills/video-understanding/scripts/timeline_fusion.py",
@@ -627,48 +762,68 @@
627
762
  },
628
763
  {
629
764
  "path": "skills/video-understanding/scripts/understanding_brief.py",
630
- "sha256": "c95fe9cdf60a9b6647a1b769eb955f440c3fdeef3cd425ea4fcef546c1a895e2",
631
- "bytes": 8286
765
+ "sha256": "73ee674ebfed90bb5dff42786aa57d6993d8a8a29851d424ba6c219c5f677193",
766
+ "bytes": 7554
632
767
  },
633
768
  {
634
769
  "path": "skills/video-understanding/scripts/understanding_cache.py",
635
- "sha256": "02e06fd7adaf4bf88860aa77162af62ec454ab3cb5ccf4549c6d12a27e2d0b9d",
636
- "bytes": 11339
770
+ "sha256": "ebd1c7a66838b673eb9fddcfb9f63a18925dfdc02697dc55bdf5d0692795e83c",
771
+ "bytes": 12322
637
772
  },
638
773
  {
639
774
  "path": "skills/video-understanding/scripts/understanding_runner.py",
640
- "sha256": "1feea70d1a866591a3d43bbb73fc9f0cbc59bb552a703621b17249ead84b3865",
641
- "bytes": 14404
775
+ "sha256": "8d13ba78d93ce7f22803a0ff02ddd535d777413a8279cd5b754329d477ec03ce",
776
+ "bytes": 15080
642
777
  },
643
778
  {
644
779
  "path": "skills/video-understanding/scripts/understanding_storyboard.py",
645
- "sha256": "da8dbe988303756758a09c78afa4d8e7c36ea574dde6c0093f8db1bd2bdb793c",
646
- "bytes": 6929
780
+ "sha256": "9ab94c02141a8d1fc9f9cb2db5f0d16b08d2ead1d1202fcd2c20e2feab26271e",
781
+ "bytes": 6940
647
782
  },
648
783
  {
649
784
  "path": "skills/video-understanding/scripts/vlm.py",
650
- "sha256": "a39fd3bf5cfad4bb9c18a68d5f55cd1ffea37e2a3ad8065937722f3f597f1787",
651
- "bytes": 30137
785
+ "sha256": "e5345bd144d4e56b6af320b562fe22c73fca894bd248624845576c656e70ebab",
786
+ "bytes": 28797
652
787
  },
653
788
  {
654
789
  "path": "skills/video-voiceover/SKILL.md",
655
- "sha256": "e726cda155ae10def4c8da6a2970a1bc6a16d7ad32f5158a739b2f0d5a665dc4",
656
- "bytes": 4510
790
+ "sha256": "c7a716b0ef9bcb30f5411cb3eb07ea8c4d79174f47a94a8b2aab2cb69fde4566",
791
+ "bytes": 5941
792
+ },
793
+ {
794
+ "path": "skills/video-voiceover/references/index-tts.md",
795
+ "sha256": "89607ca70af6ad92ac3f4155d34dbf6344c8f4bcc82a0b24c99f819b43f20aaf",
796
+ "bytes": 1603
797
+ },
798
+ {
799
+ "path": "skills/video-voiceover/scripts/approved_text_policy.py",
800
+ "sha256": "8ac33e2fbf37813b30edf1d35936c46a9030e7edc3783372d85203c304ed0f08",
801
+ "bytes": 4329
657
802
  },
658
803
  {
659
804
  "path": "skills/video-voiceover/scripts/dub.py",
660
- "sha256": "5a00c7ebcf57497c4d74c0cbf0cbdc2c9c882521037a4a4d128ef340faa92e10",
661
- "bytes": 28221
805
+ "sha256": "51ca829a694eea54417e4ee84b0b60772d250c7aee5c8ebe5358156722bb5ae0",
806
+ "bytes": 28343
662
807
  },
663
808
  {
664
- "path": "skills/video-voiceover/scripts/fish_audio.py",
809
+ "path": "skills/video-voiceover/scripts/lib.py",
810
+ "sha256": "24fec28435d5b6c838683749c68930e1d1888600c0a713876b71a4268d9396d4",
811
+ "bytes": 15754
812
+ },
813
+ {
814
+ "path": "skills/video-voiceover/scripts/providers/__init__.py",
815
+ "sha256": "b9d1d3cd6607c706884ad435c2c40d6890f07daae7dcb22806eea01ec9041901",
816
+ "bytes": 85
817
+ },
818
+ {
819
+ "path": "skills/video-voiceover/scripts/providers/fish_audio.py",
665
820
  "sha256": "1a48175331d295a0a5f1b4fcdcefaf5df464b3ac7f68c7c7fb77f577120072bb",
666
821
  "bytes": 3102
667
822
  },
668
823
  {
669
- "path": "skills/video-voiceover/scripts/lib.py",
670
- "sha256": "3ee613e921e3f09c3d1401e81159bd2dabd7bf20923a715bce7a62dcd410ac63",
671
- "bytes": 17302
824
+ "path": "skills/video-voiceover/scripts/providers/index_tts.py",
825
+ "sha256": "356af19c59908a3cc553b6d9507bc13c33b520dc453abe475e8140cbcc4f2911",
826
+ "bytes": 7490
672
827
  },
673
828
  {
674
829
  "path": "skills/video-voiceover/scripts/tts_audio.py",
@@ -677,8 +832,8 @@
677
832
  },
678
833
  {
679
834
  "path": "skills/video-voiceover/scripts/voiceover.py",
680
- "sha256": "d9bb5a29a7ded64c25d92737a3b91bcaab709d4a7c0e19dd57ece9e8ac7e161f",
681
- "bytes": 28877
835
+ "sha256": "2ae0847403bd0d2092e91d2b28aaa001f31af789d797d5fbb66505df414bd4f3",
836
+ "bytes": 32915
682
837
  }
683
838
  ]
684
839
  }