@oh-story/dsh 0.1.16 → 0.1.18

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 (271) hide show
  1. package/README.md +13 -13
  2. package/lib/client.js +173 -111
  3. package/lib/client.js.map +3 -3
  4. package/lib/drama/package.json +4 -0
  5. package/lib/index.js +58 -28
  6. package/lib/index.js.map +2 -2
  7. package/lib/novel-to-game/README.md +3 -3
  8. package/lib/novel-to-game/README_ZH.md +4 -4
  9. package/lib/novel-to-game/VERSION +1 -1
  10. package/lib/novel-to-game/manifest.json +25 -20
  11. package/lib/novel-to-game/package.json +4 -0
  12. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
  13. package/lib/novel-to-game/skills/game-build/SKILL.md +7 -1
  14. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
  15. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
  16. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
  17. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +1 -0
  18. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
  19. package/lib/oh-story/manifest.json +417 -592
  20. package/lib/oh-story/package.json +4 -0
  21. package/lib/oh-story/roles/chapter-extractor.md +4 -3
  22. package/lib/oh-story/roles/character-designer.md +20 -85
  23. package/lib/oh-story/roles/consistency-checker.md +5 -5
  24. package/lib/oh-story/roles/narrative-writer.md +9 -9
  25. package/lib/oh-story/roles/story-architect.md +19 -26
  26. package/lib/oh-story/roles/story-explorer.md +4 -5
  27. package/lib/oh-story/roles/story-researcher.md +6 -7
  28. package/lib/oh-story/skills/browser-cdp/SKILL.md +26 -15
  29. package/lib/oh-story/skills/story/SKILL.md +94 -54
  30. package/lib/oh-story/skills/story/VERSION +1 -1
  31. package/lib/oh-story/skills/story-cover/SKILL.md +41 -220
  32. package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
  33. package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -95
  34. package/lib/oh-story/skills/story-deslop/SKILL.md +32 -27
  35. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +4 -4
  36. package/lib/oh-story/skills/story-deslop/references/banned-words.md +7 -9
  37. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +12 -12
  38. package/lib/oh-story/skills/story-deslop/references/expression.md +10 -3
  39. package/lib/oh-story/skills/story-deslop/references/story-logic.md +1 -1
  40. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +1 -1
  41. package/lib/oh-story/skills/story-import/SKILL.md +12 -11
  42. package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
  43. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +3 -4
  44. package/lib/oh-story/skills/story-import/references/deep-analysis.md +2 -3
  45. package/lib/oh-story/skills/story-import/references/import-report.md +5 -4
  46. package/lib/oh-story/skills/story-import/references/import-special-cases.md +6 -16
  47. package/lib/oh-story/skills/story-import/references/import-tracking.md +2 -2
  48. package/lib/oh-story/skills/story-import/references/length-routing.md +1 -43
  49. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +8 -8
  50. package/lib/oh-story/skills/story-import/references/outline-reverse.md +2 -2
  51. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +113 -125
  52. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -88
  53. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
  54. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
  55. package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
  56. package/lib/oh-story/skills/story-long-analyze/SKILL.md +38 -75
  57. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +21 -23
  58. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +8 -17
  59. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +18 -5
  60. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +8 -14
  61. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +26 -27
  62. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
  63. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
  64. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -166
  65. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -15
  66. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +110 -34
  67. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +12 -2
  68. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
  69. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
  70. package/lib/oh-story/skills/story-long-scan/SKILL.md +49 -72
  71. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -167
  72. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +23 -8
  73. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
  74. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
  75. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
  76. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +24 -16
  77. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -33
  78. package/lib/oh-story/skills/story-long-write/SKILL.md +5 -5
  79. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +1 -1
  80. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +51 -24
  81. package/lib/oh-story/skills/story-long-write/references/banned-words.md +7 -9
  82. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +3 -3
  83. package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
  84. package/lib/oh-story/skills/story-long-write/references/character-relations.md +119 -269
  85. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +2 -2
  86. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +8 -8
  87. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +7 -7
  88. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
  89. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +12 -53
  90. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +39 -85
  91. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +97 -163
  92. package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +39 -119
  93. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
  94. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +81 -310
  95. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
  96. package/lib/oh-story/skills/story-long-write/references/long-reversal.md +1 -1
  97. package/lib/oh-story/skills/story-long-write/references/long-suspense.md +8 -8
  98. package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
  99. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
  100. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
  101. package/lib/oh-story/skills/story-long-write/references/project-files.md +10 -14
  102. package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -82
  103. package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
  104. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +2 -2
  105. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +12 -19
  106. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +3 -171
  107. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +1 -1
  108. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +8 -6
  109. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +2 -2
  110. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
  111. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +7 -7
  112. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +4 -9
  113. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
  114. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +59 -115
  115. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
  116. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
  117. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
  118. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
  119. package/lib/oh-story/skills/story-review/SKILL.md +26 -24
  120. package/lib/oh-story/skills/story-review/references/agent-prompts.md +13 -9
  121. package/lib/oh-story/skills/story-review/references/banned-words.md +7 -9
  122. package/lib/oh-story/skills/story-review/references/expression.md +10 -3
  123. package/lib/oh-story/skills/story-review/references/quality-rubric.md +7 -7
  124. package/lib/oh-story/skills/story-review/references/review-tracking.md +2 -1
  125. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +8 -9
  126. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +9 -11
  127. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +9 -8
  128. package/lib/oh-story/skills/story-review/references/solo.md +6 -5
  129. package/lib/oh-story/skills/story-review/references/story-logic.md +1 -1
  130. package/lib/oh-story/skills/story-review/references/style-resolution.md +1 -1
  131. package/lib/oh-story/skills/story-setup/SKILL.md +24 -31
  132. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +12 -13
  133. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +7 -9
  134. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +1 -1
  135. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
  136. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +119 -269
  137. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +12 -12
  138. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +8 -8
  139. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +7 -7
  140. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
  141. package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +10 -3
  142. package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
  143. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +96 -161
  144. package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +39 -119
  145. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +13 -54
  146. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +81 -310
  147. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
  148. package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +1 -1
  149. package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +8 -8
  150. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
  151. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
  152. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
  153. package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +63 -171
  154. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +11 -63
  155. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +40 -50
  156. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +14 -39
  157. package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +1 -1
  158. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +12 -19
  159. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +3 -171
  160. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +1 -1
  161. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +59 -115
  162. package/lib/oh-story/skills/story-short-analyze/SKILL.md +41 -90
  163. package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
  164. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +21 -20
  165. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +4 -3
  166. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +4 -4
  167. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +5 -5
  168. package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
  169. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
  170. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +25 -26
  171. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
  172. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +9 -158
  173. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +39 -26
  174. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +42 -71
  175. package/lib/oh-story/skills/story-short-scan/SKILL.md +52 -62
  176. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
  177. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
  178. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
  179. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +34 -72
  180. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +33 -13
  181. package/lib/oh-story/skills/story-short-write/SKILL.md +5 -5
  182. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +3 -3
  183. package/lib/oh-story/skills/story-short-write/references/banned-words.md +7 -9
  184. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
  185. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
  186. package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +12 -12
  187. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +8 -8
  188. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +11 -63
  189. package/lib/oh-story/skills/story-short-write/references/expression.md +10 -3
  190. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +3 -3
  191. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +6 -6
  192. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +8 -8
  193. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +4 -4
  194. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +9 -9
  195. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +10 -10
  196. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +7 -7
  197. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +6 -6
  198. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +6 -6
  199. 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 +12 -12
  200. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +40 -50
  201. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +63 -171
  202. package/lib/oh-story/skills/story-short-write/references/reference-index.md +13 -14
  203. package/lib/oh-story/skills/story-short-write/references/short-craft.md +10 -29
  204. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +2 -2
  205. package/lib/oh-story/skills/story-short-write/references/short-format.md +12 -32
  206. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +14 -39
  207. package/lib/oh-story/skills/story-short-write/references/story-logic.md +1 -1
  208. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +1 -1
  209. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
  210. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +14 -19
  211. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +67 -26
  212. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +10 -11
  213. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +50 -69
  214. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
  215. package/lib/types/client/file-activity.d.ts +10 -0
  216. package/lib/types/client/file-activity.d.ts.map +1 -1
  217. package/lib/types/client/game-preview-state.d.ts +34 -0
  218. package/lib/types/client/game-preview-state.d.ts.map +1 -0
  219. package/lib/types/client/index.d.ts.map +1 -1
  220. package/lib/types/client/video-studio.d.ts +24 -0
  221. package/lib/types/client/video-studio.d.ts.map +1 -1
  222. package/lib/types/host-python.d.ts +10 -3
  223. package/lib/types/host-python.d.ts.map +1 -1
  224. package/lib/types/native-hooks.d.ts.map +1 -1
  225. package/lib/types/skill-provider.d.ts.map +1 -1
  226. package/lib/types/workspace-route.d.ts +6 -0
  227. package/lib/types/workspace-route.d.ts.map +1 -1
  228. package/lib/video-recap/package.json +4 -0
  229. package/package.json +23 -23
  230. package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
  231. package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -45
  232. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
  233. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
  234. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
  235. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
  236. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -101
  237. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -92
  238. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
  239. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -503
  240. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -34
  241. package/lib/oh-story/skills/story-long-write/references/expression.md +0 -76
  242. package/lib/oh-story/skills/story-long-write/references/narrative-focus.md +0 -63
  243. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
  244. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
  245. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -272
  246. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
  247. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -710
  248. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -624
  249. package/lib/oh-story/skills/story-long-write/references/story-logic.md +0 -65
  250. package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -306
  251. package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
  252. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -285
  253. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
  254. package/lib/oh-story/skills/story-review/references/review-quality.md +0 -243
  255. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
  256. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
  257. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
  258. package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -145
  259. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -433
  260. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -426
  261. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -384
  262. package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -144
  263. package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -238
  264. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -464
  265. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
  266. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -89
  267. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
  268. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -145
  269. package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -116
  270. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -207
  271. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
@@ -1,6 +1,6 @@
1
1
  # 写作技法:可执行指令集
2
2
 
3
- > 写作全程参考。对话怎么写见 dialogue-mastery.md,开篇设计见 opening-design.md;正文格式按调用方指定的格式文件与本书约定执行。
3
+ > 写作全程参考。对话怎么写见 dialogue-mastery.md,第 1-3 章的开篇写法见 opening-design.md「开篇落笔」;正文格式按调用方指定的格式文件与本书约定执行。
4
4
 
5
5
  ---
6
6
 
@@ -60,11 +60,11 @@
60
60
 
61
61
  ### 物件设计模板
62
62
 
63
- 采用贯穿道具时,按实际出现次数记录;长篇写入对应 `设定/` 文件,短篇写入 `设定.md`:
63
+ 采用贯穿道具时,记下每次出现的含义变化,随交付申报:
64
64
 
65
65
  ```
66
66
  物件:{名称}
67
- | 章/节/场景 | 当次含义 | 新增信息或意义变化 |
67
+ | 章/场景 | 当次含义 | 新增信息或意义变化 |
68
68
  |---|---|---|
69
69
  | {位置} | {当次含义} | {首次建立/后续变化} |
70
70
  ```
@@ -80,7 +80,7 @@
80
80
 
81
81
  ## 3. 对话中的权力博弈
82
82
 
83
- 对话权力博弈的完整技法(对话长度=权力地位、压制/反转/心死三种模式、示例、≤10字/≥20字操作指令)见 dialogue-mastery.md「权力博弈对话」,本文件不重复。结构化用法:在场景编排时,把权力反转放在爽点/反转节点上,用对话长度的突变标记权力易主。
83
+ 对话权力博弈的完整技法(对话长度=权力地位、压制/反转/心死三种模式、示例)见 dialogue-mastery.md「权力博弈对话」,本文件不重复。结构化用法:在场景编排时,把权力反转放在爽点/反转节点上,用对话长度的突变标记权力易主。
84
84
 
85
85
  ---
86
86
 
@@ -106,18 +106,18 @@
106
106
 
107
107
  ```
108
108
  数字线:
109
- 第{N}节 | {数字1} | 含义:{初始}
110
- 第{N}节 | {数字2} | 含义:{升级}
111
- 第{N}节 | {数字3} | 含义:{暴击/反转}
109
+ 第{N}章 | {数字1} | 含义:{初始}
110
+ 第{N}章 | {数字2} | 含义:{升级}
111
+ 第{N}章 | {数字3} | 含义:{暴击/反转}
112
112
  ```
113
113
 
114
114
  ---
115
115
 
116
- ## 5. 动静有起伏,不按节配额
116
+ ## 5. 动静有起伏,不按场景配额
117
117
 
118
118
  ### 规则
119
119
 
120
- 一章整体要有推进与停顿的起伏,但不要求每个小节各塞一个“动”和“静”。停顿可以来自信息悬置、对话空白、环境压力或角色暂不行动,不等于安排擦灰、理衣领一类微小动作。
120
+ 一章整体要有推进与停顿的起伏,但不要求每个场景各塞一个“动”和“静”。停顿可以来自信息悬置、对话空白、环境压力或角色暂不行动,不等于安排擦灰、理衣领一类微小动作。
121
121
 
122
122
  ### 动与静的分类
123
123
 
@@ -128,20 +128,11 @@
128
128
 
129
129
  ### 操作指令
130
130
 
131
- - 按整章和场景需要安排动静,不给每个小节设数量指标
132
- - 连续多节全「动」时复核是否造成暴力疲劳;追逐/战斗有意连续可保留
133
- - 连续多节全「静」时复核是否停滞;等待/压迫有意延长可保留
131
+ - 按整章和场景需要安排动静,不给每个场景设数量指标
132
+ - 连续几个场景全「动」时复核是否造成暴力疲劳;追逐/战斗有意连续可保留
133
+ - 连续几个场景全「静」时复核是否停滞;等待/压迫有意延长可保留
134
134
  - 情绪高低不对应固定动作类型:爆点可以突然安静,低谷也可以持续劳动
135
135
 
136
- ### 节奏编排示例
137
-
138
- ```
139
- 节5(动):萧衍一声令下,打了萧琅二十棍
140
- 节6(静):报数停了,殿里没人替萧琅求情
141
- 节7(动):王氏扑过来,跪在地上磕头
142
- 节8(静):王氏跪在原地,只听见宫门落锁
143
- ```
144
-
145
136
  ---
146
137
 
147
138
  ## 6. 开头事件密度
@@ -182,35 +173,19 @@
182
173
 
183
174
  ---
184
175
 
185
- ## 7. 小节密度诊断
176
+ ## 7. 场景偏短时怎么查
186
177
 
187
178
  ### 规则
188
179
 
189
- 写完一个小节如果感觉偏短,用以下诊断清单排查。不要为了凑字数加描写。
190
-
191
- ### 诊断清单
192
-
193
- 小节写完后偏短?按顺序检查:
180
+ 写完一个场景觉得偏短,按下表排查;不为凑字数加描写。
194
181
 
195
182
  | 检查项 | 偏短原因 | 补救 |
196
183
  |--------|----------|------|
197
- | 关键子事件读得懂吗? | 现场、因果或角色下一步缺了必要信息 | 只补真正缺失的维度;不为凑齐三项补感官或身体动作(见第8节) |
184
+ | 关键子事件读得懂吗? | 现场、因果或角色下一步缺了必要信息 | 只补真正缺失的信息;不为凑齐发生、感知、反应补感官或身体动作(见第8节) |
198
185
  | 对话只有 1-2 轮? | 缺少对话交锋 | 加一轮权力博弈对话(见第3节) |
199
186
  | 情绪信息落地了吗? | 只贴标签,或又用无功能微动作重复解释 | 优先落到选择、台词、物件和后果;必要时直写,身体细节须有功能(见第1节) |
200
187
  | 仍偏短且关键情节点写薄? | 冲突、选择、代价或关系变化没有演到位 | 回到细纲内已有事件补交锋与后果;没有内容就补纲,不拿感官/回忆注水 |
201
188
 
202
- ### 子事件不够时怎么扩
203
-
204
- 写 outline 时子事件不够?按以下顺序选择:
205
-
206
- ```
207
- IF 主事件是冲突/对抗 → 加「阻碍」:主角被中途打断或阻止
208
- IF 主事件涉及配角 → 加「反应」:配角的意外反应
209
- IF 主事件有空间移动 → 加「发现」:移动途中发现新线索
210
- IF 主事件触发回忆 → 加「倒叙」:插入一段 2-3 句的简短回忆
211
- IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
212
- ```
213
-
214
189
  ### 任务卡点:只在“办事本来会卡住”时使用
215
190
 
216
191
  任务卡点不是多写流程,也不是为了显得自然;它是让角色想办成一件具体事时被卡住一下,并卡出变化。
@@ -235,86 +210,66 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
235
210
  - 为显得自然而加流程细节;删掉无损就删
236
211
  - 为凑字数重复解释情绪,或给每段补一个无功能身体反应
237
212
 
238
- **一处显式例外:人物余韵。** 上面「删掉无损就删」不针对给人物加层的段落——一次说岔了的关心、一个被误会的反应、一个空镜。它的"无损"只对情节成立:判断方法不是问它推进了什么,是问**删掉之后谁少了一层**。
239
-
240
- **这是豁免,不是配额。** 材料里长出这样一处就别砍;没长出来就没有,**不要为了凑"每章一处"补一段**。
213
+ 给人物加层的段落(一次说岔了的关心、一个被误会的反应、一个空镜)不按“删掉无损就删”判,要问删掉之后谁少了一层;材料里长出来就留,不为每章凑一处。
241
214
 
242
215
  ---
243
216
 
244
- ## 8. 场景写法(三维度揉进)
217
+ ## 8. 场景写法
245
218
 
246
219
  ### 从细纲到正文:把规格演成场景,不照抄形状
247
220
 
248
- 细纲各字段是本章"要发生什么"的规格,**不是正文的形状**。照着细纲的形状逐格填,正文就成了一条一条交代的电报体、一拍一句平推的生硬解说——这是"照抄大纲形状",和照抄范例形状同属 AI 味来源。
221
+ 细纲各字段是本章"要发生什么"的规格,**不是正文的形状**。照着细纲的形状逐格填,正文就成了一条一条交代的电报体、一拍一句平推的生硬解说,和照抄范例形状一样会写出 AI 味。
249
222
 
250
- - 情节点序列是"要发生什么"的清单,不是句子模板:不要一个情节点写成一句或一段、按序平推;把每个点演成角色此刻可感知的选择、动作、对话、物件、结果,必要时才用身体反应——**演出来,不是交代出来**。
251
- - **状态变化要给出台阶,不只给前后。** 一样东西烧起来、一张脸沉下去、一个人的态度转过来——要让读者看见中间态:先怎样、跟着怎样、最后成了什么。只给起点和终点的是概述,不是场景。台阶是**序列**不是堆料:同一状态换十种说法说十遍,仍然只是一个台阶。
223
+ - 情节点序列是"要发生什么"的清单,不是句子模板:不要一个情节点写成一句或一段、按序平推;把每个点演成角色此刻可感知的选择、动作、对话、物件、结果,必要时才用身体反应,**演出来,不是交代出来**。
224
+ - **状态变化要给出台阶,不只给前后。** 一样东西烧起来、一张脸沉下去、一个人的态度转过来,要让读者看见中间态:先怎样、跟着怎样、最后成了什么。只给起点和终点的是概述,不是场景。台阶是**序列**不是堆料:同一状态换十种说法说十遍,仍然只是一个台阶。
252
225
  - 同一约束如果在「核心事件 / 内容概括 / 情节安排 / 情节点」里重复出现,生成前只合并成**一个语义点**;重复字段不是强调,更不是四次复述额度。正文不得沿用提纲里反复出现的同一措辞逐项交代。
253
226
  - 五段式(起因/发展/转折/高潮/结尾)是给细纲作者的功能拆解,不是正文的五个自然段;正文不必逐段顺叙,也不必一段对一格。
254
227
  - "谁做了什么"的概括句、"A→B→C"箭头链、"收束到什么状态"是规划口径,不要原样搬进叙述。
255
228
  - 同一场戏里的几个点可以合并、互相打断,不必排成逐点清单;因果依赖或刻意的停顿分隔才串行。交错要有行动或信息关系,重点仍是密点展开、疏点带过(见「疏密分配」)。
256
- - 章尾落在最后一个具体的动作、画面、台词或悬念上;细纲「结尾设定」是规划口径,不要在正文里写成"就这样……""他终于明白……"式的状态总结句(结尾功能见 narrative-focus.md)。
229
+ - 章尾落在最后一个具体的动作、画面、台词或悬念上;细纲「结尾设定」是规划口径,不要在正文里写成"就这样……""他终于明白……"式的状态总结句。
257
230
 
258
- ### 视角姿态:深度限知(贴地沉浸)
231
+ ### 视角:深度限知
259
232
 
260
- 三维度揉进之前,先定叙述姿态。默认锁死主视角角色的"此刻感知"——只写他此刻看到、听到、闻到、身体感到、脑中闪过的东西。这一条同时解决两个最顽固的 AI 味:代入感不足,和"作者在场"的说教/上帝腔。
233
+ 默认锁死主视角角色的"此刻感知",只写他此刻看到、听到、闻到、身体感到、脑中闪过的东西。这样既有代入感,也没有"作者在场"的说教腔。本书文风允许有限全知时,叙述者可补角色不知的事实,但不预告后面才发生的结果;不把视角限制当成通用去味法。
261
234
 
262
235
  - **镜头不拉远、不俯瞰、不切他人内心**:别写"整个大厅陷入死寂"这种摄像机视角,写"她听见自己的心跳,旁边的呼吸声一下子全没了"。
263
- - **读者与角色同步获知**:角色不知道的不写;不提前剧透,不补全背景。悬念来自"她也不知道",禁止提前剧透句如"她不知道的是"。
236
+ - **读者与角色同步获知**:角色不知道的不写;不提前剧透,不补全背景。悬念来自"她也不知道",不写"她不知道的是"这类提前剧透句。
264
237
  - **念头是动作的一部分**:用半句的、被打断的、带情绪偏见的主观判断,不写完整理性的内心独白;不强配身体动作,情绪落地按第 1 节。
265
- - **主观偏差代替客观叙述**:场景被角色情绪染色。她恨谁,谁就被写得可憎;她慌,光线就晃。不写中立的、谁看都一样的描述。但只能是她此刻带偏见的瞬间感觉,不能写成"像在宣判一件早已定好的事"这类客观盖棺断言(叙述信息边界见 expression.md)。
238
+ - **主观偏差代替客观叙述**:场景被角色情绪染色。她恨谁,谁就被写得可憎;她慌,光线就晃。但只能是她此刻带偏见的瞬间感觉,不能写成"像在宣判一件早已定好的事"这类客观盖棺断言。
266
239
 
267
- 采用深度限知时,把镜头留在角色当下的感知与判断中;解释、总结是否越界按文风与信息边界判断(见 expression.md),不把视角限制当成通用去味法。
240
+ ### 句子节奏按题材借
268
241
 
269
- ### 文风指纹:按题材借 cadence,不套万能腔
242
+ 先按本章情绪和本书文风写顺,再处理解释总结、过度压缩和比喻堆叠。男频、军旅可以借老网文连贯叙事的惯性,现代日常写普通的办事推进;悬疑、科幻、古代不要硬套老派玄幻的大段铺陈或第一人称声口,先读本书 `设定/文风.md`、对标拆文和匹配章摘要。不要把句子机械拉长或压短,也不要全局换成某本对标书的词法。
270
243
 
271
- 不同题材的真实文风 cadence 会影响读感;有效写法不同。男频/军旅可以借旧网文连贯叙事惯性,现代日常可写普通任务推进;悬疑、科幻、古代不要硬套盘龙腔、旧网文腔或第一人称声口,先读本书 `设定/文风.md`、对标拆文和匹配章摘要。
244
+ ### 发生、感知、反应写进同一镜头
272
245
 
273
- 落地顺序:先按本章情绪和题材文风写顺,再处理解释总结、过度压缩和比喻堆叠;不要把句子机械拉长/压短,也不要全局替换成某个对标书的词法。
274
-
275
- ### 规则
276
-
277
- 关键子事件不能只剩一句提纲概括。发生是主干;感知和反应只在提供新信息时加入,并与发生织进同一镜头,不按维度分段,也不要求三项齐全。
278
-
279
- ### 三维度揉进规则
280
-
281
- 发生、感知、反应是可选的信息维度,不是逐段配额。详写的关键子事件可以把其中确有内容的维度织在同一镜头里;上下文已经清楚的维度留空,不为凑齐三项补感官或身体动作。过场、赶路、信息交代类子事件 1-2 句带过即可(见「疏密分配」),把字数预算让给情绪节点。
246
+ 关键子事件不能只剩一句提纲概括。发生是主干;感知和反应只在提供新信息时加入,并与发生织进同一镜头,不按维度分段,也不要求三项齐全。上下文已经清楚的维度留空;过场、赶路、信息交代类子事件 1-2 句带过即可(见「疏密分配」),把字数让给情绪节点。
282
247
 
283
248
  | 维度 | 内容 | 要点 |
284
249
  |---|---|---|
285
250
  | 发生 | 事情出现了 | 1-2句,包含一个具体细节 |
286
- | 感知 | 主角注意到什么 | 只取会改变理解、判断或气氛的一处声音、物件、空间或身体感受,不按感官凑数 |
287
- | 反应 | 角色接下来怎么办 | 可以是选择、台词、策略、任务动作、明确感受或有后果的身体反应,不默认写微动作 |
288
-
289
- 任务卡点写法可从三维中取需要的内容:发生 = 事情办不下去;感知 = 被退回的纸、扣住的物件、对方半句话等具体凭据;反应 = 角色改策略、付代价、求助、硬闯、退让或记下一笔。不要把“为什么被卡住”解释成一段说明书,也不要在 scene 末尾另补动作尾巴来解释意义。
251
+ | 感知 | 主角注意到什么 | 只取会改变理解、判断或气氛的一处声音、物件、空间或身体感受,不按感官凑数;装饰性场景描写("阳光洒在窗台上")不算 |
252
+ | 反应 | 角色接下来怎么办 | 可以是选择、台词、策略、任务动作、明确感受或有后果的身体反应;不用无功能微动作给已清楚的情绪再贴标签 |
290
253
 
291
- ### 反模式:堆叠式描写(绝对禁止)
254
+ 任务卡点也这样写:发生 = 事情办不下去;感知 = 被退回的纸、扣住的物件、对方半句话等具体凭据;反应 = 角色改策略、付代价、求助、硬闯、退让或记下一笔。不要把“为什么被卡住”解释成一段说明书,也不要在场景末尾另补动作尾巴来解释意义。
292
255
 
293
- 把三个维度分成三段依次写完,是 AI 最常见的写作痕迹。读者看到的是同一个动作被掰开写了三遍:
256
+ 把三个维度分成三段依次写完,同一个动作就被掰开写了三遍:
294
257
 
295
- > ❌ **堆叠式(错误)**:
296
- > 林父低着头,左手把文书压住,右手拿笔,往纸上落。
258
+ > ❌ 林父低着头,左手把文书压住,右手拿笔,往纸上落。
297
259
  >
298
260
  > 手在抖。
299
261
  >
300
262
  > 手从肘到腕都在抖,笔尖在纸上停了停,写了一横,又停,那个"林"字的撇写歪了,他顿了顿,把笔往下压,重写,写完了,笔在手里还是没稳。
301
263
 
302
- → 一件事写成发生→感知→反应三段,同一个动作掰开三遍
303
-
304
- ### 正确写法:揉进式
305
-
306
264
  需要的维度融进同一段连续正文,读者读到一个完整瞬间:
307
265
 
308
- > ✅ **揉进式(正确)**:
309
- > 林父左手压着文书,右手拿笔往纸上落,笔尖一触纸面就偏了,从肘到腕止不住地抖,那一横斜着拖出去。他顿了顿,把笔往下压,重写,写完的"林"字撇是歪的,笔在手里还是没稳住。
310
-
311
- → 这里的身体反应改变了落笔结果,承担信息;不是为了证明人物紧张而另加微动作
266
+ > ✅ 林父左手压着文书,右手拿笔往纸上落,笔尖一触纸面就偏了,从肘到腕止不住地抖,那一横斜着拖出去。他顿了顿,把笔往下压,重写,写完的"林"字撇是歪的,笔在手里还是没稳住。
312
267
 
313
- ### 画面分段(防止一段到底)
268
+ 这里的身体反应改变了落笔结果,承担信息;不是为了证明人物紧张而另加微动作。
314
269
 
315
- 三维度揉进不是把一个子事件塞进一个长段。揉进解决"同一瞬间被拆成发生/感知/反应三段"的问题;断段解决"手机阅读时一段过密"的问题。
270
+ ### 画面分段
316
271
 
317
- 断段按镜头/信息变化,不按维度变化:
272
+ 断段按镜头和信息变化,不按维度变化,也不按字数。揉进解决"同一瞬间被拆成三段",断段解决"手机阅读时一段过密",两件事不冲突。
318
273
 
319
274
  | 触发点 | 断段方式 |
320
275
  |---|---|
@@ -327,46 +282,42 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
327
282
  判定规则:
328
283
 
329
284
  - 一段只承载一个镜头拍点/一个动作单元,或一条尚未结束的连续推理、氛围、情绪链。
330
- - 常规叙事段可短,但句子内部不碎——叙述句不要一个动作一句号、句句断开,也不要用逗号罗列动作——用虚词把前后接成一口气(见本节「句子怎么连」);细密描写、推理判断、氛围压迫、情绪沉淀可以稍长,前提是仍在讲同一件事。
285
+ - 常规叙事段可短,但句子内部不碎:叙述句不要一个动作一句号、句句断开,也不要用逗号罗列动作,用虚词把前后接成一口气(见「句子怎么连」);细密描写、推理判断、氛围压迫、情绪沉淀可以稍长,前提是仍在讲同一件事。
331
286
  - 长度只是诊断,不是强制阈值:读起来拥挤、包含多个动作/信息/视线切换时才拆;完整戏剧单元未结束时不要为凑短而硬拆。
332
287
  - 常规正文保持短段、稍长段、对话、动作段交替;高压冲突、打脸、反转段可以更碎更短。
333
288
  - 不要连续多段同长度,也不要把一个完整推理链切成机械碎片。
334
- - **最重的一句要最短。** 全章最重的那一拍——底牌亮出、一句定生死的许诺、身份被说破——用最短的一段承接,能单句成段就单句成段。**长度表达绵延,不表达重量**;要"慢"用停顿,不用字数。
289
+ - **最重的一句通常短,常单句成段。** 全章最重的那一拍(底牌亮出、一句定生死的许诺、身份被说破)用最短的一段承接。长度表达绵延,不表达重量;要"慢"用停顿,不用字数。
335
290
 
336
- 输出前必须做一次自然节奏重排:
291
+ 输出前做一次自然节奏重排:
337
292
 
338
293
  1. 扫描每个自然段;先问“这段是否只完成一件事/一个镜头/一条推理或情绪链”。是则保留,不因字数单独拆。
339
294
  2. 若同段里出现新动作、新物件、新信息、新对话、视线转移、场景结束,就在这些位置断段。
340
295
  3. 若连续多个极短段仍属于同一镜头/同一件事,合并相邻句,避免碎成提纲或诗行。
341
296
  4. 若一个长句朗读卡顿或信息过载,先删修饰或拆句;拆句后仍保持同一段的戏剧单元完整。
342
297
 
343
- ### 主语与名字节奏(防止“主语过密”)
298
+ ### 主语与名字节奏
344
299
 
345
- 主角名/角色名承担“主语重置”和“强调”功能,不承担每句打标签的功能:
300
+ 角色名用来重置主语和强调,不给每句打标签:
346
301
 
347
302
  - 段首、场景切换、多人同场、视角重置时,用主角名建立主语。
348
303
  - 同一动作链/同一段内部,优先用“他/她”、动作承接或省略主语,让句子自然流动。
349
304
  - 关键转折、情绪爆点、身份反差、读者需要重新盯住主角时,再点名强化。
350
305
  - 反面信号:连续多句或连续多段都以同一主角名开头,但中间没有主语混淆、场景切换或强调需要。
351
- - 不按全章名字出现次数机械裁判;最终标准是读起来是否有“每句都在报名字”的卡顿感。
306
+ - 不按全章名字出现次数机械裁判;最终标准是读起来是否有“每句都在报名字”的卡顿感。为了省主语把多人同场写到指代不清,同样是错。
352
307
 
353
- 错误修法:为了短,把一条完整推理/氛围链切成多段;为了省主语,把多人同场写到指代不清。
308
+ ### 疏密分配
354
309
 
355
- 正确修法:保留同一件事的连续性,在新动作、新物件、新信息、新对话处断开;段首点名建立主语,段中用代词/省略流动,关键转折再点名。
356
-
357
- ### 疏密分配(详略不均)
358
-
359
- 不要每个情节点一样长、一样细——平均用力是 AI 腔的根源,也是读起来"哪都写得满、哪都不出彩"的原因。按情节权重分配笔墨:
310
+ 按这场戏要让读者经历什么分配笔墨,不要每个情节点一样长、一样细;平均用力读起来"哪都写得满、哪都不出彩"。
360
311
 
361
312
  | 情节点类型 | 笔墨 | 写法 |
362
313
  |---|---|---|
363
314
  | 爽点/打脸/反转/情绪高潮 | 密(详写) | 感知、动作、对话交锋铺满,慢镜头逐拍展开 |
364
- | 过场/赶路/信息交代/时间跳转 | 疏(略写) | 1-2 句带过,甚至一句概括,不展开三维度 |
315
+ | 过场/赶路/信息交代/时间跳转 | 疏(略写) | 1-2 句带过,甚至一句概括,不展开 |
365
316
  | 铺垫/日常/关系升温 | 中 | 挑一两个有代入感的细节写实,其余略 |
366
317
 
367
- 原则:一章里详写的情节点集中在情绪节点,过场坚决压缩。读者记住的是密处的画面,疏处只是把他们快速送到下一个爽点。密度有起伏,节奏才有呼吸。
318
+ 原则:一章里详写的情节点集中在情绪节点,过场坚决压缩。读者记住的是密处的画面,疏处只是把他们快速送到下一个爽点。
368
319
 
369
- **同类并列项要递减,不要平均。** 三样物件、四拨人马、五次出手——第一个写足,第二个减半,后面的一句带过或只给一个区别点。**递减不是省略**:被压缩的那几个仍要各有一个不重复的记号,否则是漏写。
320
+ **同类并列项不平均用力。** 三样物件、四拨人马、五次出手,按这场戏的作用决定谁展开、谁概括、谁略过,不规定递减次数;被概括的仍各留一个不重复的区分点,否则是漏写。
370
321
 
371
322
  **判为"密"的地方禁止量词加概括。** "一连七八下""斗了半晌""众人纷纷点头""交手数十回合"(把过程折叠成一个数字,是疏处的手法)。密处只有一种写法:挑出其中**具体的几下**,逐拍写。
372
323
 
@@ -375,25 +326,18 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
375
326
  子事件之间按真实关系连接(因果、接招、新信息、空间移动、角色下一步),不为过渡另补身体动作。句子内部同样要连,不要罗列:
376
327
 
377
328
  - **动作串分主次、带虚词**:一句里超过三个动作,用「就、才、又、便、却、倒、还、再、先……才」接出先后和因果,别写成逗号清单。❌「坛子挪到墙角,床板拿袖子擦了一遍,铺盖摊开。」✅「她先把坛子挪到墙角,拿袖子把床板擦了一遍,这才把铺盖摊开。」
378
- - **少写没做的事**:「没A,也没B」「不A,也不B」一章至多一两处,写人物做了什么。❌「他没说让她住,也没说不让。」✅「他掀着帘子站了一会儿,一句话不说,进里间去了。」
379
- - **对话带口气**:人物说话按身份、年纪、地方带「吧、呢、啊、嘛、哎」和口头的停顿,全章对话不能一个语气词都没有。
329
+ - **少写没做的事**:「没A,也没B」「不A,也不B」只在排除猜测、写出落空时用,其余写人物做了什么。❌「他没说让她住,也没说不让。」✅「他掀着帘子站了一会儿,一句话不说,进里间去了。」
330
+ - **对话带口气**:人物说话按身份、年纪、地方和场合带「吧、呢、啊、嘛、哎」和口头的停顿;通篇对话都是不带口气的完整书面句时,回头按人物恢复,不给每人硬塞同一个口头禅。
380
331
  - **碎句留给重拍**:单独成行的短句只给章尾、反转、情绪峰值;盘算、过渡写成连贯的一句。
381
- - **比喻用中文现成的说法**,不造「嗓门比香味还亮」这类跨感官新搭配。
382
-
383
- ### 三维度的边界
332
+ - **比喻贴着人物**:取角色此刻熟悉、手边的东西,不造「嗓门比香味还亮」这类跨感官新搭配,也不用「如潮水般」「如沐春风」这类套话。
384
333
 
385
- - ✓ 感知是主角主动注意到的细节(有注意力的焦点)
386
- - ✓ 反应是角色受此影响后的下一步,可落在选择、台词、策略、任务动作、明确感受或有后果的身体变化
387
- - ✗ 感知不能是装饰性场景描写("阳光洒在窗台上")
388
- - ✗ 反应不能只用无功能微动作给已经清楚的情绪再贴一次标签
389
- - ✗ 三个维度不能重复表达同一个信息
390
334
  ---
391
335
 
392
336
  ## 9. 语气标点谱系(标点跟着语气走)
393
337
 
394
338
  ### 规则
395
339
 
396
- 标点承担语气、权力关系和情绪起落,不能当装饰。写正文时先判断“这句话在场景里做什么”,再决定用句号、逗号、问号、感叹号、冒号或换行/动作;不再用省略号和破折号制造停顿。
340
+ 标点承担语气、权力关系和情绪起落,不能当装饰。写正文时先判断“这句话在场景里做什么”,再决定用句号、逗号、问号、感叹号、冒号或换行/动作;默认不用省略号和破折号制造停顿,本书文风明确采用时按裁决。
397
341
 
398
342
  ### 标点谱系
399
343
 
@@ -403,14 +347,14 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
403
347
  | 质问 / 试探 / 反问 | 问号、短跟句、动作停顿 | 关键问题用 `?`,追问可短句独立成行 | 不要连续 5 句全是 `?` |
404
348
  | 惊讶 / 爆发 / 打脸 | 少量感叹号、单句成段 | 只在情绪峰值用 1 个 `!`,爆点前后用短句承接 | 禁止 `!!!` 和整段喊叫 |
405
349
  | 犹豫 / 未说完 / 心虚 | 逗号、句号、短句、吞咽/停手等动作 | 用动作或句长变化停顿;必要时另起短句 | 不用 `……` 替代停顿 |
406
- | 被打断 / 拖长音 | 动作打断、换行、短句、未完成动作 | 用“他抬手截住她的话。”这类动作切断 | 正文和对话都不用 `——`/`—`/`--` |
350
+ | 被打断 / 拖长音 | 动作打断、换行、短句、未完成动作 | 用“他抬手截住她的话。”这类动作切断 | 不用 `——`/`—`/`--` |
407
351
  | 信息揭示 / 判断落点 | 冒号、分号、短句 | “证据只有一个:门锁从里面扣上了。”可用冒号制造落点 | 不写论文式长分号链 |
408
352
 
409
353
  ### 执行步骤
410
354
 
411
355
  1. 读本场景目标情绪和角色声线,给每个关键对话回合标一类语气(压迫/试探/爆发/迟疑/被打断)。
412
356
  2. 精修时扫一遍句尾:如果一整段只剩句号,检查是否把质问、迟疑、爆点压平;如果满屏 `?`/`!`,删到只保留有功能的位置。
413
- 3. 正文(含对话)里的 `……`、`——`、`—`、`--` 都改成句号、逗号、短句、换行或动作断句。知乎盐言 `「」` 只是引号风格,不影响问号、感叹号的合法使用。
357
+ 3. 没有文风裁决时,正文(含对话)里的 `……`、`——`、`—`、`--` 都改成句号、逗号、短句、换行或动作断句。知乎盐言 `「」` 只是引号风格,不影响问号、感叹号的合法使用。
414
358
 
415
359
  ---
416
360
 
@@ -430,14 +374,14 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
430
374
 
431
375
  ### 说话权分级:惜墨表示地位
432
376
 
433
- 在场的人不是平权的。**一场戏只给三到四个人台词**,其余降级为一个动作或一个目光——地位越高的人给的动作越少、越静,用惜墨表示分量;同等级同立场的合并成一句,连名字都不必给。**点名的时机 = 承担功能的时机**,提前点名是提前许诺。
377
+ 在场的人不是平权的。台词只给有立场、承担功能的人,其余降级为一个动作或一个目光:地位越高的人给的动作越少、越静,用惜墨表示分量;同等级同立场的合并成一句,连名字都不必给。**点名的时机 = 承担功能的时机**,提前点名是提前许诺。
434
378
 
435
- 反面信号:五六个人各做一个等重量的小动作——镜头被平摊,谁也没立住。
379
+ 反面信号:五六个人各做一个等重量的小动作,镜头被平摊,谁也没立住。
436
380
 
437
381
  ### 标价人:谁说这件事重要
438
382
 
439
383
  "厉害/难得/要命"由**有立场的人**当场标价,不由叙述者断言。四种方式:**内行估价**(懂行的人给一句业内口径评语)、**最强者的姿态**(最有分量的人必须做出动作才顶得住)、**基准线被打破**(熟悉此地的人说"往常不该是这样")、**稀缺度**(交代平常要什么代价才换得到)。
440
384
 
441
- **标价发生在事情起效之前**,不能等结果出来再补。反面:该标价的人就在场,却只写他"笑了笑,凑到旁边说了句什么"——位置留了,内容没给。
385
+ **标价发生在事情起效之前**,不能等结果出来再补。反面:该标价的人就在场,却只写他"笑了笑,凑到旁边说了句什么":位置留了,内容没给。
442
386
 
443
- **首次建立分量时,先给至少两把可比较的尺子**(同场另一个做到几寸、当年最好的那个用了多久)。事后补一轮尺子也可以(同一个爽点吃第二遍)。
387
+ **首次建立分量时,先给读者能比出高低的尺子**(同场另一个做到几寸、当年最好的那个用了多久)。事后补一轮尺子也可以(同一个爽点吃第二遍)。
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: story-short-analyze
3
3
  version: 3.1.0
4
- description: "短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐选 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000 字短篇拆解」「番茄短篇拆文」「故事会拆解」「盐言故事拆解」「分析这篇短篇」——均进入同一管道。"
4
+ description: "短篇网文拆文。拆解爆款短篇小说(番茄短篇 / 故事会 / 知乎盐言 / 追妻 / 世情 / 重生 / 虐渣等通俗题材)的故事核、结构、情感线、反转设计、写作手法、共鸣层次。单一全量拆解管道:跑完 Stage 2-6 产出完整拆文报告,落盘到 拆文库/{书名}/,下游 story-short-write 同时读拆文报告 + 情节节点 + 写作手法 + 原文 + _meta.json 写下一篇。触发方式:/story-short-analyze、/短篇拆文、「拆短篇」「拆这篇短文」「短篇拆文」「精细拆解短篇」「8000 字短篇拆解」「番茄短篇拆文」「故事会拆解」「盐言故事拆解」「分析这篇短篇」——均进入同一管道。"
5
5
  metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudecode"}}
6
6
  ---
7
7
  # story-short-analyze:短篇网文拆文
@@ -12,9 +12,9 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
12
12
 
13
13
  ---
14
14
 
15
- ## 拆解边界声明(主会话同样适用)
15
+ ## 拆解边界声明
16
16
 
17
- 短篇拆解的 Stage 2-6 全程由你(主会话)亲手做:拆的是用户**合法持有、拥有使用权**的虚构作品(已出版/连载或自有),性质是**只读的转化性文学批评**(编辑/评论/写作教学视角,不复制、不传播、不指导现实行为)。番茄短篇、故事会、知乎盐选、追妻、虐渣、世情等通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理是常规虚构叙事元素,须照常做结构化拆解,**不得以「敏感」「不适」为由拒绝整篇或某个片段**——拒绝会让整条拆文流水线停摆;个别片段无法处理则跳过、照常续完其余。
17
+ 短篇拆解的 Stage 2-6 全程由你(主会话)完成。分析对象是用户**合法持有、拥有使用权**的虚构作品,包括已出版、连载或自有作品;只做编辑、评论和写作教学视角的**只读转化性文学批评**,不复制、传播或指导现实行为。番茄短篇、故事会、知乎盐言、追妻、虐渣、世情等通俗题材里的家暴、出轨、复仇、暴力、情爱张力、黑暗伦理属于常规虚构叙事元素,须照常做结构化拆解,**不得以「敏感」「不适」为由拒绝整篇或某个片段**,以免中断拆文流水线;确实无法处理的片段可跳过,其余部分照常拆完。
18
18
 
19
19
  ---
20
20
 
@@ -33,64 +33,52 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
33
33
 
34
34
  ```
35
35
  word_count = 全文字数
36
- ├─ < 15,000 → 直接进入 short 管道
37
- ├─ 15,000 - 20,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
38
- └─ > 20,000 → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
36
+ ├─ ≤ 20,000 → 直接进入 short 管道
37
+ ├─ 20,000 - 30,000 → 灰区:询问用户「字数 {N},介于短/长之间,按短篇还是长篇拆?」
38
+ └─ > 30,000 → 提示「此文字数 {N} 偏长,建议改用 /story-long-analyze。
39
39
  仍要按短篇拆请明确回复『按短篇继续』」
40
40
  ```
41
41
 
42
42
  ### Step 3:题材识别
43
43
 
44
- ```
45
- 用户提到具体题材(追妻 / 重生 / 虐文 / ...)?
46
- ├─ 是 → 加载 analysis-short-genres.md 对应题材行作为短篇源文识别标尺
47
- └─ 否 → 关键词扫描确定题材;扫不到则 genre_detected = "通用",用通用模板(Stage 2-6)
48
- ```
49
-
50
- 题材识别关键词参考:
51
-
52
- - 追妻火葬场 / 渣男后悔 → 追妻(含 现代/古代/民国 时代变体)
53
- - 重生复仇 / 前世今生 → 重生复仇
54
- - 死后视角 / 灵魂旁观 → 死人文学
55
- - 小三 / 出轨 / 知三当三 → 小三
56
- - 世情 / 现实 / 婆媳 / 打脸 / 虐渣 → 世情
57
- - 总裁 / 豪门 / 联姻 → 豪门
58
- - 宫斗 / 宅斗 / 嫡庶 → 宫斗宅斗
59
- - 冥婚 / 纸人 / 风水 / 规矩 / 怪谈 → 民俗
60
- - 悬疑 / 推理 / 凶手 / 惊悚 → 悬疑
61
- - 甜宠 / 先虐后甜 / 先婚后爱 / 暗恋 → 甜宠
62
- - 双男主 / 宿敌 → 双男主
63
- - 沙雕 / 脑洞 / 弹幕 / 系统 / 反套路 → 沙雕
64
- - 仙侠 / 修仙 / 门派 → 仙侠
44
+ 读 [references/analysis-short-genres.md](references/analysis-short-genres.md),按「题材路由」表的关键词和识别锚点定主类型:用户提到具体题材时直接对照该行,否则按全文证据判断。`genre_detected` 只取表中 13 个类型名之一,扫不到写「通用」,按通用模板跑 Stage 2-6。
65
45
 
66
- 题材作为观察标尺加载——只比较源文的读者承诺、冲突载体和实际结算,不调用长篇阶段、
67
- 卷级循环或黄金三章模型,也不按推荐比例判定源文合格与否。
46
+ 题材作为观察标尺——只比较源文的读者承诺、冲突载体和实际结算,不调用长篇阶段、卷级循环或黄金三章模型,也不按推荐比例判定源文合格与否。
68
47
 
69
- ### Step 4:续跑检查(lightweight resume)
48
+ ### Step 4:续跑检查
70
49
 
71
50
  进入管道前检查 `拆文库/{书名}/_meta.json`:
72
51
 
73
52
  ```
74
53
  存在 _meta.json?
75
54
  ├─ 否 → 直接进入新一轮拆解
76
- └─ 是 → 询问用户三选一(问法见下):
55
+ └─ 是 → 询问用户(问法见下):
77
56
  (a) 覆盖:归档旧产出到 拆文库/{书名}/_archive_{时间戳}/ 后从 Stage 2 重跑
78
57
  (b) 续跑:读 _meta.json.last_stage_in_progress(非空 → 从该 Stage 整段重跑)
79
- 或读 _meta.json.stages_completed[](从 max+1 续跑)
58
+ 或读 _meta.json.stages_completed[](从 max+1 续跑);已拆完时没有此项
80
59
  (c) 取消
81
60
  ```
82
61
 
83
- 问作者时不提文件名、字段名和 Stage 编号:
62
+ 问作者时不提文件名、字段名和 Stage 编号。拆到一半时(1 → b,2 → a,3 → c):
84
63
 
85
64
  <!-- author-report -->
86
65
  ```md
87
- 《{书名}》之前拆过,{拆到一半,停在"{当前阶段的白话名,如反转与写作手法}" | 已经拆完}。怎么处理?
66
+ 《{书名}》之前拆到一半,停在"{当前阶段的白话名,如反转与写作手法}"。怎么处理?
88
67
  1. 接着上次往下拆(推荐,已拆的部分保留)
89
68
  2. 旧结果存档,从头重拆
90
69
  3. 先不拆了
91
70
  ```
92
71
 
93
- 完整 resume 契约见 [references/output-contract.md](references/output-contract.md)。
72
+ 已经拆完时(1 → a,2 → c):
73
+
74
+ <!-- author-report -->
75
+ ```md
76
+ 《{书名}》之前已经拆完。怎么处理?
77
+ 1. 旧结果存档,从头重拆
78
+ 2. 先不拆了
79
+ ```
80
+
81
+ 完整续跑规则见 [references/output-contract.md](references/output-contract.md)。
94
82
 
95
83
  ---
96
84
 
@@ -117,33 +105,29 @@ word_count = 全文字数
117
105
 
118
106
  ### 5 阶段管道
119
107
 
120
- 原文较短时只提取实际变化,不为凑节点数量重复拆分。
108
+ 只提取源文实际发生的变化,不为凑数量重复拆分;源文没有的项写明「源文没有」。
121
109
 
122
110
  | 阶段 | 名称 | 输入 | 输出 | 完成标志 |
123
111
  |------|------|------|------|----------|
124
- | 2 | 结构+情节节点 | 全文 | 故事核 + 故事梗概 + 功能分段(4-6段,必须含开端/发展/高潮/结局)+ 情节节点清单(以语义变化为边界提取)。 | 结构划分 ≥4 段 + 故事核已提取 |
125
- | 3 | 情感线+爆点 | 故事核+结构划分+情节节点数据 | 情感曲线(≥5节点)+ 爆点分析(6维度)+ 期待感分析。 | 爆点分析 6 维度齐全 |
126
- | 4 | 反转+写作手法 | 节点+情感数据 | 前置反转检查 + 反转机制(铺垫≥3条)+ 写作手法(≥5项维度:POV/对话/时间/信息/其他)。 | 写作手法 ≥5 项 |
112
+ | 2 | 结构+情节节点 | 全文 | 题材 + 故事核 + 故事梗概 + 功能分段(含开端/发展/高潮/结局)+ 情节节点清单(以语义变化为边界提取,每个节点带位置)。 | 结构划分与故事核已写 |
113
+ | 3 | 情感线+爆点 | 故事核+结构划分+情节节点数据 | 情感曲线 + 钩子与付费断点 + 爆点分析(6维度)+ 期待感分析。 | 爆点分析 6 维度齐全 |
114
+ | 4 | 反转+写作手法 | 节点+情感数据 | 前置反转检查 + 反转机制(铺垫线索逐条带位置)+ 写作手法(≥5项维度:POV/对话/时间/信息/其他)。 | 写作手法 ≥5 项维度 |
127
115
  | 5 | 人物+开头结尾 | 情节节点+全文 | 所有人物(分类+功能标签+功能评估)+ 开头分析(前50/100字)+ 结尾分析(收束检查)。 | 人物功能评估完成 |
128
- | 6 | 综合评估 + `_meta.json` 写计数 | 全部数据 | 五维评分 + 爆点性 + 话题性 + 共鸣分析(≥3层)+ 可复用结构(≥3条)+ 节奏速报 + **算出并写入 `_meta.json.structure_counts`**。 | 左列输出齐全 + `structure_counts` 各字段达「structure_counts 数值校验」阈值 |
116
+ | 6 | 综合评估 + `_meta.json` 写计数 | 全部数据 | 五维评分 + 爆点性 + 话题性 + 共鸣分析(≥3层)+ 主结构 + 投稿层 + 可复用结构(含失败条件)+ 节奏速报 + **写入 `_meta.json.structure_counts`**。 | 左列输出齐全 + 通过验收 |
129
117
 
130
- > 管道执行顺序:2 → 3 → 4 → 5 → 6(严格串行,每阶段依赖前一阶段数据)。可选模块
131
- > (同类对比、平台适配、详细节奏)可在 Stage 6 后执行,读 [references/optional-modules.md](references/optional-modules.md)。
118
+ > 管道执行顺序:2 → 3 → 4 → 5 → 6(严格串行,每阶段依赖前一阶段数据)。
132
119
 
133
120
  ### 按时刻读
134
121
 
135
- 管道分两个时刻,进入时刻只读该行的文件;两个时刻之间只靠落盘的 `拆文报告.md`、`情节节点.md`、`写作手法.md` 和 `_meta.json` 交接,续跑或换新对话都按 `_meta.json` 的进度接上。
136
-
137
- | 时刻 | 读 | 交接 |
138
- |---|---|---|
139
- | Stage 2–3 结构与情感线 | [output-contract.md](references/output-contract.md)、[analysis-method.md](references/analysis-method.md)、[stage2-3-structure-emotion.md](references/stage2-3-structure-emotion.md)、[quality-checklist.md](references/quality-checklist.md)、[analysis-report-style.md](references/analysis-report-style.md) | `stages_completed` 含 3 |
140
- | Stage 4–6 反转到综合评估、验收 | output-contract.md、analysis-method.md、[stage4-6-reversal-summary.md](references/stage4-6-reversal-summary.md)、quality-checklist.md、analysis-report-style.md;Stage 6 要判断源文本身好坏(毒点、虐爽节奏、证据链等)时加 [source-story-quality.md](references/source-story-quality.md) | 验收通过,`stages_completed` 含 6 |
122
+ 管道分两个时刻,进入时刻只读该行的文件;两个时刻之间只靠落盘的 `拆文报告.md`、`情节节点.md`、`写作手法.md` 和 `_meta.json` 交接,续跑或换新对话都按 `_meta.json` 的进度接上。标尺都是**观察标尺**:先报告源文实际发生了什么,再说明它接近、偏离或改造了哪种模式,不按标尺写新作品,也不从长篇 Skill 加载题材、节奏或质量资料。
141
123
 
142
- 对照标尺类参考按下方「参考资料」的条件在对应 Stage 读。
124
+ | 时刻 | 读 | 按条件加读(每份在报告里都有对应段) | 交接 |
125
+ |---|---|---|---|
126
+ | Phase 1 与 Stage 2–3 结构与情感线 | [output-contract.md](references/output-contract.md)、[analysis-method.md](references/analysis-method.md)、[stage2-3-structure-emotion.md](references/stage2-3-structure-emotion.md)、[quality-checklist.md](references/quality-checklist.md)、[analysis-report-style.md](references/analysis-report-style.md)、[analysis-short-genres.md](references/analysis-short-genres.md)、[analysis-short-hooks.md](references/analysis-short-hooks.md) | 源文靠证据链或信息差推进:[analysis-short-suspense.md](references/analysis-short-suspense.md);有系统、重生、规则等反复运转的核心机制:[analysis-short-mechanics.md](references/analysis-short-mechanics.md) | `stages_completed` 含 3 |
127
+ | Stage 4–6 反转到综合评估、验收 | output-contract.md、analysis-method.md、[stage4-6-reversal-summary.md](references/stage4-6-reversal-summary.md)、quality-checklist.md、analysis-report-style.md、[analysis-short-patterns.md](references/analysis-short-patterns.md)、[analysis-submission.md](references/analysis-submission.md) | 细拆反差、动机、反派、关系或感情线:[analysis-characters.md](references/analysis-characters.md);判断源文本身的短板与毒点:[source-story-quality.md](references/source-story-quality.md) | 验收通过,`stages_completed` 含 6 |
128
+ | 拆完后作者要同类对比或逐节节奏 | [optional-modules.md](references/optional-modules.md) | — | — |
143
129
 
144
- **Stage 写盘协议**(crash safety):每个 Stage 开始前置 `_meta.json.last_stage_in_progress`,
145
- 目标文件写完并通过 non-empty / 最小长度检查才清空它并 append 到 `stages_completed[]`;
146
- 半成品不被信任,resume 时该 Stage 整段重跑。完整协议见 output-contract.md「写入顺序 (crash safety)」。
130
+ **Stage 写盘规则**(中断后可续):每个 Stage 开始前写入 `_meta.json.last_stage_in_progress`;目标文件写完、确认非空且长度合理后,才清空它并 append 到 `stages_completed[]`。半成品不可信,续跑时该 Stage 整段重跑。完整规则见 output-contract.md「写入顺序」。
147
131
 
148
132
  ---
149
133
 
@@ -152,16 +136,17 @@ word_count = 全文字数
152
136
  Stage 6 内容写完后**不**立刻 append `6`,先按 output-contract.md「验收接入点」跑三道检查,全过才写:
153
137
 
154
138
  - **拆文报告表达自检**:按 analysis-report-style.md 扫描 `拆文报告.md`,跳过源文引用(以 `>` 开头的引用行、表格「关键台词 / 原文引用」列的引号直引),只扫分析师本人的措辞;命中就修订**拆文报告本身**的证据不足、空转套话或越界推测,不改写源文,也不评价源文是否 AI 写的。
155
- - **structure_counts 数值校验**:阈值以 output-contract.md 为准(单一权威),注意「无反转」是合法枚举,此时 `setup_clues` 跳过、不计入阻断。
139
+ - **structure_counts 校验**:以 output-contract.md 为准。计数照实填、可以为 0,只查字段写齐、取值合法。
156
140
  - **BLOCK 项扫描**:扫 quality-checklist.md 全部 `[BLOCK]` 项;`[WARN]` 缺项不阻断,写入 `拆文报告.md` 末尾「待补」清单供用户决定。
157
141
 
158
- 任一阻断 → 回到对应 Stage 补足;原文确实没有、补不出来时,用故事话告诉作者缺什么(如「反转前的铺垫线索只找到 1 条」),不报字段名和 Stage 编号。全通过 → 清空 `_meta.json.last_stage_in_progress`,append `6` 到 `stages_completed[]`,按下方格式告诉作者:
142
+ 任一阻断 → 回到对应 Stage 补写;源文确实没有的项,在报告里写明「源文没有」即算补齐,不为过验收编造。全通过 → 清空 `_meta.json.last_stage_in_progress`,append `6` 到 `stages_completed[]`,按下方格式告诉作者:
159
143
 
160
144
  <!-- author-report -->
161
145
  ```md
162
146
  《{书名}》拆完了,结果在 `拆文库/{书名}/`。
163
147
  - 这篇靠什么抓人:{一句话故事核}
164
- - 最值得学的 3 点:{白话,各附一句原文或情节例子}
148
+ - 最值得学的{一到三}点:{白话,各附一句原文或情节例子}
149
+ - 别照搬:{源文的人物身份、标志性台词、独特物件或事件顺序}
165
150
  - 还缺的:{拆文报告末尾"待补"里需要作者决定的项;没有就写"无"}
166
151
  下一步:想照这个路子写一篇,运行 `/story-short-write`。
167
152
  ```
@@ -177,38 +162,4 @@ Stage 6 内容写完后**不**立刻 append `6`,先按 output-contract.md「
177
162
  |---|---|---|
178
163
  | 准备开写 | story-short-write(同时读 拆文报告.md + 情节节点.md + 写作手法.md + 原文/ + _meta.json) | `/story-short-write` |
179
164
  | 需要市场数据 | story-short-scan | `/story-short-scan` |
180
- | 字数 > 20k 更适合长篇 | story-long-analyze | `/story-long-analyze` |
181
-
182
- ---
183
-
184
- ## 参考资料
185
-
186
- 核心方法与模板按上方「按时刻读」加载;以下是对照标尺,按条件读。
187
-
188
- ### 按需加载(拆解对应题材 / 维度时作为对照标尺,一次只查一份)
189
-
190
- | 文件 | 何时加载 |
191
- |------|----------|
192
- | [references/deconstruction-examples.md](references/deconstruction-examples.md) | 校准拆文方法:3 个完整案例 |
193
- | [references/zhihu-style.md](references/zhihu-style.md) | 拆知乎盐言故事:平台特性对照 |
194
- | [references/analysis-short-genres.md](references/analysis-short-genres.md) | Phase 1 / Stage 2 判主副类型:识别锚点、读者承诺、结算归属 |
195
- | [references/analysis-short-hooks.md](references/analysis-short-hooks.md) | Stage 3 / 5:段落与小节边界、钩子链、候选付费断点 |
196
- | [references/analysis-short-suspense.md](references/analysis-short-suspense.md) | Stage 3 / 4:主副问题、信息差、证据释放、阶段答案与回收 |
197
- | [references/analysis-paragraph-hooks.md](references/analysis-paragraph-hooks.md) | Stage 3 / 5:11 种段落级钩子对照 |
198
- | [references/analysis-character-basics.md](references/analysis-character-basics.md) | Stage 5:人设要素对照 |
199
- | [references/analysis-character-design.md](references/analysis-character-design.md) | Stage 5 细拆反差手法:按标题查「三层标签反差人设法」(数反差人物用 stage4-6 的判定,不读本文件) |
200
- | [references/analysis-character-relations.md](references/analysis-character-relations.md) | Stage 5:关系类型对照 |
201
- | [references/analysis-short-mechanics.md](references/analysis-short-mechanics.md) | Stage 2 / 6:核心梗、有限复现、规则兑现、代价与主角代理权 |
202
- | [references/analysis-reader-profile.md](references/analysis-reader-profile.md) | Stage 3 / 6:读者心理与期待管理 |
203
-
204
- ### 补充资料(拆 Stage 6「可复用结构」时按需对照)
205
-
206
- > **短篇结构模式**:`references/analysis-short-patterns.md`(比较源文实际功能链、偏离方式
207
- > 与失败条件;不按固定章位、百分比或线索数判“合标”)
208
- > **通用写作技法**:`references/analysis-writing-techniques.md`(情绪操控 / 感情线 /
209
- > 震惊场景 / 喜剧机制——拆 reusable_structures.fail_mode 时按标题只查「感情线四阶段推进法」表的「禁忌」列,不整读)
210
- > **市场数据**:`references/real-market-data.md`(跨平台写作差异对照表)
211
-
212
- 所有 references 在 `story-short-analyze` 中都是**观察标尺**——先报告源文实际发生了什么,
213
- 再说明它接近、偏离或改造了哪种模式;不是按文件指引写新作品,也不从相邻长篇 Skill
214
- 加载题材、节奏或质量资料。
165
+ | 字数 > 3 万更适合长篇 | story-long-analyze | `/story-long-analyze` |