@oh-story/dsh 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/README.md +14 -14
  2. package/lib/client.js +237 -84
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +183 -77
  5. package/lib/drama/skills/short-drama/SKILL.md +5 -1
  6. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +140 -9
  7. package/lib/drama/skills/short-drama/scripts/project_tool.py +11 -0
  8. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +28 -0
  9. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +8 -2
  10. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
  11. package/lib/drama/skills/short-drama-edit/SKILL.md +146 -0
  12. package/lib/drama/skills/short-drama-edit/agents/openai.yaml +4 -0
  13. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +60 -0
  14. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +15 -0
  15. package/lib/drama/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
  16. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
  17. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
  18. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
  19. package/lib/drama/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
  20. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
  21. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
  22. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
  23. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +38 -0
  24. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +29 -0
  25. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +54 -0
  26. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
  27. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +51 -0
  28. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
  29. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +520 -0
  30. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
  31. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +5 -0
  32. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +3 -0
  33. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
  34. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +2 -2
  35. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +4 -1
  36. package/lib/drama/skills/short-drama-produce/SKILL.md +29 -4
  37. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +22 -0
  38. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +13 -12
  39. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  40. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +7 -0
  41. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +18 -1
  42. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +181 -2
  43. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +199 -3
  44. package/lib/drama/skills/short-drama-review/SKILL.md +2 -0
  45. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +7 -0
  46. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +10 -0
  47. package/lib/drama/skills/short-drama-storyboard/SKILL.md +12 -1
  48. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +4 -0
  49. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  50. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +78 -2
  51. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +2 -0
  52. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +12 -5
  53. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +17 -0
  54. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +76 -7
  55. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +5 -2
  56. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +21 -0
  57. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +6 -17
  58. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +12 -3
  59. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +61 -5
  60. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -3
  61. package/lib/drama/skills/short-drama-write/SKILL.md +11 -2
  62. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +6 -0
  63. package/lib/drama/skills/short-drama-write/references/stage-contract.md +1 -0
  64. package/lib/index.js +290 -90
  65. package/lib/index.js.map +4 -4
  66. package/lib/novel-to-game/README.md +299 -59
  67. package/lib/novel-to-game/README_ZH.md +299 -56
  68. package/lib/novel-to-game/VERSION +1 -1
  69. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
  70. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
  71. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
  72. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
  73. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
  74. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
  75. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
  76. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
  77. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
  78. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
  79. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
  80. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
  81. package/lib/novel-to-game/manifest.json +77 -87
  82. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +9 -35
  83. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
  84. package/lib/novel-to-game/skills/game-build/SKILL.md +17 -35
  85. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
  86. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
  87. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
  88. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
  89. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
  90. package/lib/novel-to-game/skills/game-concept/SKILL.md +16 -34
  91. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
  92. package/lib/novel-to-game/skills/game-qa/SKILL.md +9 -20
  93. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +10 -6
  94. package/lib/novel-to-game/skills/game-world-design/SKILL.md +19 -32
  95. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
  96. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
  97. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
  98. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +9 -18
  99. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
  100. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +10 -27
  101. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -6
  102. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +6 -11
  103. package/lib/oh-story/manifest.json +419 -254
  104. package/lib/oh-story/roles/chapter-extractor.md +177 -237
  105. package/lib/oh-story/roles/character-designer.md +1 -1
  106. package/lib/oh-story/roles/consistency-checker.md +4 -4
  107. package/lib/oh-story/roles/narrative-writer.md +56 -243
  108. package/lib/oh-story/roles/story-architect.md +6 -6
  109. package/lib/oh-story/roles/story-explorer.md +11 -11
  110. package/lib/oh-story/skills/story/SKILL.md +13 -7
  111. package/lib/oh-story/skills/story/VERSION +1 -1
  112. package/lib/oh-story/skills/story/references/author-memory.md +61 -29
  113. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
  114. package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
  115. package/lib/oh-story/skills/story-deslop/SKILL.md +54 -229
  116. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +29 -56
  117. package/lib/oh-story/skills/story-deslop/references/author-memory.md +61 -29
  118. package/lib/oh-story/skills/story-deslop/references/banned-words.md +3 -1
  119. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +154 -0
  120. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +27 -0
  121. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
  122. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +6 -1
  123. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +39 -20
  124. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +10 -5
  125. package/lib/oh-story/skills/story-deslop/scripts/style-whitelist.js +39 -0
  126. package/lib/oh-story/skills/story-import/SKILL.md +78 -82
  127. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
  128. package/lib/oh-story/skills/story-import/references/format-and-structure.md +2 -2
  129. package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
  130. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +10 -8
  131. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +31 -0
  132. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +9 -34
  133. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +197 -15
  134. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +210 -2
  135. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +3 -0
  136. package/lib/oh-story/skills/story-long-analyze/SKILL.md +91 -258
  137. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +245 -0
  138. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +2 -2
  139. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
  140. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +113 -105
  141. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +169 -125
  142. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +172 -64
  143. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
  144. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +42 -132
  145. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +5 -5
  146. package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
  147. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
  148. package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
  149. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1106 -0
  150. package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
  151. package/lib/oh-story/skills/story-long-scan/SKILL.md +4 -1
  152. package/lib/oh-story/skills/story-long-write/SKILL.md +52 -216
  153. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +29 -56
  154. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +72 -12
  155. package/lib/oh-story/skills/story-long-write/references/author-memory.md +61 -29
  156. package/lib/oh-story/skills/story-long-write/references/banned-words.md +3 -1
  157. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +20 -0
  158. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
  159. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +10 -4
  160. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
  161. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +6 -15
  162. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -0
  163. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +2 -0
  164. package/lib/oh-story/skills/story-long-write/references/project-files.md +110 -0
  165. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +12 -4
  166. package/lib/oh-story/skills/story-long-write/references/reference-index.md +86 -0
  167. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -1
  168. package/lib/oh-story/skills/story-long-write/references/style-craft.md +9 -29
  169. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  170. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +27 -0
  171. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +31 -0
  172. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +9 -34
  173. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +88 -118
  174. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +55 -119
  175. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +15 -11
  176. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +73 -54
  177. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +22 -0
  178. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +63 -4
  179. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
  180. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +531 -0
  181. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +6 -1
  182. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +39 -20
  183. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +197 -15
  184. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +90 -23
  185. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +10 -5
  186. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +285 -0
  187. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +58 -0
  188. package/lib/oh-story/skills/story-long-write/scripts/style-whitelist.js +39 -0
  189. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +210 -2
  190. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +3 -0
  191. package/lib/oh-story/skills/story-review/SKILL.md +80 -87
  192. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +29 -56
  193. package/lib/oh-story/skills/story-review/references/author-memory.md +61 -29
  194. package/lib/oh-story/skills/story-review/references/banned-words.md +3 -1
  195. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +10 -4
  196. package/lib/oh-story/skills/story-review/references/review-quality.md +6 -12
  197. package/lib/oh-story/skills/story-review/references/style-resolution.md +27 -0
  198. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +31 -0
  199. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +9 -34
  200. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
  201. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +6 -1
  202. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +39 -20
  203. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +10 -5
  204. package/lib/oh-story/skills/story-review/scripts/style-whitelist.js +39 -0
  205. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +210 -2
  206. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +3 -0
  207. package/lib/oh-story/skills/story-setup/SKILL.md +58 -43
  208. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +29 -56
  209. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +3 -1
  210. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +154 -0
  211. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +10 -4
  212. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +2 -2
  213. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
  214. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +1 -1
  215. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +1 -1
  216. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -1
  217. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  218. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +27 -0
  219. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +63 -4
  220. package/lib/oh-story/skills/story-setup/references/diagnostics.md +38 -0
  221. package/lib/oh-story/skills/story-short-analyze/SKILL.md +22 -3
  222. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +1 -1
  223. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +5 -1
  224. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +2 -2
  225. package/lib/oh-story/skills/story-short-scan/SKILL.md +5 -1
  226. package/lib/oh-story/skills/story-short-write/SKILL.md +15 -324
  227. package/lib/oh-story/skills/story-short-write/references/author-memory.md +61 -29
  228. package/lib/oh-story/skills/story-short-write/references/banned-words.md +3 -1
  229. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +60 -0
  230. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +10 -4
  231. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +2 -2
  232. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +1 -1
  233. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +3 -3
  234. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +3 -3
  235. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +3 -3
  236. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +5 -5
  237. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +4 -4
  238. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +5 -5
  239. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +3 -3
  240. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +1 -1
  241. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +1 -1
  242. package/lib/oh-story/skills/story-short-write/references/reference-index.md +55 -0
  243. package/lib/oh-story/skills/story-short-write/references/short-craft.md +12 -14
  244. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +10 -10
  245. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -1
  246. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -2
  247. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +27 -0
  248. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +78 -0
  249. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +126 -0
  250. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +32 -0
  251. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +5 -5
  252. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
  253. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +6 -1
  254. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +39 -20
  255. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +34 -5
  256. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +90 -23
  257. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +10 -5
  258. package/lib/oh-story/skills/story-short-write/scripts/style-whitelist.js +39 -0
  259. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  260. package/lib/types/client/file-activity.d.ts +19 -1
  261. package/lib/types/client/file-activity.d.ts.map +1 -1
  262. package/lib/types/client/index.d.ts.map +1 -1
  263. package/lib/types/client/production-prompts.d.ts +7 -0
  264. package/lib/types/client/production-prompts.d.ts.map +1 -1
  265. package/lib/types/client/production-runtime.d.ts +33 -0
  266. package/lib/types/client/production-runtime.d.ts.map +1 -1
  267. package/lib/types/drama-adapters.d.ts +5 -3
  268. package/lib/types/drama-adapters.d.ts.map +1 -1
  269. package/lib/types/native-hooks.d.ts +52 -0
  270. package/lib/types/native-hooks.d.ts.map +1 -1
  271. package/lib/types/role-identity.d.ts +17 -0
  272. package/lib/types/role-identity.d.ts.map +1 -0
  273. package/lib/types/role-tool.d.ts.map +1 -1
  274. package/lib/types/skill-provider.d.ts.map +1 -1
  275. package/lib/video-recap/CHANGELOG.md +31 -1
  276. package/lib/video-recap/manifest.json +162 -162
  277. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +4 -9
  278. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +47 -60
  279. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +77 -115
  280. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +41 -40
  281. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +22 -32
  282. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +102 -192
  283. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +14 -35
  284. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +14 -12
  285. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +8 -9
  286. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +3 -14
  287. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +23 -12
  288. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +1 -4
  289. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +24 -25
  290. package/lib/video-recap/skills/video-assemble/scripts/lib.py +31 -85
  291. package/lib/video-recap/skills/video-assemble/scripts/media.py +100 -144
  292. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +101 -195
  293. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +10 -21
  294. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +90 -169
  295. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +69 -122
  296. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +10 -17
  297. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +33 -48
  298. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +14 -20
  299. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +135 -213
  300. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +49 -57
  301. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +38 -74
  302. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +46 -95
  303. package/lib/video-recap/skills/video-cut/scripts/lib.py +23 -25
  304. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +70 -173
  305. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +28 -53
  306. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +162 -322
  307. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +6 -7
  308. package/lib/video-recap/skills/video-recap/scripts/doctor.py +104 -124
  309. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +255 -412
  310. package/lib/video-recap/skills/video-recap/scripts/lib.py +30 -52
  311. package/lib/video-recap/skills/video-recap/scripts/materials.py +97 -120
  312. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +7 -12
  313. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +46 -97
  314. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +18 -36
  315. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +29 -47
  316. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +43 -76
  317. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +2 -1
  318. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +2 -1
  319. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +2 -2
  320. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +129 -145
  321. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +27 -20
  322. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +20 -31
  323. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +31 -106
  324. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +43 -113
  325. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +196 -377
  326. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +1 -1
  327. package/lib/video-recap/skills/video-script/scripts/agent_text.py +63 -172
  328. package/lib/video-recap/skills/video-script/scripts/brief_context.py +80 -135
  329. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +125 -167
  330. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +93 -208
  331. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +20 -46
  332. package/lib/video-recap/skills/video-script/scripts/lib.py +30 -26
  333. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +145 -140
  334. package/lib/video-recap/skills/video-script/scripts/review_response.py +12 -42
  335. package/lib/video-recap/skills/video-script/scripts/review_runner.py +0 -6
  336. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +39 -100
  337. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +33 -124
  338. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +1 -1
  339. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +63 -172
  340. package/lib/video-recap/skills/video-understanding/scripts/asr.py +1 -2
  341. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +80 -135
  342. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +125 -167
  343. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +93 -208
  344. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +1 -1
  345. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +20 -46
  346. package/lib/video-recap/skills/video-understanding/scripts/lib.py +31 -26
  347. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +145 -140
  348. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +39 -100
  349. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +33 -124
  350. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +1 -4
  351. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +7 -13
  352. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +12 -30
  353. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +98 -131
  354. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +17 -28
  355. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +151 -240
  356. package/package.json +45 -45
  357. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -59
  358. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
  359. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -42
  360. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
@@ -2,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": "2bb1da187c5d966263a76324c7c3ef008755dbcb",
6
+ "releaseVersion": "0.8.0",
7
+ "agentsVersion": 32
8
8
  },
9
- "generatedAt": "2026-09-02T02:39:34.565Z",
9
+ "generatedAt": "2026-09-26T03:08:32.767Z",
10
10
  "skills": [
11
11
  "browser-cdp",
12
12
  "story",
@@ -39,33 +39,33 @@
39
39
  },
40
40
  {
41
41
  "path": "roles/chapter-extractor.md",
42
- "sha256": "50abf67220a95cb8d91ad49458d96d7a522893e1894af7358e62f955a37d5a9e",
43
- "bytes": 20140
42
+ "sha256": "b78cbb7d8213f7ea4255a62f2e13759f165ada8175b4799a25a94f10e18ccdd5",
43
+ "bytes": 16588
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",
52
- "sha256": "dacd637c39c5f97780ddb36d63906ef4ec0ce825b45b57203c3bf6f126c431b9",
53
- "bytes": 11458
52
+ "sha256": "7cb2d1a3ff8b18566d7287f9157c4406455b246b4a175fdbd7a130b8355f068f",
53
+ "bytes": 11792
54
54
  },
55
55
  {
56
56
  "path": "roles/narrative-writer.md",
57
- "sha256": "0027d342b4771d269459299d2ac520953e87f084119718d5ea1044d8f9820187",
58
- "bytes": 32208
57
+ "sha256": "df4950f4fdb45ab6f5ac174ed3b3b5a6c2d3e905f622b5a016e23d12cdd0f83d",
58
+ "bytes": 14809
59
59
  },
60
60
  {
61
61
  "path": "roles/story-architect.md",
62
- "sha256": "b3599a5963abef5c94c227df0aa278062c4132f5e9dc54705c46ef1046b84713",
63
- "bytes": 12139
62
+ "sha256": "84c181555b18d6fd5c35b01c14097998d8bf60c94b612a35c2b72737471f872c",
63
+ "bytes": 12119
64
64
  },
65
65
  {
66
66
  "path": "roles/story-explorer.md",
67
- "sha256": "5c26390f9d54037cd70098b1b600f8eb52e9991ca8ca16bc16d0a896e9a0ac24",
68
- "bytes": 22086
67
+ "sha256": "53787c00c7406b5c65c9324ec9eaa7e47857e68cea6dd1935de711e5ff3fa62a",
68
+ "bytes": 22110
69
69
  },
70
70
  {
71
71
  "path": "roles/story-researcher.md",
@@ -79,8 +79,8 @@
79
79
  },
80
80
  {
81
81
  "path": "skills/story-cover/SKILL.md",
82
- "sha256": "2b3ecdd288671f8cc566a54dd13a75ec3d600d72307dc6c0d76e456760a1a6e7",
83
- "bytes": 16282
82
+ "sha256": "9b1feb85506a32b25738f6a81c5c3bb49b98061db4dce6a880f22303bb7532e2",
83
+ "bytes": 16881
84
84
  },
85
85
  {
86
86
  "path": "skills/story-cover/references/cover-styles.md",
@@ -89,58 +89,73 @@
89
89
  },
90
90
  {
91
91
  "path": "skills/story-deslop/SKILL.md",
92
- "sha256": "97abadf6ea64190b6c1afe8a19b40ad37370e09e614f2210322220bf6398f5e0",
93
- "bytes": 30428
92
+ "sha256": "a7b1c01496938a53dd4a992243fa91488a379821ffb3d7deb772163c24449ce2",
93
+ "bytes": 21429
94
94
  },
95
95
  {
96
96
  "path": "skills/story-deslop/references/anti-ai-writing.md",
97
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
98
- "bytes": 37029
97
+ "sha256": "90f7d6dcd04dfa62e7f666e7e462ed4e22da4e0ad3750af7ee4b0a86d719dc7c",
98
+ "bytes": 37183
99
99
  },
100
100
  {
101
101
  "path": "skills/story-deslop/references/author-memory.md",
102
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
103
- "bytes": 9942
102
+ "sha256": "7dc589fc5ede4b45afccec1d3413908061d3db2f2775a7dc115cac618938fe56",
103
+ "bytes": 19899
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": "b7f8b5d025fb036b74425a1720c88e5aa540bc2ce78fb2bd9ce7c7dfbebbff48",
113
+ "bytes": 12108
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",
112
- "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
113
- "bytes": 41806
122
+ "sha256": "3b0545eb6893a949a3b5f9770f0480ee7ee7456911ddf803608249d20a563b1f",
123
+ "bytes": 79698
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": "b3b3f8db7e83666d9b00402bfe286e13e189b04221b1df03f67a7caba4416c48",
148
+ "bytes": 44296
134
149
  },
135
150
  {
136
151
  "path": "skills/story-import/references/character-state-reverse.md",
137
- "sha256": "73e3f73bc01ec12d116baaa875e93589648862d456ba2532ca6847fccbc1819f",
138
- "bytes": 4167
152
+ "sha256": "02a870fb5104837dfd9bf78f0d98aa0ed23dc60cdec4e107de67d5d6ce9fb94d",
153
+ "bytes": 4333
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",
@@ -149,78 +164,123 @@
149
164
  },
150
165
  {
151
166
  "path": "skills/story-import/references/state-tracking.md",
152
- "sha256": "76c2261e4b9cd825916c3bdba75c07d9db9a7cddd6e67dd52f26f38a96ad289a",
153
- "bytes": 4527
167
+ "sha256": "1357bc3bd327b4e636019165817f8efee6767fd8dc6a22e97b9ad6a1af24dded",
168
+ "bytes": 2263
154
169
  },
155
170
  {
156
171
  "path": "skills/story-import/references/structure-mapping-long.md",
157
- "sha256": "31862e685e55deecb97ca87fe23999b1f1c7fc606f61f26d20942b88ee58f90e",
158
- "bytes": 20299
172
+ "sha256": "d95fadf77e16c94df69a5b1c507671fec7dcd369538712d11ae50063e6c4498d",
173
+ "bytes": 21236
159
174
  },
160
175
  {
161
176
  "path": "skills/story-import/references/structure-mapping-short.md",
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": "19abda55bea7654946a4786345058df0d494306c4cf484d9382462e2448c6e1b",
188
+ "bytes": 13119
169
189
  },
170
190
  {
171
191
  "path": "skills/story-import/scripts/check-outline-contract.js",
172
- "sha256": "00c47d32d3b5cf8ffd11934bd55c5f5623956427d94b9b546056b6071a55d0c2",
173
- "bytes": 9536
192
+ "sha256": "7f967abecaf07a3e29cf46862d6e9279724ac2fcb382a6eee8775a5b8719bbcb",
193
+ "bytes": 19101
174
194
  },
175
195
  {
176
196
  "path": "skills/story-import/scripts/tracking_commit.py",
177
- "sha256": "18f273c877a3a22c32614a86b7d7d1c4da99a3f67ee5a422e2cee8bef942e645",
178
- "bytes": 55499
197
+ "sha256": "4a800a244d6808206dad1d753e8f2d95ad16ba7719c87d705d70d0644d48f80b",
198
+ "bytes": 68088
179
199
  },
180
200
  {
181
201
  "path": "skills/story-import/scripts/wordcount_core.py",
182
- "sha256": "b900662406d99558e7a7400bff9cc303e1329b1eaa1c755c37d81eab417037f0",
183
- "bytes": 10559
202
+ "sha256": "be250ca969d5963f31e109ddc732622882a32f9a1d6b6db7fb9088d121c32206",
203
+ "bytes": 10739
184
204
  },
185
205
  {
186
206
  "path": "skills/story-long-analyze/SKILL.md",
187
- "sha256": "d96df880231af80f6ce18163a2e5651bc4fc0e77e6c4774206492568b28e3a32",
188
- "bytes": 30188
207
+ "sha256": "f84fbae845160938a5dd55aa1e0087fe95663f11bd08f67301001a2a718e19d9",
208
+ "bytes": 17628
209
+ },
210
+ {
211
+ "path": "skills/story-long-analyze/references/author-facing.md",
212
+ "sha256": "db75c2d8e6b00fd92f4c715ffdbb980ccac8d013cd978055ee182a67e86b32b9",
213
+ "bytes": 12119
189
214
  },
190
215
  {
191
216
  "path": "skills/story-long-analyze/references/deconstruction-notes.md",
192
- "sha256": "1cf36750be4e264356c21ceb0136e6400b7b1eb9b213c16b53bd6fa5912e5d20",
193
- "bytes": 11190
217
+ "sha256": "92bf5c02a8caa23bf32b851cade3a72cb80afe3b9b29dea5dbcdcce73db3e59c",
218
+ "bytes": 11208
219
+ },
220
+ {
221
+ "path": "skills/story-long-analyze/references/inspiration-library.md",
222
+ "sha256": "44b9cd738172ec3cff2ed228c1ecebaf80dde05888e1cad5ac83fb0bd2211e11",
223
+ "bytes": 9895
194
224
  },
195
225
  {
196
226
  "path": "skills/story-long-analyze/references/material-decomposition.md",
197
- "sha256": "47afdb1c3b2d362bf5bcbe8b41ed150fa868c82a40ecee2e90dcedca6a6956e8",
198
- "bytes": 31341
227
+ "sha256": "dd4c107e0868d07232069cc0a17dfbbf2d7e24a725a4aafb61c6a5cdbab2024a",
228
+ "bytes": 33963
199
229
  },
200
230
  {
201
231
  "path": "skills/story-long-analyze/references/output-templates.md",
202
- "sha256": "8a8c85e7da55f7bbc7ab6727b453a9cf00c7602913889bc32371bdd0eae5bd8d",
203
- "bytes": 33069
232
+ "sha256": "97e33462f093033cf0177eff4220e8db3dbf70f9a0b34ef2d20f9dd986fd489c",
233
+ "bytes": 36387
204
234
  },
205
235
  {
206
236
  "path": "skills/story-long-analyze/references/pipeline-ops.md",
207
- "sha256": "56d90b90ce19ee21fa18d3be5be749cb744f115f969ce0405d38c7458180df14",
208
- "bytes": 3859
237
+ "sha256": "6437582092dd1852a87aa39bc8f4e3526440c9d80258612382b531d1b387e21a",
238
+ "bytes": 15478
239
+ },
240
+ {
241
+ "path": "skills/story-long-analyze/references/semantic-acceptance-fixtures.md",
242
+ "sha256": "980f5944ce85b9cc8463b1a06913824c9c954e136a79bf2e305a817d65428c48",
243
+ "bytes": 5592
209
244
  },
210
245
  {
211
246
  "path": "skills/story-long-analyze/references/style-profile-generator.md",
212
- "sha256": "8240eee2634dfe615cae4693805616e44668952e1d5ec96edb1839d61f6f8fa1",
213
- "bytes": 10763
247
+ "sha256": "de5cd9e04df7f3aa032b7f12ff7a845dcebaf1a64fa41e9567cf998d92459278",
248
+ "bytes": 3313
214
249
  },
215
250
  {
216
251
  "path": "skills/story-long-analyze/references/style-profile-protocol.md",
217
- "sha256": "68d0e3bcef97710337875a4430546ad82debe98e2955a98f72fb5d88d91b6a44",
218
- "bytes": 6501
252
+ "sha256": "11e453a021d7f6dea1c9fd30460b6c51e1165e6d1ddea288bc57dd52916646ee",
253
+ "bytes": 6748
254
+ },
255
+ {
256
+ "path": "skills/story-long-analyze/scripts/build_chapter_index.py",
257
+ "sha256": "4b33096e669443f81dc7332a445d67f9d396ba1f5f9bdf0e61aa864a2a8f3f2b",
258
+ "bytes": 20937
259
+ },
260
+ {
261
+ "path": "skills/story-long-analyze/scripts/inspect_existing_assets.py",
262
+ "sha256": "468ed736f2461013d2411cb3269e3e7da9c7710f19a33d0a1b8744da4d9f4bde",
263
+ "bytes": 32095
264
+ },
265
+ {
266
+ "path": "skills/story-long-analyze/scripts/inspiration_index.py",
267
+ "sha256": "88f1d48f50892116b7956dc2842bdc22b37a0049f1e845c26abc4a0cce0d634e",
268
+ "bytes": 39303
269
+ },
270
+ {
271
+ "path": "skills/story-long-analyze/scripts/manage_analysis_run.py",
272
+ "sha256": "6f60748c5075240cdb97c67af97d256fb73fcd849bf9f369a5f4650c04a84448",
273
+ "bytes": 55549
274
+ },
275
+ {
276
+ "path": "skills/story-long-analyze/scripts/render_relation_chart.py",
277
+ "sha256": "84aa360739a150fdb681a13349e713457eafa23d009e9e755f92d8a01b49d71f",
278
+ "bytes": 19423
219
279
  },
220
280
  {
221
281
  "path": "skills/story-long-scan/SKILL.md",
222
- "sha256": "aedbfc25b66d525a08a806554a6aeb51eb2d3cf5a9ef6647a20a25d3b276e2c8",
223
- "bytes": 16430
282
+ "sha256": "5b56a6c0b330761488b387cfb29cc3c21fc08acc53ed07362fd455d44c59e821",
283
+ "bytes": 16658
224
284
  },
225
285
  {
226
286
  "path": "skills/story-long-scan/references/genre-trends.md",
@@ -254,18 +314,18 @@
254
314
  },
255
315
  {
256
316
  "path": "skills/story-long-scan/scripts/ciweimao-rank-scraper.js",
257
- "sha256": "21b06dce1c755ab9ae8acf174f826678178e82ed041e193a240ae14763e56243",
258
- "bytes": 9025
317
+ "sha256": "9079ff6dd4cd152a59c16f3cef9aa014269b1b254e88f13f171e5326c8201561",
318
+ "bytes": 8969
259
319
  },
260
320
  {
261
321
  "path": "skills/story-long-scan/scripts/fanqie-rank-scraper.js",
262
- "sha256": "1fc82f5985d8b2636e89e5ec74c59e80ea45873b0d01b14d5a2162c6d052e3bf",
263
- "bytes": 16095
322
+ "sha256": "c2ca55322a79bcfff96f60a9193d6d8abb86ec7b48403b86d120b627265c6f81",
323
+ "bytes": 15888
264
324
  },
265
325
  {
266
326
  "path": "skills/story-long-scan/scripts/jjwxc-rank-scraper.js",
267
- "sha256": "c727774b54c6f0a2ed23acd2fe97358131fe816647caa4e308c4c30df706e042",
268
- "bytes": 16573
327
+ "sha256": "31508e393e0e5fc31b8b01772c044489a5d355ec5ce59f865d5ca6ffdd59838a",
328
+ "bytes": 16528
269
329
  },
270
330
  {
271
331
  "path": "skills/story-long-scan/scripts/qidian-rank-scraper.js",
@@ -279,28 +339,33 @@
279
339
  },
280
340
  {
281
341
  "path": "skills/story-long-write/SKILL.md",
282
- "sha256": "93a4b9ce6f8f46c0d07c59eee825223fa13c0c58b27af4eba638958725bffc27",
283
- "bytes": 29595
342
+ "sha256": "7fef8dc0e33b625b57e205bdfb89772f43c9429d638c6c2b61cd3511ea82af11",
343
+ "bytes": 15462
284
344
  },
285
345
  {
286
346
  "path": "skills/story-long-write/references/anti-ai-writing.md",
287
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
288
- "bytes": 37029
347
+ "sha256": "90f7d6dcd04dfa62e7f666e7e462ed4e22da4e0ad3750af7ee4b0a86d719dc7c",
348
+ "bytes": 37183
289
349
  },
290
350
  {
291
351
  "path": "skills/story-long-write/references/artifact-protocols.md",
292
- "sha256": "4a87737d479574a6d7be84296a21d7dfa480dfbf4b42ca85c38fc2cd98366223",
293
- "bytes": 17597
352
+ "sha256": "2cfb07daa4ec523248383482ae9275dbc639f8d01a06f14da340bad6764dbe8f",
353
+ "bytes": 24073
294
354
  },
295
355
  {
296
356
  "path": "skills/story-long-write/references/author-memory.md",
297
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
298
- "bytes": 9942
357
+ "sha256": "7dc589fc5ede4b45afccec1d3413908061d3db2f2775a7dc115cac618938fe56",
358
+ "bytes": 19899
299
359
  },
300
360
  {
301
361
  "path": "skills/story-long-write/references/banned-words.md",
302
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
303
- "bytes": 10337
362
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
363
+ "bytes": 10447
364
+ },
365
+ {
366
+ "path": "skills/story-long-write/references/benchmark-recall.md",
367
+ "sha256": "c2aa3e59bab03846a785aeffc717fee032594596a53085e1ccd9e4145760fed1",
368
+ "bytes": 6124
304
369
  },
305
370
  {
306
371
  "path": "skills/story-long-write/references/character-basics.md",
@@ -324,13 +389,13 @@
324
389
  },
325
390
  {
326
391
  "path": "skills/story-long-write/references/cross-book-recall.md",
327
- "sha256": "f090efa7466fca4dbd887e117ebe02565d3d7c671a02800eaaefdecdee7b989e",
328
- "bytes": 4943
392
+ "sha256": "0494fdb1a05c1cd8d39fb6dc7df978c6516ca46987f0c4a61544edabda2310f8",
393
+ "bytes": 7291
329
394
  },
330
395
  {
331
396
  "path": "skills/story-long-write/references/dialogue-mastery.md",
332
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
333
- "bytes": 11327
397
+ "sha256": "55179705ce1539c2674c0d9c478a448cfbeabe85281744266d40249a31bcac84",
398
+ "bytes": 11764
334
399
  },
335
400
  {
336
401
  "path": "skills/story-long-write/references/emotional-arc-design.md",
@@ -339,8 +404,8 @@
339
404
  },
340
405
  {
341
406
  "path": "skills/story-long-write/references/emotional-methods.md",
342
- "sha256": "2743955d41e083876b86d1868cb287c08461ad25f9aec10b6735b073cc1f0f65",
343
- "bytes": 10208
407
+ "sha256": "a935b6b4b25d077f8cb8f544f0d1e520c1edf0dc63e1a888e34c0bea29463516",
408
+ "bytes": 10174
344
409
  },
345
410
  {
346
411
  "path": "skills/story-long-write/references/female-audience-writing.md",
@@ -524,13 +589,13 @@
524
589
  },
525
590
  {
526
591
  "path": "skills/story-long-write/references/long-chapter-quality.md",
527
- "sha256": "9a5e554c864c1a1e96ce90e287e2a86c774c73a46a124c7e850105d9f5c717bf",
528
- "bytes": 10002
592
+ "sha256": "a763cff065fbfdd94c3b1c943fff1b279a4c61a2103bed0f0302f6aa367c88f0",
593
+ "bytes": 8698
529
594
  },
530
595
  {
531
596
  "path": "skills/story-long-write/references/long-format.md",
532
- "sha256": "1d41dd2110452281280cb6d85008852b6e010ae8a858110715d784de3fa97d61",
533
- "bytes": 2841
597
+ "sha256": "9eccf21c91220804ccdd760fdad051fe8bd19ad13118ae46e9b44da29855c069",
598
+ "bytes": 2951
534
599
  },
535
600
  {
536
601
  "path": "skills/story-long-write/references/long-genre-catalog.md",
@@ -574,8 +639,8 @@
574
639
  },
575
640
  {
576
641
  "path": "skills/story-long-write/references/outline-structure-theory.md",
577
- "sha256": "529ca28bed2850b7f9ff5293d9bed5f253a7c1d0e5e9ebae5a1e9c1e707be0b4",
578
- "bytes": 22085
642
+ "sha256": "8a108b85999d5729d693b8ac637d8bf10677a90d007555b6b37dec29a6277cae",
643
+ "bytes": 22701
579
644
  },
580
645
  {
581
646
  "path": "skills/story-long-write/references/plot-core-methods.md",
@@ -597,125 +662,160 @@
597
662
  "sha256": "b32d8d16c9602620517eb34e9cd8ceed7f2007ab6516e43dfd6e772a9247488b",
598
663
  "bytes": 25544
599
664
  },
665
+ {
666
+ "path": "skills/story-long-write/references/project-files.md",
667
+ "sha256": "f6aa80bc173dce1abe7bb9a438d05aa6cef992a5ef780c41cfcd2cb6c303b2b1",
668
+ "bytes": 11464
669
+ },
600
670
  {
601
671
  "path": "skills/story-long-write/references/reader-contract-and-progression.md",
602
- "sha256": "e5c66dad88095dfb25f67294d70a2a5a98b035f9fa87e83b9876676d97840fde",
603
- "bytes": 11144
672
+ "sha256": "01ecefe2270351bc0b88cbfdd2fb9db5e7c7417e535d2f0476056a3c5fcd48ae",
673
+ "bytes": 11528
604
674
  },
605
675
  {
606
- "path": "skills/story-long-write/references/state-tracking.md",
607
- "sha256": "76c2261e4b9cd825916c3bdba75c07d9db9a7cddd6e67dd52f26f38a96ad289a",
608
- "bytes": 4527
676
+ "path": "skills/story-long-write/references/reference-index.md",
677
+ "sha256": "ddabb61f1f0b3acb6a60179dbf0c7eac015f288b985f67d1a571e798e0d92ef3",
678
+ "bytes": 6113
609
679
  },
610
680
  {
611
681
  "path": "skills/story-long-write/references/style-combat-face.md",
612
- "sha256": "0c3065f3bca11c87daf7fa343e5d0e51981f3adf3a78672ffdaa65222e69bdd0",
613
- "bytes": 20057
682
+ "sha256": "d76e218cdae757ff2bc00643061129ed699d20bd27f4757b01bd0c557ddfa78b",
683
+ "bytes": 20072
614
684
  },
615
685
  {
616
686
  "path": "skills/story-long-write/references/style-craft.md",
617
- "sha256": "8be7fb2328e62d66094d97ee9cdf8ab659e9ba8d4acc7945b91bcb8a2a0a06da",
618
- "bytes": 13896
687
+ "sha256": "f9e9f9b055962f90c9fc23d1e03f1e624fd070a443fdfc51941363759eceab8b",
688
+ "bytes": 13392
619
689
  },
620
690
  {
621
691
  "path": "skills/story-long-write/references/style-genre-modules.md",
622
- "sha256": "b4cfe79dd3138bc29f84dfd8178b15476a70b14c5c4943bf8b8b7e393007eada",
623
- "bytes": 24739
692
+ "sha256": "6c6c0da902c82f867f2f6a03738764612363ede1ffef52591dbfba1d29554270",
693
+ "bytes": 24808
694
+ },
695
+ {
696
+ "path": "skills/story-long-write/references/style-resolution.md",
697
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
698
+ "bytes": 4017
699
+ },
700
+ {
701
+ "path": "skills/story-long-write/references/tracking-initialization.md",
702
+ "sha256": "e8e13495b054ebc8b5a70b58a32871aa8bf6b9ff64cee45a228ae7af6837fb5c",
703
+ "bytes": 1137
624
704
  },
625
705
  {
626
706
  "path": "skills/story-long-write/references/tracking-transaction.md",
627
- "sha256": "c1b166f047c5269b9fdac2eb85494efdce51b9b1a3596874ea1c1090ba828b13",
628
- "bytes": 13253
707
+ "sha256": "19abda55bea7654946a4786345058df0d494306c4cf484d9382462e2448c6e1b",
708
+ "bytes": 13119
629
709
  },
630
710
  {
631
711
  "path": "skills/story-long-write/references/workflow-chapter.md",
632
- "sha256": "85b832ec018f3a18aa928bc9bdbad5046b6aafc462ea2a0b6fbf617428b61c5c",
633
- "bytes": 26858
712
+ "sha256": "f84e1cb4096700c8519f7be117a202a09553f46d7c9621450e3614eef8ae2662",
713
+ "bytes": 15844
634
714
  },
635
715
  {
636
716
  "path": "skills/story-long-write/references/workflow-daily.md",
637
- "sha256": "c89d2978b1108e7439d9b588330a9cc857edafa78d1f33102cce11a4b79aff7d",
638
- "bytes": 25160
717
+ "sha256": "2a1eb5938774ddc904ec4825839bcc92085d6835019a143b4caf4ee3555e0575",
718
+ "bytes": 10290
639
719
  },
640
720
  {
641
721
  "path": "skills/story-long-write/references/workflow-revision.md",
642
- "sha256": "c4ee165984df696ce92dbb9094453998d777bb497afdd04d464b507e644460cb",
643
- "bytes": 6691
722
+ "sha256": "67c6494d1d8bdd36ce34b912d4445b49b2145e46cea72337ca755fb04ce75885",
723
+ "bytes": 6995
644
724
  },
645
725
  {
646
726
  "path": "skills/story-long-write/references/workflow-setup.md",
647
- "sha256": "f677e4961fc0d9e7627a8b67e574dcff407016de96bb2999b86c2b38df4e2d8f",
648
- "bytes": 30096
727
+ "sha256": "dd1553d98421aef49ed538f08e3b2c243cb3fda65647bb74a41606a7016fdfaa",
728
+ "bytes": 34303
729
+ },
730
+ {
731
+ "path": "skills/story-long-write/references/writer-prompt-fallback.md",
732
+ "sha256": "c97a6ead89cbc2523334c0ef25549e29ab0cdf05bef181578b7013c8293e5537",
733
+ "bytes": 3156
649
734
  },
650
735
  {
651
736
  "path": "skills/story-long-write/references/writing-craft.md",
652
- "sha256": "7543a65921b1b7190b40f6621ee067dcd28ff233093563621afb273ee78e315a",
653
- "bytes": 24966
737
+ "sha256": "76021398f3119a89fa03f946abc6ab509d69c5069eabb86d49462f5fdb4aface",
738
+ "bytes": 31510
654
739
  },
655
740
  {
656
741
  "path": "skills/story-long-write/scripts/author_memory_commit.py",
657
- "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
658
- "bytes": 41806
742
+ "sha256": "3b0545eb6893a949a3b5f9770f0480ee7ee7456911ddf803608249d20a563b1f",
743
+ "bytes": 79698
744
+ },
745
+ {
746
+ "path": "skills/story-long-write/scripts/build_writer_prompt.py",
747
+ "sha256": "ab5cc7415c7ef3a530e277240b5915c0be9c6a4a6d850ffa59e60aab3e0b908d",
748
+ "bytes": 27288
659
749
  },
660
750
  {
661
751
  "path": "skills/story-long-write/scripts/check-ai-patterns.js",
662
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
663
- "bytes": 67088
752
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
753
+ "bytes": 67463
664
754
  },
665
755
  {
666
756
  "path": "skills/story-long-write/scripts/check-degeneration.js",
667
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
668
- "bytes": 14387
757
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
758
+ "bytes": 15104
669
759
  },
670
760
  {
671
761
  "path": "skills/story-long-write/scripts/check-outline-contract.js",
672
- "sha256": "00c47d32d3b5cf8ffd11934bd55c5f5623956427d94b9b546056b6071a55d0c2",
673
- "bytes": 9536
762
+ "sha256": "7f967abecaf07a3e29cf46862d6e9279724ac2fcb382a6eee8775a5b8719bbcb",
763
+ "bytes": 19101
674
764
  },
675
765
  {
676
766
  "path": "skills/story-long-write/scripts/check-outline-copy.js",
677
- "sha256": "574dd78da11f934837e2b56f658b6c598935e16dd7dec2830272d0134d1587d3",
678
- "bytes": 9845
767
+ "sha256": "e996f290139041480f18e6c81ade89709d8f71b63cc021c6b48cfdcf15578331",
768
+ "bytes": 12637
679
769
  },
680
770
  {
681
771
  "path": "skills/story-long-write/scripts/normalize-punctuation.js",
682
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
683
- "bytes": 13083
772
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
773
+ "bytes": 13480
774
+ },
775
+ {
776
+ "path": "skills/story-long-write/scripts/outline_view.py",
777
+ "sha256": "5b0ef00afad7cc08e6656c4e21b090a496717f590ad3c504e30b9c67d7f305b0",
778
+ "bytes": 11951
684
779
  },
685
780
  {
686
781
  "path": "skills/story-long-write/scripts/storyctl.py",
687
- "sha256": "0fe250cbc02376b8216b52ba95310413b728dc4788691baba55e70dda9761f16",
688
- "bytes": 12666
782
+ "sha256": "ebf933b5a3d1f7857f7c48e8b978c98efa1fcede479d16100451c0dc7c2e8b5e",
783
+ "bytes": 15227
784
+ },
785
+ {
786
+ "path": "skills/story-long-write/scripts/style-whitelist.js",
787
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
788
+ "bytes": 1168
689
789
  },
690
790
  {
691
791
  "path": "skills/story-long-write/scripts/tracking_commit.py",
692
- "sha256": "18f273c877a3a22c32614a86b7d7d1c4da99a3f67ee5a422e2cee8bef942e645",
693
- "bytes": 55499
792
+ "sha256": "4a800a244d6808206dad1d753e8f2d95ad16ba7719c87d705d70d0644d48f80b",
793
+ "bytes": 68088
694
794
  },
695
795
  {
696
796
  "path": "skills/story-long-write/scripts/wordcount_core.py",
697
- "sha256": "b900662406d99558e7a7400bff9cc303e1329b1eaa1c755c37d81eab417037f0",
698
- "bytes": 10559
797
+ "sha256": "be250ca969d5963f31e109ddc732622882a32f9a1d6b6db7fb9088d121c32206",
798
+ "bytes": 10739
699
799
  },
700
800
  {
701
801
  "path": "skills/story-review/SKILL.md",
702
- "sha256": "de5e5ecc1f06c78861449ab0f7bcad641ae7c49ce4bf14ee34e0fc6da29ea56b",
703
- "bytes": 39913
802
+ "sha256": "eed14be28c8655204e4ba3b2b99229672338c7354600dee93d7a3c7db50f69a9",
803
+ "bytes": 41946
704
804
  },
705
805
  {
706
806
  "path": "skills/story-review/references/anti-ai-writing.md",
707
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
708
- "bytes": 37029
807
+ "sha256": "90f7d6dcd04dfa62e7f666e7e462ed4e22da4e0ad3750af7ee4b0a86d719dc7c",
808
+ "bytes": 37183
709
809
  },
710
810
  {
711
811
  "path": "skills/story-review/references/author-memory.md",
712
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
713
- "bytes": 9942
812
+ "sha256": "7dc589fc5ede4b45afccec1d3413908061d3db2f2775a7dc115cac618938fe56",
813
+ "bytes": 19899
714
814
  },
715
815
  {
716
816
  "path": "skills/story-review/references/banned-words.md",
717
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
718
- "bytes": 10337
817
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
818
+ "bytes": 10447
719
819
  },
720
820
  {
721
821
  "path": "skills/story-review/references/character-relations.md",
@@ -724,8 +824,8 @@
724
824
  },
725
825
  {
726
826
  "path": "skills/story-review/references/dialogue-mastery.md",
727
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
728
- "bytes": 11327
827
+ "sha256": "55179705ce1539c2674c0d9c478a448cfbeabe85281744266d40249a31bcac84",
828
+ "bytes": 11764
729
829
  },
730
830
  {
731
831
  "path": "skills/story-review/references/plot-core-methods.md",
@@ -739,8 +839,8 @@
739
839
  },
740
840
  {
741
841
  "path": "skills/story-review/references/review-quality.md",
742
- "sha256": "b8c4b0ae2056bb8b3cdf09b8f896974c2071080861f790c57adb1c8bb19072a6",
743
- "bytes": 13991
842
+ "sha256": "38d036c39142635239c5b1252a8198815654a0b8da8cb1a9485942138e43f570",
843
+ "bytes": 12776
744
844
  },
745
845
  {
746
846
  "path": "skills/story-review/references/rubrics/fanqie.md",
@@ -757,45 +857,60 @@
757
857
  "sha256": "39b321a67146e5a39953af174712e5d6ba78440c9acf5f8caecfd9b557ff7d44",
758
858
  "bytes": 1165
759
859
  },
860
+ {
861
+ "path": "skills/story-review/references/style-resolution.md",
862
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
863
+ "bytes": 4017
864
+ },
865
+ {
866
+ "path": "skills/story-review/references/tracking-initialization.md",
867
+ "sha256": "e8e13495b054ebc8b5a70b58a32871aa8bf6b9ff64cee45a228ae7af6837fb5c",
868
+ "bytes": 1137
869
+ },
760
870
  {
761
871
  "path": "skills/story-review/references/tracking-transaction.md",
762
- "sha256": "c1b166f047c5269b9fdac2eb85494efdce51b9b1a3596874ea1c1090ba828b13",
763
- "bytes": 13253
872
+ "sha256": "19abda55bea7654946a4786345058df0d494306c4cf484d9382462e2448c6e1b",
873
+ "bytes": 13119
764
874
  },
765
875
  {
766
876
  "path": "skills/story-review/scripts/author_memory_commit.py",
767
- "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
768
- "bytes": 41806
877
+ "sha256": "3b0545eb6893a949a3b5f9770f0480ee7ee7456911ddf803608249d20a563b1f",
878
+ "bytes": 79698
769
879
  },
770
880
  {
771
881
  "path": "skills/story-review/scripts/check-ai-patterns.js",
772
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
773
- "bytes": 67088
882
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
883
+ "bytes": 67463
774
884
  },
775
885
  {
776
886
  "path": "skills/story-review/scripts/check-degeneration.js",
777
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
778
- "bytes": 14387
887
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
888
+ "bytes": 15104
779
889
  },
780
890
  {
781
891
  "path": "skills/story-review/scripts/normalize-punctuation.js",
782
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
783
- "bytes": 13083
892
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
893
+ "bytes": 13480
894
+ },
895
+ {
896
+ "path": "skills/story-review/scripts/style-whitelist.js",
897
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
898
+ "bytes": 1168
784
899
  },
785
900
  {
786
901
  "path": "skills/story-review/scripts/tracking_commit.py",
787
- "sha256": "18f273c877a3a22c32614a86b7d7d1c4da99a3f67ee5a422e2cee8bef942e645",
788
- "bytes": 55499
902
+ "sha256": "4a800a244d6808206dad1d753e8f2d95ad16ba7719c87d705d70d0644d48f80b",
903
+ "bytes": 68088
789
904
  },
790
905
  {
791
906
  "path": "skills/story-review/scripts/wordcount_core.py",
792
- "sha256": "b900662406d99558e7a7400bff9cc303e1329b1eaa1c755c37d81eab417037f0",
793
- "bytes": 10559
907
+ "sha256": "be250ca969d5963f31e109ddc732622882a32f9a1d6b6db7fb9088d121c32206",
908
+ "bytes": 10739
794
909
  },
795
910
  {
796
911
  "path": "skills/story-setup/SKILL.md",
797
- "sha256": "a5abd4092ee917bb80684cbd5ca3a2d7fd637084ea4a7c821771dbb4988b5cac",
798
- "bytes": 61902
912
+ "sha256": "2504129415f695bf544a045996d0bccd9644c21463fee343a0a80070fd75b5cf",
913
+ "bytes": 66231
799
914
  },
800
915
  {
801
916
  "path": "skills/story-setup/references/agent-references/agent-quality.md",
@@ -809,13 +924,13 @@
809
924
  },
810
925
  {
811
926
  "path": "skills/story-setup/references/agent-references/anti-ai-writing.md",
812
- "sha256": "011bfda41a22f4ba467517bb260954db1cb11ff32a542a887022e51ece1ed717",
813
- "bytes": 37029
927
+ "sha256": "90f7d6dcd04dfa62e7f666e7e462ed4e22da4e0ad3750af7ee4b0a86d719dc7c",
928
+ "bytes": 37183
814
929
  },
815
930
  {
816
931
  "path": "skills/story-setup/references/agent-references/banned-words.md",
817
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
818
- "bytes": 10337
932
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
933
+ "bytes": 10447
819
934
  },
820
935
  {
821
936
  "path": "skills/story-setup/references/agent-references/character-basics.md",
@@ -832,10 +947,15 @@
832
947
  "sha256": "efbe25d74d752c09fe41b0ee91d9a59e4939160cab3715b549deb4b63b42927c",
833
948
  "bytes": 15470
834
949
  },
950
+ {
951
+ "path": "skills/story-setup/references/agent-references/deslop-gates.md",
952
+ "sha256": "b7f8b5d025fb036b74425a1720c88e5aa540bc2ce78fb2bd9ce7c7dfbebbff48",
953
+ "bytes": 12108
954
+ },
835
955
  {
836
956
  "path": "skills/story-setup/references/agent-references/dialogue-mastery.md",
837
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
838
- "bytes": 11327
957
+ "sha256": "55179705ce1539c2674c0d9c478a448cfbeabe85281744266d40249a31bcac84",
958
+ "bytes": 11764
839
959
  },
840
960
  {
841
961
  "path": "skills/story-setup/references/agent-references/emotional-arc-design.md",
@@ -844,8 +964,8 @@
844
964
  },
845
965
  {
846
966
  "path": "skills/story-setup/references/agent-references/format-and-structure.md",
847
- "sha256": "1c5e69b60e87fe07a8425cae8bbdf51f2f47b35d51241397f279d000715066a5",
848
- "bytes": 10538
967
+ "sha256": "4e72e10123fc875f0b392bbb2a3addb1c006ea5c4e4256796deafd287623452e",
968
+ "bytes": 10599
849
969
  },
850
970
  {
851
971
  "path": "skills/story-setup/references/agent-references/genre-prose-cards.md",
@@ -1024,8 +1144,8 @@
1024
1144
  },
1025
1145
  {
1026
1146
  "path": "skills/story-setup/references/agent-references/long-emotional-methods.md",
1027
- "sha256": "767b43cc413a2890bcde021a61da92612f20fd502778bc161c3acc82c055758b",
1028
- "bytes": 10178
1147
+ "sha256": "539f3363f807ed435634ccf45cc4c2c162474f7c51ee1024de2b0f76c98a803d",
1148
+ "bytes": 10316
1029
1149
  },
1030
1150
  {
1031
1151
  "path": "skills/story-setup/references/agent-references/long-genre-catalog.md",
@@ -1039,8 +1159,8 @@
1039
1159
  },
1040
1160
  {
1041
1161
  "path": "skills/story-setup/references/agent-references/long-quality.md",
1042
- "sha256": "35b2658a8a426e974b94927611488eb6deaf3da11dca569ae3260da2f0f131d6",
1043
- "bytes": 2891
1162
+ "sha256": "000cf60933947bc2f000364aeb601271071f1ff8037983d9cb9f48e1c2249005",
1163
+ "bytes": 2921
1044
1164
  },
1045
1165
  {
1046
1166
  "path": "skills/story-setup/references/agent-references/long-reversal.md",
@@ -1089,8 +1209,8 @@
1089
1209
  },
1090
1210
  {
1091
1211
  "path": "skills/story-setup/references/agent-references/short-genre-formulas.md",
1092
- "sha256": "c4ff08dab0359c857b19c4226eb122e72d4f54f59df1f653129ce4e87bba879f",
1093
- "bytes": 21427
1212
+ "sha256": "5e61ed7f77c9c585d6165256dce99bfdbcd03a5d8fc4b8512e14dab14b762848",
1213
+ "bytes": 21439
1094
1214
  },
1095
1215
  {
1096
1216
  "path": "skills/story-setup/references/agent-references/short-paragraph-hooks.md",
@@ -1114,23 +1234,33 @@
1114
1234
  },
1115
1235
  {
1116
1236
  "path": "skills/story-setup/references/agent-references/style-combat-face.md",
1117
- "sha256": "0c3065f3bca11c87daf7fa343e5d0e51981f3adf3a78672ffdaa65222e69bdd0",
1118
- "bytes": 20057
1237
+ "sha256": "d76e218cdae757ff2bc00643061129ed699d20bd27f4757b01bd0c557ddfa78b",
1238
+ "bytes": 20072
1119
1239
  },
1120
1240
  {
1121
1241
  "path": "skills/story-setup/references/agent-references/style-genre-modules.md",
1122
- "sha256": "b4cfe79dd3138bc29f84dfd8178b15476a70b14c5c4943bf8b8b7e393007eada",
1123
- "bytes": 24739
1242
+ "sha256": "6c6c0da902c82f867f2f6a03738764612363ede1ffef52591dbfba1d29554270",
1243
+ "bytes": 24808
1244
+ },
1245
+ {
1246
+ "path": "skills/story-setup/references/agent-references/style-resolution.md",
1247
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
1248
+ "bytes": 4017
1124
1249
  },
1125
1250
  {
1126
1251
  "path": "skills/story-setup/references/agent-references/writing-craft.md",
1127
- "sha256": "d954eebeef4fd9006899dac0718c29a1e4e0464d7287a4e648879097eb6e6ed6",
1128
- "bytes": 24881
1252
+ "sha256": "d387da8be5e0b42c8189778855bf37e9f6280eaa99fe3b30af3c3ac8b3a946a9",
1253
+ "bytes": 31425
1254
+ },
1255
+ {
1256
+ "path": "skills/story-setup/references/diagnostics.md",
1257
+ "sha256": "b3d18c2b371cead22d004b1cac014210a9122ae7f79a125b92d6743e5101bc05",
1258
+ "bytes": 4373
1129
1259
  },
1130
1260
  {
1131
1261
  "path": "skills/story-short-analyze/SKILL.md",
1132
- "sha256": "6bfbb111ef8870599673bfa261311e0275eeace02137a8c3aaf1e7ed452b33b9",
1133
- "bytes": 17296
1262
+ "sha256": "3c9ccd95a5a8b4ff70c171c4d054184386cb729aef66ee3b0f90ea0bbf974aec",
1263
+ "bytes": 18114
1134
1264
  },
1135
1265
  {
1136
1266
  "path": "skills/story-short-analyze/references/analysis-character-basics.md",
@@ -1189,8 +1319,8 @@
1189
1319
  },
1190
1320
  {
1191
1321
  "path": "skills/story-short-analyze/references/analysis-writing-techniques.md",
1192
- "sha256": "7a8a9797b1971ce20306001705d426631b6e93e4ba5eab11b81878f0007928df",
1193
- "bytes": 21760
1322
+ "sha256": "6a0c8bc2c8a91f156707a28ef5a461b49aed22a427e3aa23adb2ed5e22df4345",
1323
+ "bytes": 21707
1194
1324
  },
1195
1325
  {
1196
1326
  "path": "skills/story-short-analyze/references/deconstruction-examples.md",
@@ -1199,8 +1329,8 @@
1199
1329
  },
1200
1330
  {
1201
1331
  "path": "skills/story-short-analyze/references/material-decomposition.md",
1202
- "sha256": "c8dc5acf538e3b85c806f80ab1bea911ac3ab99e436eabb2b576596e64537d86",
1203
- "bytes": 34841
1332
+ "sha256": "9a7dc26a535eb359d2fdaa444bd2f31c998a3e0b21b97d11adbed293e580634d",
1333
+ "bytes": 35604
1204
1334
  },
1205
1335
  {
1206
1336
  "path": "skills/story-short-analyze/references/output-contract.md",
@@ -1219,8 +1349,8 @@
1219
1349
  },
1220
1350
  {
1221
1351
  "path": "skills/story-short-analyze/references/source-story-quality.md",
1222
- "sha256": "82ee323ec9db08d786f4f444418a639a9d959f4f534e289429a8c49818e67391",
1223
- "bytes": 10514
1352
+ "sha256": "f418c7572fa930a2c137b39857cb21ab245cef5496e8dd0344fbe773f58f9eed",
1353
+ "bytes": 10641
1224
1354
  },
1225
1355
  {
1226
1356
  "path": "skills/story-short-analyze/references/zhihu-style.md",
@@ -1229,8 +1359,8 @@
1229
1359
  },
1230
1360
  {
1231
1361
  "path": "skills/story-short-scan/SKILL.md",
1232
- "sha256": "def39be0868b47260e9ed4101bceac32a7582b63c903b8efb98514021e835f8a",
1233
- "bytes": 8989
1362
+ "sha256": "10a656d50c02278f2cfc5fe56f0c78e0052bfcfab7b81cb29a386e1c3d1de220",
1363
+ "bytes": 9316
1234
1364
  },
1235
1365
  {
1236
1366
  "path": "skills/story-short-scan/references/real-market-data.md",
@@ -1244,8 +1374,8 @@
1244
1374
  },
1245
1375
  {
1246
1376
  "path": "skills/story-short-scan/scripts/dz-browse-scraper.js",
1247
- "sha256": "e06c0004ff414fa38d6b8d1b3216937ffd6eeda1e68c49018a34c73ffce0a093",
1248
- "bytes": 8616
1377
+ "sha256": "90552c21552517b2b632fef32bd8f9f39f07164b16bc674b505aef489fae0e71",
1378
+ "bytes": 8578
1249
1379
  },
1250
1380
  {
1251
1381
  "path": "skills/story-short-scan/scripts/heiyan-booklist-scraper.js",
@@ -1254,18 +1384,23 @@
1254
1384
  },
1255
1385
  {
1256
1386
  "path": "skills/story-short-write/SKILL.md",
1257
- "sha256": "c7cb71da8d621bfcea3472f52edf3b3e2b4e87dd35cfc32df2aba73232dc1a4e",
1258
- "bytes": 39406
1387
+ "sha256": "d41caefb4e33788ed9f61658431e0ff0907a86be61eec88b19d0d6173f7c311e",
1388
+ "bytes": 11368
1259
1389
  },
1260
1390
  {
1261
1391
  "path": "skills/story-short-write/references/author-memory.md",
1262
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
1263
- "bytes": 9942
1392
+ "sha256": "7dc589fc5ede4b45afccec1d3413908061d3db2f2775a7dc115cac618938fe56",
1393
+ "bytes": 19899
1264
1394
  },
1265
1395
  {
1266
1396
  "path": "skills/story-short-write/references/banned-words.md",
1267
- "sha256": "bb9512f5b81e2dd0d8d47a8165b0372ed6c147475502a4aa207f763ab694d5e1",
1268
- "bytes": 10337
1397
+ "sha256": "f68afa5493557acd331da18ea07b14af7dc357fd3c8cd7e3c56be39ff23f85bd",
1398
+ "bytes": 10447
1399
+ },
1400
+ {
1401
+ "path": "skills/story-short-write/references/benchmark-recall.md",
1402
+ "sha256": "635c39c74216af70b794a9907cacb0fef9e322c79e7a1c35a57fdbd99b35185b",
1403
+ "bytes": 4174
1269
1404
  },
1270
1405
  {
1271
1406
  "path": "skills/story-short-write/references/cross-book-recall.md",
@@ -1274,8 +1409,8 @@
1274
1409
  },
1275
1410
  {
1276
1411
  "path": "skills/story-short-write/references/dialogue-mastery.md",
1277
- "sha256": "b539a561872e2563316c33b300016a8f0150afba02a9dc33471010e3e81cc754",
1278
- "bytes": 11327
1412
+ "sha256": "55179705ce1539c2674c0d9c478a448cfbeabe85281744266d40249a31bcac84",
1413
+ "bytes": 11764
1279
1414
  },
1280
1415
  {
1281
1416
  "path": "skills/story-short-write/references/emotional-methods.md",
@@ -1284,38 +1419,38 @@
1284
1419
  },
1285
1420
  {
1286
1421
  "path": "skills/story-short-write/references/genre-styles/世情打脸.md",
1287
- "sha256": "54b4812b6ee102ff743fac28e6baec81e1c6e9ca6b83c9bed274bae78ec1a6c6",
1288
- "bytes": 16476
1422
+ "sha256": "d23e9ccb9e083a4c33f26f55f41b85558e47c3abf4315deb602713887fe83865",
1423
+ "bytes": 16485
1289
1424
  },
1290
1425
  {
1291
1426
  "path": "skills/story-short-write/references/genre-styles/双男主.md",
1292
- "sha256": "e92352d371f1498c1fd2e080ad019b90630580a8bd8000cbb7693767377d09a8",
1427
+ "sha256": "ecdcd8c2f93f2b7beef0cfcc453143022b4abbc0429d5eeb22413e6aa913a7ac",
1293
1428
  "bytes": 12646
1294
1429
  },
1295
1430
  {
1296
1431
  "path": "skills/story-short-write/references/genre-styles/复仇打脸.md",
1297
- "sha256": "c3dcf50e806fe39a1727b2a4b694302bfc85b53a2ca61e3e7d23ab5ef4a325a1",
1432
+ "sha256": "f66954aed7c290b58311104155644780982a761e8c7c0156bed27b38e1f47cf8",
1298
1433
  "bytes": 14846
1299
1434
  },
1300
1435
  {
1301
1436
  "path": "skills/story-short-write/references/genre-styles/宅斗宫斗.md",
1302
- "sha256": "8e6d40bfcd4332f36411f8eba6c32d55614ab890284a506eba82c9fe477f65cb",
1303
- "bytes": 15819
1437
+ "sha256": "388b075dce95e34bb3954b2c5e96ec7938d3a5c769eea18644e9786be444a302",
1438
+ "bytes": 15840
1304
1439
  },
1305
1440
  {
1306
1441
  "path": "skills/story-short-write/references/genre-styles/总裁豪门.md",
1307
- "sha256": "8dafcfce78d62641a3e4640e8eb449d2a24ac31648131a3184d871ae221de99e",
1308
- "bytes": 17423
1442
+ "sha256": "0c7271a9768d7d83f673e03c40a2b4284f4796e1a34e6fb5def2edfd4d142176",
1443
+ "bytes": 17383
1309
1444
  },
1310
1445
  {
1311
1446
  "path": "skills/story-short-write/references/genre-styles/悬疑.md",
1312
- "sha256": "509be5eb455e84a4e0b6b302fa67afe81f912d955cc11bdd632ded837ba37ba9",
1313
- "bytes": 13648
1447
+ "sha256": "a9aa811afc4292c57531ab398ddc703b3be18156bf3a97f7ca42e8dd3eff6323",
1448
+ "bytes": 13711
1314
1449
  },
1315
1450
  {
1316
1451
  "path": "skills/story-short-write/references/genre-styles/民俗怪谈.md",
1317
- "sha256": "3cc947c44bafca816e45097406c0612b6d20f1db7e776fee96a9f6f390689e40",
1318
- "bytes": 13216
1452
+ "sha256": "2199376580586788f17f67439300582b2b0e84da4a3d7e57d2e0fc34bfd1bf8b",
1453
+ "bytes": 13204
1319
1454
  },
1320
1455
  {
1321
1456
  "path": "skills/story-short-write/references/genre-styles/沙雕脑洞.md",
@@ -1324,23 +1459,23 @@
1324
1459
  },
1325
1460
  {
1326
1461
  "path": "skills/story-short-write/references/genre-styles/甜宠.md",
1327
- "sha256": "9c1d6b910b5e678bce09091e138081c872229af236999ce58c5bf8b683229a22",
1328
- "bytes": 11853
1462
+ "sha256": "f9dafd51e1e69bfacccfe588769eb43f58619f283d07847faa72e80a97f78d91",
1463
+ "bytes": 11894
1329
1464
  },
1330
1465
  {
1331
1466
  "path": "skills/story-short-write/references/genre-styles/追妻火葬场.md",
1332
- "sha256": "19490647fea878aff99b9dac87c02faa5a6a0149475dc95b6fe21bf4fb27c286",
1333
- "bytes": 15967
1467
+ "sha256": "474f316409f1fd0b0142304d5832d3a77eea830f09a88c91a4425376d6d31ff7",
1468
+ "bytes": 15930
1334
1469
  },
1335
1470
  {
1336
1471
  "path": "skills/story-short-write/references/genre-writing-formulas.md",
1337
- "sha256": "c4ff08dab0359c857b19c4226eb122e72d4f54f59df1f653129ce4e87bba879f",
1338
- "bytes": 21427
1472
+ "sha256": "5e61ed7f77c9c585d6165256dce99bfdbcd03a5d8fc4b8512e14dab14b762848",
1473
+ "bytes": 21439
1339
1474
  },
1340
1475
  {
1341
1476
  "path": "skills/story-short-write/references/genre-writing-techniques.md",
1342
- "sha256": "113cfab1a27a7a67e40dd476072df7907ca344285c85415dfd7014ef348dd375",
1343
- "bytes": 23213
1477
+ "sha256": "9314d0567f1673afa9e8c82c3c364fad0e974fabc9667417ae95b7596f80b468",
1478
+ "bytes": 23162
1344
1479
  },
1345
1480
  {
1346
1481
  "path": "skills/story-short-write/references/hooks-chapter.md",
@@ -1357,25 +1492,30 @@
1357
1492
  "sha256": "1390a94a82e970c0067c773b02131a97bbd156516fda79c6e64947b26419f242",
1358
1493
  "bytes": 9076
1359
1494
  },
1495
+ {
1496
+ "path": "skills/story-short-write/references/reference-index.md",
1497
+ "sha256": "e6c9993591de6c637c54ae6fca02bed6d48fc51993a7fe5cdbb511dca6d176c8",
1498
+ "bytes": 6982
1499
+ },
1360
1500
  {
1361
1501
  "path": "skills/story-short-write/references/short-craft.md",
1362
- "sha256": "1e2be00eec0fbc0f4bca6583861d21c2484f2fe1389f34f0a4703ddbe29648eb",
1363
- "bytes": 13960
1502
+ "sha256": "8c263a10bca942e89b70c9c7a44e22e77ba9b005d5f50cb3641bcd75505611b8",
1503
+ "bytes": 13577
1364
1504
  },
1365
1505
  {
1366
1506
  "path": "skills/story-short-write/references/short-deslop.md",
1367
- "sha256": "ad2f8d82d6f37b7bc080803844411f7b46937f95361c1fe54c0fd2b8923602e6",
1368
- "bytes": 8592
1507
+ "sha256": "cb9c0c1d2ba2266edc71968db553e44ffdd21fdd19263ebf41884000f4dda668",
1508
+ "bytes": 8543
1369
1509
  },
1370
1510
  {
1371
1511
  "path": "skills/story-short-write/references/short-format.md",
1372
- "sha256": "675843a3ad707ac06286fea4cd59aa45f54a62b0c4675600d5ff6bab1deed9c4",
1373
- "bytes": 8649
1512
+ "sha256": "8e01dd33e848d8561760ea02c00bdaffa0c2d50e5c174792e15381803737edfb",
1513
+ "bytes": 8835
1374
1514
  },
1375
1515
  {
1376
1516
  "path": "skills/story-short-write/references/short-prose-quality.md",
1377
- "sha256": "d7963fb96a55a29a0ad866c222e09d1697b837c25579422a07cde3a1e55e2fde",
1378
- "bytes": 10536
1517
+ "sha256": "8f27971e7433a51895cf7307e1d4a44d8b777b7244b6b340359d84b160a62ce3",
1518
+ "bytes": 10663
1379
1519
  },
1380
1520
  {
1381
1521
  "path": "skills/story-short-write/references/short-reversal.md",
@@ -1387,6 +1527,11 @@
1387
1527
  "sha256": "40b07607cc4b4ff96fc7bcdf1b65dfa1d7f208bd2b78ae68eda0adca34ca5a1b",
1388
1528
  "bytes": 15939
1389
1529
  },
1530
+ {
1531
+ "path": "skills/story-short-write/references/style-resolution.md",
1532
+ "sha256": "95a863cd7cd89b983d9d3702756e176d51ea69996e6ba7ed671123368f7ee1d5",
1533
+ "bytes": 4017
1534
+ },
1390
1535
  {
1391
1536
  "path": "skills/story-short-write/references/submission-craft.md",
1392
1537
  "sha256": "0de2487e37de3eccb3005e57587b7ddb409538a36836b948f6dd61e0071f31a7",
@@ -1397,35 +1542,50 @@
1397
1542
  "sha256": "8b8d61b37e2ca762b12431717b9496cc789dbb2baf1666a337f4eb6c2eb095b8",
1398
1543
  "bytes": 6141
1399
1544
  },
1545
+ {
1546
+ "path": "skills/story-short-write/references/workflow-design.md",
1547
+ "sha256": "c199f83a008374b6f09633c166de00ad6b6a49591e96072e719ee839da1f7f4f",
1548
+ "bytes": 5289
1549
+ },
1550
+ {
1551
+ "path": "skills/story-short-write/references/workflow-draft.md",
1552
+ "sha256": "9cbca140a370210bdce36984f06f165b41f4e5b57445b55a16d08107b189dbf4",
1553
+ "bytes": 11997
1554
+ },
1555
+ {
1556
+ "path": "skills/story-short-write/references/workflow-revision.md",
1557
+ "sha256": "11986024f503b437d6f0ce4fe0ddd6be9cd0dcb55af270c509fc2f3ace4a0d0c",
1558
+ "bytes": 4081
1559
+ },
1400
1560
  {
1401
1561
  "path": "skills/story-short-write/references/writing-workflow.md",
1402
- "sha256": "dd0a9039690084797fdc85152d41fda228f2ee9630f8e37a70b67b9e9d3479d0",
1403
- "bytes": 10296
1562
+ "sha256": "ce6a6cf589a08dddf22f2b4c0020cc956235d0d095060d44c91fb5451de5ea27",
1563
+ "bytes": 10262
1404
1564
  },
1405
1565
  {
1406
1566
  "path": "skills/story-short-write/scripts/author_memory_commit.py",
1407
- "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
1408
- "bytes": 41806
1567
+ "sha256": "3b0545eb6893a949a3b5f9770f0480ee7ee7456911ddf803608249d20a563b1f",
1568
+ "bytes": 79698
1409
1569
  },
1410
1570
  {
1411
1571
  "path": "skills/story-short-write/scripts/check-ai-patterns.js",
1412
- "sha256": "90a2fc9c5ab4a9105714c439ab0c8212035a18091af01593700286afdc8b2707",
1413
- "bytes": 67088
1572
+ "sha256": "f58254b35af44e004e1a08252d210866647e50c011f6edd1aade4e154af12382",
1573
+ "bytes": 67463
1414
1574
  },
1415
1575
  {
1416
1576
  "path": "skills/story-short-write/scripts/check-degeneration.js",
1417
- "sha256": "d6c212118dcf5c89018f337e05833265d6741d1d178789efba5b04f37a01a17d",
1418
- "bytes": 14387
1577
+ "sha256": "6c065c563e82b4b2ce4d66ad3dc1f57f0b742de41a8a65c2ae677ebeff5b7dea",
1578
+ "bytes": 15104
1419
1579
  },
1420
1580
  {
1421
1581
  "path": "skills/story-short-write/scripts/check-delivery-contract.js",
1422
- "sha256": "15ab29cfc17d0f466b80a097ce4cfc0a04b70040df3ae6b70abf08f282cb3d91",
1423
- "bytes": 7301
1582
+ "sha256": "a37984b28e44963e64bb6247a80f4eb72c7d539386229d5e4d7281e59ea45902",
1583
+ "bytes": 9055
1424
1584
  },
1425
1585
  {
1426
1586
  "path": "skills/story-short-write/scripts/check-outline-copy.js",
1427
- "sha256": "574dd78da11f934837e2b56f658b6c598935e16dd7dec2830272d0134d1587d3",
1428
- "bytes": 9845
1587
+ "sha256": "e996f290139041480f18e6c81ade89709d8f71b63cc021c6b48cfdcf15578331",
1588
+ "bytes": 12637
1429
1589
  },
1430
1590
  {
1431
1591
  "path": "skills/story-short-write/scripts/check-phase2-contract.js",
@@ -1434,28 +1594,33 @@
1434
1594
  },
1435
1595
  {
1436
1596
  "path": "skills/story-short-write/scripts/normalize-punctuation.js",
1437
- "sha256": "b9fa7ea6482da1ab76de4c1268d9583ef777d13be4a9f57cb6f8725fe1a7f1da",
1438
- "bytes": 13083
1597
+ "sha256": "8424ba7ebf6ea2b54a9c9f5812bdaa61e532e0c5da4527a73171e9f4531c179c",
1598
+ "bytes": 13480
1599
+ },
1600
+ {
1601
+ "path": "skills/story-short-write/scripts/style-whitelist.js",
1602
+ "sha256": "398018c5acff324009493d1e7661f8864bf62d6d95616d00fa5141cc86eb3908",
1603
+ "bytes": 1168
1439
1604
  },
1440
1605
  {
1441
1606
  "path": "skills/story/SKILL.md",
1442
- "sha256": "16d46f035a5dfdf79769e60fc2911efa5b996f6a2509ca2354a84ffa8ccc7e02",
1443
- "bytes": 10883
1607
+ "sha256": "aca12db9e3872b1595a1047e124dfce3a8a034ee0ab98c80213c2992b1a0d853",
1608
+ "bytes": 12019
1444
1609
  },
1445
1610
  {
1446
1611
  "path": "skills/story/VERSION",
1447
- "sha256": "112064d2eef87b1b3566a13e7673e42db7030d364bc7d8f9f6f53d339119a0ac",
1612
+ "sha256": "a66780da23103beaf12432b418508966b31a2a3a787f9468a5b6cdaa8667c1ef",
1448
1613
  "bytes": 6
1449
1614
  },
1450
1615
  {
1451
1616
  "path": "skills/story/references/author-memory.md",
1452
- "sha256": "04077171ce2eb189985b555362fce60daad9fa3f966e32273e277062f65973d1",
1453
- "bytes": 9942
1617
+ "sha256": "7dc589fc5ede4b45afccec1d3413908061d3db2f2775a7dc115cac618938fe56",
1618
+ "bytes": 19899
1454
1619
  },
1455
1620
  {
1456
1621
  "path": "skills/story/scripts/author_memory_commit.py",
1457
- "sha256": "2c6741ff9d6efb5ab59be6c247cd4935195c8ce37096a5c1fc5a071065c7eeee",
1458
- "bytes": 41806
1622
+ "sha256": "3b0545eb6893a949a3b5f9770f0480ee7ee7456911ddf803608249d20a563b1f",
1623
+ "bytes": 79698
1459
1624
  }
1460
1625
  ]
1461
1626
  }