@oh-story/dsh 0.1.7 → 0.1.9

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 (272) hide show
  1. package/README.md +30 -15
  2. package/lib/client.js +93 -16
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/manifest.json +165 -69
  5. package/lib/drama/skills/short-drama/SKILL.md +5 -1
  6. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +126 -9
  7. package/lib/drama/skills/short-drama/scripts/project_tool.py +11 -0
  8. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +18 -0
  9. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +10 -1
  10. package/lib/drama/skills/short-drama-edit/SKILL.md +148 -0
  11. package/lib/drama/skills/short-drama-edit/agents/openai.yaml +4 -0
  12. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +60 -0
  13. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +15 -0
  14. package/lib/drama/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  15. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  16. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  17. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  18. package/lib/drama/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  19. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  20. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  21. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  22. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +81 -0
  23. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +58 -0
  24. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +96 -0
  25. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +113 -0
  26. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +55 -0
  27. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1041 -0
  28. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +456 -0
  29. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +5 -0
  30. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +3 -0
  31. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +2 -2
  32. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +4 -1
  33. package/lib/drama/skills/short-drama-produce/SKILL.md +24 -3
  34. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +28 -0
  35. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +24 -5
  36. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +7 -0
  37. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +18 -1
  38. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +181 -2
  39. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +57 -2
  40. package/lib/drama/skills/short-drama-review/SKILL.md +3 -0
  41. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +20 -0
  42. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +36 -0
  43. package/lib/drama/skills/short-drama-storyboard/SKILL.md +7 -0
  44. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +4 -0
  45. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +39 -0
  46. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -0
  47. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +7 -1
  48. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +101 -6
  49. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +7 -1
  50. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +35 -0
  51. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +3 -1
  52. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +13 -3
  53. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +35 -4
  54. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +1 -1
  55. package/lib/drama/skills/short-drama-write/SKILL.md +13 -2
  56. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +6 -0
  57. package/lib/drama/skills/short-drama-write/references/stage-contract.md +1 -0
  58. package/lib/index.js +4 -2
  59. package/lib/index.js.map +2 -2
  60. package/lib/novel-to-game/VERSION +1 -1
  61. package/lib/novel-to-game/manifest.json +28 -28
  62. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +6 -27
  63. package/lib/novel-to-game/skills/game-build/SKILL.md +12 -29
  64. package/lib/novel-to-game/skills/game-concept/SKILL.md +10 -26
  65. package/lib/novel-to-game/skills/game-qa/SKILL.md +5 -15
  66. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
  67. package/lib/novel-to-game/skills/game-world-design/SKILL.md +19 -28
  68. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +1 -2
  69. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +6 -9
  70. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -11
  71. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -4
  72. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +1 -3
  73. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +3 -5
  74. package/lib/oh-story/manifest.json +292 -172
  75. package/lib/oh-story/roles/character-designer.md +1 -1
  76. package/lib/oh-story/roles/narrative-writer.md +56 -242
  77. package/lib/oh-story/roles/story-architect.md +1 -1
  78. package/lib/oh-story/skills/story/SKILL.md +1 -1
  79. package/lib/oh-story/skills/story/VERSION +1 -1
  80. package/lib/oh-story/skills/story/references/author-memory.md +10 -8
  81. package/lib/oh-story/skills/story-deslop/SKILL.md +20 -182
  82. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +19 -47
  83. package/lib/oh-story/skills/story-deslop/references/author-memory.md +10 -8
  84. package/lib/oh-story/skills/story-deslop/references/banned-words.md +3 -1
  85. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +154 -0
  86. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +27 -0
  87. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +6 -1
  88. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +39 -20
  89. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +10 -5
  90. package/lib/oh-story/skills/story-deslop/scripts/style-whitelist.js +39 -0
  91. package/lib/oh-story/skills/story-import/SKILL.md +2 -2
  92. package/lib/oh-story/skills/story-import/references/format-and-structure.md +2 -2
  93. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +31 -0
  94. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +2 -29
  95. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +176 -12
  96. package/lib/oh-story/skills/story-long-analyze/SKILL.md +1 -1
  97. package/lib/oh-story/skills/story-long-write/SKILL.md +20 -193
  98. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +19 -47
  99. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +62 -7
  100. package/lib/oh-story/skills/story-long-write/references/author-memory.md +10 -8
  101. package/lib/oh-story/skills/story-long-write/references/banned-words.md +3 -1
  102. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +20 -0
  103. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +6 -4
  104. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +2 -2
  105. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -0
  106. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +2 -0
  107. package/lib/oh-story/skills/story-long-write/references/project-files.md +108 -0
  108. package/lib/oh-story/skills/story-long-write/references/reference-index.md +87 -0
  109. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -1
  110. package/lib/oh-story/skills/story-long-write/references/style-craft.md +9 -29
  111. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  112. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +27 -0
  113. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +31 -0
  114. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -29
  115. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +51 -52
  116. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +8 -7
  117. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +36 -15
  118. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +22 -0
  119. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +69 -2
  120. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +410 -0
  121. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +6 -1
  122. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +39 -20
  123. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +176 -12
  124. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +90 -23
  125. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +10 -5
  126. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +283 -0
  127. package/lib/oh-story/skills/story-long-write/scripts/style-whitelist.js +39 -0
  128. package/lib/oh-story/skills/story-review/SKILL.md +13 -3
  129. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +19 -47
  130. package/lib/oh-story/skills/story-review/references/author-memory.md +10 -8
  131. package/lib/oh-story/skills/story-review/references/banned-words.md +3 -1
  132. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +6 -4
  133. package/lib/oh-story/skills/story-review/references/review-quality.md +2 -2
  134. package/lib/oh-story/skills/story-review/references/style-resolution.md +27 -0
  135. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +31 -0
  136. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -29
  137. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +6 -1
  138. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +39 -20
  139. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +10 -5
  140. package/lib/oh-story/skills/story-review/scripts/style-whitelist.js +39 -0
  141. package/lib/oh-story/skills/story-setup/SKILL.md +17 -10
  142. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +19 -47
  143. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +3 -1
  144. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +154 -0
  145. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +6 -4
  146. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +2 -2
  147. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +1 -1
  148. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -1
  149. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  150. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +27 -0
  151. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +69 -2
  152. package/lib/oh-story/skills/story-setup/references/diagnostics.md +38 -0
  153. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +1 -1
  154. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +2 -2
  155. package/lib/oh-story/skills/story-short-write/SKILL.md +18 -186
  156. package/lib/oh-story/skills/story-short-write/references/author-memory.md +10 -8
  157. package/lib/oh-story/skills/story-short-write/references/banned-words.md +3 -1
  158. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +60 -0
  159. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +6 -4
  160. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +2 -2
  161. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +1 -1
  162. 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
  163. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +3 -3
  164. 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
  165. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +5 -5
  166. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +4 -4
  167. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +5 -5
  168. 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
  169. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +1 -1
  170. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +1 -1
  171. package/lib/oh-story/skills/story-short-write/references/reference-index.md +53 -0
  172. package/lib/oh-story/skills/story-short-write/references/short-craft.md +12 -14
  173. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +10 -10
  174. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -1
  175. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -2
  176. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +27 -0
  177. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +77 -0
  178. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +5 -5
  179. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +6 -1
  180. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +39 -20
  181. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +34 -5
  182. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +90 -23
  183. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +10 -5
  184. package/lib/oh-story/skills/story-short-write/scripts/style-whitelist.js +39 -0
  185. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  186. package/lib/types/client/index.d.ts.map +1 -1
  187. package/lib/types/client/production-prompts.d.ts.map +1 -1
  188. package/lib/types/client/production-runtime.d.ts +17 -0
  189. package/lib/types/client/production-runtime.d.ts.map +1 -1
  190. package/lib/types/skill-provider.d.ts.map +1 -1
  191. package/lib/video-recap/CHANGELOG.md +31 -1
  192. package/lib/video-recap/manifest.json +162 -162
  193. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +4 -9
  194. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +47 -60
  195. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +77 -115
  196. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +41 -40
  197. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +22 -32
  198. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +102 -192
  199. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +14 -35
  200. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +14 -12
  201. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +8 -9
  202. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +3 -14
  203. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +23 -12
  204. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +1 -4
  205. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +24 -25
  206. package/lib/video-recap/skills/video-assemble/scripts/lib.py +31 -85
  207. package/lib/video-recap/skills/video-assemble/scripts/media.py +100 -144
  208. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +101 -195
  209. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +10 -21
  210. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +90 -169
  211. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +69 -122
  212. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +10 -17
  213. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +33 -48
  214. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +14 -20
  215. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +135 -213
  216. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +49 -57
  217. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +38 -74
  218. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +46 -95
  219. package/lib/video-recap/skills/video-cut/scripts/lib.py +23 -25
  220. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +70 -173
  221. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +28 -53
  222. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +162 -322
  223. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +6 -7
  224. package/lib/video-recap/skills/video-recap/scripts/doctor.py +104 -124
  225. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +255 -412
  226. package/lib/video-recap/skills/video-recap/scripts/lib.py +30 -52
  227. package/lib/video-recap/skills/video-recap/scripts/materials.py +97 -120
  228. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +7 -12
  229. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +46 -97
  230. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +18 -36
  231. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +29 -47
  232. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +43 -76
  233. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +2 -1
  234. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +2 -1
  235. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +2 -2
  236. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +129 -145
  237. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +27 -20
  238. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +20 -31
  239. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +31 -106
  240. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +43 -113
  241. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +196 -377
  242. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +1 -1
  243. package/lib/video-recap/skills/video-script/scripts/agent_text.py +63 -172
  244. package/lib/video-recap/skills/video-script/scripts/brief_context.py +80 -135
  245. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +125 -167
  246. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +93 -208
  247. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +20 -46
  248. package/lib/video-recap/skills/video-script/scripts/lib.py +30 -26
  249. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +145 -140
  250. package/lib/video-recap/skills/video-script/scripts/review_response.py +12 -42
  251. package/lib/video-recap/skills/video-script/scripts/review_runner.py +0 -6
  252. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +39 -100
  253. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +33 -124
  254. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +1 -1
  255. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +63 -172
  256. package/lib/video-recap/skills/video-understanding/scripts/asr.py +1 -2
  257. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +80 -135
  258. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +125 -167
  259. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +93 -208
  260. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +1 -1
  261. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +20 -46
  262. package/lib/video-recap/skills/video-understanding/scripts/lib.py +31 -26
  263. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +145 -140
  264. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +39 -100
  265. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +33 -124
  266. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +1 -4
  267. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +7 -13
  268. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +12 -30
  269. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +98 -131
  270. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +17 -28
  271. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +151 -240
  272. package/package.json +41 -41
@@ -2,11 +2,11 @@
2
2
  "schemaVersion": 2,
3
3
  "upstream": {
4
4
  "repository": "git@github.com:zenstory-ai/oh-story-claudecode.git",
5
- "commit": "5de060f9a47e7c4781c81edb320436b772e2955e",
6
- "releaseVersion": "0.7.9",
7
- "agentsVersion": 29
5
+ "commit": "abe96630d115afbd528f2329e2d8d604d5d5673c",
6
+ "releaseVersion": "0.7.10",
7
+ "agentsVersion": 30
8
8
  },
9
- "generatedAt": "2026-09-02T02:39:34.565Z",
9
+ "generatedAt": "2026-09-10T13:26:12.998Z",
10
10
  "skills": [
11
11
  "browser-cdp",
12
12
  "story",
@@ -44,8 +44,8 @@
44
44
  },
45
45
  {
46
46
  "path": "roles/character-designer.md",
47
- "sha256": "d223ed1a0038dfb4295cdbfe6763bb4223c720ab8fc16a9b9888f5116f229bd1",
48
- "bytes": 9347
47
+ "sha256": "b287c18b0b3299d67f1570598cc6f5e69138fd92f9b75841fc1268a720ae9bee",
48
+ "bytes": 9343
49
49
  },
50
50
  {
51
51
  "path": "roles/consistency-checker.md",
@@ -54,13 +54,13 @@
54
54
  },
55
55
  {
56
56
  "path": "roles/narrative-writer.md",
57
- "sha256": "0027d342b4771d269459299d2ac520953e87f084119718d5ea1044d8f9820187",
58
- "bytes": 32208
57
+ "sha256": "8d7ba053dd51c6cf82bd83b1c1c8ffebd29816f4d099fab70aff9ca285593197",
58
+ "bytes": 15819
59
59
  },
60
60
  {
61
61
  "path": "roles/story-architect.md",
62
- "sha256": "b3599a5963abef5c94c227df0aa278062c4132f5e9dc54705c46ef1046b84713",
63
- "bytes": 12139
62
+ "sha256": "7f5cf91ae7dbe5d227133d0400c9710c52453844bf0cd01e31a80ad2c4ebfdd8",
63
+ "bytes": 12135
64
64
  },
65
65
  {
66
66
  "path": "roles/story-explorer.md",
@@ -89,23 +89,33 @@
89
89
  },
90
90
  {
91
91
  "path": "skills/story-deslop/SKILL.md",
92
- "sha256": "97abadf6ea64190b6c1afe8a19b40ad37370e09e614f2210322220bf6398f5e0",
93
- "bytes": 30428
92
+ "sha256": "f6d8519683c50035e41ae8cf6436910b75a9c02ec07c37efd68260bd00972632",
93
+ "bytes": 21813
94
94
  },
95
95
  {
96
96
  "path": "skills/story-deslop/references/anti-ai-writing.md",
97
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
98
- "bytes": 37029
97
+ "sha256": "d3f6eb36db0e2416a195b92d684ce39ae0ac254906ea4e2cd2a1adb9b6bc4b93",
98
+ "bytes": 37154
99
99
  },
100
100
  {
101
101
  "path": "skills/story-deslop/references/author-memory.md",
102
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
103
- "bytes": 9942
102
+ "sha256": "15a05bc83bfcc82d7aaa66f95e622b41c550db39c388d882d835e7f6a29fdf69",
103
+ "bytes": 10611
104
104
  },
105
105
  {
106
106
  "path": "skills/story-deslop/references/banned-words.md",
107
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
108
- "bytes": 10337
107
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
108
+ "bytes": 10447
109
+ },
110
+ {
111
+ "path": "skills/story-deslop/references/deslop-gates.md",
112
+ "sha256": "6bfcb498187c8498667450900069e3d1ff7d1ea3e03a47982492473449363cc7",
113
+ "bytes": 12105
114
+ },
115
+ {
116
+ "path": "skills/story-deslop/references/style-resolution.md",
117
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
118
+ "bytes": 4017
109
119
  },
110
120
  {
111
121
  "path": "skills/story-deslop/scripts/author_memory_commit.py",
@@ -114,23 +124,28 @@
114
124
  },
115
125
  {
116
126
  "path": "skills/story-deslop/scripts/check-ai-patterns.js",
117
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
118
- "bytes": 67088
127
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
128
+ "bytes": 67463
119
129
  },
120
130
  {
121
131
  "path": "skills/story-deslop/scripts/check-degeneration.js",
122
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
123
- "bytes": 14387
132
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
133
+ "bytes": 15104
124
134
  },
125
135
  {
126
136
  "path": "skills/story-deslop/scripts/normalize-punctuation.js",
127
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
128
- "bytes": 13083
137
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
138
+ "bytes": 13480
139
+ },
140
+ {
141
+ "path": "skills/story-deslop/scripts/style-whitelist.js",
142
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
143
+ "bytes": 1168
129
144
  },
130
145
  {
131
146
  "path": "skills/story-import/SKILL.md",
132
- "sha256": "a0267be37ed7e35261720fa35310155633708d0bb7caaf19a2abd21b18e6a882",
133
- "bytes": 42702
147
+ "sha256": "2da7bbf6109e9771d454cd51465096eae894d2caacdfa5ff64a2498410929058",
148
+ "bytes": 42722
134
149
  },
135
150
  {
136
151
  "path": "skills/story-import/references/character-state-reverse.md",
@@ -139,8 +154,8 @@
139
154
  },
140
155
  {
141
156
  "path": "skills/story-import/references/format-and-structure.md",
142
- "sha256": "1c5e69b60e87fe07a8425cae8bbdf51f2f47b35d51241397f279d000715066a5",
143
- "bytes": 10538
157
+ "sha256": "4e72e10123fc875f0b392bbb2a3addb1c006ea5c4e4256796deafd287623452e",
158
+ "bytes": 10599
144
159
  },
145
160
  {
146
161
  "path": "skills/story-import/references/length-routing.md",
@@ -162,15 +177,20 @@
162
177
  "sha256": "668a76b8fad6e2efbed81d9b940eaca964687dc086fc6f922e78989a24a5f1ce",
163
178
  "bytes": 7702
164
179
  },
180
+ {
181
+ "path": "skills/story-import/references/tracking-initialization.md",
182
+ "sha256": "e8e13495b054ebc8b5a70b58a32871aa8bf6b9ff64cee45a228ae7af6837fb5c",
183
+ "bytes": 1137
184
+ },
165
185
  {
166
186
  "path": "skills/story-import/references/tracking-transaction.md",
167
- "sha256": "c1b166f047c5269b9fdac2eb85494efdce51b9b1a3596874ea1c1090ba828b13",
168
- "bytes": 13253
187
+ "sha256": "3452e4ebe8bf6fdfd8f93f5700a6c647ab0ce32324609ec901d861541eba634c",
188
+ "bytes": 12389
169
189
  },
170
190
  {
171
191
  "path": "skills/story-import/scripts/check-outline-contract.js",
172
- "sha256": "00c47d32d3b5cf8ffd11934bd55c5f5623956427d94b9b546056b6071a55d0c2",
173
- "bytes": 9536
192
+ "sha256": "f2c5f833d95025d251776b6d8afa16a7d76e6e7f7d78c3c5d8838a34c4099de4",
193
+ "bytes": 17799
174
194
  },
175
195
  {
176
196
  "path": "skills/story-import/scripts/tracking_commit.py",
@@ -184,7 +204,7 @@
184
204
  },
185
205
  {
186
206
  "path": "skills/story-long-analyze/SKILL.md",
187
- "sha256": "d96df880231af80f6ce18163a2e5651bc4fc0e77e6c4774206492568b28e3a32",
207
+ "sha256": "d023b6d0c26d7076c29d3094413fa0c19617bcc110a6285a6a4de5da6dd13f23",
188
208
  "bytes": 30188
189
209
  },
190
210
  {
@@ -279,28 +299,33 @@
279
299
  },
280
300
  {
281
301
  "path": "skills/story-long-write/SKILL.md",
282
- "sha256": "93a4b9ce6f8f46c0d07c59eee825223fa13c0c58b27af4eba638958725bffc27",
283
- "bytes": 29595
302
+ "sha256": "365cf30e386e08d5802c3d02171b138a9853cf009da603f884870ea15c88c2c4",
303
+ "bytes": 14302
284
304
  },
285
305
  {
286
306
  "path": "skills/story-long-write/references/anti-ai-writing.md",
287
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
288
- "bytes": 37029
307
+ "sha256": "d3f6eb36db0e2416a195b92d684ce39ae0ac254906ea4e2cd2a1adb9b6bc4b93",
308
+ "bytes": 37154
289
309
  },
290
310
  {
291
311
  "path": "skills/story-long-write/references/artifact-protocols.md",
292
- "sha256": "4a87737d479574a6d7be84296a21d7dfa480dfbf4b42ca85c38fc2cd98366223",
293
- "bytes": 17597
312
+ "sha256": "4e5cec92ebce4ca293b8058a5634ce126ad32cc0a65f173336a3c3f2e81262fa",
313
+ "bytes": 24100
294
314
  },
295
315
  {
296
316
  "path": "skills/story-long-write/references/author-memory.md",
297
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
298
- "bytes": 9942
317
+ "sha256": "15a05bc83bfcc82d7aaa66f95e622b41c550db39c388d882d835e7f6a29fdf69",
318
+ "bytes": 10611
299
319
  },
300
320
  {
301
321
  "path": "skills/story-long-write/references/banned-words.md",
302
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
303
- "bytes": 10337
322
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
323
+ "bytes": 10447
324
+ },
325
+ {
326
+ "path": "skills/story-long-write/references/benchmark-recall.md",
327
+ "sha256": "6b034f593d253e99c8278adf8de8f9bb99bec2838b4075e8b497b8a7acf5f7b2",
328
+ "bytes": 5980
304
329
  },
305
330
  {
306
331
  "path": "skills/story-long-write/references/character-basics.md",
@@ -329,8 +354,8 @@
329
354
  },
330
355
  {
331
356
  "path": "skills/story-long-write/references/dialogue-mastery.md",
332
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
333
- "bytes": 11327
357
+ "sha256": "a81e029137e3a3bc5d12632ccad81345a947da8e8a8639664a1d867fda1f548d",
358
+ "bytes": 11495
334
359
  },
335
360
  {
336
361
  "path": "skills/story-long-write/references/emotional-arc-design.md",
@@ -524,13 +549,13 @@
524
549
  },
525
550
  {
526
551
  "path": "skills/story-long-write/references/long-chapter-quality.md",
527
- "sha256": "9a5e554c864c1a1e96ce90e287e2a86c774c73a46a124c7e850105d9f5c717bf",
528
- "bytes": 10002
552
+ "sha256": "2ea04c119e301b2f0a5bba3b3f546e73c2570f4b8a427e49d44e8d1e3ffcbbea",
553
+ "bytes": 10129
529
554
  },
530
555
  {
531
556
  "path": "skills/story-long-write/references/long-format.md",
532
- "sha256": "1d41dd2110452281280cb6d85008852b6e010ae8a858110715d784de3fa97d61",
533
- "bytes": 2841
557
+ "sha256": "9eccf21c91220804ccdd760fdad051fe8bd19ad13118ae46e9b44da29855c069",
558
+ "bytes": 2951
534
559
  },
535
560
  {
536
561
  "path": "skills/story-long-write/references/long-genre-catalog.md",
@@ -574,8 +599,8 @@
574
599
  },
575
600
  {
576
601
  "path": "skills/story-long-write/references/outline-structure-theory.md",
577
- "sha256": "529ca28bed2850b7f9ff5293d9bed5f253a7c1d0e5e9ebae5a1e9c1e707be0b4",
578
- "bytes": 22085
602
+ "sha256": "ec93a5f21db2d72e13d930146f384733c40270693038a70044bb0b0a2a1968d3",
603
+ "bytes": 22692
579
604
  },
580
605
  {
581
606
  "path": "skills/story-long-write/references/plot-core-methods.md",
@@ -597,11 +622,21 @@
597
622
  "sha256": "b32d8d16c9602620517eb34e9cd8ceed7f2007ab6516e43dfd6e772a9247488b",
598
623
  "bytes": 25544
599
624
  },
625
+ {
626
+ "path": "skills/story-long-write/references/project-files.md",
627
+ "sha256": "ec040bd8fcdb01e706b5ff4ecbe60a824272e6b9902df20d251ecaaa10ab811c",
628
+ "bytes": 10891
629
+ },
600
630
  {
601
631
  "path": "skills/story-long-write/references/reader-contract-and-progression.md",
602
632
  "sha256": "e5c66dad88095dfb25f67294d70a2a5a98b035f9fa87e83b9876676d97840fde",
603
633
  "bytes": 11144
604
634
  },
635
+ {
636
+ "path": "skills/story-long-write/references/reference-index.md",
637
+ "sha256": "24bddf0a89323734b2d7e0bd0e5c92d6a9142bbd64871a7f6d5a77f88af68948",
638
+ "bytes": 6169
639
+ },
605
640
  {
606
641
  "path": "skills/story-long-write/references/state-tracking.md",
607
642
  "sha256": "76c2261e4b9cd825916c3bdba75c07d9db9a7cddd6e67dd52f26f38a96ad289a",
@@ -609,33 +644,43 @@
609
644
  },
610
645
  {
611
646
  "path": "skills/story-long-write/references/style-combat-face.md",
612
- "sha256": "0c3065f3bca11c87daf7fa343e5d0e51981f3adf3a78672ffdaa65222e69bdd0",
613
- "bytes": 20057
647
+ "sha256": "d76e218cdae757ff2bc00643061129ed699d20bd27f4757b01bd0c557ddfa78b",
648
+ "bytes": 20072
614
649
  },
615
650
  {
616
651
  "path": "skills/story-long-write/references/style-craft.md",
617
- "sha256": "8be7fb2328e62d66094d97ee9cdf8ab659e9ba8d4acc7945b91bcb8a2a0a06da",
618
- "bytes": 13896
652
+ "sha256": "f9e9f9b055962f90c9fc23d1e03f1e624fd070a443fdfc51941363759eceab8b",
653
+ "bytes": 13392
619
654
  },
620
655
  {
621
656
  "path": "skills/story-long-write/references/style-genre-modules.md",
622
- "sha256": "b4cfe79dd3138bc29f84dfd8178b15476a70b14c5c4943bf8b8b7e393007eada",
623
- "bytes": 24739
657
+ "sha256": "6c6c0da902c82f867f2f6a03738764612363ede1ffef52591dbfba1d29554270",
658
+ "bytes": 24808
659
+ },
660
+ {
661
+ "path": "skills/story-long-write/references/style-resolution.md",
662
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
663
+ "bytes": 4017
664
+ },
665
+ {
666
+ "path": "skills/story-long-write/references/tracking-initialization.md",
667
+ "sha256": "e8e13495b054ebc8b5a70b58a32871aa8bf6b9ff64cee45a228ae7af6837fb5c",
668
+ "bytes": 1137
624
669
  },
625
670
  {
626
671
  "path": "skills/story-long-write/references/tracking-transaction.md",
627
- "sha256": "c1b166f047c5269b9fdac2eb85494efdce51b9b1a3596874ea1c1090ba828b13",
628
- "bytes": 13253
672
+ "sha256": "3452e4ebe8bf6fdfd8f93f5700a6c647ab0ce32324609ec901d861541eba634c",
673
+ "bytes": 12389
629
674
  },
630
675
  {
631
676
  "path": "skills/story-long-write/references/workflow-chapter.md",
632
- "sha256": "85b832ec018f3a18aa928bc9bdbad5046b6aafc462ea2a0b6fbf617428b61c5c",
633
- "bytes": 26858
677
+ "sha256": "8c4f40932ad91f1f8d08df105241a07c26e6584b646a1310ed2052fe3c490567",
678
+ "bytes": 28640
634
679
  },
635
680
  {
636
681
  "path": "skills/story-long-write/references/workflow-daily.md",
637
- "sha256": "c89d2978b1108e7439d9b588330a9cc857edafa78d1f33102cce11a4b79aff7d",
638
- "bytes": 25160
682
+ "sha256": "291d1f74b02ba36188913e5da65938f653c4bbd38650ad448771322d302c07d7",
683
+ "bytes": 26366
639
684
  },
640
685
  {
641
686
  "path": "skills/story-long-write/references/workflow-revision.md",
@@ -644,49 +689,69 @@
644
689
  },
645
690
  {
646
691
  "path": "skills/story-long-write/references/workflow-setup.md",
647
- "sha256": "f677e4961fc0d9e7627a8b67e574dcff407016de96bb2999b86c2b38df4e2d8f",
648
- "bytes": 30096
692
+ "sha256": "29b4c2a1cd68ef219dda0d9bbb31fc3b2762205e250b4d2b1da49d9441d59c4a",
693
+ "bytes": 36615
694
+ },
695
+ {
696
+ "path": "skills/story-long-write/references/writer-prompt-fallback.md",
697
+ "sha256": "09604eb314adc9bf6b7bfcdeb8d771a3e784fdf775827f67838919f0e1f6baf4",
698
+ "bytes": 3132
649
699
  },
650
700
  {
651
701
  "path": "skills/story-long-write/references/writing-craft.md",
652
- "sha256": "7543a65921b1b7190b40f6621ee067dcd28ff233093563621afb273ee78e315a",
653
- "bytes": 24966
702
+ "sha256": "37c542c95f7fa29e9a0087ed94b7ec1a84dfb53d0707520fb90967000bd70610",
703
+ "bytes": 32942
654
704
  },
655
705
  {
656
706
  "path": "skills/story-long-write/scripts/author_memory_commit.py",
657
707
  "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
658
708
  "bytes": 41806
659
709
  },
710
+ {
711
+ "path": "skills/story-long-write/scripts/build_writer_prompt.py",
712
+ "sha256": "d48175907be257e27bebe4432af7e8aae663c875f61a4d595921f9561296309b",
713
+ "bytes": 20235
714
+ },
660
715
  {
661
716
  "path": "skills/story-long-write/scripts/check-ai-patterns.js",
662
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
663
- "bytes": 67088
717
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
718
+ "bytes": 67463
664
719
  },
665
720
  {
666
721
  "path": "skills/story-long-write/scripts/check-degeneration.js",
667
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
668
- "bytes": 14387
722
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
723
+ "bytes": 15104
669
724
  },
670
725
  {
671
726
  "path": "skills/story-long-write/scripts/check-outline-contract.js",
672
- "sha256": "00c47d32d3b5cf8ffd11934bd55c5f5623956427d94b9b546056b6071a55d0c2",
673
- "bytes": 9536
727
+ "sha256": "f2c5f833d95025d251776b6d8afa16a7d76e6e7f7d78c3c5d8838a34c4099de4",
728
+ "bytes": 17799
674
729
  },
675
730
  {
676
731
  "path": "skills/story-long-write/scripts/check-outline-copy.js",
677
- "sha256": "574dd78da11f934837e2b56f658b6c598935e16dd7dec2830272d0134d1587d3",
678
- "bytes": 9845
732
+ "sha256": "e996f290139041480f18e6c81ade89709d8f71b63cc021c6b48cfdcf15578331",
733
+ "bytes": 12637
679
734
  },
680
735
  {
681
736
  "path": "skills/story-long-write/scripts/normalize-punctuation.js",
682
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
683
- "bytes": 13083
737
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
738
+ "bytes": 13480
739
+ },
740
+ {
741
+ "path": "skills/story-long-write/scripts/outline_view.py",
742
+ "sha256": "c6fd9769749bd199e9d5a230c352bb9959e2c15b93f7894697912ba1d6558ba6",
743
+ "bytes": 11727
684
744
  },
685
745
  {
686
746
  "path": "skills/story-long-write/scripts/storyctl.py",
687
747
  "sha256": "0fe250cbc02376b8216b52ba95310413b728dc4788691baba55e70dda9761f16",
688
748
  "bytes": 12666
689
749
  },
750
+ {
751
+ "path": "skills/story-long-write/scripts/style-whitelist.js",
752
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
753
+ "bytes": 1168
754
+ },
690
755
  {
691
756
  "path": "skills/story-long-write/scripts/tracking_commit.py",
692
757
  "sha256": "18f273c877a3a22c32614a86b7d7d1c4da99a3f67ee5a422e2cee8bef942e645",
@@ -699,23 +764,23 @@
699
764
  },
700
765
  {
701
766
  "path": "skills/story-review/SKILL.md",
702
- "sha256": "de5e5ecc1f06c78861449ab0f7bcad641ae7c49ce4bf14ee34e0fc6da29ea56b",
703
- "bytes": 39913
767
+ "sha256": "cd536e535441728491eebdbac5b7a80944c567974530f829326f021d59000552",
768
+ "bytes": 41029
704
769
  },
705
770
  {
706
771
  "path": "skills/story-review/references/anti-ai-writing.md",
707
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
708
- "bytes": 37029
772
+ "sha256": "d3f6eb36db0e2416a195b92d684ce39ae0ac254906ea4e2cd2a1adb9b6bc4b93",
773
+ "bytes": 37154
709
774
  },
710
775
  {
711
776
  "path": "skills/story-review/references/author-memory.md",
712
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
713
- "bytes": 9942
777
+ "sha256": "15a05bc83bfcc82d7aaa66f95e622b41c550db39c388d882d835e7f6a29fdf69",
778
+ "bytes": 10611
714
779
  },
715
780
  {
716
781
  "path": "skills/story-review/references/banned-words.md",
717
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
718
- "bytes": 10337
782
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
783
+ "bytes": 10447
719
784
  },
720
785
  {
721
786
  "path": "skills/story-review/references/character-relations.md",
@@ -724,8 +789,8 @@
724
789
  },
725
790
  {
726
791
  "path": "skills/story-review/references/dialogue-mastery.md",
727
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
728
- "bytes": 11327
792
+ "sha256": "a81e029137e3a3bc5d12632ccad81345a947da8e8a8639664a1d867fda1f548d",
793
+ "bytes": 11495
729
794
  },
730
795
  {
731
796
  "path": "skills/story-review/references/plot-core-methods.md",
@@ -739,8 +804,8 @@
739
804
  },
740
805
  {
741
806
  "path": "skills/story-review/references/review-quality.md",
742
- "sha256": "b8c4b0ae2056bb8b3cdf09b8f896974c2071080861f790c57adb1c8bb19072a6",
743
- "bytes": 13991
807
+ "sha256": "7e3ca2c80f8a0c5d65026925cbec8f652202f9ada7d19595517947e28288f127",
808
+ "bytes": 14118
744
809
  },
745
810
  {
746
811
  "path": "skills/story-review/references/rubrics/fanqie.md",
@@ -757,10 +822,20 @@
757
822
  "sha256": "39b321a67146e5a39953af174712e5d6ba78440c9acf5f8caecfd9b557ff7d44",
758
823
  "bytes": 1165
759
824
  },
825
+ {
826
+ "path": "skills/story-review/references/style-resolution.md",
827
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
828
+ "bytes": 4017
829
+ },
830
+ {
831
+ "path": "skills/story-review/references/tracking-initialization.md",
832
+ "sha256": "e8e13495b054ebc8b5a70b58a32871aa8bf6b9ff64cee45a228ae7af6837fb5c",
833
+ "bytes": 1137
834
+ },
760
835
  {
761
836
  "path": "skills/story-review/references/tracking-transaction.md",
762
- "sha256": "c1b166f047c5269b9fdac2eb85494efdce51b9b1a3596874ea1c1090ba828b13",
763
- "bytes": 13253
837
+ "sha256": "3452e4ebe8bf6fdfd8f93f5700a6c647ab0ce32324609ec901d861541eba634c",
838
+ "bytes": 12389
764
839
  },
765
840
  {
766
841
  "path": "skills/story-review/scripts/author_memory_commit.py",
@@ -769,18 +844,23 @@
769
844
  },
770
845
  {
771
846
  "path": "skills/story-review/scripts/check-ai-patterns.js",
772
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
773
- "bytes": 67088
847
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
848
+ "bytes": 67463
774
849
  },
775
850
  {
776
851
  "path": "skills/story-review/scripts/check-degeneration.js",
777
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
778
- "bytes": 14387
852
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
853
+ "bytes": 15104
779
854
  },
780
855
  {
781
856
  "path": "skills/story-review/scripts/normalize-punctuation.js",
782
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
783
- "bytes": 13083
857
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
858
+ "bytes": 13480
859
+ },
860
+ {
861
+ "path": "skills/story-review/scripts/style-whitelist.js",
862
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
863
+ "bytes": 1168
784
864
  },
785
865
  {
786
866
  "path": "skills/story-review/scripts/tracking_commit.py",
@@ -794,8 +874,8 @@
794
874
  },
795
875
  {
796
876
  "path": "skills/story-setup/SKILL.md",
797
- "sha256": "a5abd4092ee917bb80684cbd5ca3a2d7fd637084ea4a7c821771dbb4988b5cac",
798
- "bytes": 61902
877
+ "sha256": "b28f4ccc3a668ca9ae97fb1fdf7b7d5c0d91d3e5d150c9365db7fff347cd1e1c",
878
+ "bytes": 62843
799
879
  },
800
880
  {
801
881
  "path": "skills/story-setup/references/agent-references/agent-quality.md",
@@ -809,13 +889,13 @@
809
889
  },
810
890
  {
811
891
  "path": "skills/story-setup/references/agent-references/anti-ai-writing.md",
812
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
813
- "bytes": 37029
892
+ "sha256": "d3f6eb36db0e2416a195b92d684ce39ae0ac254906ea4e2cd2a1adb9b6bc4b93",
893
+ "bytes": 37154
814
894
  },
815
895
  {
816
896
  "path": "skills/story-setup/references/agent-references/banned-words.md",
817
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
818
- "bytes": 10337
897
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
898
+ "bytes": 10447
819
899
  },
820
900
  {
821
901
  "path": "skills/story-setup/references/agent-references/character-basics.md",
@@ -832,10 +912,15 @@
832
912
  "sha256": "efbe25d74d752c09fe41b0ee91d9a59e4939160cab3715b549deb4b63b42927c",
833
913
  "bytes": 15470
834
914
  },
915
+ {
916
+ "path": "skills/story-setup/references/agent-references/deslop-gates.md",
917
+ "sha256": "6bfcb498187c8498667450900069e3d1ff7d1ea3e03a47982492473449363cc7",
918
+ "bytes": 12105
919
+ },
835
920
  {
836
921
  "path": "skills/story-setup/references/agent-references/dialogue-mastery.md",
837
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
838
- "bytes": 11327
922
+ "sha256": "a81e029137e3a3bc5d12632ccad81345a947da8e8a8639664a1d867fda1f548d",
923
+ "bytes": 11495
839
924
  },
840
925
  {
841
926
  "path": "skills/story-setup/references/agent-references/emotional-arc-design.md",
@@ -844,8 +929,8 @@
844
929
  },
845
930
  {
846
931
  "path": "skills/story-setup/references/agent-references/format-and-structure.md",
847
- "sha256": "1c5e69b60e87fe07a8425cae8bbdf51f2f47b35d51241397f279d000715066a5",
848
- "bytes": 10538
932
+ "sha256": "4e72e10123fc875f0b392bbb2a3addb1c006ea5c4e4256796deafd287623452e",
933
+ "bytes": 10599
849
934
  },
850
935
  {
851
936
  "path": "skills/story-setup/references/agent-references/genre-prose-cards.md",
@@ -1089,8 +1174,8 @@
1089
1174
  },
1090
1175
  {
1091
1176
  "path": "skills/story-setup/references/agent-references/short-genre-formulas.md",
1092
- "sha256": "c4ff08dab0359c857b19c4226eb122e72d4f54f59df1f653129ce4e87bba879f",
1093
- "bytes": 21427
1177
+ "sha256": "5e61ed7f77c9c585d6165256dce99bfdbcd03a5d8fc4b8512e14dab14b762848",
1178
+ "bytes": 21439
1094
1179
  },
1095
1180
  {
1096
1181
  "path": "skills/story-setup/references/agent-references/short-paragraph-hooks.md",
@@ -1114,18 +1199,28 @@
1114
1199
  },
1115
1200
  {
1116
1201
  "path": "skills/story-setup/references/agent-references/style-combat-face.md",
1117
- "sha256": "0c3065f3bca11c87daf7fa343e5d0e51981f3adf3a78672ffdaa65222e69bdd0",
1118
- "bytes": 20057
1202
+ "sha256": "d76e218cdae757ff2bc00643061129ed699d20bd27f4757b01bd0c557ddfa78b",
1203
+ "bytes": 20072
1119
1204
  },
1120
1205
  {
1121
1206
  "path": "skills/story-setup/references/agent-references/style-genre-modules.md",
1122
- "sha256": "b4cfe79dd3138bc29f84dfd8178b15476a70b14c5c4943bf8b8b7e393007eada",
1123
- "bytes": 24739
1207
+ "sha256": "6c6c0da902c82f867f2f6a03738764612363ede1ffef52591dbfba1d29554270",
1208
+ "bytes": 24808
1209
+ },
1210
+ {
1211
+ "path": "skills/story-setup/references/agent-references/style-resolution.md",
1212
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
1213
+ "bytes": 4017
1124
1214
  },
1125
1215
  {
1126
1216
  "path": "skills/story-setup/references/agent-references/writing-craft.md",
1127
- "sha256": "d954eebeef4fd9006899dac0718c29a1e4e0464d7287a4e648879097eb6e6ed6",
1128
- "bytes": 24881
1217
+ "sha256": "098d3904581a781c8c69cb053015d21fa1dc352deaa8349949d805c46321c8ee",
1218
+ "bytes": 32857
1219
+ },
1220
+ {
1221
+ "path": "skills/story-setup/references/diagnostics.md",
1222
+ "sha256": "1b7e86f22ab1b2b9743a731e1b2996f0056e0c7db1223a162b46ec1c01019be9",
1223
+ "bytes": 3980
1129
1224
  },
1130
1225
  {
1131
1226
  "path": "skills/story-short-analyze/SKILL.md",
@@ -1189,8 +1284,8 @@
1189
1284
  },
1190
1285
  {
1191
1286
  "path": "skills/story-short-analyze/references/analysis-writing-techniques.md",
1192
- "sha256": "7a8a9797b1971ce20306001705d426631b6e93e4ba5eab11b81878f0007928df",
1193
- "bytes": 21760
1287
+ "sha256": "6a0c8bc2c8a91f156707a28ef5a461b49aed22a427e3aa23adb2ed5e22df4345",
1288
+ "bytes": 21707
1194
1289
  },
1195
1290
  {
1196
1291
  "path": "skills/story-short-analyze/references/deconstruction-examples.md",
@@ -1219,8 +1314,8 @@
1219
1314
  },
1220
1315
  {
1221
1316
  "path": "skills/story-short-analyze/references/source-story-quality.md",
1222
- "sha256": "82ee323ec9db08d786f4f444418a639a9d959f4f534e289429a8c49818e67391",
1223
- "bytes": 10514
1317
+ "sha256": "f418c7572fa930a2c137b39857cb21ab245cef5496e8dd0344fbe773f58f9eed",
1318
+ "bytes": 10641
1224
1319
  },
1225
1320
  {
1226
1321
  "path": "skills/story-short-analyze/references/zhihu-style.md",
@@ -1254,18 +1349,23 @@
1254
1349
  },
1255
1350
  {
1256
1351
  "path": "skills/story-short-write/SKILL.md",
1257
- "sha256": "c7cb71da8d621bfcea3472f52edf3b3e2b4e87dd35cfc32df2aba73232dc1a4e",
1258
- "bytes": 39406
1352
+ "sha256": "aa422c159885f5b20db7cef3800149b1ef78ddaa52ffd7e11c8d8a76f40f0aa1",
1353
+ "bytes": 25731
1259
1354
  },
1260
1355
  {
1261
1356
  "path": "skills/story-short-write/references/author-memory.md",
1262
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
1263
- "bytes": 9942
1357
+ "sha256": "15a05bc83bfcc82d7aaa66f95e622b41c550db39c388d882d835e7f6a29fdf69",
1358
+ "bytes": 10611
1264
1359
  },
1265
1360
  {
1266
1361
  "path": "skills/story-short-write/references/banned-words.md",
1267
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
1268
- "bytes": 10337
1362
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
1363
+ "bytes": 10447
1364
+ },
1365
+ {
1366
+ "path": "skills/story-short-write/references/benchmark-recall.md",
1367
+ "sha256": "635c39c74216af70b794a9907cacb0fef9e322c79e7a1c35a57fdbd99b35185b",
1368
+ "bytes": 4174
1269
1369
  },
1270
1370
  {
1271
1371
  "path": "skills/story-short-write/references/cross-book-recall.md",
@@ -1274,8 +1374,8 @@
1274
1374
  },
1275
1375
  {
1276
1376
  "path": "skills/story-short-write/references/dialogue-mastery.md",
1277
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
1278
- "bytes": 11327
1377
+ "sha256": "a81e029137e3a3bc5d12632ccad81345a947da8e8a8639664a1d867fda1f548d",
1378
+ "bytes": 11495
1279
1379
  },
1280
1380
  {
1281
1381
  "path": "skills/story-short-write/references/emotional-methods.md",
@@ -1284,38 +1384,38 @@
1284
1384
  },
1285
1385
  {
1286
1386
  "path": "skills/story-short-write/references/genre-styles/世情打脸.md",
1287
- "sha256": "54b4812b6ee102ff743fac28e6baec81e1c6e9ca6b83c9bed274bae78ec1a6c6",
1288
- "bytes": 16476
1387
+ "sha256": "d23e9ccb9e083a4c33f26f55f41b85558e47c3abf4315deb602713887fe83865",
1388
+ "bytes": 16485
1289
1389
  },
1290
1390
  {
1291
1391
  "path": "skills/story-short-write/references/genre-styles/双男主.md",
1292
- "sha256": "e92352d371f1498c1fd2e080ad019b90630580a8bd8000cbb7693767377d09a8",
1392
+ "sha256": "ecdcd8c2f93f2b7beef0cfcc453143022b4abbc0429d5eeb22413e6aa913a7ac",
1293
1393
  "bytes": 12646
1294
1394
  },
1295
1395
  {
1296
1396
  "path": "skills/story-short-write/references/genre-styles/复仇打脸.md",
1297
- "sha256": "c3dcf50e806fe39a1727b2a4b694302bfc85b53a2ca61e3e7d23ab5ef4a325a1",
1397
+ "sha256": "f66954aed7c290b58311104155644780982a761e8c7c0156bed27b38e1f47cf8",
1298
1398
  "bytes": 14846
1299
1399
  },
1300
1400
  {
1301
1401
  "path": "skills/story-short-write/references/genre-styles/宅斗宫斗.md",
1302
- "sha256": "8e6d40bfcd4332f36411f8eba6c32d55614ab890284a506eba82c9fe477f65cb",
1303
- "bytes": 15819
1402
+ "sha256": "388b075dce95e34bb3954b2c5e96ec7938d3a5c769eea18644e9786be444a302",
1403
+ "bytes": 15840
1304
1404
  },
1305
1405
  {
1306
1406
  "path": "skills/story-short-write/references/genre-styles/总裁豪门.md",
1307
- "sha256": "8dafcfce78d62641a3e4640e8eb449d2a24ac31648131a3184d871ae221de99e",
1308
- "bytes": 17423
1407
+ "sha256": "0c7271a9768d7d83f673e03c40a2b4284f4796e1a34e6fb5def2edfd4d142176",
1408
+ "bytes": 17383
1309
1409
  },
1310
1410
  {
1311
1411
  "path": "skills/story-short-write/references/genre-styles/悬疑.md",
1312
- "sha256": "509be5eb455e84a4e0b6b302fa67afe81f912d955cc11bdd632ded837ba37ba9",
1313
- "bytes": 13648
1412
+ "sha256": "a9aa811afc4292c57531ab398ddc703b3be18156bf3a97f7ca42e8dd3eff6323",
1413
+ "bytes": 13711
1314
1414
  },
1315
1415
  {
1316
1416
  "path": "skills/story-short-write/references/genre-styles/民俗怪谈.md",
1317
- "sha256": "3cc947c44bafca816e45097406c0612b6d20f1db7e776fee96a9f6f390689e40",
1318
- "bytes": 13216
1417
+ "sha256": "2199376580586788f17f67439300582b2b0e84da4a3d7e57d2e0fc34bfd1bf8b",
1418
+ "bytes": 13204
1319
1419
  },
1320
1420
  {
1321
1421
  "path": "skills/story-short-write/references/genre-styles/沙雕脑洞.md",
@@ -1324,23 +1424,23 @@
1324
1424
  },
1325
1425
  {
1326
1426
  "path": "skills/story-short-write/references/genre-styles/甜宠.md",
1327
- "sha256": "9c1d6b910b5e678bce09091e138081c872229af236999ce58c5bf8b683229a22",
1328
- "bytes": 11853
1427
+ "sha256": "f9dafd51e1e69bfacccfe588769eb43f58619f283d07847faa72e80a97f78d91",
1428
+ "bytes": 11894
1329
1429
  },
1330
1430
  {
1331
1431
  "path": "skills/story-short-write/references/genre-styles/追妻火葬场.md",
1332
- "sha256": "19490647fea878aff99b9dac87c02faa5a6a0149475dc95b6fe21bf4fb27c286",
1333
- "bytes": 15967
1432
+ "sha256": "474f316409f1fd0b0142304d5832d3a77eea830f09a88c91a4425376d6d31ff7",
1433
+ "bytes": 15930
1334
1434
  },
1335
1435
  {
1336
1436
  "path": "skills/story-short-write/references/genre-writing-formulas.md",
1337
- "sha256": "c4ff08dab0359c857b19c4226eb122e72d4f54f59df1f653129ce4e87bba879f",
1338
- "bytes": 21427
1437
+ "sha256": "5e61ed7f77c9c585d6165256dce99bfdbcd03a5d8fc4b8512e14dab14b762848",
1438
+ "bytes": 21439
1339
1439
  },
1340
1440
  {
1341
1441
  "path": "skills/story-short-write/references/genre-writing-techniques.md",
1342
- "sha256": "113cfab1a27a7a67e40dd476072df7907ca344285c85415dfd7014ef348dd375",
1343
- "bytes": 23213
1442
+ "sha256": "9314d0567f1673afa9e8c82c3c364fad0e974fabc9667417ae95b7596f80b468",
1443
+ "bytes": 23162
1344
1444
  },
1345
1445
  {
1346
1446
  "path": "skills/story-short-write/references/hooks-chapter.md",
@@ -1357,25 +1457,30 @@
1357
1457
  "sha256": "1390a94a82e970c0067c773b02131a97bbd156516fda79c6e64947b26419f242",
1358
1458
  "bytes": 9076
1359
1459
  },
1460
+ {
1461
+ "path": "skills/story-short-write/references/reference-index.md",
1462
+ "sha256": "cd1e330a271d5e8d033c03a234953bc590eefdc205c2a576b6fdb0888e35b652",
1463
+ "bytes": 6701
1464
+ },
1360
1465
  {
1361
1466
  "path": "skills/story-short-write/references/short-craft.md",
1362
- "sha256": "1e2be00eec0fbc0f4bca6583861d21c2484f2fe1389f34f0a4703ddbe29648eb",
1363
- "bytes": 13960
1467
+ "sha256": "8c263a10bca942e89b70c9c7a44e22e77ba9b005d5f50cb3641bcd75505611b8",
1468
+ "bytes": 13577
1364
1469
  },
1365
1470
  {
1366
1471
  "path": "skills/story-short-write/references/short-deslop.md",
1367
- "sha256": "ad2f8d82d6f37b7bc080803844411f7b46937f95361c1fe54c0fd2b8923602e6",
1368
- "bytes": 8592
1472
+ "sha256": "cb9c0c1d2ba2266edc71968db553e44ffdd21fdd19263ebf41884000f4dda668",
1473
+ "bytes": 8543
1369
1474
  },
1370
1475
  {
1371
1476
  "path": "skills/story-short-write/references/short-format.md",
1372
- "sha256": "675843a3ad707ac06286fea4cd59aa45f54a62b0c4675600d5ff6bab1deed9c4",
1373
- "bytes": 8649
1477
+ "sha256": "8e01dd33e848d8561760ea02c00bdaffa0c2d50e5c174792e15381803737edfb",
1478
+ "bytes": 8835
1374
1479
  },
1375
1480
  {
1376
1481
  "path": "skills/story-short-write/references/short-prose-quality.md",
1377
- "sha256": "d7963fb96a55a29a0ad866c222e09d1697b837c25579422a07cde3a1e55e2fde",
1378
- "bytes": 10536
1482
+ "sha256": "8f27971e7433a51895cf7307e1d4a44d8b777b7244b6b340359d84b160a62ce3",
1483
+ "bytes": 10663
1379
1484
  },
1380
1485
  {
1381
1486
  "path": "skills/story-short-write/references/short-reversal.md",
@@ -1387,6 +1492,11 @@
1387
1492
  "sha256": "40b07607cc4b4ff96fc7bcdf1b65dfa1d7f208bd2b78ae68eda0adca34ca5a1b",
1388
1493
  "bytes": 15939
1389
1494
  },
1495
+ {
1496
+ "path": "skills/story-short-write/references/style-resolution.md",
1497
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
1498
+ "bytes": 4017
1499
+ },
1390
1500
  {
1391
1501
  "path": "skills/story-short-write/references/submission-craft.md",
1392
1502
  "sha256": "0de2487e37de3eccb3005e57587b7ddb409538a36836b948f6dd61e0071f31a7",
@@ -1397,10 +1507,15 @@
1397
1507
  "sha256": "8b8d61b37e2ca762b12431717b9496cc789dbb2baf1666a337f4eb6c2eb095b8",
1398
1508
  "bytes": 6141
1399
1509
  },
1510
+ {
1511
+ "path": "skills/story-short-write/references/workflow-design.md",
1512
+ "sha256": "ef31f9682532143b7a51a8861f957b4998f139001f324daf2528f466bbfd6dfa",
1513
+ "bytes": 5089
1514
+ },
1400
1515
  {
1401
1516
  "path": "skills/story-short-write/references/writing-workflow.md",
1402
- "sha256": "dd0a9039690084797fdc85152d41fda228f2ee9630f8e37a70b67b9e9d3479d0",
1403
- "bytes": 10296
1517
+ "sha256": "ce6a6cf589a08dddf22f2b4c0020cc956235d0d095060d44c91fb5451de5ea27",
1518
+ "bytes": 10262
1404
1519
  },
1405
1520
  {
1406
1521
  "path": "skills/story-short-write/scripts/author_memory_commit.py",
@@ -1409,23 +1524,23 @@
1409
1524
  },
1410
1525
  {
1411
1526
  "path": "skills/story-short-write/scripts/check-ai-patterns.js",
1412
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
1413
- "bytes": 67088
1527
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
1528
+ "bytes": 67463
1414
1529
  },
1415
1530
  {
1416
1531
  "path": "skills/story-short-write/scripts/check-degeneration.js",
1417
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
1418
- "bytes": 14387
1532
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
1533
+ "bytes": 15104
1419
1534
  },
1420
1535
  {
1421
1536
  "path": "skills/story-short-write/scripts/check-delivery-contract.js",
1422
- "sha256": "15ab29cfc17d0f466b80a097ce4cfc0a04b70040df3ae6b70abf08f282cb3d91",
1423
- "bytes": 7301
1537
+ "sha256": "a37984b28e44963e64bb6247a80f4eb72c7d539386229d5e4d7281e59ea45902",
1538
+ "bytes": 9055
1424
1539
  },
1425
1540
  {
1426
1541
  "path": "skills/story-short-write/scripts/check-outline-copy.js",
1427
- "sha256": "574dd78da11f934837e2b56f658b6c598935e16dd7dec2830272d0134d1587d3",
1428
- "bytes": 9845
1542
+ "sha256": "e996f290139041480f18e6c81ade89709d8f71b63cc021c6b48cfdcf15578331",
1543
+ "bytes": 12637
1429
1544
  },
1430
1545
  {
1431
1546
  "path": "skills/story-short-write/scripts/check-phase2-contract.js",
@@ -1434,23 +1549,28 @@
1434
1549
  },
1435
1550
  {
1436
1551
  "path": "skills/story-short-write/scripts/normalize-punctuation.js",
1437
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
1438
- "bytes": 13083
1552
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
1553
+ "bytes": 13480
1554
+ },
1555
+ {
1556
+ "path": "skills/story-short-write/scripts/style-whitelist.js",
1557
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
1558
+ "bytes": 1168
1439
1559
  },
1440
1560
  {
1441
1561
  "path": "skills/story/SKILL.md",
1442
- "sha256": "16d46f035a5dfdf79769e60fc2911efa5b996f6a2509ca2354a84ffa8ccc7e02",
1562
+ "sha256": "e8dc664f982d59cdf78ae733c16b5b3fb0ec34550cb349f0d92d9a17b78a5686",
1443
1563
  "bytes": 10883
1444
1564
  },
1445
1565
  {
1446
1566
  "path": "skills/story/VERSION",
1447
- "sha256": "112064d2eef87b1b3566a13e7673e42db7030d364bc7d8f9f6f53d339119a0ac",
1448
- "bytes": 6
1567
+ "sha256": "829e3545dc954bb1c7a00f5ae122384f679faee259f9ccd5913610610f953e52",
1568
+ "bytes": 7
1449
1569
  },
1450
1570
  {
1451
1571
  "path": "skills/story/references/author-memory.md",
1452
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
1453
- "bytes": 9942
1572
+ "sha256": "15a05bc83bfcc82d7aaa66f95e622b41c550db39c388d882d835e7f6a29fdf69",
1573
+ "bytes": 10611
1454
1574
  },
1455
1575
  {
1456
1576
  "path": "skills/story/scripts/author_memory_commit.py",