@oh-story/dsh 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) hide show
  1. package/README.md +14 -14
  2. package/lib/client.js +209 -73
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/manifest.json +248 -168
  5. package/lib/drama/skills/short-drama/SKILL.md +16 -4
  6. package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +3 -0
  7. package/lib/drama/skills/short-drama/references/creator-documents.md +3 -0
  8. package/lib/drama/skills/short-drama/references/knowhow-index.md +15 -0
  9. package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +14 -0
  10. package/lib/drama/skills/short-drama/scripts/project_tool.py +131 -0
  11. package/lib/drama/skills/short-drama-assets/SKILL.md +2 -1
  12. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +2 -0
  13. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +10 -0
  14. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +6 -9
  15. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +37 -0
  16. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +2 -0
  17. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
  18. package/lib/drama/skills/short-drama-develop/SKILL.md +10 -4
  19. package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -1
  20. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +8 -0
  21. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +80 -13
  22. package/lib/drama/skills/short-drama-develop/references/episode-design.md +95 -12
  23. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +9 -5
  24. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
  25. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/263/273/347/273/237/346/265/201.md +51 -0
  26. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +51 -0
  27. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +51 -0
  28. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +10 -7
  29. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +15 -9
  30. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -2
  31. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +14 -7
  32. package/lib/drama/skills/short-drama-develop/references/story-craft.md +7 -3
  33. package/lib/drama/skills/short-drama-edit/SKILL.md +65 -44
  34. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +49 -13
  35. package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +4 -2
  36. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Overlay.tsx +31 -0
  37. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +5 -5
  38. package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +68 -69
  39. package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +39 -29
  40. package/lib/drama/skills/short-drama-edit/assets/remotion/src/rules.mjs +188 -0
  41. package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +26 -13
  42. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/Card.tsx +72 -0
  43. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/CornerChip.tsx +39 -0
  44. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/ScreenText.tsx +36 -0
  45. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/SystemPanel.tsx +44 -0
  46. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/TaskPanel.tsx +100 -0
  47. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/chrome.tsx +197 -0
  48. package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/tokens.ts +62 -0
  49. package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +1 -0
  50. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +6 -4
  51. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +26 -67
  52. package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +31 -56
  53. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +42 -78
  54. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +44 -92
  55. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +14 -16
  56. package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1272 -125
  57. package/lib/drama/skills/short-drama-edit/scripts/selftest.py +113 -9
  58. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
  59. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
  60. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +3 -3
  61. package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +2 -2
  62. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +8 -4
  63. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +10 -3
  64. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +25 -1
  65. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +1 -0
  66. package/lib/drama/skills/short-drama-produce/SKILL.md +5 -1
  67. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +14 -20
  68. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +8 -26
  69. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
  70. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +142 -1
  71. package/lib/drama/skills/short-drama-review/SKILL.md +4 -5
  72. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +6 -19
  73. package/lib/drama/skills/short-drama-review/references/review-method.md +6 -1
  74. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +11 -0
  75. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +77 -3
  76. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +24 -35
  77. package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -0
  78. package/lib/drama/skills/short-drama-storyboard/SKILL.md +23 -11
  79. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +1 -1
  80. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
  81. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +2 -2
  82. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +139 -34
  83. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +5 -3
  84. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +15 -12
  85. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +29 -0
  86. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +4 -5
  87. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +4 -2
  88. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +52 -39
  89. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +24 -21
  90. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +9 -23
  91. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +14 -26
  92. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +1 -1
  93. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +2 -3
  94. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +34 -9
  95. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -2
  96. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +8 -1
  97. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +103 -0
  98. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +8 -7
  99. package/lib/drama/skills/short-drama-write/SKILL.md +10 -7
  100. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +1 -1
  101. package/lib/drama/skills/short-drama-write/references/script-craft.md +56 -3
  102. package/lib/drama/skills/short-drama-write/references/stage-contract.md +4 -0
  103. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +48 -2
  104. package/lib/index.js +346 -98
  105. package/lib/index.js.map +4 -4
  106. package/lib/novel-to-game/README.md +299 -59
  107. package/lib/novel-to-game/README_ZH.md +299 -56
  108. package/lib/novel-to-game/VERSION +1 -1
  109. package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
  110. package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
  111. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
  112. package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
  113. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
  114. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
  115. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
  116. package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
  117. package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
  118. package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
  119. package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
  120. package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
  121. package/lib/novel-to-game/manifest.json +77 -87
  122. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +7 -12
  123. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
  124. package/lib/novel-to-game/skills/game-build/SKILL.md +13 -14
  125. package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
  126. package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
  127. package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
  128. package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
  129. package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
  130. package/lib/novel-to-game/skills/game-concept/SKILL.md +13 -15
  131. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
  132. package/lib/novel-to-game/skills/game-qa/SKILL.md +6 -7
  133. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +9 -5
  134. package/lib/novel-to-game/skills/game-world-design/SKILL.md +12 -16
  135. package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
  136. package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
  137. package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
  138. package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +4 -10
  139. package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
  140. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +9 -21
  141. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
  142. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +5 -8
  143. package/lib/oh-story/manifest.json +607 -327
  144. package/lib/oh-story/roles/chapter-extractor.md +177 -237
  145. package/lib/oh-story/roles/character-designer.md +1 -2
  146. package/lib/oh-story/roles/consistency-checker.md +15 -13
  147. package/lib/oh-story/roles/narrative-writer.md +36 -38
  148. package/lib/oh-story/roles/story-architect.md +9 -61
  149. package/lib/oh-story/roles/story-explorer.md +20 -125
  150. package/lib/oh-story/roles/story-researcher.md +0 -1
  151. package/lib/oh-story/skills/story/SKILL.md +15 -9
  152. package/lib/oh-story/skills/story/VERSION +1 -1
  153. package/lib/oh-story/skills/story/references/author-memory-maintenance.md +75 -0
  154. package/lib/oh-story/skills/story/references/author-memory.md +46 -94
  155. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
  156. package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
  157. package/lib/oh-story/skills/story-deslop/SKILL.md +59 -73
  158. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +5 -0
  159. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +12 -11
  160. package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +75 -0
  161. package/lib/oh-story/skills/story-deslop/references/author-memory.md +46 -94
  162. package/lib/oh-story/skills/story-deslop/references/banned-words.md +2 -2
  163. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +22 -5
  164. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +4 -4
  165. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
  166. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +155 -8
  167. package/lib/oh-story/skills/story-import/SKILL.md +64 -584
  168. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
  169. package/lib/oh-story/skills/story-import/references/deep-analysis.md +47 -0
  170. package/lib/oh-story/skills/story-import/references/format-and-structure.md +1 -1
  171. package/lib/oh-story/skills/story-import/references/import-report.md +64 -0
  172. package/lib/oh-story/skills/story-import/references/import-special-cases.md +34 -0
  173. package/lib/oh-story/skills/story-import/references/import-tracking.md +95 -0
  174. package/lib/oh-story/skills/story-import/references/length-routing.md +1 -1
  175. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +79 -0
  176. package/lib/oh-story/skills/story-import/references/outline-reverse.md +24 -0
  177. package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
  178. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +98 -92
  179. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +24 -12
  180. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +1 -1
  181. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +15 -11
  182. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +332 -0
  183. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +132 -27
  184. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +478 -15
  185. package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +182 -23
  186. package/lib/oh-story/skills/story-long-analyze/SKILL.md +81 -270
  187. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +252 -0
  188. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +3 -3
  189. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +19 -0
  190. package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +11 -0
  191. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
  192. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +138 -64
  193. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
  194. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +128 -0
  195. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +229 -0
  196. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +480 -0
  197. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +195 -0
  198. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +33 -0
  199. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +55 -128
  200. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +6 -6
  201. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +39 -0
  202. package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
  203. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
  204. package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
  205. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1145 -0
  206. package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
  207. package/lib/oh-story/skills/story-long-scan/SKILL.md +45 -194
  208. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +19 -0
  209. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +45 -0
  210. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +28 -0
  211. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +35 -0
  212. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +27 -0
  213. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +6 -2
  214. package/lib/oh-story/skills/story-long-write/SKILL.md +49 -81
  215. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +47 -0
  216. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +12 -11
  217. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +24 -202
  218. package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +75 -0
  219. package/lib/oh-story/skills/story-long-write/references/author-memory.md +46 -94
  220. package/lib/oh-story/skills/story-long-write/references/banned-words.md +2 -2
  221. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +7 -11
  222. package/lib/oh-story/skills/story-long-write/references/character-relations.md +49 -1
  223. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
  224. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +171 -0
  225. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +4 -0
  226. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +116 -0
  227. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +1 -114
  228. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
  229. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
  230. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +7 -15
  231. package/lib/oh-story/skills/story-long-write/references/long-format.md +0 -8
  232. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +1 -1
  233. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +3 -3
  234. package/lib/oh-story/skills/story-long-write/references/opening-design.md +2 -2
  235. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +4 -4
  236. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +7 -7
  237. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +3 -3
  238. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +14 -69
  239. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +1 -1
  240. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +2 -2
  241. package/lib/oh-story/skills/story-long-write/references/project-files.md +19 -13
  242. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +13 -5
  243. package/lib/oh-story/skills/story-long-write/references/reference-index.md +5 -6
  244. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +9 -0
  245. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -58
  246. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
  247. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +4 -4
  248. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +1 -1
  249. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +15 -11
  250. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +81 -121
  251. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +41 -139
  252. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +157 -0
  253. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +57 -67
  254. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +112 -253
  255. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +142 -0
  256. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +6 -4
  257. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +19 -65
  258. package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
  259. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +260 -0
  260. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +226 -25
  261. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +155 -8
  262. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +132 -27
  263. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +7 -2
  264. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +7 -4
  265. package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +304 -46
  266. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +478 -15
  267. package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +182 -23
  268. package/lib/oh-story/skills/story-review/SKILL.md +31 -302
  269. package/lib/oh-story/skills/story-review/references/agent-prompts.md +184 -0
  270. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +12 -11
  271. package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +75 -0
  272. package/lib/oh-story/skills/story-review/references/author-memory.md +46 -94
  273. package/lib/oh-story/skills/story-review/references/banned-words.md +2 -2
  274. package/lib/oh-story/skills/story-review/references/batch-review.md +19 -0
  275. package/lib/oh-story/skills/story-review/references/character-relations.md +49 -1
  276. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +4 -0
  277. package/lib/oh-story/skills/story-review/references/review-quality.md +6 -11
  278. package/lib/oh-story/skills/story-review/references/review-tracking.md +10 -0
  279. package/lib/oh-story/skills/story-review/references/solo.md +52 -0
  280. package/lib/oh-story/skills/story-review/references/style-resolution.md +4 -4
  281. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +1 -1
  282. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +15 -11
  283. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
  284. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +155 -8
  285. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +478 -15
  286. package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +182 -23
  287. package/lib/oh-story/skills/story-setup/SKILL.md +71 -452
  288. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +4 -4
  289. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +12 -11
  290. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +2 -2
  291. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +107 -0
  292. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +49 -1
  293. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +22 -5
  294. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +4 -0
  295. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +116 -0
  296. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +1 -114
  297. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +1 -1
  298. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
  299. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
  300. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +1 -1
  301. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +3 -3
  302. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +7 -5
  303. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +2 -2
  304. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +4 -4
  305. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +7 -7
  306. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +3 -3
  307. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +1 -1
  308. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +0 -15
  309. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +1 -1
  310. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -58
  311. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
  312. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +4 -4
  313. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +19 -65
  314. package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
  315. package/lib/oh-story/skills/story-short-analyze/SKILL.md +56 -110
  316. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +1 -1
  317. package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +42 -0
  318. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +97 -0
  319. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +9 -47
  320. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +80 -0
  321. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +4 -4
  322. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +308 -0
  323. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +611 -0
  324. package/lib/oh-story/skills/story-short-scan/SKILL.md +35 -65
  325. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +36 -0
  326. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +24 -0
  327. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +21 -0
  328. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +38 -0
  329. package/lib/oh-story/skills/story-short-write/SKILL.md +23 -175
  330. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +13 -0
  331. package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +75 -0
  332. package/lib/oh-story/skills/story-short-write/references/author-memory.md +46 -94
  333. package/lib/oh-story/skills/story-short-write/references/banned-words.md +2 -2
  334. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +1 -21
  335. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +4 -0
  336. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +1 -1
  337. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +0 -15
  338. package/lib/oh-story/skills/story-short-write/references/output-contract.md +9 -47
  339. package/lib/oh-story/skills/story-short-write/references/reference-index.md +17 -47
  340. package/lib/oh-story/skills/story-short-write/references/scene-craft.md +40 -0
  341. package/lib/oh-story/skills/story-short-write/references/short-craft.md +7 -43
  342. package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -3
  343. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -1
  344. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +1 -1
  345. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +4 -4
  346. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +1 -1
  347. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +5 -10
  348. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +21 -13
  349. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +116 -0
  350. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +99 -0
  351. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +7 -119
  352. package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
  353. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +155 -8
  354. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +7 -2
  355. package/lib/types/client/drama-production-view.d.ts.map +1 -1
  356. package/lib/types/client/file-activity.d.ts +19 -1
  357. package/lib/types/client/file-activity.d.ts.map +1 -1
  358. package/lib/types/client/index.d.ts.map +1 -1
  359. package/lib/types/client/production-prompts.d.ts +7 -0
  360. package/lib/types/client/production-prompts.d.ts.map +1 -1
  361. package/lib/types/client/production-runtime.d.ts +16 -0
  362. package/lib/types/client/production-runtime.d.ts.map +1 -1
  363. package/lib/types/client/video-studio.d.ts.map +1 -1
  364. package/lib/types/drama-adapters.d.ts +5 -3
  365. package/lib/types/drama-adapters.d.ts.map +1 -1
  366. package/lib/types/native-hooks.d.ts +53 -1
  367. package/lib/types/native-hooks.d.ts.map +1 -1
  368. package/lib/types/role-identity.d.ts +17 -0
  369. package/lib/types/role-identity.d.ts.map +1 -0
  370. package/lib/types/role-tool.d.ts.map +1 -1
  371. package/lib/types/skill-provider.d.ts.map +1 -1
  372. package/lib/types/video-project.d.ts.map +1 -1
  373. package/lib/types/workspace-route.d.ts.map +1 -1
  374. package/lib/video-recap/CHANGELOG.md +60 -1
  375. package/lib/video-recap/README.en.md +348 -137
  376. package/lib/video-recap/README.md +340 -136
  377. package/lib/video-recap/manifest.json +406 -251
  378. package/lib/video-recap/skills/video-assemble/SKILL.md +30 -15
  379. package/lib/video-recap/skills/video-assemble/references/audio-modes.md +63 -0
  380. package/lib/video-recap/skills/video-assemble/references/explicit-audio-mix.md +75 -0
  381. package/lib/video-recap/skills/video-assemble/references/foreground-compose.md +118 -0
  382. package/lib/video-recap/skills/video-assemble/references/narration-adoption.md +103 -0
  383. package/lib/video-recap/skills/video-assemble/references/packaging.md +45 -0
  384. package/lib/video-recap/skills/video-assemble/references/pair-media.md +74 -0
  385. package/lib/video-recap/skills/video-assemble/references/source-score.md +147 -0
  386. package/lib/video-recap/skills/video-assemble/references/subtitle-track.md +202 -0
  387. package/lib/video-recap/skills/video-assemble/scripts/adoption/__init__.py +1 -0
  388. package/lib/video-recap/skills/video-assemble/scripts/adoption/audio_mix_binding.py +279 -0
  389. package/lib/video-recap/skills/video-assemble/scripts/adoption/frozen_audio.py +187 -0
  390. package/lib/video-recap/skills/video-assemble/scripts/adoption/narration_binding.py +323 -0
  391. package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_inputs.py +109 -0
  392. package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_publish.py +130 -0
  393. package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +10 -46
  394. package/lib/video-recap/skills/video-assemble/scripts/assemble.py +378 -119
  395. package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +29 -12
  396. package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +95 -44
  397. package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +75 -32
  398. package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +11 -11
  399. package/lib/video-recap/skills/video-assemble/scripts/compose_foreground.py +293 -0
  400. package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +71 -78
  401. package/lib/video-recap/skills/video-assemble/scripts/jianying/__init__.py +1 -0
  402. package/lib/video-recap/skills/video-assemble/scripts/{jianying_builders.py → jianying/builders.py} +39 -67
  403. package/lib/video-recap/skills/video-assemble/scripts/{jianying_model.py → jianying/model.py} +3 -11
  404. package/lib/video-recap/skills/video-assemble/scripts/{jianying_optional.py → jianying/optional.py} +1 -1
  405. package/lib/video-recap/skills/video-assemble/scripts/jianying/schema.py +53 -0
  406. package/lib/video-recap/skills/video-assemble/scripts/{jianying_templates.py → jianying/templates.py} +1 -1
  407. package/lib/video-recap/skills/video-assemble/scripts/{jianying_timeline_contract.py → jianying/timeline_contract.py} +34 -13
  408. package/lib/video-recap/skills/video-assemble/scripts/{jianying_writer.py → jianying/writer.py} +7 -17
  409. package/lib/video-recap/skills/video-assemble/scripts/lib.py +37 -4
  410. package/lib/video-recap/skills/video-assemble/scripts/media.py +12 -21
  411. package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +64 -34
  412. package/lib/video-recap/skills/video-assemble/scripts/packaging.py +122 -0
  413. package/lib/video-recap/skills/video-assemble/scripts/pair_media.py +216 -0
  414. package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +1 -3
  415. package/lib/video-recap/skills/video-assemble/scripts/source_score.py +469 -0
  416. package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +25 -9
  417. package/lib/video-recap/skills/video-assemble/scripts/subtitles/__init__.py +1 -0
  418. package/lib/video-recap/skills/video-assemble/scripts/{subtitle_core.py → subtitles/core.py} +13 -6
  419. package/lib/video-recap/skills/video-assemble/scripts/{subtitle_render.py → subtitles/render.py} +5 -4
  420. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track.py +324 -0
  421. package/lib/video-recap/skills/video-assemble/scripts/subtitles/track_binding.py +200 -0
  422. package/lib/video-recap/skills/video-assemble/scripts/timeline.py +30 -46
  423. package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +91 -7
  424. package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +22 -8
  425. package/lib/video-recap/skills/video-cut/SKILL.md +34 -16
  426. package/lib/video-recap/skills/video-cut/references/shot-review.md +50 -0
  427. package/lib/video-recap/skills/video-cut/scripts/cut.py +2 -28
  428. package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +58 -62
  429. package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +21 -106
  430. package/lib/video-recap/skills/video-cut/scripts/cut_render.py +14 -9
  431. package/lib/video-recap/skills/video-cut/scripts/lib.py +39 -0
  432. package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +2 -155
  433. package/lib/video-recap/skills/video-cut/scripts/narrative_selection.py +244 -0
  434. package/lib/video-recap/skills/video-cut/scripts/shot_review.py +357 -0
  435. package/lib/video-recap/skills/video-recap/SKILL.md +86 -42
  436. package/lib/video-recap/skills/video-recap/references/audio-routing.md +126 -0
  437. package/lib/video-recap/skills/video-recap/references/config-playbook.md +12 -8
  438. package/lib/video-recap/skills/video-recap/references/data-schema.md +44 -33
  439. package/lib/video-recap/skills/video-recap/references/resource-library.md +151 -0
  440. package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +1 -1
  441. package/lib/video-recap/skills/video-recap/scripts/doctor.py +123 -30
  442. package/lib/video-recap/skills/video-recap/scripts/final_qc.py +22 -75
  443. package/lib/video-recap/skills/video-recap/scripts/lib.py +3 -3
  444. package/lib/video-recap/skills/video-recap/scripts/library.py +509 -0
  445. package/lib/video-recap/skills/video-recap/scripts/materials.py +63 -91
  446. package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +8 -70
  447. package/lib/video-recap/skills/video-recap/scripts/project_binding.py +286 -0
  448. package/lib/video-recap/skills/video-recap/scripts/qc/__init__.py +1 -0
  449. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_client.py → qc/mimo_client.py} +1 -1
  450. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_evidence.py → qc/mimo_evidence.py} +33 -66
  451. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_observations.py → qc/mimo_observations.py} +3 -11
  452. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_payload.py → qc/mimo_payload.py} +4 -7
  453. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_report.py → qc/mimo_report.py} +17 -28
  454. package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_runner.py → qc/mimo_runner.py} +2 -2
  455. package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +0 -19
  456. package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +119 -50
  457. package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +32 -114
  458. package/lib/video-recap/skills/video-recap/scripts/recap_review.py +9 -23
  459. package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +387 -334
  460. package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +23 -23
  461. package/lib/video-recap/skills/video-recap/scripts/recap_source.py +278 -0
  462. package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +25 -12
  463. package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +59 -52
  464. package/lib/video-recap/skills/video-recap/scripts/resource_lock.py +162 -0
  465. package/lib/video-recap/skills/video-script/SKILL.md +16 -13
  466. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +9 -5
  467. package/lib/video-recap/skills/video-script/references/promotional-copy.md +68 -0
  468. package/lib/video-recap/skills/video-script/references/research-guide.md +1 -1
  469. package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +24 -76
  470. package/lib/video-recap/skills/video-script/scripts/lib.py +10 -87
  471. package/lib/video-recap/skills/video-script/scripts/narration_lint.py +63 -39
  472. package/lib/video-recap/skills/video-script/scripts/review.py +0 -2
  473. package/lib/video-recap/skills/video-script/scripts/review_grounding.py +35 -59
  474. package/lib/video-recap/skills/video-script/scripts/review_response.py +66 -128
  475. package/lib/video-recap/skills/video-script/scripts/review_runner.py +12 -20
  476. package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +4 -4
  477. package/lib/video-recap/skills/video-script/scripts/validate.py +53 -42
  478. package/lib/video-recap/skills/video-understanding/SKILL.md +6 -4
  479. package/lib/video-recap/skills/video-understanding/references/data-schema.md +50 -156
  480. package/lib/video-recap/skills/video-understanding/references/research-guide.md +4 -4
  481. package/lib/video-recap/skills/video-understanding/scripts/asr.py +85 -65
  482. package/lib/video-recap/skills/video-understanding/scripts/asr_timing_evidence.py +270 -0
  483. package/lib/video-recap/skills/video-understanding/scripts/brief.py +2 -5
  484. package/lib/video-recap/skills/video-understanding/scripts/briefing/__init__.py +1 -0
  485. package/lib/video-recap/skills/{video-script/scripts/agent_brief.py → video-understanding/scripts/briefing/builder.py} +38 -35
  486. package/lib/video-recap/skills/video-understanding/scripts/{brief_context.py → briefing/context.py} +4 -35
  487. package/lib/video-recap/skills/{video-script/scripts/brief_inputs.py → video-understanding/scripts/briefing/inputs.py} +9 -31
  488. package/lib/video-recap/skills/{video-script/scripts/brief_timeline.py → video-understanding/scripts/briefing/timeline.py} +5 -6
  489. package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +65 -116
  490. package/lib/video-recap/skills/video-understanding/scripts/detect.py +31 -40
  491. package/lib/video-recap/skills/video-understanding/scripts/lib.py +30 -86
  492. package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +63 -39
  493. package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +4 -4
  494. package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +17 -79
  495. package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +14 -40
  496. package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +64 -46
  497. package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +31 -11
  498. package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +19 -14
  499. package/lib/video-recap/skills/video-understanding/scripts/vlm.py +80 -108
  500. package/lib/video-recap/skills/video-voiceover/SKILL.md +29 -19
  501. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +31 -0
  502. package/lib/video-recap/skills/video-voiceover/scripts/approved_text_policy.py +123 -0
  503. package/lib/video-recap/skills/video-voiceover/scripts/dub.py +51 -59
  504. package/lib/video-recap/skills/video-voiceover/scripts/lib.py +8 -44
  505. package/lib/video-recap/skills/video-voiceover/scripts/providers/__init__.py +1 -0
  506. package/lib/video-recap/skills/video-voiceover/scripts/providers/index_tts.py +184 -0
  507. package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +212 -134
  508. package/package.json +45 -45
  509. package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -58
  510. package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
  511. package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -38
  512. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +0 -530
  513. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +0 -559
  514. package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +0 -207
  515. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
  516. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +0 -678
  517. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +0 -561
  518. package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +0 -98
  519. package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +0 -225
  520. package/lib/video-recap/skills/video-recap/references/research-guide.md +0 -74
  521. package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +0 -250
  522. package/lib/video-recap/skills/video-script/scripts/brief_context.py +0 -348
  523. package/lib/video-recap/skills/video-script/scripts/narration.py +0 -12
  524. package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +0 -399
  525. package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +0 -290
  526. package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +0 -327
  527. /package/lib/video-recap/skills/video-assemble/scripts/{jianying_tracks.py → jianying/tracks.py} +0 -0
  528. /package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_contract.py → qc/mimo_contract.py} +0 -0
  529. /package/lib/video-recap/skills/video-voiceover/scripts/{fish_audio.py → providers/fish_audio.py} +0 -0
@@ -56,7 +56,7 @@
56
56
  - [ ] 没有突然塞入大量新设定
57
57
  - [ ] 伏笔有推进
58
58
  - [ ] 故事引擎还在运转
59
- - [ ] 对照本章批准细纲,没有新增会影响后续的独立事件、人物决定、关系变化、揭示或支线;闲话、即时反应和服务既有情节点的微连接不算,新的饭局、承诺、选择、结果或后续义务属于 blocking
59
+ - [ ] 对照本章批准细纲核对新增物:闲话、即时反应和服务既有情节点的微连接不算;写了要报:本章写出的新关系、承诺、后续义务要在申报表里列出,由主会话处置;只有与细纲或已登记事实冲突的才是必须修
60
60
 
61
61
  ### 水(filler)检测
62
62
  以下信号出现 = 可能水了:
@@ -95,6 +95,7 @@
95
95
  ### 五维评分标准
96
96
 
97
97
  每个维度 0-100 分,根据评分结果选择精修策略。
98
+ 严重度:critical、high=必须修;medium=建议看;low=仅提示。
98
99
 
99
100
  ### 维度 1:核心一致度
100
101
  检查:关键冲突、关键行动、人物动机是否前后一致。
@@ -122,7 +123,7 @@
122
123
  | 问题 | 严重度 | 修复 |
123
124
  |------|--------|------|
124
125
  | 机械按字数切段或主语过密 | medium | 按戏剧单元重排段落,段首点名、段中代词/省略、关键转折再点名 |
125
- | 章节字数偏离目标 | **high** | 写作/大纲修复时先回到细纲补足计划内情节点,再展开;去AI味已有正文时不得新增剧情 |
126
+ | 章节字数偏离目标 | medium(长篇欠字交作者定) | 先核对情节点是否都写到;都写到就不为字数加戏,超字最多净删一次;去AI味已有正文时不得新增剧情 |
126
127
  | 格式混乱(对话/描写不统一)| low | 统一格式 |
127
128
 
128
129
  ### 维度 4:可读性
@@ -158,21 +159,12 @@
158
159
  | AI 腔重 | de_ai | 替换禁用词、改写句式 |
159
160
  | 小问题多 | polish | 打磨语言细节 |
160
161
 
161
- ### 读者契约与终局储备双向审查
162
+ ### 读者契约与终局储备
162
163
 
163
- 参 `reader-contract-and-progression.md`。先问“无毒吗”,再问“好看吗”:**无毒不等于好看**,没有 契约破坏 只代表不踩雷,还要确认情绪兑现足够强。
164
-
165
- - [ ] 读者契约:本章/本卷是否兑现开篇承诺,还是把核心卖点交给机构、配角或偶然性?风险标记:契约安全 / 需补强 / 契约破坏。
166
- - [ ] 主角代理权:按因果权 + 结算权审查,而非按出场时长;用“关键节点四问”核对决定、不可替代选择、后果与核心结算。配角可执行局部动作,但不能无声夺走期待所有权。
167
- - [ ] 期待债:承诺是否被偿还、延期并支付利息,还是被解释/流程/设定吞掉?
168
- - [ ] 终局储备:本单元是否动用了本阶段还不该解锁的终局底牌(宿敌/真相/身份/金手指上限)?是否让某条升级线逼近天花板、后面没台阶接?两问皆否即放行——单章一战多得(多线齐涨)是好设计,不算超速。
169
- - [ ] 兑现归属:期待所有权是否按承诺结算;自愿让渡只有在“长期净收益为负 + 控制/因果权下降”同时出现时亮红灯,战略性让步的更大控制/未来收益/权力/信息交换是否可见?
170
- - [ ] 节奏续接:高潮/兑现后是否允许短暂低压和小而可见的收益/奖励,而非机械立即加危机?新元素是否支付换书债、没有逃避旧承诺?
171
- - [ ] 题材特定风险:履约爽文/能力幻想中,主角是否反复以愚蠢或可避免的无能制造灾难并由他人收拾,损害因果权与结算信任?
172
- - [ ] 反向审查:若删除“安全解释”,情绪是否更强?若保留风险情节,是否带来更强期待、代价或爽点?
173
-
174
- - [ ] 综合线:契约、主角代理权、期待债、终局储备是否互相支撑,而不是只做到“无毒”。
164
+ 按 `reader-contract-and-progression.md`「契约四问」审,标 契约安全 / 需补强 / 契约破坏;答不上来的那问再读对应小节。四问都过只代表无毒,再补两问看好不好看:
175
165
 
166
+ - [ ] 删掉某处“安全解释”,情绪会不会更强?保留风险情节是否带来更强期待、代价或爽点?
167
+ - [ ] 高潮或兑现后是否允许短暂低压和小而可见的收益,而非机械立即加危机?
176
168
 
177
169
  ### 单元情绪因果可证伪检查
178
170
 
@@ -34,11 +34,3 @@
34
34
  - 标题行以外,正文叙述、对话和心理描写不得出现“本章、上一章、前文、后文、伏笔、细纲、读者”等写作工程词。
35
35
  - 需要承接时改成角色可感知的事件锚点或相对时间;角色在故事世界内真实讨论章节/读者身份时例外。
36
36
  - 正文不使用加粗、斜体、分隔线或检查报告;合法章节标题除外。
37
-
38
- ## 交付检查
39
-
40
- - [ ] 段落按镜头与行动变化断开,不是固定句数模板,段间没有空行、没有缩进。
41
- - [ ] 引号、问号、感叹号和停顿方式全章一致。
42
- - [ ] 长篇字数按章级细纲和确定性口径处理,没有短篇小节阈值。
43
- - [ ] 正文没有写作工程元信息、自检或说明。
44
-
@@ -260,7 +260,7 @@
260
260
  | 逆向型 | 失去X→获得更强Y | 越惨越强、负债越有钱 |
261
261
 
262
262
  ### 写长方法
263
- 核心卖点确定后多套路交织循环;单元故事围绕一个套路展开,主线串联;一级结构循环(模式重复但对象/场景/规模升级)
263
+ 核心卖点确定后多套路交织循环;单元故事围绕一个套路展开,主线串联;剧情单元循环(模式重复但对象/场景/规模升级)
264
264
 
265
265
  ### 脑洞四类
266
266
  1. 金手指类(聊天群/系统/戒指老爷爷)
@@ -79,7 +79,7 @@
79
79
  **断期待的判断**:某章既无期待点也无爽点,前一爽点已结束,本身没拉起新期待→读者觉得书失去了"灵魂"开始弃书。
80
80
 
81
81
  **两种运转模式**:
82
- - 不断循环型:每个一级结构运行一次,变奏场景/对象/条件
82
+ - 不断循环型:每个剧情单元运行一次,变奏场景/对象/条件
83
83
  - 只运行一次型:围绕一个核心情绪分阶段推进
84
84
 
85
85
  ### 检验清单
@@ -95,7 +95,7 @@
95
95
  | 误区 | 表现 |
96
96
  |------|------|
97
97
  | 核心梗太多 | 什么都想写=没有核心梗 |
98
- | 立意不明确 | 没有情绪目标,文字干巴巴 |
98
+ | 立意不明确 | 没有目标情绪,文字干巴巴 |
99
99
  | 纯装逼打脸无主题 | 剧情没有意义 |
100
100
  | 核心梗用完不升级 | 生硬重复,审美疲劳 |
101
101
  | 挂羊头卖狗肉 | 书名暗示与实际内容不符 |
@@ -297,7 +297,7 @@
297
297
  - **关系拉扯**:推进和拉开交替,不能只拉近。扯开可用心有芥蒂/暂时冷静/误会,避免直接分手
298
298
  - **英雄救美**:男主事业线行为无意间救女主→女主倒追(非白给)
299
299
  - **误会**:制造隔阂延缓推进,也是装逼打脸工具
300
- - **窗户纸事件**:好感度质变→关系阶段变化,事业线为主的放在一级结构小高潮
300
+ - **窗户纸事件**:好感度质变→关系阶段变化,事业线为主的放在剧情单元小高潮
301
301
 
302
302
  ### 狗粮文循环
303
303
 
@@ -56,13 +56,13 @@
56
56
  | 出场 3 个以上主要角色 | 信息过载 |
57
57
  | 序章/楔子/引 | 除非以叙事为主、足够简短且与第一章逻辑紧密 |
58
58
  | 插叙/切视角/回忆梦境 | 正叙为主 |
59
- | 世界观详细解说 | 至少等到第一个一级结构结束 |
59
+ | 世界观详细解说 | 至少等到第一个剧情单元结束 |
60
60
 
61
61
  ### 冲突节奏
62
62
 
63
63
  - 背景融入冲突(如用旁人议论同时完成背景和冲突)
64
64
  - 两个紧张场景间要有缓和,但缓和 ≠ 无冲突
65
- - 背景信息分批释放(信息团排版),优先级:危机感 > 人设 > 金手指暗示 > 世界观,每次释放服务于当前情绪目标
65
+ - 背景信息分批释放(信息团排版),优先级:危机感 > 人设 > 金手指暗示 > 世界观,每次释放服务于当前目标情绪
66
66
 
67
67
  ### 开篇结构范例(鬼灭之刃)
68
68
 
@@ -150,7 +150,7 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
150
150
 
151
151
  #### 矛盾和冲突的区别
152
152
 
153
- - "矛盾"是一级结构(全书/全卷层面),"冲突"是二级结构(具体场景层面)。
153
+ - "矛盾"在全书/全卷层面,"冲突"在具体场景层面。
154
154
  - 矛盾决定主线方向,冲突是具体表现。
155
155
 
156
156
  #### 第一幕陷阱
@@ -309,11 +309,11 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
309
309
 
310
310
  | 类型 | 运行方式 | 适用 |
311
311
  |------|----------|------|
312
- | 可重复型 | 每个一级结构中重复运行 | 升级文、系统文、文抄娱乐 |
312
+ | 可重复型 | 每个剧情单元中重复运行 | 升级文、系统文、文抄娱乐 |
313
313
  | 不可重复型 | 贯穿全文但只在最高潮爆发一次 | 追妻、掉马、禁忌之恋 |
314
314
  | 长期铺垫型 | 以期待点形式贯穿 | 悬疑、复仇、解谜 |
315
315
 
316
- 运行节奏:第一个一级结构中必须运行一次或完成首次铺垫。连续多个一级结构不运行 = 读者弃书。
316
+ 运行节奏:第一个剧情单元中必须运行一次或完成首次铺垫。连续多个剧情单元不运行 = 读者弃书。
317
317
 
318
318
  双线构思法:布两条线--一条重复运行核心梗,另一条不重复,交替推进。
319
319
 
@@ -450,7 +450,7 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
450
450
  - [ ] 感情线(如有)是否按四阶段推进,试探阶段占30-50%
451
451
  - [ ] 金手指是否通过合格五问,能力是否碎片化融入剧情
452
452
  - [ ] 显性身份/隐性身份/显性金手指/隐性金手指四点是否统一
453
- - [ ] 核心梗是否在第一个一级结构中运行一次或完成首次铺垫
453
+ - [ ] 核心梗是否在第一个剧情单元中运行一次或完成首次铺垫
454
454
  - [ ] 循环核心是否匹配题材,是否偏离核心卖点
455
455
  - [ ] 每个事件是否有至少一个价值改变,能推进主线
456
456
  - [ ] 信息传达顺序是否匹配场景类型(基础/铺垫/反转/高潮)
@@ -16,8 +16,8 @@ Phase 3 建大纲时加载。包含大纲创建法、结构分级、节点设计
16
16
 
17
17
  | 级别 | 特征 | 适用 |
18
18
  |------|------|------|
19
- | 一级 | 单元剧松散连接,靠时间串联,最后大高潮 | 入门 |
20
- | 1.5 级 | 单元剧间有逻辑线索串联,指向核心目标 | 进阶 |
19
+ | 一级 | 剧情单元松散连接,靠时间串联,最后大高潮 | 入门 |
20
+ | 1.5 级 | 剧情单元间有逻辑线索串联,指向核心目标 | 进阶 |
21
21
  | 二级 | 小高潮→意外下行→上行转折→大高潮链 | 高阶 |
22
22
 
23
23
  ## 五步大纲创建法
@@ -32,14 +32,14 @@ Phase 3 建大纲时加载。包含大纲创建法、结构分级、节点设计
32
32
  - [ ] 是否与阶段目标高度一致?
33
33
  - [ ] 读者情绪波动是否最大?
34
34
 
35
- ### 第2步:确定单元剧
35
+ ### 第2步:确定剧情单元
36
36
 
37
- 每个单元剧 = 主角用金手指优势获得爽点。同类型重复 = 剧情套路,有逻辑关系的成组出现 = 剧情套路链路。
37
+ 每个剧情单元 = 主角用金手指优势获得爽点。同类型重复 = 剧情套路,有逻辑关系的成组出现 = 剧情套路链路。
38
38
 
39
39
  操作要求:
40
- - 每个单元剧必须展示金手指不同用法
41
- - 相邻单元剧禁止使用相同金手指逻辑
42
- - 单元剧之间必须建立因果关系
40
+ - 每个剧情单元必须展示金手指不同用法
41
+ - 相邻剧情单元禁止使用相同金手指逻辑
42
+ - 剧情单元之间必须建立因果关系
43
43
 
44
44
  ### 第3步:故事线组织与信息点预埋
45
45
 
@@ -246,7 +246,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
246
246
 
247
247
  ### 开头精简法
248
248
 
249
- 1. 整理开头第一个一级结构的矛盾
249
+ 1. 整理开头第一个剧情单元的矛盾
250
250
  2. 把介绍性、抒情性文字逐条向上连——尝试与矛盾直接关联
251
251
  3. 隔了好几层逻辑才能连上的 → **无效信息,删除**
252
252
  4. 后文没戏份的配角不给名字
@@ -257,7 +257,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
257
257
  |------|------|
258
258
  | 爽点/期待点出现 | 1000字内必须看到 |
259
259
  | 打斗 | 第一章不能上来就打 |
260
- | 爱情线对象 | 第一个一级结构内必须出场 |
260
+ | 爱情线对象 | 第一个剧情单元内必须出场 |
261
261
  | 金手指展示 | 第一个冲突由金手指解决,主角主动选择使用 |
262
262
 
263
263
  ---
@@ -353,7 +353,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
353
353
 
354
354
  1. 确定目标矛盾类型,在剧情原型库中检索
355
355
  2. 将匹配剧情拆为细纲放左边,自己的情况放右边,逐点改编
356
- 3. 验证改编后是否满足情绪目标、与主线衔接、无逻辑漏洞
356
+ 3. 验证改编后是否满足目标情绪、与主线衔接、无逻辑漏洞
357
357
 
358
358
  ### 同人衍生型大纲法
359
359
 
@@ -17,8 +17,7 @@
17
17
  | 设计换地图节奏 | 换地图与地图架构 -> 换地图三法 -> 顶层框架法 |
18
18
  | 拉长篇幅不崩盘 | 多线写长技法 -> 传统文框架与四大留存手段 |
19
19
  | 写西幻题材 | 西幻创作要点 |
20
- | 把对标书节奏搬进自己大纲 | 一级结构=对标书的剧情单元 + 对标节奏迁移 |
21
- | 排章避免每章像短篇 | 章节定位与张弛 |
20
+ | 把对标书节奏搬进自己大纲、排章避免每章像短篇 | workflow-volume.md「节奏锚与对标迁移」 |
22
21
 
23
22
  结构规则是**必须遵守**的框架约束(如五幕式的因果链环数、每幕功能)。遇到冲突时:因果链规则 > 结构模板 > 具体技法。
24
23
 
@@ -26,16 +25,18 @@
26
25
 
27
26
  ## 一级结构与二级结构
28
27
 
29
- ### 一级结构 = 单元剧串联
28
+ 一级/二级/三级结构指全书结构类型;组成它们的一段段剧情一律叫剧情单元。
30
29
 
31
- 一条故事线由若干单元剧组成,互相孤立,主角如绳子串起所有单元剧。
30
+ ### 一级结构 = 剧情单元串联
31
+
32
+ 一条故事线由若干剧情单元组成,互相孤立,主角如绳子串起所有剧情单元。
32
33
 
33
34
  - 优势:爽点密集,结构简单不易出错
34
35
  - 劣势:撑不起长篇幅,期待感单一,上限有限
35
36
 
36
- ### 二级结构 = 单元剧套娃升维
37
+ ### 二级结构 = 剧情单元套娃升维
37
38
 
38
- 把一级结构的"单元剧"拉长到整卷,每卷是一个完整故事。核心问题:一卷二三十万字只展开一个故事,铺垫太长。
39
+ 把一级结构的剧情单元拉长到整卷,每卷是一个完整故事。核心问题:一卷二三十万字只展开一个故事,铺垫太长。
39
40
 
40
41
  **解决方案 = 套娃**:大故事的每个结构部分本身也是一个小故事,小故事有爽点,同时暗中铺垫大故事。层层递进,高潮时串在一起引爆。
41
42
 
@@ -45,7 +46,7 @@
45
46
 
46
47
  ### 长篇特殊认知
47
48
 
48
- - 最小冲突单元 = 节拍(一个动作对应一个反应)
49
+ - 最小冲突单元 = 一次交锋(一个动作对应一个反应)
49
50
  - 过渡章节的问题往往是信息铺垫太多、冲突太少
50
51
  - 剧作理论不适用两点:①人物弧——几百万字主角早该成熟,主角可当工具人 ②细节打磨——长篇读者不会深研潜台词
51
52
 
@@ -167,14 +168,14 @@
167
168
  典型:无敌文、日常文。轻剧情重人设。
168
169
 
169
170
  核心特征:
170
- - 单元剧模式,各有完整三幕式
171
- - 公式:核心爽点 + 讨喜人设 + 单元剧舞台
171
+ - 剧情单元模式,各有完整三幕式
172
+ - 公式:核心爽点 + 讨喜人设 + 剧情单元舞台
172
173
  - 不需要明确主线,主角串联一切
173
174
  - 人设的新颖是重点
174
175
 
175
176
  ### 过渡型
176
177
 
177
- 开局弱主线(单元剧日常),后期逐渐过渡为强主线。
178
+ 开局弱主线(剧情单元日常),后期逐渐过渡为强主线。
178
179
 
179
180
  ### 支线设计原则
180
181
 
@@ -245,67 +246,11 @@
245
246
 
246
247
  ---
247
248
 
248
- ## 一级结构 = 对标书的剧情单元(节奏对标的轴)
249
-
250
- 一级结构是一个完整单元剧:一个矛盾从起到爆发收束,约 1.5-3 万字 / 数章。拆对标书拆出来的「剧情单元 / 章节摘要 / 爽点循环」就是它的一级结构序列;自己卷纲里的「剧情单元」也是一级结构。所以「一级结构」是理论叫法,落到产物就是**剧情单元**(对标侧=拆出的剧情单元,本书侧=卷纲里的剧情单元卡)。所以对标节奏不是另起炉灶——是把对标书的一级结构序列,保留情绪与功能、换素材,搬进自己的卷纲。
251
-
252
- ### 关键点法(统一各尺度的节奏锚)
253
-
254
- 任意尺度(全书 / 卷 / 一级结构 / 支线 / 章)都有五个关键点:开场、1/4、中点、3/4、结尾。其中 1/4、中点、3/4 是放关键情节的位置。关键情节三类:
255
-
256
- | 类型 | 含义 |
257
- |------|------|
258
- | 情节逆转 | 发展在读者意料内,但主角的解决方式让人直呼精彩(装逼打脸、英雄救美) |
259
- | 情节转折 | 意料之外(身份反转、敌变友、局势骤变) |
260
- | 激励情节 | 全书或一卷第一个、与核心主线直接相关的命运改变时刻 |
261
-
262
- 不是每个尺度都把三处填满,但一卷至少在 1/4、中点、3/4 各安排一个关键情节,避免全程一个力度。
263
-
264
- ### 对标节奏迁移(卷纲定稿前做一次,无对标书可跳过)
265
-
266
- 1. **选段(以剧情单元为单位)**:在主对标里圈出本卷要对标的一级结构序列——选段单位就是拆文产出的剧情单元(`剧情/{剧情标题}.md`)。检索顺序:先读主对标 `剧情/README.md`「剧情单元清单」(有清单则一书一文件,按「类型 / 桥段标签」直接命中同类);无清单则在 `剧情/*.md` 里按「类型」行(第一键,必填枚举)+「桥段标签 / 套路框架位置」行(第二键)圈同类;仍无命中回退按章节范围圈段,全程不阻塞。多对标时按 `cross-book-recall.md` 大纲预算从副对标补同类条目。读取必备权威文件 `剧情/节奏.md`(爆发密度 / 爽点循环);缺失时先修复或重跑拆文 Stage 3,不从摘要猜测节奏。本卷对标几条一级结构 ≈ 本卷字数 ÷ 1.5-3 万。
267
- 2. **标关键点**:看对标这几个一级结构在 1/4、中点、3/4 各放了什么关键情节,判为逆转 / 转折 / 激励。摘要里「类型=转折点」的情节点 + 基调突变(如温馨→压抑)就是关键点的确定性锚,不靠凭感觉;剧情单元的「结构分布」(铺垫/发展/高潮/收尾期)与「情节点索引」同为确定性锚。
268
- 3. **换素材**:保留对标的情绪链和功能位,把对象、场景、事件全换成自己的,禁止照搬具体桥段。功能位清单取必备权威文件 `剧情/情绪模块.md` 的可替换项;缺失时先修复,不生成替代清单。
269
- 4. **修正硬伤**:换素材前比对 `拆文报告.md`「不建议模仿」。对标若在某个关键点是弱处理(慢热留白、主角长期旁观等已知硬伤),迁移时要在该位置补一个缺的关键情节、或把后面的关键情节前置,而不是把弱处理一起抄过来——关键点该有的力度不能因为对标偷懒就跟着偷懒。
270
- 5. **排章 + 落卷纲**:把换好(并修正)的关键情节落到本卷相同相对位置——这里的 1/4·中点·3/4 是**卷尺度**(1/4≈总章×0.25、中点×0.5、3/4×0.75);卷里有几条一级结构时,每条一级结构内部另有自己的铺垫→逆转→收尾,别和卷尺度的关键点混为一谈。关键点之间用普通推进章过渡,每个关键点之后按需插一章呼吸 / 关系章;写进卷纲「对标结构坐标」与情绪弧线的章节定位列,细纲承接时每章标章节定位。同时把选中的剧情单元以 {书名}《剧情标题》写入剧情单元卡「对标剧情参照」。
271
-
272
- 近精细远模糊:只精排当前卷,后续卷做粗坐标即可,不必一上来规划全书。
273
-
274
- 一个最小例子(demo《让你管账号,你高燃混剪炸全网》):对标结构的 1/4 是“小人物拿出粗糙作品,无人看好”,中点是“作品爆火,体制内外同时关注”,3/4 是“专业力量进场替代,反而证明主角不可复制”。换到江晨这条军宣线后,1/4 落成他用手机拍《诸君,且听龙吟》、画质粗糙却先把军魂拍出来;中点落成视频引爆全网和参军热潮;3/4 落成专业团队高清重拍,却被周薄森当场指出“缺了灵魂”,张耀祖最终拍板继续用手机原版。保留的是“轻视→市场验证→权威替代失败→价值坐实”的情绪链,素材、场景和角色关系都来自本书。
275
-
276
- ### 按剧情批出细纲(细纲分批边界)
249
+ ## 剧情单元:节奏对标的轴
277
250
 
278
- 一批细纲 = 卷纲里的一个剧情单元(约 5-15 章)。体量换算:剧情单元字数 ÷ 单章目标字数 → 章数,单章目标字数取本书既有细纲惯例,无惯例按题材节奏档取默认(快节奏/短平快约 2000,均衡约 3000);剧情单元超过 1.5 万字且节拍含两个以上独立高潮时拆成多个剧情单元,否则单个剧情单元。剧情单元 >10 章拆两批建纲,两批共享同一次召回;首批 = 前 10 章封顶、可跨单元(跨入的剧情单元建卡时召回一次,余章由后续滚动批共享剧情单元卡结论),停靠规则不变(见 [Phase 3:大纲搭建](workflow-setup.md#phase-3大纲搭建))。
251
+ 剧情单元是一个矛盾从起到爆发收束的完整段落,约 1.5-3 万字 / 数章。对标侧是拆出的剧情单元(配章节摘要、爽点循环),本书侧是卷纲里的剧情单元卡,粒度相同。所以对标节奏不是另起炉灶——是把对标书的剧情单元序列,保留情绪与功能、换素材,搬进自己的卷纲。
279
252
 
280
- 建卡时做一次**剧情批召回**:读剧情单元卡「对标剧情参照」指向的剧情单元(≤3 个文件)的「结构分布」「情节点索引」,回查该书 `剧情/节奏.md` 同章节区间的爽点循环 / 触动点与被引情绪模块卡,提炼 5-8 拍共性节拍写入剧情单元卡「单元节拍/章功能分配」,单元情绪引擎字段对照主对标 `剧情/情绪模块.md` 的可复现模块校准。若主产物存在但被引的单个情绪模块卡未命中,只跳过该卡;`剧情/情绪模块.md` 或 `剧情/节奏.md` 文件缺失仍按上方 fail-fast 规则先修复。换素材与修硬伤纪律同上方迁移步骤 3/4——保留情绪链和功能位,对象、场景、事件全换,对标弱处理就地修正。结论固化进剧情单元卡后,逐章细纲只消费剧情单元卡,不重读剧情单元。
281
-
282
- **「只消费剧情单元卡」管的是不重读对标,不冻结逐章建纲。** 排纲当场发现的缺口(某拍无对手、数值没验过、地点无底图、角色既定规矩挡场之类)按创作自主权分级处置(A 直接写/B 先落档再引用/C 挂起提案,见 workflow-setup.md「缺什么按创作自主权分级处置」),处置完记一行,批末汇进《供给单》的「**建纲追加**」小节(见 workflow-setup.md「按剧情批出细纲」步骤 5);下一批供给自查以该小节为固定输入(按当场缺口类别加问批前盘点项)。
283
-
284
- 日更中途发现卷纲缺少「对标剧情参照」等当前协议必需字段时,先补齐卷纲再建细纲;锁定卷纲不得自动回写,必须停在补纲边界。节拍分析过程不写进追踪文件,只有最终影响未来连续性的约束或下一章承诺才进入本章追踪事务。
285
-
286
- ## 章节定位与张弛(破「每章像短篇」)
287
-
288
- 一卷里章的压力本就该有高有低。这里的压力级指**爆发 / 冲突烈度**(复用悬念刻度 1 微 / 2 小 / 3 中 / 4 大 / 5 极),不是情感烈度——关系回收 / 泪目这类章可以压力低(爆发小)但情感强度顶满,情感烈度由卷纲情绪弧线的「情绪基调 + 强度」承载。章节定位由「这一章在它所属一级结构里的位置」自然落出,不是另贴一套独立标签:一级结构首章多为铺垫 / 共情,中段承载逆转,收尾爆发收束;黄金开篇、高潮结算 + 温情这类章可复合标注(如「高压 + 关系」)或留空。
289
-
290
- | 章节定位 | 功能 | 压力级 | 卷内占比(均衡/长书基线,非硬配额) | 钩子要求 |
291
- |------|------|--------|--------------------------|----------|
292
- | 高压章 | 打脸 / 掉马 / 反转 / 高潮;关键点的关键情节落点 | 4-5 | 约 15-20% | 章尾强钩子;承载逆转 / 转折 |
293
- | 普通推进章 | 主线推进、冲突升级、单元剧中段 | 2-3 | 约 40-50% | 章尾中钩子;至少一个小爽点或期待递进 |
294
- | 修炼试错章 | 实力 / 资源积累、能力铺垫、失败试错 | 2 | 约 5-10% | 进度钩子(差一点 / 即将突破),可无反转 |
295
- | 关系回收章 | 感情线兑现、关系转折、身边人日常 | 2-3 | 约 5-10% | 情感钩子;拉扯仍带主线相关 |
296
- | 低压生活章 | 高潮后喘息、关系升温、张弛调节 | 1-2 | 不超过约 10% | 允许弱钩子或仅情绪钩子;不强求反转 / 爽点 |
297
- | 信息整理章 | 转场、设定交代、时间缝合 | 1 | 不超过约 5%,能并章就并章、少独立成章 | 允许无显性爽点;信息用「表演」承载;结尾给下一段目标 |
298
-
299
- 两条底线:
300
-
301
- - **期待不断、爆发分布**。低压章可以没有爽点和反转,但每章都要给读者一个往下看的理由(微好奇、阶段目标、暧昧期待)。掉的是爆发烈度,不是往前的拉力——番茄追读尤其吃这条。
302
- - **禁情绪母题扎堆**。比「每章像短篇」更隐蔽的疲劳源,是连续多章同一情绪母题高位运行(如连五章家国 / 泪目)——章节定位分得再开也救不了。排卷纲情绪弧线时逐行看相邻 3-4 章的情绪基调,同母题别连超 2-3 章;靠换情绪、换钩子方式、多线穿插来差异化,不是靠砍钩子。
303
-
304
- 题材分级(上面占比是均衡 / 长书基线,按题材分档):番茄短平快 / 男频事业线,高压可到 30% 以上、呼吸章压到 5% 上下都正常,别拿基线去「补呼吸、砍高压」反而掉追读;女频 / 世情 / 追妻,人设关系容量大、关系 / 低压章可更多,但仍走情绪折线、不必每章三折。低压 / 关系章定位是看点(主角身边人的日常本身是订阅点),不是填充。
305
-
306
- 与字数目标的衔接:章节定位决定节拍功能与展开取舍,但不把每个情节点换算成固定字数,也不靠增点凑目标。写后由程序按双层长度带验收:明显欠长先判断已批准义务是否未实现,容量不足或不明确就协商自然长度、补纲或目标,绝不自动补写;明显超长可做一次不新增语义、逐项保留批准情节点与章尾钩子的净删型压缩,复检仍带外就停止,不进入循环删改。
307
-
308
- ---
253
+ 卷纲怎么锚节奏、怎么从对标迁移,以及章节定位与张弛,在 [workflow-volume.md](workflow-volume.md)「节奏锚与对标迁移」;细纲怎么按剧情批出,在 [workflow-outline.md](workflow-outline.md) 文末。
309
254
 
310
255
  ## 质量检查清单
311
256
 
@@ -610,7 +610,7 @@ B打败A -> C打败B -> 主角打败C -> 引出大BOSS。升级文替换:"台
610
610
 
611
611
  - 意外 = 桌子底下炸弹突然爆炸
612
612
  - 悬念 = 观众听到定时炸弹在滴答但不知道何时爆炸 -> 悬念远比意外有力
613
- - 章末断章留悬念 = 章结尾尚未解决的危险(高压/推进章用强悬念;低压/过场章弱钩子或阶段目标即可,按章节定位——见 outline-structure-theory.md「章节定位与张弛」)
613
+ - 章末断章留悬念 = 章结尾尚未解决的危险(高压/推进章用强悬念;低压/过场章弱钩子或阶段目标即可,按章节定位——见 workflow-volume.md「章节定位与张弛」)
614
614
 
615
615
  ### 时间锁
616
616
 
@@ -279,7 +279,7 @@
279
279
 
280
280
  | 结构 | 特点 | 订阅表现 |
281
281
  |------|------|----------|
282
- | 一级结构(单元剧) | 爽点分布均匀,每天有小高潮 | 追读稳定 |
282
+ | 一级结构(剧情单元串联) | 爽点分布均匀,每天有小高潮 | 追读稳定 |
283
283
  | 二级结构(铺垫->反转->大高潮) | 大高潮后有平缓期 | 订阅波动,阶梯型流失 |
284
284
 
285
285
 
@@ -594,7 +594,7 @@
594
594
  - [ ] 每个剧情存在的目的是否明确(主线/过渡/小循环)?
595
595
  - [ ] 小循环是否严格按 铺垫->困难->金手指发挥作用->爽点释放 四步走?
596
596
  - [ ] 小循环中是否铺垫了大循环的期待?
597
- - [ ] 同人是否用一级结构(单元剧),原创是否按节奏递进模式?
597
+ - [ ] 同人是否用一级结构(剧情单元串联),原创是否按节奏递进模式?
598
598
 
599
599
  ### 阵营与动机
600
600
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  #### 项目文件结构
4
4
 
5
- 长篇写作必须用文件系统管理,不要把内容堆在对话里。在用户指定的工作目录下创建:
5
+ 需落盘时在用户指定目录按下表组织;只讨论不建工程,仅规划只创建本次产物所需目录,不为凑齐目录树生成正文或追踪:
6
6
 
7
7
  ```
8
8
  {书名}/
@@ -22,8 +22,9 @@
22
22
  │ └── 题材正文提示卡.md # 题材正文核心:边界/期待/爽点/节奏/禁漂移
23
23
  ├── 大纲/
24
24
  │ ├── 大纲.md # 全书卷级结构
25
- │ ├── 卷纲_第一卷.md # 每卷一个:对标结构坐标+剧情单元+情绪弧线(含章节定位)+人物弧线+伏笔+反转
26
- │ └── 细纲_第001章.md # 每章一个:章节定位+事件+钩子(按章节定位,章首/章尾/段落级)+爽点+悬念
25
+ │ ├── 卷纲_第一卷.md # 每卷一个:卷契约+故事线+剧情单元卡+情绪弧线+人物弧线+伏笔+反转
26
+ │ ├── 排纲底稿_L1-01.md # 每单元一份:供给自查+建纲追加
27
+ │ └── 细纲_第001章.md # 每章一个:九个必填字段+四个小节+结尾设定和钩子
27
28
  ├── 正文/
28
29
  │ ├── 第001章_章名.md
29
30
  │ └── ...
@@ -57,6 +58,7 @@
57
58
  │ └── 时间线/{作者真相.md,读者已知.md}
58
59
  ├── 参考资料/
59
60
  │ └── {topic}.md # story-researcher 输出的研究资料
61
+ ├── .story/work/第NNN章/ ← 本章临时文件(分组 segment、prompt 留档、事务 JSON),提交后自动删除
60
62
  ```
61
63
 
62
64
  **产物映射表**(创建模板详见 [references/artifact-protocols.md](artifact-protocols.md)):
@@ -64,18 +66,19 @@
64
66
  | 文件 | 粒度 | 创建阶段 | 读取时机 |
65
67
  |------|------|---------|---------|
66
68
  | 设定/关系.md | 全书 | Phase 2 | 按需:story-explorer relationship 查询、story-review 查设定(不在每章写作回路里逐章读) |
67
- | 设定/题材定位.md(含 `主对标书` 字段,多对标时必填) | 全书 | Phase 2 | Phase 3 大纲、每卷开始前、Phase 4 写前召回 |
68
- | 设定/题材正文提示卡.md | 全书/题材 | Phase 2(缺失则 Phase 4 写前即时生成) | Phase 4 每章写作前:按 `genre-prose-cards.md` 索引匹配后读取 `genre-prose-cards/` 目录对应单题材卡优先、`style-genre-modules.md` 通用模块兜底,与通用正文要求、情绪/节奏召回和文风一起组装 prompt |
69
- | 设定/角色/{角色名}.md、设定/势力/{名}.md | 角色/势力 | Phase 3 细纲后增量补全(首批含主角/主要角色) | Phase 4 状态筛选/写作 |
69
+ | 设定/题材定位.md(含 `主对标书` 字段,多对标时必填) | 全书 | Phase 1 建,Phase 2 补全 | Phase 3 大纲、每卷开始前、Phase 4 写前召回 |
70
+ | 设定/题材正文提示卡.md | 全书/题材 | 写第 1 章前由写前召回生成(导入项目可能已有) | Phase 4 每章写作前:按 `genre-prose-cards.md` 索引匹配后读取 `genre-prose-cards/` 目录对应单题材卡优先、`style-genre-modules.md` 通用模块兜底,与通用正文要求、情绪/节奏召回和文风一起组装 prompt |
71
+ | 设定/角色/{角色名}.md、设定/势力/{名}.md | 角色/势力 | Phase 2 建主角与关键角色;Phase 3 细纲后增量补全 | Phase 4 状态筛选/写作 |
70
72
  | 设定/文风.md(自定义文风·优先级最高) | 本书 | 用户自写(Claude Code 可代写);导入/拆解不覆盖 | Phase 4 每章写作前:含实质内容则取代对标文风作权威风格基 |
71
73
  | 对标/{书名}/文风.md | 对标书 | analyze Stage 6 输出 → story-import 显式绑定或本 skill 首次引用时同步 | Phase 4 每章写作前(文风召回;有自定义文风时降为参考/句长兜底) |
72
74
  | 大纲/卷纲_第X卷.md | 卷 | Phase 3 | **一律走取段器 `outline_view.py --unit/--contract/--toc`,不整读**(见「路径与术语约定」);段位契约与 checker 见 artifact-protocols.md |
73
- | 追踪/_tracking-state.json | 全书 | Phase 3 初始化 | 唯一结构化权威,不进正文 prompt;每章运行 `tracking_commit.py check` 读取章号和修订号 |
74
- | 追踪/伏笔.md | 全书当前视图 | Phase 3 初始化 | 续写状态卡缺项时按 ID 定点查询;每 ID 只一行 |
75
- | 追踪/时间线/{作者真相.md,读者已知.md} | 全书当前事实/认知派生视图 | Phase 3 初始化 | 按作者真相或读者认知的实际问题选择视图 |
75
+ | 大纲/排纲底稿_{单元ID}.md | 剧情单元 | Phase 3;正文「细纲没给」追加进「建纲追加」 | 只在排纲/补纲时读 |
76
+ | 追踪/_tracking-state.json | 全书 | 首次写正文前初始化(规划阶段不建) | 唯一结构化权威,不进正文 prompt;每章运行 `tracking_commit.py check` 读取章号和修订号 |
77
+ | 追踪/伏笔.md | 全书当前视图 | 与 state 同时初始化 | 续写状态卡缺项时按 ID 定点查询;每 ID 只一行 |
78
+ | 追踪/时间线/{作者真相.md,读者已知.md} | 全书当前事实/认知派生视图 | 与 state 同时初始化 | 按作者真相或读者认知的实际问题选择视图 |
76
79
  | 对标/{书名}/拆文报告.md | 对标书 | 用户手动+analyze | Phase 2 核心设定、Phase 3 大纲、Phase 4 写作 |
77
80
  | 追踪/逐章记录/第NNN章.md | 章 | Phase 4 每章事务 | 日更不读;目标 ≤1536 字节、硬上限 3072 字节,按需查询历史原因 |
78
- | 追踪/上下文.md(续写状态卡,≤12KB) | 全书当前状态 | Phase 3 初始化 | 日更每章整份读;由事务工具整份重建,固定 7 栏 |
81
+ | 追踪/上下文.md(续写状态卡,≤12KB) | 全书当前状态 | 与 state 同时初始化 | 日更每章整份读;由事务工具整份重建,固定 7 栏 |
79
82
  | 参考资料/{topic}.md | 按需 | Phase 4(story-researcher 输出) | Phase 4 后续章节写作时复用 |
80
83
  | 追踪/角色状态/{角色名}.md | 核心角色 | 首次进入正文或导入初始化 | 久别角色按名读取一个小快照;目标 ≤4096 字节、硬上限 8192 字节;静态人设仍读 `设定/角色/` |
81
84
  | 对标/{书名}/角色/{角色名}.md | 对标书 | analyze 输出 | Phase 4 模块召回(角色参考) |
@@ -84,12 +87,12 @@
84
87
  | 对标/{书名}/剧情/节奏.md | 对标书 | analyze Stage 3 输出 → story-import 显式绑定或本 skill 首次引用时同步 | Phase 3 大纲、Phase 4 每章写作前(关键信息推进、情绪触动点、爆发节奏参考) |
85
88
  | 对标/{书名}/设定/*.md | 对标书 | analyze 输出 | Phase 2 设定参考、Phase 4 世界观约束 |
86
89
 
87
- **缺失文件处理**:当前主产物缺失时显式修复,不拼装降级结果:
90
+ **缺失文件处理**:先按进度、报告总章数与逐章覆盖识别资料代际;当前契约缺项时显式修复,不拼装降级结果:
88
91
  1. **角色状态文件缺失** → 当前协议项目先运行 `tracking_commit.py check`,再重跑产生该状态的完整事务;已有正文但 `_tracking-state.json` 缺失时重新 `/story-import`。不得从前文临时推断后直接手写快照。
89
92
  2. **角色、普通剧情单元或设定等非主产物子目录缺失** → 按「对标书路径查找」查找项目视图与根目录数据源,仍缺失则跳过该可选模块。本条不适用于 `剧情/情绪模块.md` 和 `剧情/节奏.md`。
90
- 3. **`剧情/情绪模块.md` / `剧情/节奏.md` 缺失** → 写前准备必须停下,设置 `missing_primary_contract: true` 并给出 `repair_action`:重跑 `/story-long-analyze` Stage 3+ 或重新 `/story-import`,不得用摘要文件假装已召回权威模块。
93
+ 3. **当前契约的 `剧情/情绪模块.md` / `剧情/节奏.md` 缺失** → 写前准备必须停下,设置 `missing_primary_contract: true` 并给出 `repair_action`:重跑 `/story-long-analyze` Stage 3+ 或重新 `/story-import`,不得用摘要文件假装已召回权威模块。
91
94
  4. **有对标书但 `文风.md` 缺失** → 若有 `设定/文风.md`(含实质内容)走自定义文风模式继续;否则日更文风召回 fail-fast,提示先运行 `/story-long-analyze` Stage 6 并 `/story-import` 同步。**完全无对标项目**则跳过文风召回、不阻塞(有 `设定/文风.md` 时用它写作)。情绪/节奏轴(`missing_primary_contract`)独立,自定义文风模式不豁免其 fail-fast。
92
- 5. **伏笔/时间线文件缺失** → 视为当前语义检查点损坏,停止写正文;先运行 `tracking_commit.py check`,再用事务修复。卷纲/大纲中的计划不能代替已发生事实的当前检查点。
95
+ 5. **伏笔/时间线文件缺失** → 视为当前状态损坏,停止写正文;先运行 `tracking_commit.py check`,再用事务修复。卷纲/大纲中的计划不能代替已发生的事实。
93
96
  6. **`设定/题材正文提示卡.md` 缺失** → 不阻塞;写前从 `设定/题材定位.md` 精确匹配 `references/genre-prose-cards.md` 索引,并只读取 `references/genre-prose-cards/` 中对应题材单卡(高/中/低置信照原卡标注),无命中再用 `references/style-genre-modules.md` 通用流派模块即时生成短 `genre_prose_card`。只有 `设定/题材定位.md` 也缺失时,退回细纲和目标平台做低置信题材卡,并在意图确认写明。
94
97
 
95
98
  **对标分析权威优先级(权威读取顺序)**:
@@ -98,6 +101,7 @@
98
101
  3. `文风.md` 只管句长、标点、对话潜台词、原文锚点等风格;它不能覆盖情绪模块或节奏意图。**自定义文风 `设定/文风.md`(用户自写、不被导入/拆解覆盖)优先级高于对标 `文风.md`**:含实质内容时作权威风格基,对标文风降为参考与句长数值兜底;句长、停顿标点、视角与修辞按 `references/style-resolution.md` 裁决;段间空行等文件结构仍按交付协议,不把通用表达禁令称为硬安全线。
99
102
  4. `章节/第K章_摘要.md` 是具体章节证据,用来校验和补足权威索引,不反向覆盖 `情绪模块.md` / `节奏.md`。
100
103
  5. `拆文报告.md`、`剧情/故事线.md` 是投影/摘要;若与 `剧情/情绪模块.md` 或 `剧情/节奏.md` 冲突,写作以两个权威文件为准,并在写前准备 `gaps.conflict` 记录冲突来源。
104
+ 6. **公共灵感召回**(工作区有 `灵感库/` 时)按任务标签选 Top 3–8 张 active CBA;不传 IA/NM,不把灵感卡当风格样本;灵感卡只影响设计选择,与上述权威文件或细纲事实冲突时以后者为准。
101
105
 
102
106
  **文件组织原则:**
103
107
  - **人物一个一个文件**:`角色/角色名.md`,方便按需读取
@@ -106,3 +110,5 @@
106
110
  - **细纲一章一个文件**:`细纲_第XXX章.md`,含钩子设计,与正文一一对应
107
111
  - **正文按章拆分**:每章一个文件,`第XXX章_章名.md`
108
112
  - 每章写完直接写入 `正文/` 目录,不要先输出到对话
113
+
114
+ 对标/ 下的文件由 `/story-long-analyze` 与 `/story-import` 产出;手写的对标摘要不能代替 `剧情/情绪模块.md`、`剧情/节奏.md` 两份主产物(缺了写前召回会停下)。
@@ -1,15 +1,23 @@
1
1
  # 读者契约与终局储备
2
2
 
3
- 本文件是 `story-long-write` 关于读者契约、主角代理权(叙事能动性/主导性)、利益安全与阶段推进的权威参考文件。相关洞察由授权社区样本提炼而来;样本多数是问题帖/避坑帖,属于非统计共识,也不能替代具体题材、平台和对标书判断。
3
+ 本文件是 `story-long-write` 关于读者契约、主角代理权(叙事能动性/主导性)、利益安全与阶段推进的权威参考文件。洞察来自授权社区的避坑样本,是经验共识,不替代具体题材、平台和对标书判断。
4
4
 
5
5
  **安全边界**:本文件不得包含来源站点隐私数据、访问凭证、cookies、tokens、请求签名、私有标识符,或任何能反推出私域账号/请求环境的信息。
6
6
 
7
+ ## 0. 契约四问(排纲、写正文、批末核对只用这四问)
8
+
9
+ 1. 主角是不是靠自己的选择挣到了结果?(因果权 + 结算权,拿不准过「关键节点四问」)
10
+ 2. 核心收益或高光有没有被配角、机构或巧合无交换地拿走?(期待所有权、利益安全)
11
+ 3. 有没有动用本阶段还不该解锁的终局底牌,或把某条升级线顶到天花板?(终局储备、透支两问)
12
+ 4. 旧期待付了利息没,又给读者留了什么期待?新地图、新机构、新谜团有没有被拿来逃避旧承诺?(期待债、换书债)
13
+
14
+ 四问都过=契约安全;有一问勉强但能靠铺垫/交换/成本补上=需补强;补不上=契约破坏。答不上来的那问再读下面对应小节。
15
+
7
16
  ## 1. 核心概念
8
17
 
9
18
  ### 读者契约
10
19
  - 读者契约 = 开篇、题材、主角配置、叙事口吻共同许诺的阅读快感。
11
20
  - 写作前先确认:读者是来看主角解决问题、见证团队群像、看导师托举后辈,还是看制度合作建设?不同契约下同一情节风险不同。
12
- - 题材边界先于单条禁忌:政府、宗门总部、跨国组织、多国公司等高层级机构一出现,可能开启制度/势力范围情节线;先检查本书是否从开篇承诺了这种玩法。
13
21
 
14
22
  ### 主角代理权:因果权 + 结算权
15
23
  - 主角代理权首先看**因果权 + 结算权**,不看出场时长,也不要求主角永远亲自动手或垄断每个镜头。
@@ -23,7 +31,7 @@
23
31
  - 群像、导师或制度合作可把期待所有权明确给团队成员/学生/机构角色;关键是预先承诺、按约结算,而非事后解释抢戏合理。
24
32
 
25
33
  ### 关键节点四问
26
- 大纲、正文与审查遇到关键节点时统一问;答案可以指向主角,也可以指向本卷已承诺的其他所有者,不要求主角亲自完成每个动作:
34
+ 第一问拿不准时逐条问(可指向本卷已承诺的其他所有者):
27
35
  1. 谁决定事情为什么发生/如何进入?
28
36
  2. 谁作出不可替代的关键选择?
29
37
  3. 谁承担或选择关键后果?
@@ -57,7 +65,7 @@
57
65
  1. 是否动用了本阶段还不该解锁的终局底牌(宿敌了结、终极真相、身份终点、金手指触顶)?
58
66
  2. 是否让某条升级线逼近天花板、后面没台阶接?
59
67
 
60
- 任一为“是” = 真正的透支预警 → 回退或改纲;两者皆否,多线齐涨放行。这套判定是经验法则,档位与里程碑按本书题材、平台与对标调整,不是硬门槛。
68
+ 任一为“是” = 真正的透支预警 → 回退或改纲;两者皆否,多线齐涨放行。档位与里程碑按本书题材、平台与对标调整,不是硬门槛。
61
69
 
62
70
  ### 合理化债务
63
71
  - 解释成本用于说明机构响应/接管、保密、资源调动、跨区执法、组织协作等为什么成立。
@@ -70,7 +78,7 @@
70
78
  - 若本书承诺的是个人逆袭、职业掌控、独享金手指,外部机构接管核心问题通常需要强交换与主角主动选择。
71
79
  - 旁观者/反应层适合做:震惊、误判、舆论扩散、资源报价、敌我站队、见证主角选择。避免让旁观者替主角复仇、替主角做最终裁决、替主角拿核心收益。
72
80
 
73
- ## 3. 风险等级
81
+ ## 3. 契约风险三级
74
82
 
75
83
  | 等级 | 定义 | 处理 |
76
84
  |---|---|---|
@@ -36,9 +36,9 @@
36
36
  | 题材结构 | `references/genre-prose-cards.md` 索引 + `references/genre-prose-cards/` 单题材卡 |
37
37
  | 黄金三章 | `references/opening-design.md` |
38
38
  | 情绪弧线 | `references/emotional-arc-design.md` |
39
- | 契约/终局储备/剧情单元安全审查 | `references/reader-contract-and-progression.md` |
39
+ | 契约/终局储备/剧情单元契约四问 | `references/reader-contract-and-progression.md` |
40
40
  | 反转设计 | `references/long-reversal.md` |
41
- | 细纲结构验收 | `scripts/check-outline-contract.js`(新建/补建后跑,只判字段与表结构) |
41
+ | 细纲结构检查 | `scripts/check-outline-contract.js`(新建/补建后跑,只判字段与表结构) |
42
42
 
43
43
  ### Phase 4:正文写作
44
44
 
@@ -55,7 +55,6 @@
55
55
  | 情绪技法 + 叙事单元 | `references/plot-emotion-system.md` + `references/emotional-methods.md` |
56
56
  | 写作技法全程参考 | `references/writing-craft.md` |
57
57
  | 格式 | `references/long-format.md`(章节、段落、对话、标点与工程元信息) |
58
- | 状态追踪协议 | `references/state-tracking.md` |
59
58
  | 当前剧情单元与契约校准 | `references/reader-contract-and-progression.md` |
60
59
 
61
60
  ### Phase 5:质量检查
@@ -74,11 +73,11 @@
74
73
  | 主题 | 权威文件(先读) | 配套文件(按角度补充) |
75
74
  |------|-----------------|----------------------|
76
75
  | 爽点(按意图分流) | **`references/plot-emotion-system.md`**(爽点设计体系:本质/六种类型/倒推法——"怎么设计爽点"先读这个) | 翻盘/高潮式爽点→`references/plot-core-methods.md`(假胜→崩解)· 打脸/装逼释放→`references/style-combat-face.md`· 题材声线与长线约束→`references/genre-prose-cards.md`· 爽文循环/多层→`references/outline-methods.md`·`references/outline-conflict.md` |
77
- | 情绪模块 | **`对标/{书名}/剧情/情绪模块.md`(项目/书级权威)**;无对标或设计新模块时再读 `references/plot-emotion-system.md` | `references/outline-rhythm.md` 只作理论参考;不得覆盖对标书权威模块 |
78
- | 节奏 | **`对标/{书名}/剧情/节奏.md`(项目/书级权威)**;无对标或设计新节奏时再读 `references/outline-rhythm.md` | `references/plot-core-methods.md` 只作理论参考;不得覆盖对标书权威节奏 |
76
+ | 情绪模块 | **`对标/{书名}/剧情/情绪模块.md`(项目/书级权威)**;排纲时设计新模块才读 `references/plot-emotion-system.md`(写正文无对标时取细纲与单元卡,不加读) | `references/outline-rhythm.md` 只作理论参考;不得覆盖对标书权威模块 |
77
+ | 节奏 | **`对标/{书名}/剧情/节奏.md`(项目/书级权威)**;排纲时设计新节奏才读 `references/outline-rhythm.md`(写正文无对标时同上) | `references/plot-core-methods.md` 只作理论参考;不得覆盖对标书权威节奏 |
79
78
  | 高潮 | **`references/plot-core-methods.md`**(高潮构建公式:蓄能→假胜→崩解) | `references/outline-rhythm.md`(高潮分类与反推)· `references/outline-methods.md`(八节点故事结构:结构定位) |
80
79
  | 金手指 | **`references/plot-special-topics.md`**(金手指拆分理解与战力防崩 + 进阶设计) | `references/outline-conflict.md`(金手指与身份:四点统一) |
81
- | 感情线 | **`references/character-relations.md`**(好感度体系/四阶段 + 男女频差异) | `references/outline-conflict.md`(感情线设计)· `references/style-combat-face.md`(后宫文女主 / 男频极简爱情线构型)· `references/plot-special-topics.md`(爱情线提纯策略) |
80
+ | 感情线 | **`references/character-relations.md`**(好感度体系/四阶段 + 男女频差异;后宫文女主 / 男频极简爱情线构型也在这里) | `references/outline-conflict.md`(感情线设计)· `references/plot-special-topics.md`(爱情线提纯策略) |
82
81
  | 反转 | **`references/long-reversal.md`**(单元/卷级/全书反转、铺垫、有效性自检) | `references/plot-core-methods.md`(假胜:先给希望再击碎) |
83
82
  | 人物 | **`references/character-basics.md`**(主角/配角/反派/动机模板速填) | `references/character-design-methods.md`(三层标签反差/九维深化)· `references/character-relations.md`(关系类型/感情线) |
84
83
  | 女频写作 | **`references/female-audience-writing.md`**(女频长篇:核心原则/文案/题材/感情线长线/平台) | `references/genre-readers.md`(读者心理/平台差异)· `references/character-relations.md`(感情线总框架) |
@@ -0,0 +1,9 @@
1
+ # 写正文前缺东西:停下修
2
+
3
+ workflow-chapter 或 workflow-daily 发现缺文件、追踪对不上时读。本轮不写正文,修好再从 workflow-chapter 步骤 1 开始;告诉作者时用 workflow-chapter「写不下去、要停下时」的问法。
4
+
5
+ - **追踪检查不过**:按 `tracking_commit.py check` 的提示修。
6
+ - **已有正文却缺 `_tracking-state.json`**:停止写作,请作者走 `/story-import`「旧追踪项目迁移」。(新书还没有正文时不算缺,按 workflow-chapter 开头初始化。)
7
+ - **派生视图与 state 不一致**:按 [tracking-transaction.md](tracking-transaction.md) 为该章提交 `mode=revision` 事务整份重建,不手改、不继续下一章。
8
+ - **登记了对标却缺情绪模块/节奏**:请作者用 `/story-long-analyze` 补拆。作者定了不对标不算缺。
9
+ - **要找某类文件放哪**:读 [project-files.md](project-files.md) 照做。