@oh-story/dsh 0.1.15 → 0.1.17

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 (560) hide show
  1. package/README.md +17 -15
  2. package/lib/client.js +26 -15
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/manifest.json +284 -364
  5. package/lib/drama/package.json +4 -0
  6. package/lib/drama/skills/short-drama/SKILL.md +13 -14
  7. package/lib/drama/skills/short-drama/agents/openai.yaml +1 -1
  8. package/lib/drama/skills/short-drama/references/audience-reveal.md +4 -4
  9. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -2
  10. package/lib/drama/skills/short-drama/references/creator-documents.md +12 -10
  11. package/lib/drama/skills/short-drama/references/creator-workflow.md +6 -5
  12. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +8 -8
  13. package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +5 -5
  14. package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +5 -6
  15. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +6 -7
  16. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +2 -3
  17. package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +6 -7
  18. package/lib/drama/skills/short-drama/references/knowhow-index.md +6 -7
  19. package/lib/drama/skills/short-drama/references/look-development.md +5 -7
  20. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +6 -3
  21. package/lib/drama/skills/short-drama/references/production-form-profiles.md +14 -16
  22. package/lib/drama/skills/short-drama/references/reference-roles.md +5 -3
  23. package/lib/drama/skills/short-drama/references/runtime-preflight.md +2 -1
  24. package/lib/drama/skills/short-drama-assets/SKILL.md +8 -8
  25. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +1 -1
  26. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +26 -27
  27. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +22 -22
  28. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +4 -4
  29. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +4 -4
  30. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
  31. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -5
  32. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +6 -7
  33. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -9
  34. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +8 -11
  35. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +22 -22
  36. package/lib/drama/skills/short-drama-develop/SKILL.md +6 -6
  37. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +1 -1
  38. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +2 -2
  39. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +2 -2
  40. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +13 -12
  41. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +7 -7
  42. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +7 -8
  43. package/lib/drama/skills/short-drama-develop/references/episode-design.md +20 -24
  44. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +7 -7
  45. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +4 -5
  46. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +2 -2
  47. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +1 -1
  48. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +2 -2
  49. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
  50. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +1 -1
  51. package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +1 -1
  52. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +1 -1
  53. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +4 -5
  54. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +1 -1
  55. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +1 -1
  56. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +1 -1
  57. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +2 -2
  58. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +4 -4
  59. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +6 -7
  60. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +19 -17
  61. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +5 -5
  62. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +6 -5
  63. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -4
  64. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +7 -9
  65. package/lib/drama/skills/short-drama-develop/references/story-craft.md +8 -10
  66. package/lib/drama/skills/short-drama-edit/SKILL.md +11 -14
  67. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +12 -19
  68. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +2 -2
  69. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +5 -4
  70. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +1 -1
  71. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +6 -4
  72. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +5 -5
  73. package/lib/drama/skills/short-drama-edit/references/still-cuts.md +1 -1
  74. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +7 -2
  75. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +1 -1
  76. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +4 -5
  77. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +17 -17
  78. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +10 -9
  79. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +11 -12
  80. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +6 -5
  81. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +2 -2
  82. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +6 -6
  83. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +8 -8
  84. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +5 -4
  85. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +17 -24
  86. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +3 -4
  87. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +5 -10
  88. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +4 -6
  89. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +9 -13
  90. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +3 -7
  91. package/lib/drama/skills/short-drama-produce/SKILL.md +43 -42
  92. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +1 -1
  93. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +31 -18
  94. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +1 -1
  95. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +11 -6
  96. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +2 -2
  97. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +7 -5
  98. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +14 -8
  99. package/lib/drama/skills/short-drama-review/SKILL.md +9 -9
  100. package/lib/drama/skills/short-drama-review/agents/openai.yaml +1 -1
  101. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -11
  102. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +24 -23
  103. package/lib/drama/skills/short-drama-review/references/project-calibration.md +17 -16
  104. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -6
  105. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +7 -6
  106. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +17 -10
  107. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +29 -25
  108. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +11 -11
  109. package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -2
  110. package/lib/drama/skills/short-drama-storyboard/SKILL.md +8 -10
  111. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +1 -1
  112. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +8 -11
  113. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +11 -12
  114. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +4 -5
  115. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +19 -24
  116. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +1 -1
  117. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +26 -29
  118. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +6 -5
  119. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +2 -2
  120. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +4 -4
  121. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -8
  122. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +3 -3
  123. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +10 -7
  124. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +1 -1
  125. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +63 -61
  126. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +20 -18
  127. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +12 -12
  128. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +4 -3
  129. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +38 -40
  130. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +36 -36
  131. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +17 -21
  132. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +10 -11
  133. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +1 -1
  134. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +2 -2
  135. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +6 -12
  136. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +2 -1
  137. package/lib/drama/skills/short-drama-write/SKILL.md +15 -15
  138. package/lib/drama/skills/short-drama-write/agents/openai.yaml +1 -1
  139. package/lib/drama/skills/short-drama-write/assets/screenplay.md +3 -4
  140. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +20 -22
  141. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +20 -22
  142. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +10 -10
  143. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +11 -9
  144. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +11 -10
  145. package/lib/drama/skills/short-drama-write/references/script-craft.md +41 -47
  146. package/lib/drama/skills/short-drama-write/references/stage-contract.md +7 -5
  147. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +19 -25
  148. package/lib/index.js +120 -31
  149. package/lib/index.js.map +3 -3
  150. package/lib/novel-to-game/README.md +10 -11
  151. package/lib/novel-to-game/README_ZH.md +14 -15
  152. package/lib/novel-to-game/VERSION +1 -1
  153. package/lib/novel-to-game/manifest.json +34 -29
  154. package/lib/novel-to-game/package.json +4 -0
  155. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +2 -2
  156. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
  157. package/lib/novel-to-game/skills/game-build/SKILL.md +9 -1
  158. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
  159. package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
  160. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
  161. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
  162. package/lib/novel-to-game/skills/game-world-design/SKILL.md +1 -1
  163. package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +1 -1
  164. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
  165. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
  166. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
  167. package/lib/oh-story/manifest.json +628 -803
  168. package/lib/oh-story/package.json +4 -0
  169. package/lib/oh-story/roles/chapter-extractor.md +13 -12
  170. package/lib/oh-story/roles/character-designer.md +20 -101
  171. package/lib/oh-story/roles/consistency-checker.md +7 -9
  172. package/lib/oh-story/roles/narrative-writer.md +22 -22
  173. package/lib/oh-story/roles/story-architect.md +22 -32
  174. package/lib/oh-story/roles/story-explorer.md +11 -14
  175. package/lib/oh-story/roles/story-researcher.md +13 -14
  176. package/lib/oh-story/skills/browser-cdp/SKILL.md +38 -26
  177. package/lib/oh-story/skills/story/SKILL.md +98 -63
  178. package/lib/oh-story/skills/story/VERSION +1 -1
  179. package/lib/oh-story/skills/story-cover/SKILL.md +46 -234
  180. package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
  181. package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -93
  182. package/lib/oh-story/skills/story-deslop/SKILL.md +75 -212
  183. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +17 -3
  184. package/lib/oh-story/skills/story-deslop/references/banned-words.md +61 -151
  185. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +23 -160
  186. package/lib/oh-story/skills/story-deslop/references/expression.md +83 -0
  187. package/lib/oh-story/skills/story-deslop/references/narrative-focus.md +63 -0
  188. package/lib/oh-story/skills/story-deslop/references/story-logic.md +65 -0
  189. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +5 -5
  190. package/lib/oh-story/skills/story-import/SKILL.md +18 -22
  191. package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
  192. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +9 -9
  193. package/lib/oh-story/skills/story-import/references/deep-analysis.md +7 -8
  194. package/lib/oh-story/skills/story-import/references/import-report.md +9 -8
  195. package/lib/oh-story/skills/story-import/references/import-special-cases.md +7 -17
  196. package/lib/oh-story/skills/story-import/references/import-tracking.md +6 -6
  197. package/lib/oh-story/skills/story-import/references/length-routing.md +10 -60
  198. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +10 -10
  199. package/lib/oh-story/skills/story-import/references/outline-reverse.md +3 -3
  200. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +120 -132
  201. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -92
  202. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +2 -2
  203. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
  204. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
  205. package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
  206. package/lib/oh-story/skills/story-long-analyze/SKILL.md +41 -78
  207. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +28 -30
  208. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +9 -17
  209. package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +9 -3
  210. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +23 -10
  211. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +13 -20
  212. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +28 -29
  213. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
  214. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
  215. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -164
  216. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -13
  217. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +114 -35
  218. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +16 -6
  219. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
  220. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
  221. package/lib/oh-story/skills/story-long-scan/SKILL.md +54 -82
  222. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -181
  223. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +24 -7
  224. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
  225. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
  226. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
  227. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +26 -16
  228. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -34
  229. package/lib/oh-story/skills/story-long-write/SKILL.md +12 -13
  230. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +2 -2
  231. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +53 -26
  232. package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +9 -7
  233. package/lib/oh-story/skills/story-long-write/references/author-memory.md +6 -6
  234. package/lib/oh-story/skills/story-long-write/references/banned-words.md +61 -151
  235. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +4 -4
  236. package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
  237. package/lib/oh-story/skills/story-long-write/references/character-relations.md +120 -270
  238. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +3 -3
  239. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +26 -29
  240. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +9 -9
  241. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
  242. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +33 -73
  243. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +42 -89
  244. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
  245. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
  246. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
  247. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
  248. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  249. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
  250. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
  251. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
  252. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
  253. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
  254. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  255. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  256. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
  257. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
  258. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
  259. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
  260. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
  261. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
  262. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
  263. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
  264. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
  265. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
  266. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
  267. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
  268. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
  269. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
  270. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
  271. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
  272. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
  273. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
  274. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
  275. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +7 -7
  277. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +99 -172
  278. package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +40 -120
  279. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
  280. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -2
  281. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +82 -311
  282. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
  283. package/lib/oh-story/skills/story-long-write/references/long-reversal.md +4 -4
  284. package/lib/oh-story/skills/story-long-write/references/long-suspense.md +11 -13
  285. package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
  286. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
  287. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
  288. package/lib/oh-story/skills/story-long-write/references/project-files.md +12 -16
  289. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +1 -1
  290. package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -84
  291. package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
  292. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +3 -3
  293. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +15 -22
  294. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +4 -172
  295. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +5 -5
  296. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +2 -2
  297. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
  298. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +10 -8
  299. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +3 -3
  300. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
  301. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +10 -10
  302. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +5 -10
  303. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
  304. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +1 -1
  305. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +77 -132
  306. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
  307. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
  308. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
  309. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
  310. package/lib/oh-story/skills/story-review/SKILL.md +41 -54
  311. package/lib/oh-story/skills/story-review/references/agent-prompts.md +20 -18
  312. package/lib/oh-story/skills/story-review/references/banned-words.md +61 -151
  313. package/lib/oh-story/skills/story-review/references/batch-review.md +4 -4
  314. package/lib/oh-story/skills/story-review/references/expression.md +83 -0
  315. package/lib/oh-story/skills/story-review/references/narrative-focus.md +63 -0
  316. package/lib/oh-story/skills/story-review/references/quality-rubric.md +11 -11
  317. package/lib/oh-story/skills/story-review/references/review-tracking.md +6 -5
  318. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +10 -10
  319. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +10 -11
  320. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +12 -12
  321. package/lib/oh-story/skills/story-review/references/solo.md +8 -7
  322. package/lib/oh-story/skills/story-review/references/story-logic.md +65 -0
  323. package/lib/oh-story/skills/story-review/references/style-resolution.md +5 -5
  324. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +2 -2
  325. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
  326. package/lib/oh-story/skills/story-setup/SKILL.md +29 -36
  327. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +3 -3
  328. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +14 -16
  329. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +61 -151
  330. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +10 -10
  331. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
  332. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +120 -270
  333. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +23 -160
  334. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +26 -29
  335. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +9 -9
  336. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
  337. package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +83 -0
  338. package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
  339. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +11 -11
  340. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
  341. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
  342. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
  343. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
  344. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  345. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
  346. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
  347. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
  348. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
  349. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
  350. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  351. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  352. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
  353. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
  354. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
  355. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
  356. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
  357. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
  358. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
  359. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
  360. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
  361. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
  362. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
  363. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
  364. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
  365. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
  366. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
  367. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
  368. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
  369. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
  370. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
  371. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
  372. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +7 -7
  373. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +99 -172
  374. package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +40 -120
  375. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +34 -74
  376. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +82 -311
  377. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
  378. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +3 -3
  379. package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +4 -4
  380. package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +11 -13
  381. package/lib/oh-story/skills/story-setup/references/agent-references/narrative-focus.md +63 -0
  382. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
  383. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
  384. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
  385. package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +64 -192
  386. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +15 -69
  387. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +46 -58
  388. package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +6 -4
  389. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +23 -48
  390. package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +65 -0
  391. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +15 -22
  392. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +4 -172
  393. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +5 -5
  394. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +77 -132
  395. package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
  396. package/lib/oh-story/skills/story-short-analyze/SKILL.md +44 -103
  397. package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
  398. package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +7 -7
  399. package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +1 -3
  400. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +22 -21
  401. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +7 -6
  402. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +6 -6
  403. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +2 -2
  404. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +6 -6
  405. package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
  406. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
  407. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +38 -50
  408. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
  409. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +24 -175
  410. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +53 -38
  411. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +54 -83
  412. package/lib/oh-story/skills/story-short-scan/SKILL.md +56 -73
  413. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
  414. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
  415. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
  416. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +36 -75
  417. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +35 -15
  418. package/lib/oh-story/skills/story-short-write/SKILL.md +23 -26
  419. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +4 -4
  420. package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +9 -7
  421. package/lib/oh-story/skills/story-short-write/references/author-memory.md +6 -6
  422. package/lib/oh-story/skills/story-short-write/references/banned-words.md +61 -151
  423. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
  424. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
  425. package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +34 -0
  426. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +26 -29
  427. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +15 -69
  428. package/lib/oh-story/skills/story-short-write/references/expression.md +83 -0
  429. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +12 -12
  430. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +21 -21
  431. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +17 -17
  432. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +17 -17
  433. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +19 -19
  434. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +16 -16
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +17 -16
  436. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +17 -17
  437. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +11 -11
  438. 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 +22 -22
  439. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +46 -58
  440. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +64 -192
  441. package/lib/oh-story/skills/story-short-write/references/narrative-focus.md +63 -0
  442. package/lib/oh-story/skills/story-short-write/references/reference-index.md +14 -16
  443. package/lib/oh-story/skills/story-short-write/references/scene-craft.md +8 -7
  444. package/lib/oh-story/skills/story-short-write/references/short-craft.md +22 -43
  445. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +12 -125
  446. package/lib/oh-story/skills/story-short-write/references/short-format.md +19 -43
  447. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +23 -48
  448. package/lib/oh-story/skills/story-short-write/references/story-logic.md +65 -0
  449. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +5 -5
  450. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
  451. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +23 -30
  452. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +69 -26
  453. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +19 -20
  454. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +52 -70
  455. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
  456. package/lib/types/client/file-activity.d.ts +10 -0
  457. package/lib/types/client/file-activity.d.ts.map +1 -1
  458. package/lib/types/client/index.d.ts.map +1 -1
  459. package/lib/types/native-hooks.d.ts.map +1 -1
  460. package/lib/types/role-tool.d.ts +42 -2
  461. package/lib/types/role-tool.d.ts.map +1 -1
  462. package/lib/types/skill-provider.d.ts.map +1 -1
  463. package/lib/types/workspace-route.d.ts.map +1 -1
  464. package/lib/video-recap/CHANGELOG.md +8 -0
  465. package/lib/video-recap/README.en.md +8 -10
  466. package/lib/video-recap/README.md +8 -8
  467. package/lib/video-recap/manifest.json +48 -48
  468. package/lib/video-recap/package.json +4 -0
  469. package/lib/video-recap/skills/video-assemble/SKILL.md +5 -8
  470. package/lib/video-recap/skills/video-assemble/references/audio-modes.md +3 -3
  471. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +1 -2
  472. package/lib/video-recap/skills/video-assemble/references/packaging.md +1 -2
  473. package/lib/video-recap/skills/video-assemble/references/source-score.md +5 -6
  474. package/lib/video-recap/skills/video-cut/SKILL.md +3 -7
  475. package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
  476. package/lib/video-recap/skills/video-recap/SKILL.md +7 -11
  477. package/lib/video-recap/skills/video-recap/references/audio-routing.md +1 -2
  478. package/lib/video-recap/skills/video-recap/references/config-playbook.md +5 -7
  479. package/lib/video-recap/skills/video-recap/references/data-schema.md +8 -8
  480. package/lib/video-recap/skills/video-recap/references/resource-library.md +2 -2
  481. package/lib/video-recap/skills/video-reference/SKILL.md +4 -8
  482. package/lib/video-recap/skills/video-reference/references/reference-schema.md +1 -1
  483. package/lib/video-recap/skills/video-script/SKILL.md +4 -13
  484. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +2 -2
  485. package/lib/video-recap/skills/video-understanding/SKILL.md +10 -6
  486. package/lib/video-recap/skills/video-understanding/references/data-schema.md +2 -2
  487. package/lib/video-recap/skills/video-voiceover/SKILL.md +3 -11
  488. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +1 -2
  489. package/package.json +25 -24
  490. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +0 -187
  491. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +0 -42
  492. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +0 -128
  493. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +0 -34
  494. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +0 -49
  495. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +0 -36
  496. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +0 -2
  497. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +0 -2
  498. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +0 -101
  499. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +0 -217
  500. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +0 -31
  501. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +0 -67
  502. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +0 -2
  503. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +0 -120
  504. package/lib/drama/skills/short-drama-write/assets/episode-card.json +0 -55
  505. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +0 -89
  506. package/lib/oh-story/skills/story/references/author-memory-maintenance.md +0 -75
  507. package/lib/oh-story/skills/story/references/author-memory.md +0 -117
  508. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +0 -1638
  509. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +0 -556
  510. package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +0 -75
  511. package/lib/oh-story/skills/story-deslop/references/author-memory.md +0 -117
  512. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +0 -1638
  513. package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
  514. package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -43
  515. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
  516. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
  517. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
  518. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
  519. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -114
  520. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -105
  521. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +0 -556
  522. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
  523. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -502
  524. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -171
  525. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
  526. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
  527. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -273
  528. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
  529. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -711
  530. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -622
  531. package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -327
  532. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +0 -556
  533. package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +0 -75
  534. package/lib/oh-story/skills/story-review/references/author-memory.md +0 -117
  535. package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
  536. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -288
  537. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
  538. package/lib/oh-story/skills/story-review/references/review-quality.md +0 -246
  539. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +0 -1638
  540. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +0 -556
  541. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
  542. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
  543. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
  544. package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -146
  545. package/lib/oh-story/skills/story-setup/references/agent-references/short-suspense.md +0 -352
  546. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -453
  547. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -438
  548. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -395
  549. package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -146
  550. package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -245
  551. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -477
  552. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
  553. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -90
  554. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
  555. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +0 -490
  556. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -146
  557. package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -127
  558. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -224
  559. package/lib/oh-story/skills/story-short-write/references/short-suspense.md +0 -352
  560. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
@@ -1,113 +1,105 @@
1
- # 结构迁移映射规则(短篇)
1
+ # 结构迁移(短篇)
2
2
 
3
- Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-and-structure.md):将 `拆文库/{导入书名}/` 短篇拆文产物转换为 `{短篇标题}/` 短篇工程结构,供 `story-short-write` Phase 3 无缝接手续写。外部对标与作者交代读导入记录(`{书目录}/.story/work/导入记录.md`)。
3
+ 按本文件把 `拆文库/{导入书名}/` 迁成 `{导入书名}/`。书目录名与拆文目录名相同,写正文守卫据此放行正文迁移。
4
+
5
+ 外部对标、目标平台、完本与否和作者交代取自导入记录。`设定.md` 和 `小节大纲.md` 按短篇写作的构思模板写,续写时直接过它的构思检查;原文证据不够、要等构思时定的项写 `[待补充]`,汇报时列给作者。
4
6
 
5
7
  ## 迁移步骤
6
8
 
7
- 目标工程只有 `{短篇标题}/设定.md`(核心框架 + 本书续写基线)、`小节大纲.md`、`正文.md` 三个单文件,外加可选的 `对标/{对标书名}/`(仅外部对标引用视图:拆文报告、情节节点、写作手法)。**短篇工程与长篇完全不同**:正文是单文件、不切章,**不产** `追踪/`、`大纲/`、`正文/` 等长篇目录,迁移时严禁误建。
9
+ 目标工程只有 `{导入书名}/设定.md`、`小节大纲.md`、`正文.md` 三个单文件,外加可选的 `对标/{对标书名}/`(仅外部对标引用视图)。正文是单文件、不切章,**不产** `追踪/`、`大纲/`、`正文/` 等长篇目录,迁移时严禁误建。
8
10
 
9
- 1. **正文迁移**:将 `拆文库/{导入书名}/原文/` 的全文迁移为单文件 `{标题}/正文.md`,按 format-and-structure.md 规范化格式(小节标记 `###1.`、段间仅单换行、对话引号按项目/平台约定统一)。原文已是成稿,不重写内容,只规范格式。
10
- 2. **设定生成**:从 `拆文报告.md`、`写作手法.md` 反推 `{标题}/设定.md`,含核心框架(对齐 story-short-write 核心框架:基本信息、一句话梗概、核心反转、情绪设计、人设速写)与本书续写基线(已写内容的故事结构、情绪节奏、核心反转机制、既有写作手法;这是本书内部上下文,不是对标摘要)两个区块,规则见下方「设定.md 反推规则」。导入记录里作者交代的偏好与红线一并写进续写基线。
11
- 3. **小节大纲生成**:从 `情节节点.md` 的功能分段反推 `{标题}/小节大纲.md`,按开头段/铺垫段/升级段/反转段/结尾段映射,用 story-short-write 的固定 12 列表格,每节一行,填法见下方「小节大纲表格」。相关情节点可由同一动作链或对话同时兑现,不为凑数量拆成多个子事件;原文判断不出的格子写 `[待补充]`,不套用长篇完整章节蓝图。
12
- 4. **外部对标引用视图(可选)**:仅当导入记录已显式绑定外部 `{对标书名}` 时,才把 `拆文库/{对标书名}/` 同步为 `{标题}/对标/{对标书名}/`;没有绑定则跳过。不得把 `拆文库/{导入书名}/` 整体复制进 `对标/`。
11
+ 1. **正文迁移**:把 `拆文库/{导入书名}/原文/` 的全文迁成单文件 `{导入书名}/正文.md`,只按下方「正文.md 外壳整理」改格式。原文是作者的成稿,分段、引号、措辞一律不改。
12
+ 2. **设定生成**:从 `拆文报告.md`、`写作手法.md`、`情节节点.md` 反推 `{导入书名}/设定.md`,按下方「设定.md 模板」写。
13
+ 3. **小节大纲生成**:以 `拆文报告.md`「结构划分」确定各段功能,再从 `情节节点.md` 提取事件,反推 `{导入书名}/小节大纲.md`,填法见下方「小节大纲.md 反推规则」。
14
+ 4. **外部对标引用视图(可选)**:仅当导入记录已显式绑定外部 `{对标书名}` 时,按下方「外部对标引用视图」同步;没有绑定则跳过。不得把 `拆文库/{导入书名}/` 整体复制进 `对标/`。
13
15
 
14
16
  迁完按文末质量检查清单自检,在导入记录勾「结构迁移」,直接进入 Phase 5 汇报。
15
17
 
16
- > 长篇迁移规则见 `structure-mapping-long.md`。
17
-
18
- > **名称边界**:`{导入书名}` 是用户自己的待续写短篇;`{对标书名}` 是另行选择的外部参考作品。不得把本篇拆文结果复制到本篇 `对标/`,也不得把本篇分析写成“对标摘要”。
19
-
20
- ---
21
-
22
- ## 与长篇的关键差异
23
-
24
- | 维度 | 短篇 | 长篇 |
25
- |------|------|------|
26
- | 正文 | 单文件 `正文.md`,**不切章** | `正文/第XXX章_章名.md` 多文件 |
27
- | 追踪目录 | **不产** `追踪/` | 产 `追踪/`(`_tracking-state.json`、续写状态卡、逐章记录、角色快照、伏笔视图、双视角时间线) |
28
- | 角色状态 | **不产**角色追踪 | 核心角色各产 `追踪/角色状态/{角色名}.md`,由 `character-state-reverse.md` 反推 |
29
- | 大纲体系 | **不产** 卷纲、细纲 | 产 `大纲/卷纲_第X卷.md` + `大纲/细纲_第N章.md` |
30
- | 大纲目录 | **不产** `大纲/` 目录 | 产 |
31
- | 续写衔接 | story-short-write Phase 3(逐场景写作) | story-long-write 日更循环 |
32
-
33
18
  ---
34
19
 
35
20
  ## 映射总览
36
21
 
37
22
  | 拆书产物 | 短篇工程文件 | 转换方式 |
38
23
  |---------|------------|---------|
39
- | 原文全文(`拆文库/{导入书名}/原文/`) | `{标题}/正文.md` | 单文件迁移,按下方『正文.md 格式规范』规范化,不重写内容 |
40
- | `拆文报告.md` 的故事核/题材/结构字段 | `{标题}/设定.md`(核心框架区) | 反推本书核心框架;不继承报告中可能存在的自对标登记 |
41
- | `情节节点.md` 的功能分段 | `{标题}/小节大纲.md` | 反推小节大纲(按开头段/铺垫段/升级段/反转段/结尾段,钩子字段标 `[待补充]`) |
42
- | `拆文报告.md` + `写作手法.md` | `{标题}/设定.md`(本书续写基线区) | 把已写内容的结构、情绪、反转和既有写法整理为内部续写上下文 |
43
- | `拆文库/{对标书名}/` | `{标题}/对标/{对标书名}/` | 可选:仅同步用户显式绑定的外部参考作品 |
24
+ | 原文全文(`拆文库/{导入书名}/原文/`) | `{导入书名}/正文.md` | 单文件迁移,只整理格式 |
25
+ | `拆文报告.md`「故事核」「题材」「人物分析」「情感曲线」「反转分析」 | `{导入书名}/设定.md` | 反推本书核心框架;不继承报告中可能存在的自对标登记 |
26
+ | `拆文报告.md`「结构划分」 + `情节节点.md` | `{导入书名}/小节大纲.md` | 按结构功能组织事件,无法确认的格子写 `[待补充]` |
27
+ | `写作手法.md` | `{导入书名}/设定.md`「文风约定」「本书续写基线」 | 记下原文已经在用的写法 |
28
+ | `拆文库/{对标书名}/` | `{导入书名}/对标/{对标书名}/` | 可选:仅同步用户显式绑定的外部参考作品 |
44
29
 
45
30
  ---
46
31
 
47
- ## 设定.md 反推规则
48
-
49
- 目标文件使用本文件定义的当前核心框架模板,分两个区块:
32
+ ## 设定.md 模板
50
33
 
51
- ### 区块一:核心框架
52
-
53
- 从 `拆文报告.md` 的故事核、结构划分、人物分析等字段提取,填入以下模板:
34
+ 小节和字段名与短篇写作构思时的 `设定.md` 一致,续写构思只补缺项、不重写。目标平台优先采用导入记录;反转类型沿用拆文结果,无反转时不补造反转。情绪名称取自拆文报告「情感曲线」,强度按 1-10 量表重新判断,不照抄曲线的 -9~+9 分值。
54
35
 
55
36
  ```markdown
56
37
  ## 短篇核心框架
57
38
 
58
39
  ### 基本信息
59
- - 标题:{导入书名}
60
- - 目标字数:{原文实际字数} 字
61
- - 目标平台:{从拆文报告提取,无则填 [待补充]}
62
- - 目标情绪:{从拆文报告「情感线/爆点分析」提取读者预期感受}
40
+ - 标题(暂定):{导入书名}
41
+ - 目标字数:{完本:各节字数之和;半成品:作者定的全篇字数,没定写 [待补充]} 字
42
+ - 目标平台:{导入记录里的平台,知乎盐言 / 番茄 / 七猫 / 黑岩 / 红果 / 小程序 / 未定 选一}
43
+ - 平台基调:{原文实际用的小节标记、引号和分段习惯,原样记下,续写沿用;视角、节尾钩子、结局质感从原文归纳}
44
+ - 目标情绪:{从拆文报告「情感曲线」「爆点分析」提取读者读完的感受}
63
45
 
64
46
  ### 一句话梗概
65
- {主角 + 困境 + 反转 + 情绪落点(从拆文报告故事核提取)}
47
+ {主角 + 困境 + 反转 + 情绪落点(从拆文报告「故事核」提取)}
66
48
 
67
- ### 核心反转
68
- - 反转类型:{从拆文报告反转分析提取:身份反转/视角反转/动机反转/时间线反转}
69
- - 反转内容:{一句话描述}
70
- - 铺垫线索:{从情节节点中的「铺垫」类节点提取,至少 3 个;不足时标 [待补充]}
49
+ ### 核心支点
50
+ - 类型:{沿用拆文结果:身份/视角/动机/时间线/信息/认知反转,或无反转}
51
+ - 核心兑现:{一句话写主揭示;无反转时写报应或关系兑现}
52
+ - 铺垫/期待:{从拆文报告「反转分析」和情节节点回查,有几个写几个}
71
53
 
72
54
  ### 情绪设计
73
- - 开头情绪:{从情感曲线第一个节点提取}(强度 {1-10})
55
+ - 开头情绪:{情感曲线第一个节点}(强度 {1-10})
74
56
  - 中段情绪:{中段情感节点}(强度 {1-10})
75
57
  - 反转情绪:{反转节情感峰值}(强度 {1-10})
76
- - 结尾情绪:{结尾节情感}(强度 {1-10})
58
+ - 结尾情绪:{结尾节情感;半成品还没写到写 [待补充]}(强度 {1-10})
77
59
 
78
60
  ### 人设速写
79
- - 主角:{一句话人设,从人物分析提取}
80
- - 关键角色:{一句话人设}
61
+ - {角色}:{一句话人设};声线:{从对白归纳};口头禅:{原文原句,没有写 [待补充]};禁忌:{原文能看出的,没有写 [待补充]}(每人一行)
81
62
  - 关系:{他们之间的关系}
82
- ```
83
63
 
84
- > 不确定字段一律加 `[待补充]` 标记,不留空字段。
64
+ ### 题材招式
65
+ - {原文已经在用的招式:落在哪几节;构思时按题材包核对,补到 2-3 条}
85
66
 
86
- ### 区块二:本书续写基线
67
+ ### 文风约定
68
+ - {原文明显的句子、标点、用词习惯,从写作手法.md 提取;没有写「无」}
87
69
 
88
- 从 `拆文库/{导入书名}/拆文报告.md` 和 `写作手法.md` 提取,汇总为本书内部续写基线:
70
+ ### 作者已定
71
+ - {导入记录「作者交代」里的偏好、红线、残稿决定,一条一行;没有写「无」}
89
72
 
90
- ```markdown
91
- ## 本书续写基线
92
-
93
- ### 故事结构
94
- {从拆文报告「功能分段」字段提取,概述各段功能}
95
-
96
- ### 情绪节奏
97
- {从情感曲线/爆点分析提取,描述情绪走势与峰值位置}
98
-
99
- ### 核心反转机制
100
- {从反转机制分析提取,含铺垫路径}
73
+ ### 反转与揭露
74
+ - 揭露方式:{证物/证人/偷听撞见/剥洋葱,原文怎么揭的;还没写到写 [待补充]}
75
+ - 真线索:第 {X} 节 {线索};假线索:第 {X} 节 {误导}(原文有几条写几条)
101
76
 
102
- ### 可复用写作手法
103
- {从写作手法.md 或拆文报告「可复用结构」字段提取,≥3 条}
77
+ ## 本书续写基线
78
+ - 已写到:第 {N} 节,{完本 | 半成品}
79
+ - 故事结构:{从拆文报告「结构划分」概述各段功能}
80
+ - 情绪节奏:{情绪走势与峰值在第几节}
81
+
82
+ ## Phase 2 设计校验
83
+ - 题材参考:[待补充]
84
+ - 核心招式:[待补充]
85
+ - 反派设计:不适用({原因})
86
+ - 反转类型:{身份/视角/动机/时间线/信息/认知/无反转}
87
+ - 反转位置:第 {X} 节 ÷ 共 {Y} 节 = {Z}%
88
+ - 付费点:第 {N} 节末
104
89
  ```
105
90
 
91
+ - 「题材参考」「核心招式」导入一律写 `[待补充]`:题材包由续写构思时选,原文已用的招式先记在「题材招式」。
92
+ - 有反派时按拆文报告「人物分析」把「反派设计:不适用」换成身份、动机、作恶方式、致命弱点、报应五行(一字段一行);原文证据不够的字段写 `[待补充]`。
93
+ - 无反转篇写 `反转类型:无反转` 和 `反转位置:不适用({报应兑现/甜度递进等原因})`。有反转但半成品还没写到,写 `反转位置:[待补充]`。
94
+ - 付费点能从原文认出来(知乎盐言多在全文三到四成处的节末)时写节号,并在小节大纲同一节的「结尾承接/钩子」标「付费点」;认不出写 `付费点:[待补充]`。
95
+ - 绑定了外部对标时,在「作者已定」之后加一节 `### 对标摘要(有对标时)`,表头 `| 书名 | 主/副 | 相关性(同题材/弱相关) | 引用强度(辅/参考) | 可借鉴技法 |`。
96
+ - 证据不够的字段写 `[待补充]`,不留空、不留 `{}`。
97
+
106
98
  ---
107
99
 
108
100
  ## 小节大纲.md 反推规则
109
101
 
110
- 从 `情节节点.md` 的功能分段结构提取,映射到短篇段-小节结构。
102
+ 以拆文报告「结构划分」为依据,结合情节节点和原文分节映射到各小节;结构段可包含多个小节,不与自然段混同。行数等于原文小节数,一节一行;半成品只写已写的节,剩下的节由续写构思排。
111
103
 
112
104
  ### 段级映射
113
105
 
@@ -121,7 +113,7 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
121
113
 
122
114
  ### 小节大纲表格
123
115
 
124
- `小节大纲.md` 用 story-short-write 的固定 12 列表格,每节一行,列名和顺序不改:
116
+ 用短篇写作的固定 12 列表格,列名和顺序不改:
125
117
 
126
118
  ```markdown
127
119
  | 结构段/五段功能 | 主事件 | 情节推进 | 情绪 | 人物/关系变化 | 因果/逻辑链 | 读者新获知什么 | 结尾承接/钩子 | 伏笔/物件 | 场景形态 | 对白作用 | 目标字数 |
@@ -131,39 +123,33 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
131
123
 
132
124
  - `结构段/五段功能` 填 开头/铺垫/升级/反转/结尾。
133
125
  - `情节推进` 每个推进单元带 `{对话}` `{冲突}` `{伏笔}` `{回忆}` `{发现}` `{递进}` 之一,有先后用 `->` 连接,按原文实际发生的写,不为凑数拆分。
134
- - 从原文判断不出的格子写 `[待补充]`,留给作者或续写时填写;不写 `{}` 模板占位。
135
- - `目标字数` 写原文该节实际字数,各节之和与 `设定.md` 的目标字数对得上。
136
- - 付费点在哪一节末能从原文认出来时,在该行 `结尾承接/钩子` 标「付费点」;认不出写 `[待补充]`。
137
-
138
- ### 小节数量推算
139
-
140
- 以原文实际的分节标记和转场为准;原文没有显式分节时,按情节阶段和转场切分,`总字数 ÷ 1000` 只作粗略参考,不作为切分依据。小节数与正文实际段落结构一致是质量清单必检项。
126
+ - 从原文判断不出的格子写 `[待补充]`;不写 `{}` 模板占位。
127
+ - `目标字数` 写原文该节的字数(阿拉伯数字);完本时各节之和就是 `设定.md` 的目标字数。
141
128
 
142
129
  ---
143
130
 
144
- ## 正文.md 格式规范
131
+ ## 正文.md 外壳整理
145
132
 
146
- 将原文迁移为单文件 `正文.md`,格式按 `format-and-structure.md` 规范化:
133
+ 导入的是作者自己的成稿,只整理下表所列格式,供后续交付检查识别小节:
147
134
 
148
- | 规范项 | 要求 |
149
- |--------|------|
150
- | 小节标记 | `###1.` `###2.` `###3.`(短篇通用格式;用户指定平台时按 `format-and-structure.md` 平台覆盖表切换) |
151
- | 段落划分 | 按戏剧单元/镜头/一件事结束自然断段;不按固定字数强拆;完整推理、氛围、情绪链可保留稍长段,避免通篇同长度或碎成提纲 |
152
- | 段间空行 | 正文相邻段落之间**只允许一个换行符 `\n`**,不得出现空行或 `\n\n` |
153
- | 对话引号 | 默认 `""` 半角双引号;知乎盐言平台可用 `「」` |
154
- | 缩进 | 无缩进,不用全角/半角空格 |
155
- | Markdown | 正文段落中不使用 `**` `*` `#` `---` 等 Markdown 语法(仅小节标记除外) |
135
+ | 项 | 怎么处理 |
136
+ |----|---------|
137
+ | 小节标记 | 原文已用 `###1.`、`###第N章` 或 `1.` 之一,原样保留;用别的分节写法(如「一、」「(1)」「* * *」)时,全文换成目标平台的标记:知乎盐言 `1.`,番茄、七猫 `###第N章`,其余 `###1.`;原文没有分节时按转场补标记 |
138
+ | 段间空行 | 相邻段落之间只留一个换行,删掉空行;段落边界不动 |
139
+ | 缩进 | 去掉段首的全角/半角空格 |
140
+ | Markdown | 去掉正文里的 `**`、`*`、`---` 等标记(小节标记除外) |
141
+ | 分段、引号、标点、措辞 | 原样保留,不合并、不拆分、不统一引号 |
156
142
 
157
- **原文内容不改动**,只做格式规范化(分段、引号统一、小节标记添加)。
143
+ 原文用的标记、引号和分段习惯记进 `设定.md`「平台基调」,续写照这个写。
158
144
 
159
145
  ---
160
146
 
161
147
  ## 外部对标引用视图(可选)
162
148
 
163
- 仅当用户显式绑定独立外部 `{对标书名}` 时,将 `拆文库/{对标书名}/` 复制为 `{标题}/对标/{对标书名}/`(跳过 `_archive_*/`,归档快照不进对标视图),供续写阶段加载:
149
+ 仅当用户显式绑定独立外部 `{对标书名}` 时,将 `拆文库/{对标书名}/` 复制为 `{导入书名}/对标/{对标书名}/`(跳过 `_archive_*/`,归档快照不进对标视图),供续写阶段加载:
164
150
 
165
151
  ```
166
- {标题}/对标/{对标书名}/
152
+ {导入书名}/对标/{对标书名}/
167
153
  ├── 原文/
168
154
  ├── 拆文报告.md
169
155
  ├── 情节节点.md
@@ -177,11 +163,10 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
177
163
 
178
164
  ## 质量检查清单
179
165
 
180
- Phase 3-S 迁移完成后执行:
166
+ 迁移完成后执行(不念给作者,没通过先修):
181
167
 
182
- - [ ] `正文.md` 单文件存在且格式符合 `format-and-structure.md`(小节标记、段落划分/主语节奏、段间仅单换行、引号格式)
183
- - [ ] `设定.md` 含核心框架区块 + 本书续写基线区块,且核心框架符合本文件模板
184
- - [ ] `小节大纲.md` 节数与正文实际段落结构一致
185
- - [ ] 所有 `[待补充]` 标记已添加(不确定字段不留空)
168
+ - [ ] `正文.md` 单文件存在;小节标记是 `###1.`、`###第N章`、`1.` 之一且全文统一;段间没有空行;分段和引号与原文一致
169
+ - [ ] `设定.md` 含上方模板全部小节;`[待补充]` 只出现在证据不够或要等构思时定的项,没有 `{}` 占位
170
+ - [ ] `小节大纲.md` 数据行数与 `正文.md` 的小节数一致;完本时各节目标字数之和等于设定的目标字数
186
171
  - [ ] 未误建 `追踪/`、`大纲/`、`正文/` 等长篇专属目录
187
172
  - [ ] `拆文库/{导入书名}/` 未被复制到本篇 `对标/`;若绑定外部对标,来源与 `对标/{对标书名}/` 目录名一致
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## 初始化事务
4
4
 
5
- 新书从第 0 章初始化:把下面的 JSON 写到 `{书目录}/.story/work/init.json`,跑 `{PYTHON} {skill 根}/scripts/tracking_commit.py init --project {书目录} --input {书目录}/.story/work/init.json`,成功后删掉临时文件。`story-import` 导入已有小说时把最后完整章写入 `last_chapter=N`;第 1..N 章不伪造日更记录,常规续写从 N+1 章开始。
5
+ 仅尚无追踪状态时初始化。新书从第 0 章开始:把下面的 JSON 写到 `{书目录}/.story/work/init.json`,跑 `{PYTHON} {skill 根}/scripts/tracking_commit.py init --project {书目录} --input {书目录}/.story/work/init.json`,成功后删掉临时文件。`story-import` 导入已有小说时把最后完整章写入 `last_chapter=N`;第 1..N 章不伪造日更记录,常规续写从 N+1 章开始。
6
6
 
7
7
  ```json
8
8
  {
@@ -28,4 +28,4 @@
28
28
  }
29
29
  ```
30
30
 
31
- 导入初始化时直接传入当前核心角色快照、伏笔当前行、时间线事件和固定 7 栏状态输入。阶段/卷级回看按需查询正文,不作为每章强一致追踪产物。
31
+ 导入示例须按已读正文改写当前状态,不能照用第 0 章内容;全部导入批次完成后初始化一次,不重置已有 state。传入当前核心角色快照、伏笔当前行、时间线事件与 JSON 中六项 context 输入,由脚本生成七栏 `追踪/上下文.md`。阶段/卷级回看按需查询正文,不作为每章强一致追踪产物。
@@ -13,8 +13,9 @@
13
13
  - 本批每章:正文路径、按 visible_chars_v1 测好的历史长度(与写作时章节检查同一口径,
14
14
  story-architect 不能自己跑测量),以及从拆文库摘要里抽出的、写细纲真正要用的字段
15
15
  (关键事件、因果、局面结果、涉及、信息变化、状态变化、章尾钩子,情节点只取「标题|类型|基调」);
16
- 拆文库没有摘要时改用 `.story/work/简化摘要/第NNN章.md`(超过 200 章的书,未深拆章节的简化摘要);
17
- - 卷纲「剧情单元(反推)」表里与本批章节重叠的行(只按表头「章节范围」那一列判断重叠)。
16
+ - 本批第一章另带上一章摘要里的章尾钩子(写章首钩子用);
17
+ - 卷纲里章节范围与本批重叠的剧情单元卡。单元卡用 outline_view.py 的解析识别(写正文时
18
+ `outline_view.py --unit` 也用它),任务包取得到的单元,写正文时也取得到。
18
19
  本书设定与作者已定的事不进包,执行者按规则定点读项目文件与 `.story/work/导入记录.md`。
19
20
 
20
21
  批大小按总量定:请求 10–20 章(全书最后一批可以更少);执行者要读的总量(任务包 + 没有摘要、
@@ -34,11 +35,11 @@ import sys
34
35
  from pathlib import Path
35
36
 
36
37
  sys.path.insert(0, str(Path(__file__).resolve().parent))
38
+ from outline_view import parse as parse_volume, unit_chapter_range # noqa: E402
37
39
  from wordcount_core import METRIC, WordcountError, find_chapter_file, measure_wordcount # noqa: E402
38
40
 
39
41
  RULES = Path(__file__).resolve().parent.parent / "references" / "outline-reverse-rules.md"
40
42
  WORK_DIR = (".story", "work", "排纲")
41
- BRIEF_SUMMARY_DIR = (".story", "work", "简化摘要")
42
43
  MIN_BATCH, MAX_BATCH = 10, 20
43
44
  LOAD_LIMIT = 25000 # 执行者一次要读的量(去空白字数);再加上 agent 模板或 SKILL 入口仍在 35K 内
44
45
  # 摘要里写细纲要用的字段(与 story-long-analyze 摘要投影同名);旧版摘要的同义标签放在别名里。
@@ -56,10 +57,6 @@ FIELD_NAMES = "|".join(name for field in SUMMARY_FIELDS for name in (field[0], *
56
57
  LABEL_RE = re.compile(r"^\s*(?:[-*+]\s*)?(?:\*\*([^*]+?)\*\*|(%s))\s*[::((]" % FIELD_NAMES)
57
58
  POINT_HEADER_RE = re.compile(r"^P(\d+)\s+\*\*(.+?)\*\*\s*[::]\s*(.+)$")
58
59
  POINT_TAG_RE = re.compile(r"^主题标签\s*[::]?\s*[^||]*?\s*[||]\s*基调\s*[::]?\s*(.*?)\s*$")
59
- # 「章节范围」单元格的一段:第X章—第Y章 / 第X-Y章 / 第X章 / 章X-Y / X-Y。
60
- SPAN_CELL_RE = re.compile(
61
- r"^\s*(?:第|章)?\s*(\d+)\s*章?\s*(?:(?:-|~|~|—|–|-|至|到)+\s*第?\s*(\d+)\s*章?)?\s*$"
62
- )
63
60
 
64
61
 
65
62
  def emit(text: str, stream) -> None:
@@ -181,76 +178,56 @@ def summary_lines(text: str) -> list[str]:
181
178
  return out
182
179
 
183
180
 
184
- def chapter_block(project: Path, analysis: Path, chapter: int) -> tuple[str, int, int, bool]:
181
+ def previous_hook(analysis: Path, chapter: int) -> str | None:
182
+ """上一章摘要里的章尾钩子:本批第一章写「章首钩子」用,上一章不在本包里。"""
183
+ summary = analysis / "章节" / f"第{chapter - 1}章_摘要.md"
184
+ if chapter <= 1 or not summary.is_file():
185
+ return None
186
+ blocks = label_blocks(summary.read_text(encoding="utf-8-sig"))
187
+ keys = ("章尾钩子", *dict(SUMMARY_FIELDS)["章尾钩子"])
188
+ return next((flatten(blocks[key]) for key in keys if blocks.get(key)), None)
189
+
190
+
191
+ def chapter_block(project: Path, analysis: Path, chapter: int, first: int) -> tuple[str, int, int, bool]:
185
192
  """返回(本章块、历史长度、执行者还需另读的正文量、是否缺摘要)。"""
186
193
  body, body_text, actual = measure(project, chapter)
187
194
  head = [f"### 第{chapter}章", "",
188
195
  f"- 正文:`{shown_path(body, project.parent)}`;字数目标 {actual}({METRIC})"]
196
+ hook = previous_hook(analysis, chapter) if chapter == first else None
197
+ if hook:
198
+ head.append(f"- 上一章(第{chapter - 1}章)章尾钩子:{hook}")
189
199
  summary = analysis / "章节" / f"第{chapter}章_摘要.md"
190
- brief = project.joinpath(*BRIEF_SUMMARY_DIR) / f"第{chapter:03d}章.md"
191
200
  if summary.is_file():
192
201
  lines = [f"- 摘要要点(抽自 `{shown_path(summary, project.parent)}`):"] + [
193
202
  " " + line for line in summary_lines(summary.read_text(encoding="utf-8").lstrip(""))]
194
203
  return "\n".join(head + lines), actual, 0, False
195
- if brief.is_file():
196
- text = brief.read_text(encoding="utf-8").lstrip("").strip()
197
- return "\n".join(head + ["- 简化摘要(未深拆章节):", "", text]), actual, 0, False
198
204
  note = "- 摘要:未找到,读该章正文反推,证据不足处写 [待补充]"
199
205
  return "\n".join(head + [note]), actual, weight(body_text), True
200
206
 
201
207
 
202
208
  # ---------- 卷纲剧情单元 ----------
203
209
 
204
- def parse_span_cell(cell: str) -> list[tuple[int, int]]:
205
- """只解析「章节范围」这一格;认不出的写法返回空,不去别的列找数字。"""
206
- spans = []
207
- for part in re.split(r"[、,,;;/]", cell):
208
- match = SPAN_CELL_RE.match(part)
209
- if not match:
210
- continue
211
- start = int(match.group(1))
212
- end = int(match.group(2) or start)
213
- if start <= end:
214
- spans.append((start, end))
215
- return spans
216
-
217
-
218
- def split_row(row: str) -> list[str]:
219
- return [cell.strip() for cell in row.strip().strip("|").split("|")]
220
-
221
-
222
- def unit_rows(project: Path, first: int, last: int) -> list[str]:
223
- """从各卷纲的「剧情单元」表里取与本批章节重叠的行,连同表头。"""
210
+ def unit_cards(project: Path, first: int, last: int) -> list[str]:
211
+ """从各卷纲取章节范围与本批重叠的剧情单元卡(连同卡下的子段)。"""
224
212
  volumes = sorted((project / "大纲").glob("卷纲_第*卷.md"))
225
213
  if not volumes:
226
214
  raise SystemExit("ERROR: 大纲/ 下没有卷纲,先在结构迁移时刻写定卷纲")
227
215
  out: list[str] = []
228
216
  for volume in volumes:
229
- lines = volume.read_text(encoding="utf-8").splitlines()
230
- start = next((i for i, line in enumerate(lines) if re.match(r"^#+\s*剧情单元", line)), None)
231
- if start is None:
232
- continue
233
- table: list[str] = []
234
- for line in lines[start + 1:]:
235
- if line.lstrip().startswith("|"):
236
- table.append(line)
237
- elif table or line.strip():
238
- break # 表格结束,或标题下先出现了非表格内容
239
- if len(table) < 3:
240
- continue
241
- column = next((i for i, cell in enumerate(split_row(table[0])) if "章节范围" in cell), None)
242
- if column is None:
243
- continue
244
- hits = []
245
- for row in table[2:]:
246
- cells = split_row(row)
247
- spans = parse_span_cell(cells[column]) if column < len(cells) else []
248
- if any(a <= last and b >= first for a, b in spans):
249
- hits.append(row)
250
- if hits:
251
- out += [f"来源:`{project.name}/大纲/{volume.name}`", "", *table[:2], *hits, ""]
217
+ lines, sections = parse_volume(volume.read_text(encoding="utf-8-sig"))
218
+ for section in sections:
219
+ if section.kind != "单元级" or "剧情单元" not in section.title or section.status == "已退役":
220
+ continue
221
+ span = unit_chapter_range([section], section.unit)
222
+ if span is None or span[0] > last or span[1] < first:
223
+ continue
224
+ end = next((other.start for other in sections
225
+ if other.start > section.start and other.level <= section.level), len(lines))
226
+ out += [f"来源:`{project.name}/大纲/{volume.name}`", "", *lines[section.start:end], ""]
252
227
  if not out:
253
- raise SystemExit(f"ERROR: 卷纲「剧情单元」表里找不到覆盖第{first}-{last}章的行(表头要有「章节范围」列,写成「第X-Y章」),先补卷纲")
228
+ raise SystemExit(f"ERROR: 卷纲里找不到章节范围覆盖第{first}-{last}章的剧情单元卡(卡标题下一行写"
229
+ "「> 作用域:单元级 {单元ID}」,卡里写「- 章节范围:第A-B章」),先补卷纲,"
230
+ "再用 outline_view.py --check --strict 核对")
254
231
  return out
255
232
 
256
233
 
@@ -265,7 +242,7 @@ def render(project: Path, first: int, last: int, blocks: list[str]) -> str:
265
242
  "证据不足标了 [待补充] 的要点(没有写「无」)。\n\n"
266
243
  "包里提到的检查由主会话在你交付后跑,你不执行命令;需要的测量结果已放进包里。")
267
244
  parts = [head, f"\n## 本批章节\n\n路径相对项目根(`{project.parent}`)。\n\n" + "\n\n".join(blocks),
268
- "\n## 卷纲剧情单元(覆盖本批)\n\n" + "\n".join(unit_rows(project, first, last)).rstrip(),
245
+ "\n## 卷纲剧情单元(覆盖本批)\n\n" + "\n".join(unit_cards(project, first, last)).rstrip(),
269
246
  "\n---\n\n<!-- 资料:outline-reverse-rules.md -->\n\n" + RULES.read_text(encoding="utf-8").lstrip("").strip()]
270
247
  return "\n".join(parts) + "\n"
271
248
 
@@ -273,13 +250,13 @@ def render(project: Path, first: int, last: int, blocks: list[str]) -> str:
273
250
  def build(project: Path, analysis: Path, first: int, last: int) -> dict:
274
251
  if not RULES.is_file():
275
252
  raise SystemExit(f"ERROR: 缺少 reference:{RULES}")
276
- fixed = weight(render(project, first, last, [])) # 包头、剧情单元行与规则:章数减少只会更少
253
+ fixed = weight(render(project, first, last, [])) # 包头、剧情单元卡与规则:章数减少只会更少
277
254
  blocks: list[str] = []
278
255
  lengths: dict[int, int] = {}
279
256
  missing: list[int] = []
280
257
  load, extra_reading = fixed, 0
281
258
  for chapter in range(first, last + 1):
282
- block, actual, extra, absent = chapter_block(project, analysis, chapter)
259
+ block, actual, extra, absent = chapter_block(project, analysis, chapter, first)
283
260
  cost = weight(block) + extra
284
261
  if blocks and load + cost > LOAD_LIMIT:
285
262
  break # 包已够大:本章留给下一批
@@ -111,6 +111,10 @@ function readUtf8(file) {
111
111
  }
112
112
  }
113
113
 
114
+ // 回报里的模板出处只列本 skill 带着的文件:导入的副本没有 workflow-outline.md,细纲写法在 outline-reverse-rules.md
115
+ const TEMPLATE_REFERENCES = ['references/workflow-outline.md', 'references/outline-reverse-rules.md']
116
+ .filter((rel) => fs.existsSync(path.join(__dirname, '..', rel)))
117
+
114
118
  function makeCheck(id, ok, file, evidence, expected, repair, severity = 'blocking') {
115
119
  return {
116
120
  id,
@@ -119,7 +123,7 @@ function makeCheck(id, ok, file, evidence, expected, repair, severity = 'blockin
119
123
  file,
120
124
  evidence,
121
125
  expected,
122
- references: ['references/workflow-outline.md'],
126
+ references: TEMPLATE_REFERENCES,
123
127
  repair,
124
128
  }
125
129
  }