@oh-story/dsh 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/README.md +58 -12
  2. package/lib/client.js +2970 -537
  3. package/lib/client.js.map +4 -4
  4. package/lib/drama/manifest.json +218 -178
  5. package/lib/drama/skills/short-drama/SKILL.md +110 -117
  6. package/lib/drama/skills/short-drama/references/audience-reveal.md +14 -67
  7. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +26 -77
  8. package/lib/drama/skills/short-drama/references/creator-documents.md +204 -0
  9. package/lib/drama/skills/short-drama/references/creator-workflow.md +73 -63
  10. package/lib/drama/skills/short-drama/references/knowhow-index.md +5 -0
  11. package/lib/drama/skills/short-drama/references/look-development.md +2 -3
  12. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +14 -48
  13. package/lib/drama/skills/short-drama/references/production-form-profiles.md +1 -1
  14. package/lib/drama/skills/short-drama/references/reference-roles.md +32 -135
  15. package/lib/drama/skills/short-drama/references/runtime-preflight.md +16 -19
  16. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +1002 -0
  17. package/lib/drama/skills/short-drama/scripts/project_tool.py +485 -5
  18. package/lib/drama/skills/short-drama-assets/SKILL.md +59 -170
  19. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +18 -25
  20. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +13 -15
  21. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +11 -14
  22. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +116 -0
  23. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +6 -12
  24. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -11
  25. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +21 -2
  26. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +12 -105
  27. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +12 -32
  28. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +1 -1
  29. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +45 -155
  30. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +12 -13
  31. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +12 -13
  32. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +39 -51
  33. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +3 -4
  34. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +15 -14
  35. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +11 -15
  36. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +1 -1
  37. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +4 -7
  38. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +23 -23
  39. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +8 -65
  40. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +8 -8
  41. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +4 -2
  42. package/lib/drama/skills/short-drama-produce/SKILL.md +67 -15
  43. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +65 -8
  44. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +85 -0
  45. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +27 -10
  46. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +362 -3
  47. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +627 -40
  48. package/lib/drama/skills/short-drama-produce/scripts/selftest.py +5 -4
  49. package/lib/drama/skills/short-drama-review/SKILL.md +61 -123
  50. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -15
  51. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +15 -16
  52. package/lib/drama/skills/short-drama-review/references/project-calibration.md +7 -9
  53. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -9
  54. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +9 -13
  55. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +104 -4
  56. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +27 -19
  57. package/lib/drama/skills/short-drama-review/references/stage-contract.md +4 -63
  58. package/lib/drama/skills/short-drama-review/scripts/review_check.py +1 -1
  59. package/lib/drama/skills/short-drama-storyboard/SKILL.md +116 -238
  60. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +1 -1
  61. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +9 -34
  62. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
  63. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +5 -10
  64. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +12 -7
  65. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +19 -4
  66. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +27 -62
  67. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +16 -25
  68. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +21 -23
  69. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -10
  70. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +9 -13
  71. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +16 -71
  72. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +1 -1
  73. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +123 -230
  74. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +6 -1
  75. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +17 -1
  76. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +10 -8
  77. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +24 -6
  78. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +2 -2
  79. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +154 -0
  80. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +35 -27
  81. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +8 -11
  82. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +13 -10
  83. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +34 -63
  84. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +41 -0
  85. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +66 -0
  86. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +17 -73
  87. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +115 -0
  88. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +1 -1
  89. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +1 -1
  90. package/lib/drama/skills/short-drama-write/SKILL.md +74 -268
  91. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +7 -0
  92. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +17 -43
  93. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +15 -15
  94. package/lib/drama/skills/short-drama-write/references/script-craft.md +208 -21
  95. package/lib/drama/skills/short-drama-write/references/stage-contract.md +11 -70
  96. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +1 -1
  97. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +2 -2
  98. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +1 -1
  99. package/lib/index.js +971 -46
  100. package/lib/index.js.map +4 -4
  101. package/lib/novel-to-game/LICENSE +21 -0
  102. package/lib/novel-to-game/README.md +180 -0
  103. package/lib/novel-to-game/README_ZH.md +178 -0
  104. package/lib/novel-to-game/VERSION +1 -0
  105. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +217 -0
  106. package/lib/novel-to-game/examples/jin-ping-mei/build/app/.vercelignore +3 -0
  107. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +130 -0
  108. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp +0 -0
  109. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp +0 -0
  110. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/meng.webp +0 -0
  111. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pan.webp +0 -0
  112. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pinger.webp +0 -0
  113. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/xuee.webp +0 -0
  114. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/yue.webp +0 -0
  115. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
  116. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp +0 -0
  117. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_alliance.webp +0 -0
  118. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day10.webp +0 -0
  119. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
  120. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp +0 -0
  121. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/title_new_guofeng.webp +0 -0
  122. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_pinger.webp +0 -0
  123. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_xuee.webp +0 -0
  124. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_meng.webp +0 -0
  125. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pan.webp +0 -0
  126. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pinger.webp +0 -0
  127. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/explicit.webp +0 -0
  128. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/prelude.webp +0 -0
  129. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/meng.webp +0 -0
  130. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pan.webp +0 -0
  131. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pinger.webp +0 -0
  132. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/xuee.webp +0 -0
  133. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/yue.webp +0 -0
  134. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/explicit.webp +0 -0
  135. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/prelude.webp +0 -0
  136. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/explicit.webp +0 -0
  137. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/prelude.webp +0 -0
  138. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/explicit.webp +0 -0
  139. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/prelude.webp +0 -0
  140. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/explicit.webp +0 -0
  141. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp +0 -0
  142. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/meng/night.webp +0 -0
  143. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pan/night.webp +0 -0
  144. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pinger/night.webp +0 -0
  145. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/xuee/night.webp +0 -0
  146. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/yue/night.webp +0 -0
  147. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
  148. package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp +0 -0
  149. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +1105 -0
  150. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +2539 -0
  151. package/lib/novel-to-game/examples/jin-ping-mei/build/app/index.html +18 -0
  152. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/assets.js +147 -0
  153. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/audio.js +332 -0
  154. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +7472 -0
  155. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +13077 -0
  156. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +3028 -0
  157. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +32 -0
  158. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +10 -0
  159. package/lib/novel-to-game/examples/jin-ping-mei/build/app/vercel.json +23 -0
  160. package/lib/novel-to-game/examples/jin-ping-mei/build/art/generated-art.json +161 -0
  161. package/lib/novel-to-game/examples/jin-ping-mei/example.json +12 -0
  162. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +31 -0
  163. package/lib/novel-to-game/examples/jin-ping-mei/qa/playable-model.json +99 -0
  164. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +41 -0
  165. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +129 -0
  166. package/lib/novel-to-game/manifest.json +508 -0
  167. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +73 -0
  168. package/lib/novel-to-game/skills/game-art-direction/agents/openai.yaml +4 -0
  169. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +119 -0
  170. package/lib/novel-to-game/skills/game-build/SKILL.md +84 -0
  171. package/lib/novel-to-game/skills/game-build/agents/openai.yaml +4 -0
  172. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +109 -0
  173. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +56 -0
  174. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +81 -0
  175. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +37 -0
  176. package/lib/novel-to-game/skills/game-concept/SKILL.md +72 -0
  177. package/lib/novel-to-game/skills/game-concept/agents/openai.yaml +4 -0
  178. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +94 -0
  179. package/lib/novel-to-game/skills/game-qa/SKILL.md +50 -0
  180. package/lib/novel-to-game/skills/game-qa/agents/openai.yaml +4 -0
  181. package/lib/novel-to-game/skills/game-qa/references/qa-contract.md +66 -0
  182. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +45 -0
  183. package/lib/novel-to-game/skills/game-world-design/SKILL.md +63 -0
  184. package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +4 -0
  185. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +59 -0
  186. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +53 -0
  187. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +84 -0
  188. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +56 -0
  189. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +124 -0
  190. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +77 -0
  191. package/lib/novel-to-game/skills/novel-game-analyze/agents/openai.yaml +4 -0
  192. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +65 -0
  193. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +71 -0
  194. package/lib/novel-to-game/skills/novel-to-game/agents/openai.yaml +4 -0
  195. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +42 -0
  196. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +51 -0
  197. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +65 -0
  198. package/lib/oh-story/manifest.json +419 -309
  199. package/lib/oh-story/roles/character-designer.md +4 -4
  200. package/lib/oh-story/roles/consistency-checker.md +1 -1
  201. package/lib/oh-story/roles/narrative-writer.md +41 -42
  202. package/lib/oh-story/roles/story-architect.md +19 -23
  203. package/lib/oh-story/roles/story-explorer.md +8 -5
  204. package/lib/oh-story/skills/browser-cdp/SKILL.md +1 -1
  205. package/lib/oh-story/skills/story/SKILL.md +16 -9
  206. package/lib/oh-story/skills/story/VERSION +1 -1
  207. package/lib/oh-story/skills/story/references/author-memory.md +163 -0
  208. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +871 -0
  209. package/lib/oh-story/skills/story-cover/SKILL.md +1 -1
  210. package/lib/oh-story/skills/story-deslop/SKILL.md +10 -5
  211. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +2 -1
  212. package/lib/oh-story/skills/story-deslop/references/author-memory.md +163 -0
  213. package/lib/oh-story/skills/story-deslop/references/banned-words.md +6 -4
  214. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +871 -0
  215. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +64 -1
  216. package/lib/oh-story/skills/story-import/SKILL.md +21 -8
  217. package/lib/oh-story/skills/story-import/references/format-and-structure.md +9 -10
  218. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +2 -2
  219. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +1 -1
  220. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +14 -6
  221. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +251 -0
  222. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +98 -9
  223. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +246 -0
  224. package/lib/oh-story/skills/story-long-analyze/SKILL.md +4 -4
  225. package/lib/oh-story/skills/story-long-scan/SKILL.md +1 -1
  226. package/lib/oh-story/skills/story-long-write/SKILL.md +35 -21
  227. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +2 -1
  228. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +7 -3
  229. package/lib/oh-story/skills/story-long-write/references/author-memory.md +163 -0
  230. package/lib/oh-story/skills/story-long-write/references/banned-words.md +6 -4
  231. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +6 -6
  232. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
  233. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +1 -1
  234. package/lib/oh-story/skills/{story-setup/references/agent-references/hooks-chapter.md → story-long-write/references/long-chapter-hooks.md} +5 -5
  235. package/lib/oh-story/skills/story-long-write/references/{quality-checklist.md → long-chapter-quality.md} +2 -1
  236. package/lib/oh-story/skills/story-long-write/references/long-format.md +42 -0
  237. package/lib/oh-story/skills/{story-setup/references/agent-references/genre-catalog.md → story-long-write/references/long-genre-catalog.md} +11 -97
  238. package/lib/oh-story/skills/story-long-write/references/{genre-core-mechanics.md → long-genre-mechanics.md} +1 -1
  239. package/lib/oh-story/skills/story-long-write/references/{reversal-toolkit.md → long-reversal.md} +18 -32
  240. package/lib/oh-story/skills/story-long-write/references/{hooks-suspense.md → long-suspense.md} +6 -6
  241. package/lib/oh-story/skills/story-long-write/references/opening-design.md +1 -1
  242. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +1 -1
  243. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  244. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +14 -6
  245. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +32 -27
  246. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +5 -4
  247. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +2 -2
  248. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +17 -11
  249. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +54 -54
  250. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +871 -0
  251. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +64 -1
  252. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +251 -0
  253. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +303 -0
  254. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +98 -9
  255. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +246 -0
  256. package/lib/oh-story/skills/story-review/SKILL.md +26 -17
  257. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +2 -1
  258. package/lib/oh-story/skills/story-review/references/author-memory.md +163 -0
  259. package/lib/oh-story/skills/story-review/references/banned-words.md +6 -4
  260. package/lib/oh-story/skills/story-review/references/{quality-checklist.md → review-quality.md} +22 -21
  261. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +14 -6
  262. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +871 -0
  263. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +64 -1
  264. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +98 -9
  265. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +246 -0
  266. package/lib/oh-story/skills/story-setup/SKILL.md +85 -41
  267. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +72 -0
  268. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +55 -0
  269. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +2 -1
  270. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +6 -4
  271. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +9 -10
  272. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
  273. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +1 -1
  274. package/lib/oh-story/skills/{story-short-analyze/references/hooks-chapter.md → story-setup/references/agent-references/long-chapter-hooks.md} +5 -5
  275. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +209 -0
  276. package/lib/oh-story/skills/{story-long-write/references/genre-catalog.md → story-setup/references/agent-references/long-genre-catalog.md} +11 -97
  277. package/lib/oh-story/skills/story-setup/references/agent-references/{genre-core-mechanics.md → long-genre-mechanics.md} +1 -1
  278. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +40 -0
  279. package/lib/oh-story/skills/{story-short-write/references/reversal-toolkit.md → story-setup/references/agent-references/long-reversal.md} +18 -32
  280. package/lib/oh-story/skills/{story-short-write/references/hooks-suspense.md → story-setup/references/agent-references/long-suspense.md} +6 -6
  281. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +1 -1
  282. package/lib/oh-story/skills/story-setup/references/agent-references/{emotional-methods.md → short-emotional-methods.md} +4 -4
  283. package/lib/oh-story/skills/{story-long-write/references/genre-writing-formulas.md → story-setup/references/agent-references/short-genre-formulas.md} +32 -44
  284. package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +39 -0
  285. package/lib/oh-story/skills/story-setup/references/agent-references/{reversal-toolkit.md → short-reversal.md} +29 -23
  286. package/lib/oh-story/skills/story-setup/references/agent-references/{hooks-suspense.md → short-suspense.md} +31 -31
  287. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  288. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +55 -55
  289. package/lib/oh-story/skills/story-short-analyze/SKILL.md +28 -28
  290. package/lib/oh-story/skills/story-short-analyze/references/{character-basics.md → analysis-character-basics.md} +1 -1
  291. package/lib/oh-story/skills/story-short-analyze/references/{character-design-methods.md → analysis-character-design.md} +1 -1
  292. package/lib/oh-story/skills/story-short-analyze/references/{character-relations.md → analysis-character-relations.md} +1 -1
  293. package/lib/oh-story/skills/story-short-analyze/references/{hooks-paragraph.md → analysis-paragraph-hooks.md} +1 -1
  294. package/lib/oh-story/skills/story-short-analyze/references/{genre-readers.md → analysis-reader-profile.md} +2 -2
  295. package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +45 -0
  296. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +65 -0
  297. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +77 -0
  298. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +82 -0
  299. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +50 -0
  300. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +98 -0
  301. package/lib/oh-story/skills/story-short-analyze/references/{genre-writing-techniques.md → analysis-writing-techniques.md} +21 -19
  302. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +1 -1
  303. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +21 -28
  304. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +1 -1
  305. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +17 -17
  306. package/lib/oh-story/skills/story-short-analyze/references/{quality-checklist.md → source-story-quality.md} +28 -49
  307. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +2 -2
  308. package/lib/oh-story/skills/story-short-scan/SKILL.md +1 -1
  309. package/lib/oh-story/skills/story-short-write/SKILL.md +78 -55
  310. package/lib/oh-story/skills/story-short-write/references/author-memory.md +163 -0
  311. package/lib/oh-story/skills/story-short-write/references/banned-words.md +6 -4
  312. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +3 -3
  313. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +4 -4
  314. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +3 -3
  315. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +2 -2
  316. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +3 -3
  317. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +6 -6
  318. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +3 -3
  319. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +4 -4
  320. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +7 -7
  321. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +5 -5
  322. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +4 -4
  323. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +3 -3
  324. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +32 -44
  325. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +20 -18
  326. package/lib/oh-story/skills/story-short-write/references/output-contract.md +1 -1
  327. package/lib/oh-story/skills/story-short-write/references/short-craft.md +18 -18
  328. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +1 -1
  329. package/lib/oh-story/skills/story-short-write/references/short-format.md +38 -8
  330. package/lib/oh-story/skills/story-short-write/references/{quality-checklist.md → short-prose-quality.md} +22 -21
  331. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +355 -0
  332. package/lib/oh-story/skills/{story-short-analyze/references/hooks-suspense.md → story-short-write/references/short-suspense.md} +31 -31
  333. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +2 -2
  334. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +31 -22
  335. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +871 -0
  336. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +64 -1
  337. package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +212 -0
  338. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +363 -0
  339. package/lib/types/client/drama-production-view.d.ts +34 -0
  340. package/lib/types/client/drama-production-view.d.ts.map +1 -0
  341. package/lib/types/client/drama-production.d.ts +92 -0
  342. package/lib/types/client/drama-production.d.ts.map +1 -0
  343. package/lib/types/client/file-activity.d.ts +9 -2
  344. package/lib/types/client/file-activity.d.ts.map +1 -1
  345. package/lib/types/client/index.d.ts +1 -1
  346. package/lib/types/client/index.d.ts.map +1 -1
  347. package/lib/types/client/production-intents.d.ts +9 -0
  348. package/lib/types/client/production-intents.d.ts.map +1 -0
  349. package/lib/types/client/production-prompts.d.ts +9 -0
  350. package/lib/types/client/production-prompts.d.ts.map +1 -0
  351. package/lib/types/client/production-runtime.d.ts +58 -0
  352. package/lib/types/client/production-runtime.d.ts.map +1 -0
  353. package/lib/types/client/video-studio.d.ts +41 -0
  354. package/lib/types/client/video-studio.d.ts.map +1 -0
  355. package/lib/types/client/workbench-ui.d.ts +5 -0
  356. package/lib/types/client/workbench-ui.d.ts.map +1 -0
  357. package/lib/types/game-verification.d.ts +16 -0
  358. package/lib/types/game-verification.d.ts.map +1 -0
  359. package/lib/types/index.d.ts +5 -2
  360. package/lib/types/index.d.ts.map +1 -1
  361. package/lib/types/production-intent.d.ts +21 -0
  362. package/lib/types/production-intent.d.ts.map +1 -0
  363. package/lib/types/production-tool.d.ts +5 -0
  364. package/lib/types/production-tool.d.ts.map +1 -0
  365. package/lib/types/reference-tool.d.ts +6 -0
  366. package/lib/types/reference-tool.d.ts.map +1 -0
  367. package/lib/types/role-provider.d.ts.map +1 -1
  368. package/lib/types/role-tool.d.ts +3 -1
  369. package/lib/types/role-tool.d.ts.map +1 -1
  370. package/lib/types/skill-provider.d.ts +7 -0
  371. package/lib/types/skill-provider.d.ts.map +1 -1
  372. package/lib/types/video-project.d.ts +42 -0
  373. package/lib/types/video-project.d.ts.map +1 -0
  374. package/lib/types/workspace-request-trust.d.ts +6 -0
  375. package/lib/types/workspace-request-trust.d.ts.map +1 -1
  376. package/lib/types/workspace-route.d.ts +20 -0
  377. package/lib/types/workspace-route.d.ts.map +1 -1
  378. package/lib/video-recap/CHANGELOG.md +282 -0
  379. package/lib/video-recap/LICENSE +21 -0
  380. package/lib/video-recap/README.en.md +257 -0
  381. package/lib/video-recap/README.md +255 -0
  382. package/lib/video-recap/manifest.json +684 -0
  383. package/lib/video-recap/skills/video-assemble/SKILL.md +97 -0
  384. package/lib/video-recap/skills/video-assemble/references/jianying/LICENSE.duo-video +21 -0
  385. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +15 -0
  386. package/lib/video-recap/skills/video-assemble/references/jianying/empty_draft_meta_info.json +69 -0
  387. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_segment.json +84 -0
  388. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_video_material.json +98 -0
  389. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_draft.json +204 -0
  390. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_material_video.json +83 -0
  391. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_meta_material_value.json +23 -0
  392. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_project_info.json +133 -0
  393. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_segment.json +70 -0
  394. package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_text_styles.json +30 -0
  395. package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_audio.json +41 -0
  396. package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_text.json +109 -0
  397. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +88 -0
  398. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +345 -0
  399. package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +34 -0
  400. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +305 -0
  401. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +94 -0
  402. package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +205 -0
  403. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +555 -0
  404. package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +261 -0
  405. package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +767 -0
  406. package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +111 -0
  407. package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +24 -0
  408. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +109 -0
  409. package/lib/video-recap/skills/video-assemble/scripts/jianying_templates.py +37 -0
  410. package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +191 -0
  411. package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +75 -0
  412. package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +394 -0
  413. package/lib/video-recap/skills/video-assemble/scripts/lib.py +239 -0
  414. package/lib/video-recap/skills/video-assemble/scripts/media.py +243 -0
  415. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +477 -0
  416. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +46 -0
  417. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +486 -0
  418. package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +376 -0
  419. package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +88 -0
  420. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +248 -0
  421. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +89 -0
  422. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +512 -0
  423. package/lib/video-recap/skills/video-cut/SKILL.md +90 -0
  424. package/lib/video-recap/skills/video-cut/scripts/cut.py +67 -0
  425. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +320 -0
  426. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +545 -0
  427. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +348 -0
  428. package/lib/video-recap/skills/video-cut/scripts/lib.py +77 -0
  429. package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +341 -0
  430. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +249 -0
  431. package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +745 -0
  432. package/lib/video-recap/skills/video-recap/SKILL.md +216 -0
  433. package/lib/video-recap/skills/video-recap/references/config-playbook.md +61 -0
  434. package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +225 -0
  435. package/lib/video-recap/skills/video-recap/references/data-schema.md +534 -0
  436. package/lib/video-recap/skills/video-recap/references/research-guide.md +74 -0
  437. package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +23 -0
  438. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +251 -0
  439. package/lib/video-recap/skills/video-recap/scripts/doctor.py +483 -0
  440. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +737 -0
  441. package/lib/video-recap/skills/video-recap/scripts/lib.py +242 -0
  442. package/lib/video-recap/skills/video-recap/scripts/materials.py +457 -0
  443. package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +95 -0
  444. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +18 -0
  445. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_contract.py +9 -0
  446. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +371 -0
  447. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +201 -0
  448. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +227 -0
  449. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +362 -0
  450. package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +129 -0
  451. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +338 -0
  452. package/lib/video-recap/skills/video-recap/scripts/recap.py +9 -0
  453. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +140 -0
  454. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +550 -0
  455. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +77 -0
  456. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +654 -0
  457. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +335 -0
  458. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +217 -0
  459. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +795 -0
  460. package/lib/video-recap/skills/video-script/SKILL.md +248 -0
  461. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +225 -0
  462. package/lib/video-recap/skills/video-script/references/research-guide.md +75 -0
  463. package/lib/video-recap/skills/video-script/scripts/agent_brief.py +399 -0
  464. package/lib/video-recap/skills/video-script/scripts/agent_text.py +410 -0
  465. package/lib/video-recap/skills/video-script/scripts/brief_context.py +403 -0
  466. package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +332 -0
  467. package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +442 -0
  468. package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +237 -0
  469. package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +492 -0
  470. package/lib/video-recap/skills/video-script/scripts/lib.py +327 -0
  471. package/lib/video-recap/skills/video-script/scripts/narration.py +12 -0
  472. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +678 -0
  473. package/lib/video-recap/skills/video-script/scripts/review.py +42 -0
  474. package/lib/video-recap/skills/video-script/scripts/review_grounding.py +262 -0
  475. package/lib/video-recap/skills/video-script/scripts/review_response.py +761 -0
  476. package/lib/video-recap/skills/video-script/scripts/review_runner.py +200 -0
  477. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +204 -0
  478. package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +199 -0
  479. package/lib/video-recap/skills/video-script/scripts/validate.py +164 -0
  480. package/lib/video-recap/skills/video-understanding/SKILL.md +75 -0
  481. package/lib/video-recap/skills/video-understanding/references/data-schema.md +299 -0
  482. package/lib/video-recap/skills/video-understanding/references/prompt-templates.md +37 -0
  483. package/lib/video-recap/skills/video-understanding/references/research-guide.md +74 -0
  484. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +399 -0
  485. package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +410 -0
  486. package/lib/video-recap/skills/video-understanding/scripts/asr.py +260 -0
  487. package/lib/video-recap/skills/video-understanding/scripts/brief.py +12 -0
  488. package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +403 -0
  489. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +332 -0
  490. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +442 -0
  491. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +647 -0
  492. package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +237 -0
  493. package/lib/video-recap/skills/video-understanding/scripts/detect.py +513 -0
  494. package/lib/video-recap/skills/video-understanding/scripts/extract.py +62 -0
  495. package/lib/video-recap/skills/video-understanding/scripts/lib.py +470 -0
  496. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +678 -0
  497. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +204 -0
  498. package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +507 -0
  499. package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +199 -0
  500. package/lib/video-recap/skills/video-understanding/scripts/understand.py +9 -0
  501. package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +216 -0
  502. package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +327 -0
  503. package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +367 -0
  504. package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +162 -0
  505. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +705 -0
  506. package/lib/video-recap/skills/video-voiceover/SKILL.md +81 -0
  507. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +637 -0
  508. package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +109 -0
  509. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +421 -0
  510. package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +113 -0
  511. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +782 -0
  512. package/package.json +57 -41
  513. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +0 -130
  514. package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +0 -241
  515. package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +0 -169
  516. package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +0 -444
  517. package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +0 -247
  518. package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +0 -582
  519. package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +0 -147
  520. package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +0 -490
  521. package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +0 -425
  522. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +0 -453
  523. /package/lib/oh-story/skills/{story-long-write/references/hooks-chapter.md → story-setup/references/agent-references/short-chapter-hooks.md} +0 -0
  524. /package/lib/oh-story/skills/{story-long-write/references/hooks-paragraph.md → story-setup/references/agent-references/short-paragraph-hooks.md} +0 -0
@@ -1,425 +0,0 @@
1
- # 核心梗解析与微创新设计
2
-
3
- > **用途**:核心梗三层递进设计(主题→题材→情绪),微创新五法、冲突网络、金手指匹配、事业线/爱情线设计。构思和验证大纲时对照使用。
4
- > **语气**:指令式——每个原则都是"必须做到"的硬规则,违反就有明确后果。
5
- > **配合**:题材结构骨架见 genre-writing-formulas.md,读者画像见 genre-readers.md。
6
-
7
- ## 用作拆文标尺时
8
-
9
- 本文件原本是写作侧 playbook,写法是「怎么写」。`story-short-analyze` 在拆文时把它当
10
- **对照标尺**用 —— 拆文动作是把源文与本文件描述的标准模式做对比,找出该篇用了哪一种、
11
- 做得有多到位,**不是**按本文件去写新作品。
12
-
13
- 读者视角的判断:本文件描述的是 番茄小说短篇 / 故事会 / 追妻 / 世情 / 重生 / 虐渣
14
- 等通俗短篇圈的工业标准模板,是拆文报告里「可复用结构 / 反转设计 / 题材公式」等段的
15
- 对照来源。
16
-
17
- ---
18
-
19
- ## 决策路由:按设计阶段选工具
20
-
21
- > 构思大纲时按阶段推进,每个阶段用对应的工具核对。
22
-
23
- | 设计阶段 | 要做的事 | 对应章节 |
24
- |---------|---------|---------|
25
- | 定核心梗 | 确定主题、题材核心、核心情绪三层 | 核心梗三层递进设计 |
26
- | 检验核心梗 | 确认没有偏离、没有挂羊头卖狗肉 | 每章循环检查 + 检验清单 |
27
- | 微创新 | 在模板边界内做差异化,不超过3个点 | 微创新与差异化设计 |
28
- | 建冲突网络 | 铺设纵+横+交叉三层矛盾 | 冲突网络设计 |
29
- | 选金手指 | 金手指与世界观压迫度匹配 | 金手指与世界观匹配 |
30
- | 做事业线/爱情线 | 铺骨架和藤蔓,控制比例 | 事业线/爱情线设计 |
31
- | 防崩盘 | 检查卖点偏移、题材匹配度 | 卖点偏移检验 |
32
-
33
- ---
34
-
35
- ## 核心梗三层递进设计(主题→题材→情绪)
36
-
37
- 三代指**迭代层次**,一本小说通常由2-4条核心梗融合。
38
-
39
- ### 一代:主题/中心思想
40
-
41
- | 维度 | 说明 |
42
- |------|------|
43
- | 定义 | 小说的主题和中心思想 |
44
- | 作用 | 赋予目标和立意,防止偏离核心 |
45
- | 关键 | 没有主题=立意不明确=文字干巴巴没情绪 |
46
-
47
- 主题在不同阶段可有不同表现,不一定只有一个。
48
-
49
- ### 二代:题材核心
50
-
51
- | 维度 | 说明 |
52
- |------|------|
53
- | 定义 | 该题材独有的核心吸引力 |
54
- | 作用 | 筛选读者、划定边界、产生氛围感 |
55
- | 提取法 | 看同题材火书的核心卖点和核心情绪 |
56
-
57
- **核心原则:偏离题材核心=抛弃吸引读者的最大依仗,在读直线下降。**
58
-
59
- 偏离案例:
60
-
61
- | 作品 | 题材 | 偏离 | 后果 |
62
- |------|------|------|------|
63
- | 《一级一个金词条》 | 都市高武 | 对比对象从地球人跳到异世界神 | 在读直线下降 |
64
- | 《普攻永久加生命》 | 网游文 | 走出新手村后仍和NPC打 | 热度持续下滑 |
65
-
66
- ### 三代:核心情绪
67
-
68
- | 维度 | 说明 |
69
- |------|------|
70
- | 定义 | 一种核心情绪体验(扮猪吃虎/弥补遗憾/莫欺少年穷等) |
71
- | 作用 | 筛选读者、提升戏剧性 |
72
-
73
- 核心情绪不等于爽点表现形式。装逼打脸只是形式,核心梗是完整的情绪链条(期待→满足)。
74
-
75
- ### 剧情构建顺序
76
-
77
- **核心卖点 → 情绪套路 → 具体剧情**
78
-
79
- 先确定核心情绪(读者要看什么),再设计情绪套路(怎么让读者感受到),最后设计具体剧情(用什么事件)。
80
-
81
- ### 核心梗定义
82
-
83
- 核心梗=金手指最核心的使用方式+读者最想看的爽点模式。金手指是工具,核心梗是最有趣的使用方式。核心梗可平替:女帝→朱元璋→嬴政,背景任意置换。
84
-
85
- ### 每章循环检查
86
-
87
- 每章必备三选一:①拥有核心梗相关的期待点 ②拥有核心梗相关的爽点 ③介于期待点和爽点之间。
88
-
89
- **断期待的判断**:某章既无期待点也无爽点,前一爽点已结束,本身没拉起新期待→读者觉得书失去了"灵魂"开始弃书。
90
-
91
- **两种运转模式**:
92
- - 不断循环型:每个一级结构运行一次,变奏场景/对象/条件
93
- - 只运行一次型:围绕一个核心情绪分阶段推进
94
-
95
- ### 检验清单
96
-
97
- - 读者翻开最想看什么?(核心梗)
98
- - 每个剧情单元是否在展示核心梗?
99
- - 核心梗爽点模式能否循环?
100
- - 有无挂羊头卖狗肉?
101
- - 全文每章是否满足三要素中至少一个?
102
-
103
- ### 常见误区
104
-
105
- | 误区 | 表现 |
106
- |------|------|
107
- | 核心梗太多 | 什么都想写=没有核心梗 |
108
- | 立意不明确 | 没有情绪目标,文字干巴巴 |
109
- | 纯装逼打脸无主题 | 剧情没有意义 |
110
- | 核心梗用完不升级 | 生硬重复,审美疲劳 |
111
- | 挂羊头卖狗肉 | 书名暗示与实际内容不符 |
112
-
113
- ### 偏离核心梗的典型案例
114
-
115
- | 作品 | 偏离方式 | 后果 | 改善方向 |
116
- |------|----------|------|----------|
117
- | 《完美世界》 | 后期核心情绪崩塌 | 月票直线下降 | 独断万古可以但要有实质收获 |
118
- | 《十方武圣》 | 杀光所有人换地图 | 核心情绪崩坏,留存风险显著升高 | 换地图不要清空旧角色资产 |
119
- | 《诡舍》 | 所有角色成工具人 | 高开低走 | 身边人遭遇危机后最终克服 |
120
- | 《一人镇守孤城》 | 始终沉浸悲壮无变化 | 读者麻木 | 穿插其他情绪 |
121
-
122
- **关键原则**:悲情不需通过身边人死绝体现,多创造挫折即可。刀人是手段不是目的。主角目标必须让读者觉得有意义。
123
-
124
- ### 悲剧命运改写法
125
-
126
- 1. 选取悲剧原型
127
- 2. 选取切入点(主角介入时间节点)
128
- 3. 选取装逼方式
129
- 4. 敲定贯穿表现力的道具
130
- 5. 选取参与配角(不超5人)
131
- 6. 重塑事件,构想改写命运画面
132
- 7. 处置悲剧变喜剧反转+主角收获+下一故事引子
133
-
134
- 核心:把行侠仗义具体化,打怪装逼高尚化,改写命运命题小白化——融为一体。
135
-
136
- ---
137
-
138
- ## 微创新与差异化设计
139
-
140
- 创新范围限制在:**人物、人物关系、情节。最多3个微创新点。** 不能超出模板内容边界。
141
-
142
- ### 灵感源头
143
-
144
- | 阶段 | 来源 | 方法 |
145
- |------|------|------|
146
- | 前期 | 标签系统 | 热门标签交叉组合 |
147
- | 中期 | 热搜/评论区/弹幕 | 高频话题提炼 |
148
- | 后期 | 电影/游戏 | 视觉化叙事、交互式体验 |
149
-
150
- ### 标签系统
151
-
152
- 每个标签评估四维度:
153
-
154
- | 维度 | 说明 | 权重 |
155
- |------|------|------|
156
- | 兼容度 | 能和多少其他标签组合 | 高 |
157
- | 影响度 | 对故事整体影响深度 | 中 |
158
- | 新鲜度 | 多久没被大量使用 | 高 |
159
- | 喜爱度 | 读者偏好 | 中 |
160
-
161
- 选标签策略:**高兼容+中等影响+高新鲜度=最佳切入点**
162
-
163
- ### 70/20/10元素法则
164
-
165
- - 70%来自过去经历和记忆(共同代际记忆/流行文化)
166
- - 20%来自当前生活状态(工作/爱好/感情)
167
- - 10%来自时事热点话题和趋势
168
-
169
- ### 五种微创新手法
170
-
171
- | 手法 | 核心 | 示例 |
172
- |------|------|------|
173
- | 精炼法 | 把已有套路做到极致 | 打脸一巴掌→三巴掌层层递进 |
174
- | 升级法 | 框架不变元素升级 | "公司"→"跨国集团","校花"→"国民校花+学霸+隐藏身份" |
175
- | 加料法 | 已有框架加新元素 | 重生+规则怪谈,种田+末日 |
176
- | 反套路法 | 反过来写 | 废材逆袭→天才跌落重新站起 |
177
- | 组合法 | 两个不相干套路组合 | 种田+修仙,系统+悬疑 |
178
-
179
- ### 微创新检查清单
180
-
181
- - [ ] 创新点是否在3个以内?
182
- - [ ] 是否在模板内容边界内?
183
- - [ ] 是否影响读者核心期待?
184
- - [ ] 是否有足够素材支撑?
185
- - [ ] 是否增加了创作难度?
186
-
187
- ### 冲突网络设计
188
-
189
- 好的长篇至少3层矛盾同时运作。
190
-
191
- **矛盾类型**
192
- - 纵向(上下级):控制与服从/压制与反抗/师徒/君臣
193
- - 横向(平级):理念冲突/资源争夺/同行/情敌/竞争对手
194
- - 交叉:A和B矛盾,B和C矛盾,A和C因此也产生矛盾
195
-
196
- **编织顺序**:定地图→定阵营→定角色→对齐阵营填充纵+横矛盾→推理交叉矛盾
197
-
198
- ### 换瓶不换酒三条路径
199
-
200
- | 路径 | 做法 |
201
- |------|------|
202
- | 换世界观 | 相同节奏和金手指换到不同题材 |
203
- | 换职业/元素 | 世界观固定,不同职业或问题解法 |
204
- | 加新机制 | 已有框架加入读者熟悉但网文中新鲜的元素 |
205
-
206
- ### 界限感扩容技术
207
-
208
- 融合多种题材元素时用"更大的圆"圈在一起:
209
- 1. 找统一解释(覆盖所有元素的框架)
210
- 2. 利用界限服务主角(不同题材边界差=信息差和优势)
211
- 3. 原创替代搬运(经典角色为原型创作,非直接拿)
212
-
213
- ### 信息操控意识
214
-
215
- 时刻思考:①读者看书前已知什么?②看设定后已知什么?③看完剧情后已知什么?操控读者已知的东西是解决剧情设计困境的核心方法。
216
-
217
- ### 金手指与世界观匹配
218
-
219
- | 世界观类型 | 压迫特征 | 适配金手指 |
220
- |------------|----------|------------|
221
- | 极道流(原教旨) | 阶级固化+环境恶劣 | 无条件强行升级(加点流) |
222
- | 极道流(改良) | 压迫感降低 | 熟练度变种(花哨但底层肝) |
223
- | 常规升级流 | 换地图升级 | 碎片化/解锁型 |
224
- | 轻松日常流 | 低压迫 | 人际关系/种田型 |
225
-
226
- **功能单一金手指风险**:解决矛盾模式单一,只适用于强压迫世界观,其他题材硬用必须找补。
227
-
228
- ### 认知差异核心梗
229
-
230
- 主角视角"理所当然"vs旁人视角"不可思议"形成张力。配合无敌流效果最佳。
231
-
232
- | 场景 | 主角视角 | 旁人视角 |
233
- |------|----------|----------|
234
- | 无敌流 | 死了复活没啥 | 这人比诡异还诡异 |
235
- | 幕后流 | 随手布置 | 幕后boss深不可测 |
236
- | 迪化流 | 想帮茶农卖茶 | 他在下大棋 |
237
-
238
- ### 基调/氛围感贯穿原则
239
-
240
- 全文基调必须贯穿如一,变了=换了一本书。人设性格变化不等于基调变化。金手指发展不能破坏基调。
241
-
242
- ### 故事构思四法
243
-
244
- | 方法 | 核心 |
245
- |------|------|
246
- | 发散法 | 以逻辑起点为基础发散出大量爽点 |
247
- | 联系法 | 将两个跨度大的素材关联想象,跨度越大戏剧性越强 |
248
- | 去常态法 | 取人事物特征反常化(恰恰相反/极端化) |
249
- | 点推法 | 在散碎故事间建立逻辑联系串联完整故事 |
250
-
251
- **组合流程**:灵感→联系法/去常态法处理→发散法基于处理后灵感发散→点推法串联
252
-
253
- ### 爽点阈值递升原则
254
-
255
- 后一个剧情的情绪满足必须高过前一个。
256
-
257
- **递升维度**:影响力范围扩大 | 人物层级升高 | 收获价值增大 | 认知颠覆加深
258
-
259
- **递升失效信号**:读者对相似规模爽点不再反应 | 主角升级无差异化展示 | 人际网没随等级变化
260
-
261
- ### 男女频核心梗差异
262
-
263
- | 维度 | 女频 | 男频 |
264
- |------|------|------|
265
- | 核心任务 | 精细化一个卖点 | 深挖可复用运转逻辑 |
266
- | 字数支撑 | 短中篇,一个梗写透 | 长篇大长篇,逻辑反复运转 |
267
- | 创新重点 | 同一卖点新表达 | 底层情绪机制新组合 |
268
- | 拆解方法 | 拆一本书的精彩点 | 拆一本书的运转机制 |
269
-
270
- ### 模拟文结构
271
-
272
- **单元**:模拟制造情绪缺口→模拟后得奖励(形成信息差→拉期待)→现实满足
273
-
274
- **卷纲**:模拟得知大危机→[模拟+得奖励+现实推进]循环→核心危机未解决→达成最终满足
275
-
276
- ### 同人深层情绪写法
277
-
278
- 装逼震惊之下加更深层情绪:亲情/救赎/遗憾弥补。原著人物震惊不止"太强了"还有激动/后悔/释然。重新认识熟人有代价,震惊熟人效果远高于震惊陌生人。
279
-
280
- ---
281
-
282
- ## 事业线/爱情线设计
283
-
284
- ### 执行规则
285
-
286
- - 事业线是长篇骨架,爱情线是藤蔓。天花板取决于事业线质量
287
- - 主线要落成一件事;升级只是达成目标的行为,不能顶替主线本身
288
- - 《斗破》主线="被退婚→上云岚宗复仇",《全职》主线="被辞退后重回巅峰"
289
-
290
- ### 事业线要点
291
-
292
- - 事业线本质="主角从弱变强的过程"
293
- - 每阶段有明确目标和对手,完成后难度升级
294
- - 没有事业线时抽取有共鸣的人生主线(高中/大学最有效)
295
-
296
- ### 爱情线四阶段
297
-
298
- | 阶段 | 内容 | 爽点 |
299
- |------|------|------|
300
- | 萍水相逢 | 展示外貌/性格/他人评价/习惯 | 新鲜感 |
301
- | 怦然心动 | 产生好感注意对方存在 | 期待感 |
302
- | 暧昧升温 | 互动增多关系微妙变化 | 最强拉扯感 |
303
- | 确认关系 | 突破窗户纸 | 满足感 |
304
-
305
- ### 爱情线推进技巧
306
-
307
- - **关系拉扯**:推进和拉开交替,不能只拉近。扯开可用心有芥蒂/暂时冷静/误会,避免直接分手
308
- - **英雄救美**:男主事业线行为无意间救女主→女主倒追(非白给)
309
- - **误会**:制造隔阂延缓推进,也是装逼打脸工具
310
- - **窗户纸事件**:好感度质变→关系阶段变化,事业线为主的放在一级结构小高潮
311
-
312
- ### 狗粮文循环
313
-
314
- 不能模仿升级文突破模式(牵手/接吻/上床是一次性的)。正确循环:稳定人设组合+变化情境=无限可用套路(复用短视频固定流程模式)。感情升温通过共同困境/互相理解/意外发现,非身体接触升级。
315
-
316
- ### 事业线与爱情线平衡
317
-
318
- - 互相促进:事业为爱情提供场景和冲突,爱情为事业增加牵挂
319
- - 九一开原则:事业线为主的文爱情线最多占一成,且必须为事业线服务
320
- - 核心观感必须一致,观感偏移=核心梗偏移
321
-
322
- ### 男频感情线特殊规则
323
-
324
- - 不写拉扯式恋爱,不能写男主追女人为女人付出
325
- - 正确逻辑:男主追求事业→无意间英雄救美→女主倒追
326
- - 女主倒追vs白给:区别在于是否有说服力的铺垫
327
- - 读者目的:收获现实中缺失的异性情绪价值补偿
328
-
329
- ### 后宫与炒股
330
-
331
- 结构共性:中间写法一致(逐个暧昧不确认关系,结局确认)。后宫规则:不能和一个确认后再攻略下一个(显渣男)。修罗场三处理:一笔带过/关联回事业线(最推荐)/被害人设梗。炒股结尾可选择开放性结局。
332
-
333
- ### CP行为分级体系
334
-
335
- 好感度越高CP行为越亲密/深入,不能跨阶段。
336
-
337
- | 级别 | 行为 | 表现 |
338
- |------|------|------|
339
- | 1 | 主动亲密 | 肢体亲密接触及以上 |
340
- | 2 | 主权行为 | 争风吃醋、宣示主权 |
341
- | 3 | 信赖行为 | 无条件分享秘密、绝对信任 |
342
- | 4 | 安抚行为 | 敏锐察觉负面情绪并主动安抚 |
343
- | 5 | 特殊待遇 | 对待方式与其他人完全不同 |
344
- | 6 | 优先特权 | 做决定时对方是最重要因素 |
345
- | 7 | 默契行为 | 不约而同、无需交流自然配合 |
346
-
347
- ### 爱情线底层逻辑
348
-
349
- **友情vs爱情**:恋爱双方必须在持续低烈度"斗争"底色上实现鸡毛蒜皮互相妥协达成共识,爱情"存异"区间比友情小很多。
350
-
351
- **四检查原则**:
352
- 1. 人物决策时"男/女人"成分是否超过"人"的成分?超过时有无足够外部条件?
353
- 2. 突出性别特质描写是否匹配基础性格/成长经历/身份地位?
354
- 3. 避免完全靠外部因素推动,加入更多内生动力的碰撞
355
- 4. 不会写就按挚友写再修正(挚友改写法)
356
-
357
- ---
358
-
359
- ## 卖点偏移检验
360
-
361
- ### 防崩盘三检查
362
-
363
- 1. 能否用一句话说清题材核心卖点的目标情绪
364
- 2. 卖点是否能拆出至少5个不重复的剧情展开方向
365
- 3. 卖点展开所需的核心能力是否可由已有写作方法论覆盖
366
-
367
- ### 题材选择与知识领域匹配
368
-
369
- | 步骤 | 操作 |
370
- |------|------|
371
- | 1 | 评估自身专业知识储备和了解深度 |
372
- | 2 | 评估能否构建符合的价值观和世界观 |
373
- | 3 | 检验对该题材社会运行规律的了解 |
374
- | 4 | 确认文字能否让读者代入 |
375
-
376
- ### 金手指设计进化方向
377
-
378
- | 阶段 | 特征 |
379
- |------|------|
380
- | 1.0 | 纯极道加点(深蓝系统) |
381
- | 2.0 | 加点+探索+装备合成 |
382
- | 2.5 | 熟练度变种+多机制融合 |
383
- | 3.0 | 核心机制+副功能引出剧情 |
384
-
385
- ### 赛道选择
386
-
387
- 不要直接冲大众赛道。选自带流量但竞争少的赛道做区别化。扩宽时新作与老作要有重叠要素保留老读者。案例路径:动画宝可梦→都市宝可梦→都市原创御兽→仙侠御兽→纯仙侠,每步有重叠。
388
-
389
- ### 脑洞金手指创新:错位系统
390
-
391
- - 时间错位:都无敌了逆袭系统才来
392
- - 环境错位:正常世界觉醒末世系统
393
- - 人员错位:本应寄生皇帝的寄生在了皇后身上
394
- - 错位→落差→戏剧性
395
-
396
- ### 脑洞分类
397
-
398
- 1. 金手指类脑洞(聊天群/系统/戒指老爷爷)
399
- 2. 剧情类脑洞(反转/设定)
400
- 3. 设定类脑洞(世界观/修行体系)
401
- 4. 角色类脑洞(身份/人设)
402
-
403
- 创造阶段:金手指→金手指+角色→+设定→四类全创→相辅相成。不要跨阶段。
404
-
405
- ### 核心卖点开发流程
406
-
407
- 得到点子→思考开发潜力→放入合适题材→提炼核心卖点→通过设定加工为情绪缺口/读者期待→梳理故事雏形→动笔验证
408
-
409
- ---
410
-
411
- ## 质量检查清单
412
-
413
- > 大纲完成后逐项核对。全部通过才算合格。
414
-
415
- - [ ] **核心梗明确**:能用一句话说出"读者翻开最想看什么",不是泛泛而谈
416
- - [ ] **三层递进齐全**:主题(立意)→题材核心(吸引力)→核心情绪(体验链条)三层都有定义
417
- - [ ] **每章不离梗**:每章至少有期待点或爽点之一,无"断期待"空白章
418
- - [ ] **偏离预警**:对比"偏离案例"表格,确认没有同类偏离
419
- - [ ] **微创新不超3个**:创新点在人物/关系/情节范围内,数量不超过3
420
- - [ ] **冲突三层铺满**:纵向+横向+交叉矛盾至少各有1条在运作
421
- - [ ] **金手指匹配世界观**:金手指类型与世界观压迫特征对应,功能单一金手指有补丁
422
- - [ ] **爽点阈值递升**:后一个爽点在影响力/层级/收获/认知至少一个维度上超过前一个
423
- - [ ] **事业线/爱情线比例**:事业线为主的文爱情线不超过一成,且爱情线为事业线服务
424
- - [ ] **基调贯穿**:全文基调一致,金手指发展没有破坏基调
425
- - [ ] **卖点不偏移**:书名、简介、开头前3章传递的卖点与实际内容一致,没有挂羊头卖狗肉