@oh-story/dsh 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +17 -15
  2. package/lib/client.js +26 -15
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/manifest.json +284 -364
  5. package/lib/drama/package.json +4 -0
  6. package/lib/drama/skills/short-drama/SKILL.md +13 -14
  7. package/lib/drama/skills/short-drama/agents/openai.yaml +1 -1
  8. package/lib/drama/skills/short-drama/references/audience-reveal.md +4 -4
  9. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -2
  10. package/lib/drama/skills/short-drama/references/creator-documents.md +12 -10
  11. package/lib/drama/skills/short-drama/references/creator-workflow.md +6 -5
  12. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +8 -8
  13. package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +5 -5
  14. package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +5 -6
  15. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +6 -7
  16. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +2 -3
  17. package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +6 -7
  18. package/lib/drama/skills/short-drama/references/knowhow-index.md +6 -7
  19. package/lib/drama/skills/short-drama/references/look-development.md +5 -7
  20. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +6 -3
  21. package/lib/drama/skills/short-drama/references/production-form-profiles.md +14 -16
  22. package/lib/drama/skills/short-drama/references/reference-roles.md +5 -3
  23. package/lib/drama/skills/short-drama/references/runtime-preflight.md +2 -1
  24. package/lib/drama/skills/short-drama-assets/SKILL.md +8 -8
  25. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +1 -1
  26. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +26 -27
  27. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +22 -22
  28. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +4 -4
  29. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +4 -4
  30. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
  31. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -5
  32. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +6 -7
  33. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -9
  34. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +8 -11
  35. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +22 -22
  36. package/lib/drama/skills/short-drama-develop/SKILL.md +6 -6
  37. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +1 -1
  38. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +2 -2
  39. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +2 -2
  40. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +13 -12
  41. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +7 -7
  42. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +7 -8
  43. package/lib/drama/skills/short-drama-develop/references/episode-design.md +20 -24
  44. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +7 -7
  45. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +4 -5
  46. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +2 -2
  47. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +1 -1
  48. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +2 -2
  49. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
  50. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +1 -1
  51. package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +1 -1
  52. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +1 -1
  53. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +4 -5
  54. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +1 -1
  55. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +1 -1
  56. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +1 -1
  57. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +2 -2
  58. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +4 -4
  59. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +6 -7
  60. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +19 -17
  61. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +5 -5
  62. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +6 -5
  63. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -4
  64. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +7 -9
  65. package/lib/drama/skills/short-drama-develop/references/story-craft.md +8 -10
  66. package/lib/drama/skills/short-drama-edit/SKILL.md +11 -14
  67. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +12 -19
  68. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +2 -2
  69. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +5 -4
  70. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +1 -1
  71. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +6 -4
  72. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +5 -5
  73. package/lib/drama/skills/short-drama-edit/references/still-cuts.md +1 -1
  74. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +7 -2
  75. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +1 -1
  76. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +4 -5
  77. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +17 -17
  78. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +10 -9
  79. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +11 -12
  80. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +6 -5
  81. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +2 -2
  82. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +6 -6
  83. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +8 -8
  84. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +5 -4
  85. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +17 -24
  86. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +3 -4
  87. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +5 -10
  88. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +4 -6
  89. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +9 -13
  90. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +3 -7
  91. package/lib/drama/skills/short-drama-produce/SKILL.md +43 -42
  92. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +1 -1
  93. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +31 -18
  94. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +1 -1
  95. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +11 -6
  96. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +2 -2
  97. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +7 -5
  98. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +14 -8
  99. package/lib/drama/skills/short-drama-review/SKILL.md +9 -9
  100. package/lib/drama/skills/short-drama-review/agents/openai.yaml +1 -1
  101. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -11
  102. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +24 -23
  103. package/lib/drama/skills/short-drama-review/references/project-calibration.md +17 -16
  104. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -6
  105. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +7 -6
  106. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +17 -10
  107. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +29 -25
  108. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +11 -11
  109. package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -2
  110. package/lib/drama/skills/short-drama-storyboard/SKILL.md +8 -10
  111. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +1 -1
  112. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +8 -11
  113. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +11 -12
  114. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +4 -5
  115. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +19 -24
  116. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +1 -1
  117. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +26 -29
  118. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +6 -5
  119. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +2 -2
  120. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +4 -4
  121. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -8
  122. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +3 -3
  123. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +10 -7
  124. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +1 -1
  125. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +63 -61
  126. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +20 -18
  127. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +12 -12
  128. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +4 -3
  129. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +38 -40
  130. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +36 -36
  131. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +17 -21
  132. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +10 -11
  133. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +1 -1
  134. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +2 -2
  135. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +6 -12
  136. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +2 -1
  137. package/lib/drama/skills/short-drama-write/SKILL.md +15 -15
  138. package/lib/drama/skills/short-drama-write/agents/openai.yaml +1 -1
  139. package/lib/drama/skills/short-drama-write/assets/screenplay.md +3 -4
  140. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +20 -22
  141. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +20 -22
  142. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +10 -10
  143. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +11 -9
  144. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +11 -10
  145. package/lib/drama/skills/short-drama-write/references/script-craft.md +41 -47
  146. package/lib/drama/skills/short-drama-write/references/stage-contract.md +7 -5
  147. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +19 -25
  148. package/lib/index.js +120 -31
  149. package/lib/index.js.map +3 -3
  150. package/lib/novel-to-game/README.md +10 -11
  151. package/lib/novel-to-game/README_ZH.md +14 -15
  152. package/lib/novel-to-game/VERSION +1 -1
  153. package/lib/novel-to-game/manifest.json +34 -29
  154. package/lib/novel-to-game/package.json +4 -0
  155. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +2 -2
  156. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
  157. package/lib/novel-to-game/skills/game-build/SKILL.md +9 -1
  158. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
  159. package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
  160. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
  161. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
  162. package/lib/novel-to-game/skills/game-world-design/SKILL.md +1 -1
  163. package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +1 -1
  164. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
  165. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
  166. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
  167. package/lib/oh-story/manifest.json +628 -803
  168. package/lib/oh-story/package.json +4 -0
  169. package/lib/oh-story/roles/chapter-extractor.md +13 -12
  170. package/lib/oh-story/roles/character-designer.md +20 -101
  171. package/lib/oh-story/roles/consistency-checker.md +7 -9
  172. package/lib/oh-story/roles/narrative-writer.md +22 -22
  173. package/lib/oh-story/roles/story-architect.md +22 -32
  174. package/lib/oh-story/roles/story-explorer.md +11 -14
  175. package/lib/oh-story/roles/story-researcher.md +13 -14
  176. package/lib/oh-story/skills/browser-cdp/SKILL.md +38 -26
  177. package/lib/oh-story/skills/story/SKILL.md +98 -63
  178. package/lib/oh-story/skills/story/VERSION +1 -1
  179. package/lib/oh-story/skills/story-cover/SKILL.md +46 -234
  180. package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
  181. package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -93
  182. package/lib/oh-story/skills/story-deslop/SKILL.md +75 -212
  183. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +17 -3
  184. package/lib/oh-story/skills/story-deslop/references/banned-words.md +61 -151
  185. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +23 -160
  186. package/lib/oh-story/skills/story-deslop/references/expression.md +83 -0
  187. package/lib/oh-story/skills/story-deslop/references/narrative-focus.md +63 -0
  188. package/lib/oh-story/skills/story-deslop/references/story-logic.md +65 -0
  189. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +5 -5
  190. package/lib/oh-story/skills/story-import/SKILL.md +18 -22
  191. package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
  192. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +9 -9
  193. package/lib/oh-story/skills/story-import/references/deep-analysis.md +7 -8
  194. package/lib/oh-story/skills/story-import/references/import-report.md +9 -8
  195. package/lib/oh-story/skills/story-import/references/import-special-cases.md +7 -17
  196. package/lib/oh-story/skills/story-import/references/import-tracking.md +6 -6
  197. package/lib/oh-story/skills/story-import/references/length-routing.md +10 -60
  198. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +10 -10
  199. package/lib/oh-story/skills/story-import/references/outline-reverse.md +3 -3
  200. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +120 -132
  201. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -92
  202. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +2 -2
  203. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
  204. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
  205. package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
  206. package/lib/oh-story/skills/story-long-analyze/SKILL.md +41 -78
  207. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +28 -30
  208. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +9 -17
  209. package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +9 -3
  210. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +23 -10
  211. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +13 -20
  212. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +28 -29
  213. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
  214. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
  215. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -164
  216. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -13
  217. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +114 -35
  218. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +16 -6
  219. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
  220. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
  221. package/lib/oh-story/skills/story-long-scan/SKILL.md +54 -82
  222. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -181
  223. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +24 -7
  224. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
  225. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
  226. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
  227. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +26 -16
  228. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -34
  229. package/lib/oh-story/skills/story-long-write/SKILL.md +12 -13
  230. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +2 -2
  231. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +53 -26
  232. package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +9 -7
  233. package/lib/oh-story/skills/story-long-write/references/author-memory.md +6 -6
  234. package/lib/oh-story/skills/story-long-write/references/banned-words.md +61 -151
  235. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +4 -4
  236. package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
  237. package/lib/oh-story/skills/story-long-write/references/character-relations.md +120 -270
  238. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +3 -3
  239. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +26 -29
  240. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +9 -9
  241. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
  242. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +33 -73
  243. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +42 -89
  244. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
  245. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
  246. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
  247. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
  248. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  249. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
  250. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
  251. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
  252. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
  253. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
  254. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  255. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  256. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
  257. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
  258. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
  259. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
  260. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
  261. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
  262. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
  263. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
  264. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
  265. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
  266. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
  267. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
  268. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
  269. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
  270. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
  271. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
  272. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
  273. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
  274. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
  275. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +7 -7
  277. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +99 -172
  278. package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +40 -120
  279. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
  280. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -2
  281. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +82 -311
  282. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
  283. package/lib/oh-story/skills/story-long-write/references/long-reversal.md +4 -4
  284. package/lib/oh-story/skills/story-long-write/references/long-suspense.md +11 -13
  285. package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
  286. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
  287. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
  288. package/lib/oh-story/skills/story-long-write/references/project-files.md +12 -16
  289. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +1 -1
  290. package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -84
  291. package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
  292. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +3 -3
  293. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +15 -22
  294. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +4 -172
  295. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +5 -5
  296. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +2 -2
  297. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
  298. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +10 -8
  299. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +3 -3
  300. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
  301. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +10 -10
  302. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +5 -10
  303. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
  304. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +1 -1
  305. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +77 -132
  306. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
  307. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
  308. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
  309. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
  310. package/lib/oh-story/skills/story-review/SKILL.md +41 -54
  311. package/lib/oh-story/skills/story-review/references/agent-prompts.md +20 -18
  312. package/lib/oh-story/skills/story-review/references/banned-words.md +61 -151
  313. package/lib/oh-story/skills/story-review/references/batch-review.md +4 -4
  314. package/lib/oh-story/skills/story-review/references/expression.md +83 -0
  315. package/lib/oh-story/skills/story-review/references/narrative-focus.md +63 -0
  316. package/lib/oh-story/skills/story-review/references/quality-rubric.md +11 -11
  317. package/lib/oh-story/skills/story-review/references/review-tracking.md +6 -5
  318. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +10 -10
  319. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +10 -11
  320. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +12 -12
  321. package/lib/oh-story/skills/story-review/references/solo.md +8 -7
  322. package/lib/oh-story/skills/story-review/references/story-logic.md +65 -0
  323. package/lib/oh-story/skills/story-review/references/style-resolution.md +5 -5
  324. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +2 -2
  325. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
  326. package/lib/oh-story/skills/story-setup/SKILL.md +29 -36
  327. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +3 -3
  328. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +14 -16
  329. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +61 -151
  330. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +10 -10
  331. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
  332. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +120 -270
  333. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +23 -160
  334. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +26 -29
  335. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +9 -9
  336. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
  337. package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +83 -0
  338. package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
  339. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +11 -11
  340. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
  341. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
  342. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
  343. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
  344. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  345. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
  346. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
  347. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
  348. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
  349. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
  350. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  351. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  352. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
  353. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
  354. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
  355. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
  356. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
  357. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
  358. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
  359. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
  360. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
  361. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
  362. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
  363. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
  364. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
  365. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
  366. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
  367. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
  368. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
  369. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
  370. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
  371. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
  372. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +7 -7
  373. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +99 -172
  374. package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +40 -120
  375. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +34 -74
  376. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +82 -311
  377. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
  378. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +3 -3
  379. package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +4 -4
  380. package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +11 -13
  381. package/lib/oh-story/skills/story-setup/references/agent-references/narrative-focus.md +63 -0
  382. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
  383. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
  384. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
  385. package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +64 -192
  386. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +15 -69
  387. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +46 -58
  388. package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +6 -4
  389. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +23 -48
  390. package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +65 -0
  391. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +15 -22
  392. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +4 -172
  393. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +5 -5
  394. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +77 -132
  395. package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
  396. package/lib/oh-story/skills/story-short-analyze/SKILL.md +44 -103
  397. package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
  398. package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +7 -7
  399. package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +1 -3
  400. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +22 -21
  401. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +7 -6
  402. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +6 -6
  403. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +2 -2
  404. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +6 -6
  405. package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
  406. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
  407. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +38 -50
  408. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
  409. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +24 -175
  410. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +53 -38
  411. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +54 -83
  412. package/lib/oh-story/skills/story-short-scan/SKILL.md +56 -73
  413. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
  414. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
  415. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
  416. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +36 -75
  417. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +35 -15
  418. package/lib/oh-story/skills/story-short-write/SKILL.md +23 -26
  419. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +4 -4
  420. package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +9 -7
  421. package/lib/oh-story/skills/story-short-write/references/author-memory.md +6 -6
  422. package/lib/oh-story/skills/story-short-write/references/banned-words.md +61 -151
  423. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
  424. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
  425. package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +34 -0
  426. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +26 -29
  427. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +15 -69
  428. package/lib/oh-story/skills/story-short-write/references/expression.md +83 -0
  429. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +12 -12
  430. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +21 -21
  431. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +17 -17
  432. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +17 -17
  433. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +19 -19
  434. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +16 -16
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +17 -16
  436. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +17 -17
  437. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +11 -11
  438. package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +22 -22
  439. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +46 -58
  440. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +64 -192
  441. package/lib/oh-story/skills/story-short-write/references/narrative-focus.md +63 -0
  442. package/lib/oh-story/skills/story-short-write/references/reference-index.md +14 -16
  443. package/lib/oh-story/skills/story-short-write/references/scene-craft.md +8 -7
  444. package/lib/oh-story/skills/story-short-write/references/short-craft.md +22 -43
  445. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +12 -125
  446. package/lib/oh-story/skills/story-short-write/references/short-format.md +19 -43
  447. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +23 -48
  448. package/lib/oh-story/skills/story-short-write/references/story-logic.md +65 -0
  449. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +5 -5
  450. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
  451. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +23 -30
  452. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +69 -26
  453. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +19 -20
  454. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +52 -70
  455. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
  456. package/lib/types/client/file-activity.d.ts +10 -0
  457. package/lib/types/client/file-activity.d.ts.map +1 -1
  458. package/lib/types/client/index.d.ts.map +1 -1
  459. package/lib/types/native-hooks.d.ts.map +1 -1
  460. package/lib/types/role-tool.d.ts +42 -2
  461. package/lib/types/role-tool.d.ts.map +1 -1
  462. package/lib/types/skill-provider.d.ts.map +1 -1
  463. package/lib/types/workspace-route.d.ts.map +1 -1
  464. package/lib/video-recap/CHANGELOG.md +8 -0
  465. package/lib/video-recap/README.en.md +8 -10
  466. package/lib/video-recap/README.md +8 -8
  467. package/lib/video-recap/manifest.json +48 -48
  468. package/lib/video-recap/package.json +4 -0
  469. package/lib/video-recap/skills/video-assemble/SKILL.md +5 -8
  470. package/lib/video-recap/skills/video-assemble/references/audio-modes.md +3 -3
  471. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +1 -2
  472. package/lib/video-recap/skills/video-assemble/references/packaging.md +1 -2
  473. package/lib/video-recap/skills/video-assemble/references/source-score.md +5 -6
  474. package/lib/video-recap/skills/video-cut/SKILL.md +3 -7
  475. package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
  476. package/lib/video-recap/skills/video-recap/SKILL.md +7 -11
  477. package/lib/video-recap/skills/video-recap/references/audio-routing.md +1 -2
  478. package/lib/video-recap/skills/video-recap/references/config-playbook.md +5 -7
  479. package/lib/video-recap/skills/video-recap/references/data-schema.md +8 -8
  480. package/lib/video-recap/skills/video-recap/references/resource-library.md +2 -2
  481. package/lib/video-recap/skills/video-reference/SKILL.md +4 -8
  482. package/lib/video-recap/skills/video-reference/references/reference-schema.md +1 -1
  483. package/lib/video-recap/skills/video-script/SKILL.md +4 -13
  484. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +2 -2
  485. package/lib/video-recap/skills/video-understanding/SKILL.md +10 -6
  486. package/lib/video-recap/skills/video-understanding/references/data-schema.md +2 -2
  487. package/lib/video-recap/skills/video-voiceover/SKILL.md +3 -11
  488. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +1 -2
  489. package/package.json +25 -24
  490. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +0 -187
  491. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +0 -42
  492. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +0 -128
  493. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +0 -34
  494. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +0 -49
  495. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +0 -36
  496. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +0 -2
  497. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +0 -2
  498. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +0 -101
  499. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +0 -217
  500. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +0 -31
  501. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +0 -67
  502. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +0 -2
  503. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +0 -120
  504. package/lib/drama/skills/short-drama-write/assets/episode-card.json +0 -55
  505. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +0 -89
  506. package/lib/oh-story/skills/story/references/author-memory-maintenance.md +0 -75
  507. package/lib/oh-story/skills/story/references/author-memory.md +0 -117
  508. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +0 -1638
  509. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +0 -556
  510. package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +0 -75
  511. package/lib/oh-story/skills/story-deslop/references/author-memory.md +0 -117
  512. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +0 -1638
  513. package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
  514. package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -43
  515. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
  516. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
  517. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
  518. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
  519. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -114
  520. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -105
  521. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +0 -556
  522. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
  523. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -502
  524. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -171
  525. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
  526. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
  527. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -273
  528. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
  529. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -711
  530. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -622
  531. package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -327
  532. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +0 -556
  533. package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +0 -75
  534. package/lib/oh-story/skills/story-review/references/author-memory.md +0 -117
  535. package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
  536. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -288
  537. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
  538. package/lib/oh-story/skills/story-review/references/review-quality.md +0 -246
  539. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +0 -1638
  540. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +0 -556
  541. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
  542. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
  543. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
  544. package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -146
  545. package/lib/oh-story/skills/story-setup/references/agent-references/short-suspense.md +0 -352
  546. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -453
  547. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -438
  548. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -395
  549. package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -146
  550. package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -245
  551. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -477
  552. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
  553. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -90
  554. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
  555. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +0 -490
  556. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -146
  557. package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -127
  558. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -224
  559. package/lib/oh-story/skills/story-short-write/references/short-suspense.md +0 -352
  560. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
@@ -267,7 +267,7 @@ def main():
267
267
  return 1
268
268
  if args.stage == "write":
269
269
  # 写作档不给批次底稿:它是排纲期的工作底稿,其中有写作期约束力的条目
270
- # 必须已经下沉到单元级段或细纲(见 artifact-protocols.md 段位契约纪律④)
270
+ # 必须已经下沉到单元级段或细纲(见 artifact-protocols.md 段位契约「排纲底稿不进卷纲」)
271
271
  live = [s for s in owned if s.kind == "单元级"]
272
272
  else:
273
273
  live = [s for s in owned
@@ -6,19 +6,17 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
6
6
  ---
7
7
  # story-review:多视角对抗式审查
8
8
 
9
- > Spawn 版本提示(不阻断 spawn):先读取项目根 `.story-deployed` 的 `agents_version`。与本版 `agents_version: 34` 不一致时(标记缺失、字段缺失/非整数、小于或大于 34)**照常按文件存在性检查并 spawn**,但只检查当前运行时的 canonical 目录;同时在「这次怎么审的」里用一句白话提示作者「审稿助手是旧版,运行 /story-setup 后新开会话」,`Notice: agents bundle 版本不匹配(项目 {N},本版 34)` 原文写进技术备注行;大于 34 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。只有 agent 文件缺失、或运行时不暴露 custom agent 时才降级 solo/direct,技术备注写 `Fallback: ... -> solo`。
9
+ > Spawn 版本提示(不阻断 spawn):先读取项目根 `.story-deployed` 的 `agents_version`。与本版 `agents_version: 36` 不一致时(标记缺失、字段缺失/非整数、小于或大于 36)**照常按文件存在性检查并 spawn**,但只检查当前运行时的 canonical 目录;同时在「这次怎么审的」里用一句白话提示作者「审稿助手是旧版,运行 /story-setup 后新开会话」,`Notice: agents bundle 版本不匹配(项目 {N},本版 36)` 原文写进技术备注行;大于 36 时额外提示先更新 oh-story-claudecode,不要用本地旧版 setup 降级覆盖。版本提示本身不触发降级;文件缺失或异常、工具不可用、递归限制或调用失败按 Phase 0 处理,技术备注写 `Fallback: ... -> solo`。
10
10
 
11
- 你是审查协调器。你的职责是找出小说文本中的结构、角色、文字、设定问题,并给出可执行修改建议。
11
+ 你负责协调审查,找出小说的结构、角色、文字与设定问题,给出有原文依据的修改建议。
12
12
 
13
13
  **执行铁律:审查是找问题,不是验证正确性。**
14
14
 
15
- **文风裁决**:正文写作、改写或审稿前先读 [references/style-resolution.md](references/style-resolution.md),加载本书文风并形成 `style_resolution`;无作者记忆也执行。当前请求、本书文风和 active 偏好按维度覆盖通用 references;同一裁决交给后续执行者。
15
+ **文风裁决**:先读 [references/style-resolution.md](references/style-resolution.md),加载本书文风,复用调用方的 `style_resolution` 与作者偏好;单独调用时按当前请求与本书文风裁决。同一裁决交给后续执行者。
16
16
 
17
- ## 作者习惯边界
17
+ ## 作者偏好边界
18
18
 
19
- 若作者记忆 state 已存在,审查前用 `scripts/author_memory_commit.py query --workspace {工作区} --book-root {书目录} --kind delivery --kind interaction --kind prose_style [--genre {题材}] [--workflow 审稿]` 获取本次相关 active 条目(`--workspace`、`--kind` 必传;不传 `--book-root` 就拿不到本书级偏好;`--genre` 填本书题材类型)。它们只能帮助解释意图和组织报告,不能降低 rubric 严重度、把事实冲突判为无问题或跳过平台门禁;当前请求仍优先。完整规则见 [references/author-memory.md](references/author-memory.md)。
20
-
21
- 用户对报告格式或协作方式作出稳定声明时,在本轮审查完成后用 `record` 记录,并按 author-memory.md「回执怎么告诉作者」转告;只记作者明确说的,一次性要求不记录,不从反复修改推断。审查发现、工具告警和助手建议本身绝不自动学习。
19
+ 只接收调用方已有的作者偏好,不查询或记录作者记忆;独立调用时不加载记忆文件。偏好只能帮助解释意图和组织报告,不能降低 rubric 严重度、把事实冲突判为无问题或跳过平台门禁;当前请求仍优先。
22
20
 
23
21
  ---
24
22
 
@@ -27,7 +25,6 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
27
25
  - `/story-review` 或 `/story-review full` → 优先 spawn 全部 4 个 Agent;如果当前已经在子代理内,核心 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。
28
26
  - `/story-review lean` → 优先 spawn `story-architect` + `consistency-checker`;如果当前已经在子代理内,任一所需 Agent 未部署/异常,或 spawn 失败,自动降级为 solo。
29
27
  - `/story-review solo` → 不 spawn Agent,由当前会话执行基础审查。
30
- - 未指定 → 默认 full,并在报告开头用一句话说明这次实际是怎么审的。
31
28
 
32
29
  ---
33
30
 
@@ -54,7 +51,7 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
54
51
 
55
52
  ## 审查基准与参考资料规则(必须遵守)
56
53
 
57
- `story-review` 的核心审查标准必须始终可用。参考文件是增强资料,不是运行前提。
54
+ 参考文件补充审查标准;不可读时使用下方内置基准包。
58
55
 
59
56
  ### 报告面向作者(必须遵守)
60
57
 
@@ -81,19 +78,12 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
81
78
 
82
79
  | 用途 | 规范路径 |
83
80
  |---|---|
84
- | 通用质量清单 | `story-review/references/review-quality.md` |
85
81
  | 通用内容评分 rubric | `story-review/references/quality-rubric.md` |
86
- | 去 AI 味方法 | `story-review/references/anti-ai-writing.md` |
87
- | 剧情循环/高潮公式 | `story-review/references/plot-core-methods.md` |
88
- | 角色关系/好感度 | `story-review/references/character-relations.md` |
89
- | 对话质量 | `story-review/references/dialogue-mastery.md` |
90
- | 审查禁用词 | `story-review/references/banned-words.md` |
82
+ | 去 AI 味方法 | `story-review/references/expression.md` · `story-review/references/narrative-focus.md` · `story-review/references/story-logic.md` |
83
+ | 词句信号索引 | `story-review/references/banned-words.md` |
91
84
  | 平台 rubric | `story-review/references/rubrics/{fanqie,qidian,zhihu}.md` |
92
85
  | 标点预检脚本 | `story-review/scripts/normalize-punctuation.js` |
93
86
  | AI句式预检脚本 | `story-review/scripts/check-ai-patterns.js` |
94
- | 作者习惯协议 | `story-review/references/author-memory.md` |
95
- | 作者习惯整理、超编与迁移 | `story-review/references/author-memory-maintenance.md` |
96
- | 作者习惯事务脚本 | `story-review/scripts/author_memory_commit.py` |
97
87
 
98
88
  ### 内置审查基准包(路径不可读时必用)
99
89
 
@@ -110,26 +100,25 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
110
100
  - 对话质量:是否有潜台词、信息控制、角色差异;说明书式对话至少 S2。
111
101
  - 设定一致性:不违背已写规则、时间线、角色属性;明确事实冲突通常 S1。
112
102
  - 文字自然度:具体、可感、动作承载信息;AI 腔、陈词滥调、总结体按影响定 S2/S3。
113
- - 句长节奏:叙述默认是逗号长句(一句用逗号串起 2-4 件事再落句号);碎句和电报体(逗号之间连着都是 ≤5 字、通篇超短句像提纲)与 AI 腔同级,按影响定 S3/S2,不因「短=网文节奏」放行。
103
+ - 句长节奏:按本书文风、语义承接与场景功能判断;机械碎句、动作清单或臃肿长句按影响定 S3/S2,不按统一字数或句长模板验收。
114
104
  - 标点节奏:标点是否服务语气/人物声线;通篇句号化、随机堆砌问号/感叹号,或残留 `……`/`——` 硬造停顿,按影响定 S3/S2。
115
105
  - 具体字数表达校验:正文用“这五个字 / 短短四字 / 三个字一落 / 八个字砸下去”等具体字数表达评价台词、题字、信件、念头或弹幕时,必须能确认统计口径、机器核对结果和叙事必要;不能确保字数计算正确时,按文字自然度问题处理,建议改成“这句话一落”“那几个字”“话音落下”等非具体数字表达。
116
106
  - 格式可读性:段落短、对话独立、无多余空行;格式阻碍阅读按 S3,严重混乱按 S2。
117
107
  - 剧情循环:目标 → 阻碍 → 行动 → 代价/反馈 → 新期待;缺少目标/阻碍/反馈通常至少 S2。
118
- - 高潮构建:蓄能 → 假胜 → 崩解 → 反转/兑现;高潮直接平铺、无代价或无兑现通常 S2/S3。
108
+ - 高潮构建:检查蓄能、情绪落差与兑现;强反转可用蓄能 → 假胜 → 崩解 → 反转/兑现,缺铺垫或兑现通常 S2/S3。
119
109
  - 关系进展:互动尺度必须匹配当前关系阶段;越界亲密、突然信任、突然敌对都需要铺垫,否则按影响定 S1/S2。
120
110
  - 伏笔状态:伏笔状态需可追踪;伏笔密度只作为结构风险提示,除非直接造成理解混乱,否则不升级到 S2+。
121
111
 
122
- AI 味 / 禁用词 fallback 速查:
123
- - 高频套话:`命运的齿轮开始转动`、`心猛地一沉`、`眼神复杂`、`深刻变化`、`踏上新的旅程`。
124
- - 章末总结体:`这一切都说明...`、`他终于明白...`、`新的篇章开始了...`。
125
- - 信息倾倒:角色直接说“我要解释世界观/规则/关系变化”。
126
- - 论文体/万能结论:过度使用“然而、与此同时、不可否认、这意味着”。
127
- - 处理原则:有原文证据才输出 finding;给出可执行替换方向,不只评价“AI 味重”。修法方向不默认「拆短 / 删虚词 / 剥标点」:把正常的逗号长句拆成碎句,与 AI 腔同样是问题。
112
+ 三层去味 fallback 速查:
113
+ - 表达:套词、总结句、工整句式是否机械复现或重复意思?词语本身只是线索,直写情绪、纠错对比与文风允许的叙述可保留。
114
+ - 用笔:关键交锋或决定是否被概括,次要流程是否过详?压缩、展开均应保住人物体验和必要承接。
115
+ - 故事:行动有什么来由、解决依据从何而来、前后改变了什么?安静场景可承载关系与认知变化,不强求冲突。
116
+ - 处理原则:有原文证据才输出 finding,指出阅读损失、最小建议与资料限制;只报告,不落改,不默认拆短、加动作或新增剧情。
128
117
 
129
- 平台 fallback 摘要:
130
- - 番茄:强开局、强冲突、高频爽点/情绪反馈、低理解门槛。
131
- - 起点:设定自洽、升级路径、长线期待、世界观承载力。
132
- - 知乎盐言:短篇钩子、反转密度、情绪兑现、信息差推进。
118
+ 平台 fallback 摘要(叠加在通用 rubric 上):
119
+ - 番茄长篇:强开局、强冲突、高频爽点/情绪反馈、低理解门槛。
120
+ - 起点长篇:设定自洽、升级路径、长线期待、世界观承载力。
121
+ - 短篇:开头钩子、反转有铺垫、情绪兑现、信息差推进。
133
122
 
134
123
  ---
135
124
 
@@ -137,21 +126,28 @@ AI 味 / 禁用词 fallback 速查:
137
126
 
138
127
  1. **确定审查范围**:
139
128
  - 用户指定了章节/文件 → 只审查指定内容。
140
- - 用户未指定 → 优先审查最近修改的正文文件(`git diff --name-only` 中的正文/设定/大纲相关文件),否则审查当前书的当前章节。
129
+ - 用户未指定 → 项目是 git 仓库时审 `git diff --name-only` 里的正文/设定/大纲文件;否则长篇审 `正文/` 下最近修改的章,短篇审 `正文.md`。报告开头写明审了哪些。
141
130
  2. **范围传递策略**:
142
131
  - 优先把文件路径、章节名、行号范围传给 reviewer,不要把整本或大量章节完整复制进每个 prompt。
143
132
  - 单文件或短片段可附 300-1200 字关键摘录。
144
133
  - 多章/整卷/整本审查必须分批:按章节或文件组拆分,每批输出独立 findings,再综合;分批前先完整读 [references/batch-review.md](references/batch-review.md)(跨批状态、连续性、乱序提醒)。
145
- 3. **读取相关支撑材料**:正文、相关设定、角色档案、大纲、追踪/上下文、伏笔文件;缺失时在报告中标记证据不足。
146
- 4. **识别目标平台并加载 rubric**:
147
- - 优先使用用户显式指定的平台。
148
- - 其次读取项目文档里的 `目标平台` / `平台` 字段,例如 `设定/题材定位.md`、`大纲/`、`拆文报告` 等。
149
- - 不要把 `.active-book` 当作平台来源;它只能辅助定位当前书名目录。
150
- - 番茄小说 → 优先读取 `story-review/references/rubrics/fanqie.md`;不可读时使用内置番茄 fallback 摘要。
151
- - 起点 → 优先读取 `story-review/references/rubrics/qidian.md`;不可读时使用内置起点 fallback 摘要。
152
- - 知乎盐言 → 优先读取 `story-review/references/rubrics/zhihu.md`;不可读时使用内置知乎 fallback 摘要。
153
- - 未识别平台 → 优先读取 `story-review/references/quality-rubric.md`;不可读时使用内置通用网文内容 rubric;技术备注行写 `generic` 与 `file | embedded`。
154
- 5. **形成审查基准包摘要**:把已加载的文件内容或内置 fallback 摘要压缩为 5-12 条审查标准,后续 solo 和子 Agent 都必须使用这份摘要。摘要必须保留一条句长标准:叙述默认是逗号长句,碎句和电报体与 AI 腔同级处理,不因「短」放行。
134
+ 3. **读取支撑材料**:solo 和分批审查时由你读正文、相关设定、角色档案、大纲、`追踪/上下文.md` 与伏笔文件;full/lean 只读定范围、定平台和分批开放项要用的文件,其余由 reviewer 按路径自己读。缺材料时在报告里标为证据不足。
135
+ 4. **识别篇幅与目标平台,加载 rubric**:
136
+ - 通用 rubric 每次都加载:读 `story-review/references/quality-rubric.md`,不可读时用内置通用网文内容 rubric。平台表叠加在通用 rubric 上,不替代它。
137
+ - 篇幅:书目录下有 `正文/` 或 `设定/` 子目录的是长篇,有 `正文.md` 或 `设定.md` 文件的是短篇(与 `/story` 路由同一口径)。
138
+ - 平台:用户这次指定的优先;其次长篇读 `设定/题材定位.md`、短篇读 `设定.md` 的「目标平台」。`.active-book` 只用来定位书目录,不当平台来源。
139
+ - 按下表叠加平台表,文件不可读时用内置平台 fallback 摘要:
140
+
141
+ | 篇幅 | 目标平台 | 叠加的平台表 |
142
+ |---|---|---|
143
+ | 长篇 | 起点 | `story-review/references/rubrics/qidian.md` |
144
+ | 长篇 | 番茄 | `story-review/references/rubrics/fanqie.md` |
145
+ | 长篇 | 晋江、其他、未定、没写 | 不叠加 |
146
+ | 短篇 | 知乎盐言(也写作盐选)、番茄、七猫、黑岩、红果、小程序、未定、没写 | `story-review/references/rubrics/zhihu.md` |
147
+
148
+ - 短篇另按 `设定.md`「平台基调」核对格式、引号和导语。
149
+ - 技术备注行的 Rubric 写叠加的平台表(`fanqie | qidian | zhihu`),不叠加写 `generic`;括号里文件可读写 `file`,用了内置摘要写 `embedded`。
150
+ 5. **形成审查基准包摘要**:把已加载的文件内容或内置 fallback 摘要压缩为 5-12 条审查标准,后续 solo 和子 Agent 都必须使用这份摘要。审查提示词要各保留一条剧情循环、高潮构建和关系进展的判断,审第 1-3 章时再加开头新鲜度。摘要必须保留一条句长标准:叙述默认是逗号长句,碎句和电报体与 AI 腔同级处理,不因「短」放行;本书文风另有约定时按文风。
155
151
  6. **确定性预检(只报告,不修改)**:当审查范围包含本地正文文件路径时,运行本 skill 自带脚本:
156
152
  ```bash
157
153
  node scripts/normalize-punctuation.js --check <正文文件...>
@@ -159,8 +155,7 @@ AI 味 / 禁用词 fallback 速查:
159
155
  node scripts/check-degeneration.js --check <正文文件...>
160
156
  ```
161
157
  - 将 `ellipsis`、`double-hyphen`、`markdown-divider` 结果作为 `format` findings 合并进报告。`em-dash` 破折号只采用 `check-ai-patterns.js` 的语义改写建议(见下条);`normalize-punctuation.js` 报的同一位置 `em-dash` 在合并时去重丢弃,避免同处出现「机械替换」与「按功能改写」两条相互冲突的 finding。另外人工检查标点节奏是否通篇句号化或随机堆砌,脚本不替代语气判断。
162
- - `check-ai-patterns.js` 的 findings 合并进 `prose`:severity=blocking 的类别一律按 S2(当前为 `not-is-comparison` / `em-dash` / `voice-contrast` / `negation-parade` / `reverse-not-is` / `trailer-ending` / `trailer-summary`),修法直接采用检测器输出的建议(删否定铺垫/反差腔/排比否定/章尾预告腔/章尾状态总结句,直接写后项或具体动作;破折号按功能改成动作/短句/逗号/冒号)。
163
- - 其余 prose findings(advisory)统一按 S3:只指出读感风险,不替代人工判断;功能性写法标 `[需复核]` 并保留。完整类别和修法见 `anti-ai-writing.md`。
158
+ - `check-ai-patterns.js` 的 blocking / advisory 都先作为 `prose` 候选,按 `style_resolution`、原文功能及三层方法逐条复核;确认造成具体阅读损失后,按下方严重度定义定级。功能性纠错、叙述与停顿保留,不把脚本级别直接换成必须修改的 finding。检测器改法仅作参考,不覆盖文风与事实边界。完整语义复核见 `expression.md`、`narrative-focus.md`、`story-logic.md`,只报告问题与建议,不落改。
164
159
  - `check-degeneration.js` 报告模型退化(逐字复读/截断/占位符/工程词泄漏),每条带 `severity: blocking|advisory`:blocking(复读/截断/tier1 工程词)作为 S1/S2 `prose` findings,修复建议是「重新生成该段,不是改写」;advisory(tier2 章节/歧义词)作为 S3。
165
160
  - 这三个预检脚本只读;`story-review` **不修改正文、设定或大纲文件**,需要自动修复正文时建议转 `/story-deslop`。full / lean 模式只有下方「追踪文件维护」允许修改 `追踪/`;分批审查的所有模式都可按 batch-review.md 写 **.story-review/state.md**,solo 除该状态外不写项目内容。
166
161
  - 默认 `--quote-mode keep`,不把知乎盐言短篇的 `「」` 当作问题;只有项目明确指定引号风格时才检查对应转换建议。
@@ -169,7 +164,7 @@ AI 味 / 禁用词 fallback 速查:
169
164
 
170
165
  ## 统一 Findings Schema(所有模式必须使用)
171
166
 
172
- 所有 reviewer(包括 solo)输出问题时必须使用统一结构,方便综合排序;它只在 reviewer 与综合裁决之间流转,给作者的报告按 Phase 4 或 solo 模板转写。`location` 必须使用工具读取结果显示的原始文件行号;不要删除空行后重新编号。
167
+ 所有 reviewer(包括 solo)先按统一结构整理问题,再按 Phase 4 或 solo 模板转写给作者;内部字段用于合并、排序,不原样贴进作者报告。`location` 必须使用工具读取结果显示的原始文件行号;不要删除空行后重新编号。
173
168
 
174
169
  对 `consistency` / `factual` / `causal` / `rule_boundary` 类 finding,`fix` 字段只写事实统一方向(例如“统一为左臂旧伤,并同步正文/设定中冲突处”或“需在 A/B 时间线中裁定一个来源”),不要写文学创作建议。
175
170
 
@@ -182,7 +177,7 @@ AI 味 / 禁用词 fallback 速查:
182
177
  fix: "可执行修改建议"
183
178
  ```
184
179
 
185
- 严重度定义(与长篇写作、检测器同一刻度:S1/S2=必须修,S3=建议看,S4=仅提示):
180
+ 严重度定义:S1–S4 的级别与长篇写作、检测器相同;审稿报告的小节标题按级别写,S1、S2 归「必须改」,S3 归「建议改」,S4 归「可以不改」:
186
181
  - **S1**:会破坏主线、角色动机、世界规则或读者信任,需优先修。
187
182
  - **S2**:明显影响章节效果、留存、节奏、人物可信度,本轮要修。
188
183
  - **S3**:局部质量问题,如措辞、轻微格式、局部节奏,可排期修。
@@ -210,7 +205,7 @@ AI 味 / 禁用词 fallback 速查:
210
205
 
211
206
  ## 追踪文件维护
212
207
 
213
- 长篇工程且 full/lean 审查收尾时读 [references/review-tracking.md](references/review-tracking.md)。
208
+ 有 `追踪/_tracking-state.json` 的长篇工程且实际模式是 full/lean 时,收尾读 [references/review-tracking.md](references/review-tracking.md) 修订追踪;solo 不改 `追踪/`,按 solo.md 第 5 步写进报告。
214
209
 
215
210
  ## 流程衔接
216
211
 
@@ -221,11 +216,3 @@ AI 味 / 禁用词 fallback 速查:
221
216
  |---|---|---|
222
217
  | 要修改查出的问题 | story-long-write / story-short-write | 返回对应写作 skill 修改 |
223
218
  | 发现 AI 味需清理 | story-deslop | `/story-deslop` |
224
- | 需要重新拆解对标书 | story-long-analyze / story-short-analyze | `/story-long-analyze` 或 `/story-short-analyze` |
225
-
226
- ---
227
-
228
- ## 语言
229
-
230
- - 跟随用户的语言回复,用户用什么语言就用什么语言回复。
231
- - 中文回复遵循《中文文案排版指北》。
@@ -2,9 +2,9 @@
2
2
 
3
3
  只有实际模式仍是 full/lean 时才读本文件。
4
4
 
5
- 使用当前运行时的 Agent 工具并行调用(Codex 原生子代理使用 `agent_type`,Claude Code 使用 `subagent_type`,OpenCode 使用 `subagent` 工具的 `agent` 参数,Antigravity 使用 `invoke_subagent` + 同名 `TypeName`;实际字段以当前 CLI 暴露的工具为准)。每个 Agent 不继承父对话上下文,prompt 必须自包含项目路径、审查范围、文件路径、必要摘录和统一 Findings Schema。审稿视角的三个 prompt 还要内联审查基准包摘要与 Rubric Source,不要求子 Agent 必须读 `story-review/references/*` 才能完成任务(如需补充只读本 Skill 的 references);consistency-checker 例外,它只核对事实,按自己的检查项审,不带审查基准包。所有 reviewer 只读:不改任何文件,只输出结果。
5
+ 使用当前运行时的 Agent 工具并行调用(Codex 原生子代理使用 `agent_type`,Claude Code 使用 `subagent_type`,OpenCode 使用 `subagent` 工具的 `agent` 参数,Antigravity 使用 `invoke_subagent` + 同名 `TypeName`;实际字段以当前 CLI 暴露的工具为准)。每个 Agent 不继承父对话上下文,prompt 必须自包含项目路径、审查范围、文件路径、必要摘录和统一 Findings Schema。结构、角色、文字三个视角的 prompt 还要内联审查基准包摘要与 Rubric Source,使子 Agent 能直接开审;prompt 不写本 Skill 的资料路径,各 reviewer 按自己模板里的读取表加载方法资料。consistency-checker 按自己的检查项核对事实,不带内容评分基准包。所有 reviewer 只读:不改任何文件,只输出结果。
6
6
 
7
- **调用规则**:执行 Phase 0 后,只有实际模式仍是 full/lean 时才 spawn。不要 spawn 缺失 Agent。
7
+ **追踪修订号**:长篇工程(有 `追踪/_tracking-state.json`)派 consistency-checker 前,先跑本 skill 的 `scripts/tracking_commit.py check --project {项目根}`,把输出的 `last_committed_chapter`、`state_revision` 填进它的 prompt;check 报错时这一栏写「check 失败,派生视图不可信:{报错首行}」,报告「没法判断的地方」用白话写明追踪记录和正文对不上、这次没据它核对。短篇不填。
8
8
 
9
9
  **story-explorer 预查询(可选)**。仅当 `Effective Mode` 仍为 `full`/`lean`、当前允许 spawn 且当前运行时的 Agent 工具可用时,才可在对应 canonical agent 目录下确认 `story-explorer` 已部署并 spawn;Antigravity 检查 `.agents/agents/story-explorer/agent.md`,用 `invoke_subagent` + `TypeName: "story-explorer"`。`solo` 或子代理递归保护场景下不得 spawn,只能直接读取/检索。Prompt 示例:
10
10
 
@@ -36,12 +36,12 @@
36
36
  4. 钩子和反转设计质量如何?
37
37
  5. 范围控制:有无角色/设定膨胀?
38
38
  6. 剧情循环是否存在且可重复?(参照审查基准包摘要里的剧情循环原则)
39
- 7. 高潮场景是否用了蓄能→假胜→崩解结构?(参照审查基准包摘要里的高潮构建原则)
39
+ 7. 高潮是否有蓄能、落差与兑现?(参照审查基准包摘要里的高潮构建原则;假胜→崩解只是强反转的一种写法,不是必选)
40
40
  8. 伏笔密度、连载期待和结构信息量是否合理?(伏笔密度通常只作为 S4 结构风险,除非已造成理解混乱)
41
- 9. 按平台 rubric 或通用内容 rubric 逐项对照,标记 PASS/FAIL。
41
+ 9. 按通用 rubric 和叠加的平台表逐项对照,标记 PASS/FAIL。
42
42
  10. 继承的开放项里,本批本该兑现的钩子/伏笔是否落空?
43
- 11. 开头同质化(仅当本章是全书开篇/前 3 章):开局切口是不是同题材的默认套路(穿越即退婚、系统绑定、末世第一天、开场即打脸等),能不能原样换到任意同类书?"有钩子/非天气开场"不等于不同质。对照 `story-review/references/plot-core-methods.md`「噱头分类与开篇流程」判断——能整体换到同类书=同质化(撞题材模板至少 S2;套路化但有具体人物/处境微差 S3)。
44
- 12. 结尾总结:章尾是总结/升华/复述式收尾("就这样……""他终于明白……""这一夜注定……"),还是落在动作/画面/悬念上?检测器已判 blocking 的(`trailer-summary`)按上面「blocking 一律 S2」处理,不重复定级;检测器没覆盖的总结/升华/复述式收尾按影响定 S2/S3(改写走 /story-deslop:章尾预告与章尾状态总结归 Gate F,其余 blocking 并入 Gate B;本 skill 只标问题不改写)。
43
+ 11. 开头同质化(仅当本章是全书开篇/前 3 章):开局切口是不是同题材的默认套路(穿越即退婚、系统绑定、末世第一天、开场即打脸等),能不能原样换到任意同类书?"有钩子/非天气开场"不等于不同质。按审查基准包摘要里的开头新鲜度判断——能整体换到同类书=同质化(撞题材模板至少 S2;套路化但有具体人物/处境微差 S3)。
44
+ 12. 结尾总结:章尾的总结、升华或复述是否重复已有信息、削弱收束?先按本书叙述方式和原文功能复核,检测器命中也不自动判错;确认问题后按实际影响定级,与其他 reviewer 同处 findings 去重。
45
45
 
46
46
  输出格式:
47
47
  VERDICT: APPROVE / CONCERNS / REJECT
@@ -70,9 +70,9 @@
70
70
  3. 人物弧线是否连贯?
71
71
  4. 角色行为是否符合其动机?
72
72
  5. 对话是否有潜台词和信息控制?
73
- 6. 爱情线好感度与 CP 行为是否匹配?(参照审查基准包摘要或本 Skill 的角色关系参考)
73
+ 6. 爱情线好感度与 CP 行为是否匹配?(参照审查基准包摘要里的关系进展原则)
74
74
  7. 好感度进度是否可感知?
75
- 8. 对话三症状(可选读 `story-review/references/dialogue-mastery.md` 自查项):① 机械对话/问答式/句间无情绪承接;② 角色当「科普嘴」整段讲设定原理(Gate G 同样管台词);③ 说话不分场合(高压/生死 beat 的玩笑、口头梗、插科打诨出戏)。命中按 S2/S3 报具体引用+改法。
75
+ 8. 检查三类对话问题:① 机械对话/问答式/句间无情绪承接;② 角色当「科普嘴」整段讲设定原理(空转解释同样管台词);③ 说话不分场合(高压或生死场面里的玩笑、口头梗、插科打诨出戏)。命中按 S2/S3 报具体引用+改法。
76
76
 
77
77
  输出格式:
78
78
  VERDICT: APPROVE / CONCERNS / REJECT
@@ -82,7 +82,7 @@
82
82
 
83
83
  **Agent 3: narrative-writer**(subagent_type: narrative-writer)
84
84
  - full 模式调用。
85
- - 审查视角:AI味检测(含解释腔/上帝感/安排感=模式 8)、情绪烈度(够不够爽/会不会太保守)、格式合规、节奏均匀度、文字自然度。
85
+ - 审查视角:三层去味诊断(表达、用笔、故事因果与变化)、情绪烈度(够不够爽/会不会太保守)、格式合规、节奏均匀度、文字自然度。
86
86
  - 提示指令:
87
87
  ```
88
88
  你是 narrative-writer,从文字质量层面审查以下内容。
@@ -94,22 +94,22 @@
94
94
  style_resolution:{本次生效要求及来源、被覆盖的默认条款、事实边界;文字风格判断共用}
95
95
  审查基准包摘要:{Phase 1 形成的 rubric / fallback 摘要,必须内联}
96
96
  Rubric Source: file | embedded fallback
97
- 去味判据:按你读取表的 anti-ai-writing、banned-words、deslop-gates 审(审查任务照表读),这里不摘抄
97
+ 去味判据:按你模板里的读取表完整读 expression、narrative-focus、story-logic 及 banned-words、deslop-gates,三层都审;方法里的改写动作仅用作建议,不落改
98
98
  检查项:
99
- 1. 是否存在禁用词/套话/陈词滥调,或“像/好像/仿佛/如同”式比喻成片堆叠?
100
- 2. 是否出现 AI 写作指纹、10 种 AI 写作模式(含模式 8 解释腔/上帝视角/安排感)或章末总结体?
99
+ 1. 词句信号(套话、陈词滥调、“像/好像/仿佛/如同”式比喻成片堆叠)是否造成阅读损失?命中词本身不算错。
100
+ 2. 表达是否机械、视角是否越过本书信息边界,章末是否只剩重复总结?
101
101
  3. 格式是否合规(按戏剧单元/镜头自然断段、无机械字数切分、无空行、对话独立成行、主语节奏自然)?
102
102
  4. 标点节奏是否匹配语气/人物声线:是否通篇句号化、随机堆砌问号/感叹号,或残留 `……`/`——` 硬造停顿?本书已明确授权且有功能的停顿不因符号本身判错。
103
103
  5. 是否出现“这五个字 / 短短四字 / 三个字一落 / 八个字砸下去”等正文内具体字数表达?若统计口径不明、未见机器核对结果或无叙事必要,标为问题并建议改成非具体数字表达。
104
104
  6. 节奏是否均匀(有无连续多节无情绪变化)?
105
105
  7. 是否存在删掉无损的任务卡点或流程细节?若只是水/局部节奏问题标 S3;明显拖垮主线推进标 S2。
106
106
  8. 身体细节是否重复、无功能?按本书文风和叙事作用判断,不设单词次数硬线。
107
- 9. AI味分级(轻度/中度/重度)及证据。
108
- 10. 去 AI 补充复核:是否有作者解释总结/意义尾巴;是否连续堆精致戏剧反应短语;是否把已有手机/屏幕/公告/规则/证据载体改成叙述者解释;是否把任务卡点当成自然感或凑字数手段;是否机械删除了有功能的生活化/角色化比喻或短篇主观审判句。
107
+ 9. 分别报告表达、用笔、故事层的问题与证据,不用表层轻重决定是否查后两层。
108
+ 10. 关键决定或交锋是否被概括、次要流程是否占满篇幅?人物为何这样行动、解决为何成立、经过之后改变了什么?安静场景按自身功能判断,不能为去味强加冲突。
109
109
 
110
110
  输出格式:
111
111
  VERDICT: APPROVE / CONCERNS / REJECT
112
- FINDINGS: 必须使用统一 Findings Schema,severity 必须是 S1/S2/S3/S4;AI味级别写入 issue 或 category。
112
+ FINDINGS: 使用统一 Findings Schema,severity 为 S1/S2/S3/S4;具体层次与问题写入 issue,category 使用 prose。
113
113
  RECOMMENDATIONS: [修改建议]
114
114
  ```
115
115
 
@@ -123,6 +123,8 @@
123
123
  项目路径:{项目根}
124
124
  审查范围:{文件路径/章节/必要摘录}
125
125
  已知角色:{从设定文件提取角色列表}
126
+ last_committed_chapter:{check 输出;短篇写「无追踪」}
127
+ state_revision:{check 输出;check 失败写「check 失败,派生视图不可信:{报错首行}」}
126
128
  继承的开放项(分批审查必填,无则写「无」):{从 追踪/伏笔.md 提取的、预计回收章 ≤ 本批末章的已埋未回收伏笔,连同上一批未解决 findings 摘要}
127
129
  检查项:
128
130
  1. 角色属性是否前后一致?
@@ -135,7 +137,7 @@
135
137
  输出格式:
136
138
  VERDICT: APPROVE / CONCERNS / REJECT
137
139
  FINDINGS: 必须使用统一 Findings Schema,severity 必须是 S1/S2/S3/S4;category 只能使用 consistency / factual / format / causal / rule_boundary。
138
- INHERITED_ITEMS: 逐条列继承的开放项 + 已检查 / 未能检查;本批新发现、不在 伏笔.md 的开放钩子单列,供主会话回写 追踪/伏笔.md。
140
+ INHERITED_ITEMS: 逐条列继承的开放项 + 已检查 / 未能检查;本批新发现、不在 伏笔.md 的开放钩子单列,供主会话按追踪修订事务处理。
139
141
  FACTUAL_RECONCILIATION: [仅列需统一的事实来源或需人工裁决项,不写文学创作建议]
140
142
  REASONING_CHAINS: [仅列推理型 finding 的前提/规则 -> 触发事件 -> 矛盾点 -> 需裁决问题]
141
143
  ```
@@ -144,7 +146,7 @@
144
146
 
145
147
  1. 收集实际执行的 reviewer VERDICT 和 FINDINGS。
146
148
  2. 合并去重:按 `severity` 排序(S1 > S2 > S3 > S4),同级内按影响范围排序。
147
- 3. **可选事实核查**:如果审查内容涉及需要验证的外部事实(历史年代、地理方位、职业细节等),只有在 `Effective Mode` 仍为 `full`/`lean`、当前不是子 Agent、当前运行时的 Agent 工具可用且对应 canonical agent 目录下的 `story-researcher` 已部署时,才可额外 spawn;Antigravity 检查 `.agents/agents/story-researcher/agent.md`,用 `invoke_subagent` + `TypeName: "story-researcher"`。`solo`、missing/malformed/stale/spawn failed 降级或子代理递归保护场景下不得 spawn,只能在报告中标记“需人工事实核查”。
149
+ 3. **可选事实核查**:如果审查内容涉及需要验证的外部事实(历史年代、地理方位、职业细节等),只有在 `Effective Mode` 仍为 `full`/`lean`、当前不是子 Agent、当前运行时的 Agent 工具可用且对应 canonical agent 目录下的 `story-researcher` 已部署时,才可额外 spawn;Antigravity 检查 `.agents/agents/story-researcher/agent.md`,用 `invoke_subagent` + `TypeName: "story-researcher"`。`solo`、missing/malformed/spawn failed 降级或子代理递归保护场景下不得 spawn,只能在报告中标记“需人工事实核查”。
148
150
  4. **分歧呈现**:如果 reviewer 间有冲突意见,明确呈现分歧让用户裁决;不要自动妥协。
149
151
  5. 按 SKILL.md「报告面向作者」输出综合审查报告:开头说明审查方式与范围,证据不足项写成作者能补的材料,执行路径只进技术备注行。
150
152
 
@@ -155,7 +157,7 @@
155
157
  <!-- author-report -->
156
158
  ```md
157
159
  === 《{书名}》{审查范围}审查 ===
158
- 这次怎么审的:{结构、人物、文字、设定一致性四个视角分头看 | 精简审:结构和设定一致性两个视角},按{番茄 | 起点 | 知乎盐言 | 通用网文}的标准。
160
+ 这次怎么审的:{结构、人物、文字、设定一致性四个视角分头看 | 精简审:结构和设定一致性两个视角},按通用网文标准{,加上番茄长篇 | 起点长篇 | 短篇平台的要求}。
159
161
 
160
162
  总体判断:{可以发 | 改完下面几处再发 | 这一章需要重写}——{一句话理由,用读者感受说}
161
163
 
@@ -1,151 +1,61 @@
1
- # AI味禁用词与句式表
2
-
3
- > 表达默认值服从 [style-resolution.md](style-resolution.md);文件结构与事实约束不豁免。
4
-
5
- <!-- 同名副本×6 字节同步,改动后跑 scripts/check-shared-files.sh -->
6
-
7
- ## 默认优先检查的句式(先对照本书文风)
8
-
9
- 写网文最毒的 AI 句式,作者一旦养成就会反复出现。以下是优先检查的句式:
10
-
11
- | 毒级 | 句式 | 错误例 | 修法 |
12
- |------|------|--------|------|
13
- | ★★★★★ | "不是A,(而)是B" / "不是A,不是B,(而)是C"("而"可省略,省掉也算命中)| "他不是冷漠,而是绝望" | 直接写 B 或用更自然的表达 |
14
- | ★★★☆☆ | 跨段「不是A。/也不是B。/只是C。」 | 「不是嚎啕大哭。/也不是扯着嗓子喊不舍。/只是一个人走远了……」 | 语义复核;重复提纲或拖慢画面时压成 C,有辩解/悬念排除功能可保留 |
15
- | ★★★★ | ",带着……" 万能状语 | "他笑了一下,带着一丝不易察觉的嘲讽" | 删掉状语留主句,或换具体动作 |
16
- | ★★★★ | 无情绪声线:"声音不大,却带着……" / "语气毫无波澜" / "平静无波" / "声音平直/平平/听不出情绪" | "她声音不大,却带着不容置疑的力量" | 直接写台词内容、声音特征或动作 |
17
- | ★★★★ | "他/她知道……" | "他知道这一切都来不及了" | 用行为展示认知 |
18
- | ★★★ | "仿佛/犹如/宛若……一般" | "仿佛能穿透一切一般" | 删掉或白描 |
19
- | ★★★ | "眼中闪过一丝……" / "嘴角勾起一抹……" | "眼中闪过一丝悲伤" | 删掉;写他当场说的话或做出的决定 |
20
- | ★★★ | "心中涌起一股……" / "心头一震" | "心中涌起一股暖流" | 写它改变了什么:选择、台词、物件或后果 |
21
- | ★★★ | 抽象命运/开端收束:"命运……棋局/獠牙" / "这一刻终于明白" / "反击才刚刚开始" | "命运终于露出獠牙;属于他的反击才刚刚开始" | 回到角色当下可见的文件、动作、对话或物理后果 |
22
- | ★★ | 章末预告 "他不知道的是……" | "他不知道的是,更大的风暴即将来临" | 用具体钩子物件/事件收束,避免空泛预告 |
23
-
24
- > ★★★★★ 命中一处就要改;轻/中/重分档只按去 AI 味诊断的密度指标定。
25
-
26
- `check-ai-patterns.js` 的 `formulaic-parallelism` 还会提示「至于X不X,怎么X」和同动词「不V A,不V B」。这两类可能是功能性口语,因此只做 advisory;Gate B 必须连同台词读语境复核,若只是复述细纲/前文就压成一次判断,不能因 hook 豁免台词而跳过。
27
-
28
- **标点**:正文(含叙述和对话)禁用破折号 `——`/`—`、双连字符 `--` 和省略号停顿,改用句号、逗号、短句或动作断句;不设置对话破折号例外。盐言「」引号不在此列。
29
-
30
- ---
31
-
32
- ## 一级禁用词(出现即替换)
33
-
34
- > 什么词进一级:只收真人语料里几乎不出现、AI 特有的词。真人高频使用的自然副词和虚词不进一级,走二级密度控制。
35
-
36
- ### 情态类
37
- 仿佛、犹如、宛若、如同、一丝、一抹、些许、几分、隐约、毫无征兆、几不可闻、微不可察
38
-
39
- ### 动作类
40
- 深吸一口气、不禁
41
-
42
- ### 表情类
43
- 眼中闪过、嘴角勾起、眉头微皱、眉眼低垂、瞳孔微缩、瞳孔收缩、瞳孔一缩、指节泛白、眼神锐利、目光锐利
44
-
45
- ### 心理类
46
- 心中一动、心头一震、心下了然、心中暗道、心底泛起、不由得、心中一凛
47
-
48
- ### 判断类
49
- 不容置疑、不容置喙、不易察觉、显而易见、毫无疑问、不可否认、前所未有
50
-
51
- ### 形容类
52
- 坚定、闪烁着光芒、狡黠、深邃、凛冽、冰冷
53
-
54
- ### 过渡类
55
- 不由自主、情不自禁、自然而然、话锋一转
56
-
57
- ## 二级禁用词(高频出现时替换)
58
-
59
- ### 语境敏感词(仅高频或偷懒时处理)
60
- 突然、陡然、骤然、猛然、好像、似乎、瞬间、猛地、死死地(角色口语、真实突发、时间压缩、视角不确定时可保留;用同义变体轮换规避重复不算豁免,按同一个词计密度)
61
-
62
- ### 弱化副词(密度控制)
63
- 缓缓、微微、轻轻、淡淡(每千字合计 ≤3;这四个词同时计入 `cliche-density-tic` 的套词密度统计;孤立自然使用可保留,成串出现或每个动作都垫一个时才替换)
64
-
65
- ### 书面腔 → 口语化
66
-
67
- | 书面腔 | 口语化替换 |
68
- |--------|-----------|
69
- | 瓦解 | 消失 / 散了 / 没了 |
70
- | 无名火 | 烦躁 |
71
- | 往我心上捅刀子 | 心烦意乱 |
72
-
73
- ### 总结句式
74
- - "他/她终于明白..."
75
- - "他/她这才意识到..."
76
- - "这一刻,他/她终于明白/意识到..."
77
- - "从这一刻开始..."
78
- - "属于X的反击/复仇/故事,才刚刚开始"
79
- - "命运/宿命 + 齿轮/棋局/獠牙/改写/安排"
80
- - "此刻,他/她..."
81
- - "一切...都..."
82
- - "原来..."
83
-
84
- ### 排比句式
85
- - 连续3句以上相同结构的排比
86
- - "有的...有的...有的..."
87
- - "一边...一边...一边..."
88
-
89
- ### 升华句式
90
- - "这一刻..."
91
- - "他知道..."
92
- - "她明白..."
93
- - "这就是..."
94
-
95
- ## 禁用句式模板
96
-
97
- | 句式 | 示例 | 问题 |
98
- |------|------|------|
99
- | "不是A,而是B" | "他不是冷漠,而是绝望" | 最毒;直接写 B |
100
- | "...,带着..." | "他说,带着一丝无奈" | 万能状语 |
101
- | "声音不大,却带着……" | "她声音不大,却带着不容置疑的力量" | AI 最爱声音描写 |
102
- | "仿佛能...一般" | "仿佛能穿透一切一般" | 文言腔 |
103
- | 对话标签密度过高/公式化标签 | "好的,他说道" | 普通"说"可保留;高频或公式化时处理 |
104
- | "他/她感到..." | "她感到一丝失落" | 告诉而非展示 |
105
- | "他/她意识到..." | "他意识到事情不对" | 直接告知 |
106
- | "眼中闪过一丝XX" | "眼中闪过一丝悲伤" | 模板化 |
107
- | "嘴角勾起一抹XX" | "嘴角勾起一抹冷笑" | 模板化 |
108
- | "心中涌起一股XX" | "心中涌起一股暖流" | 模板化 |
109
- | "取而代之的是" | "笑容消失,取而代之的是冰冷" | AI 过渡模板;直接写新状态 |
110
- | "淬了/淬着X" | "眼里淬了毒" | AI 通感套路;写动作或台词 |
111
- | "显得(有些)X" | "他显得有些兴奋" | 告诉而非展示 |
112
- | "心底/心里某个地方+软" | "心里某个地方软得一塌糊涂" | 言情套句;写动作 |
113
- | "(浑身)散发着一股X气息/气场" | "浑身散发着一股生人勿近的气息" | 万能气场描写;写旁人的反应 |
114
- | "命运/宿命 + 齿轮/棋局/獠牙/改写/安排" | "命运终于露出獠牙" / "早已布好的棋局" | 抽象作者总结;改成角色当下撞见的文件、动作、对话、物理后果 |
115
- | "这一刻终于明白/从这一刻开始/才刚刚开始" | "这一刻,他终于明白" / "反击才刚刚开始" | AI 收束腔;删总结,用动作或未解决问题收尾 |
116
-
117
- ## 比喻分类(默认复核,不默认全删)
118
-
119
- 带"像/如/仿佛/犹如/宛若"的比喻不是一律 AI。真正高风险的是:成片堆叠、套用万能文学比喻、用精致比喻替代剧情推进,或在段尾替读者总结意义。本表用于识别需要复核的比喻类型:
120
-
121
- | 比喻类别 | 例 | 处理 |
122
- |---------|----|------|
123
- | 生活/角色化 | "像一头被抛弃的野狗" | 若贴角色视角、能传递信息或情绪,可保留 |
124
- | 物品/现象类 | "像一把刀" "脸色惨白得像这漫天的雪" | 普通功能性比喻可留;模板化或重复时改白描 |
125
- | 状态类(陈词滥调) | "梨花带雨" "如沐春风" | 优先删或改成具体动作/表情 |
126
- | 抽象类 | "像命运的齿轮" "像上辈子的尘埃" | 高风险,优先落回动作、物件、声音、后果 |
127
- | 假设类 | "力道大得像是要把骨头捏碎" | 若是角色身体感知可留;夸张堆叠时改事实后果 |
128
-
129
- 处理原则:先看功能,再看密度。保留最能传递信息或情绪的一两个,其余改为直接描述、动词、名词、作用、结果或事实;不要把删掉的比喻替换成另一批新比喻。例 "脸色惨白得像这漫天的雪" 若只是套话 → "脸色惨白";若雪景正在压迫角色,可保留或改成角色当下看到的具体画面。
130
-
131
- > `metaphor-density-tic` 是 advisory:提示通读复核,不是 blocking;生活化、角色化、单个有功能的比喻可以保留。
132
-
133
- ## 替换策略速查
134
-
135
- | 原文类型 | 替换方法 | 示例 |
136
- |----------|----------|------|
137
- | 抽象情绪词 | 先看上下文是否已成立;再选选择、台词、物件、后果或一句直写 | “紧张”若不影响下一步可直写或删;若导致签名作废,就写作废的结果 |
138
- | "感到XX" | 删除“感到”后按场景决定是否还要情绪句 | “他感到愤怒”可写“他火了”,也可直接写他撤回报价;不要默认换成攥拳 |
139
- | 形容词堆砌 | 白描手法 | "美丽动人的笑容" → "她笑了" |
140
- | 书面表达 | 口语化 | "不容置疑" → "就是" |
141
- | 解释性描写 | 留白 | "他因为害怕而..." → "他退后一步" |
142
- | 连续排比 | 保留最强一条 | 3 句排比留 1 句 |
143
- | 总结升华句 | 直接删除 | "这一刻,她终于明白了..." → 删 |
144
- | "不是A,而是B" | 直接写 B 或更自然的表达 | "他不是冷漠,而是绝望" → 直接写 B |
145
- | 多余修饰(形容词/定语/量词/指示代词) | 删 | "白色的药片" → "药片";"手里那截链子" → "链子";"飞驰的汽车" → "车" |
146
-
147
- **替换不复用**:右列是方向示例,不是标准答案。同一禁用词在一章内多次命中时,各处给不同的具体化写法;同一个替换写法反复出现(每次都「垂下眼」、每个动作都补「了一下」),替换产物本身就成为新的模板指纹。
148
-
149
- **套词密度优先处理**:`check-ai-patterns.js` 报 `cliche-density-tic` 时,说明禁用词不是零星误用,而是聚成了模板腔。处理顺序不是同义词替换,而是先删抽象总结,再把情绪/判断落到角色当下可见的动作、物件、对话和具体后果。
150
-
151
- **套式反应逐处删除测试**:`stock-reaction-tic` 报警时,不代表禁止身体描写。逐处问:删掉后信息、选择、关系、物件或动作结果是否受损?无损就删,不把“指尖轻叩”换成“目光微沉”。伤势、动作失败、人物习惯或情节后果明确时可以保留。
1
+ # AI 味词句信号索引
2
+
3
+ > 这里列的是需回到上下文判断的信号,不是出现即错的禁词。表达服从 [style-resolution.md](style-resolution.md);不据词频判断作者身份,不以清零为目标。具体修法由调用方加载的方法文件承担。
4
+
5
+ ## 句式与组织信号
6
+
7
+ | 信号 | 可检索形式 | 需确认的语义问题 |
8
+ |---|---|---|
9
+ | 否定翻转 | 不是 A,(而)是 B;不是 A,不是 B,(而)是 C/只是 C;没有 X,没有 Y,只有 Z | 是否先否定无人在意的靶子,再宣布结论?纠错、辩解和排除猜测也可能需要对比 |
10
+ | 工整并列 | 跨段“不是/也不是/只是”;有的……有的……;一边……一边……;至于 X 不 X,怎么 X;不 V A,不 V B | 是否重复同一意思或照抄提纲字段?排比也可承担递进与人物声线 |
11
+ | 万能状语、声线 | ,带着……/带着一丝……;声音不大,却带着……;语气毫无波澜;平静无波;声音平直/平平/听不出情绪;平静得像在念…… | 是否只贴抽象态度,没有可辨的说话内容或声音信息? |
12
+ | 引号强调 | “机会”“答案”“蜕变”等普通词反复加引号 | 是否虚造术语或替读者划重点?引用、代号、场内消息与反讽另判 |
13
+ | 解释结论链 | 这意味着;真正重要的是;之所以……是因为;正是因为;由此可见;他/她终于明白;他/她这才意识到;此刻,他/她……;这是最好的选择;所有人都会记住这一刻 | 是否重复读者已得到的意思,或把必要过程概括掉? |
14
+ | 意义膨胀、万能结论 | 意义深远;可谓;未来可期;前途无量;充满希望;一切……都……;这就是…… | 是否只扩大分量、宣布前景,没有具体影响或下一步? |
15
+ | 抽象收束、预告 | 命运/宿命/注定+齿轮/棋局/獠牙/改写/安排;这一刻终于明白;从这一刻开始;属于 X 的反击/复仇/故事才刚刚开始;他/她不知道的是;殊不知;多年以后;冥冥之中;仿佛预示着 | 是否只宣告分量,或越过本次揭露边界?回顾、全知与题材承诺按文风判断 |
16
+ | 隐性盖章、点破潜台词 | 关切得恰到好处;笑得恰如其分;不多不少;那点笑她看得分明;谁都看得出他在撒谎;演得真好;这出戏她看过一遍;他就是这样薄情的人;像在宣判一件早已定好的事;像看一件死物 | 是否替读者把伪装、潜台词或人物性质提前判定?区分角色带偏见的认识与叙述者断言 |
17
+ | 告知与气场模板 | 他/她知道……;他/她感到……;他/她意识到……;显得(有些)X;淬了/淬着 X;心底/心里某个地方+软;(浑身)散发着一股 X 气息/气场 | 是否只贴感受与人物标签?准确直写、有来源的认知和角色特有感受可留 |
18
+ | 电报体、动作清单 | 连续孤立短句;抬手、取过、放下、转身;动作后反复“了下/了一下” | 是否丢失动作方向、对象和连接,或把无关步骤全部拍出? |
19
+ | 论述腔、公文腔 | 不难看出、事实上、综上所述、于是乎、与此同时、因而、然而、此刻、机制、结构、逻辑、体系、基于、当前、进一步、深入、推进、落实、从而、诚然、不得、须、未、已然 | 是否与人物、年代和载体语域不合,或每段都先总结再解释?公告、规则和职业表达可有意采用 |
20
+
21
+ ## 套词与套式反应信号
22
+
23
+ 以下组合在跨场景机械复现、成片堆叠或只替情绪贴标签时优先复核;孤立出现不判错。
24
+
25
+ | 类别 | 检索词例 |
26
+ |---|---|
27
+ | 弱化与装饰 | 微微、淡淡、缓缓、轻轻、一丝、一抹、些许、几分、隐约、微不可察、几不可闻、毫无征兆 |
28
+ | 通用反应 | 深吸一口气、不禁、眼中闪过、嘴角勾起、嘴角微扬、脸色一变、眉头微皱、眉眼低垂、瞳孔微缩、瞳孔收缩、瞳孔一缩、指节泛白、指尖轻叩、攥紧袖口、袖口里攥紧、目光移开、眼神锐利、目光锐利、目光如炬、头皮发紧、眼皮一跳、心口一沉、胃里翻涌 |
29
+ | 通用心理 | 心头一震、心中一动、心下了然、心中暗道、心底泛起、心中一凛、不由得、心中涌起一股暖流、心中涌起一股难以名状的情感、心里某个地方软得一塌糊涂 |
30
+ | 空泛定性 | 不容置疑、不容置喙、不易察觉、显而易见、毫无疑问、不可否认、前所未有、坚定、闪烁着光芒、狡黠、深邃、凛冽、冰冷、散发着一股生人勿近的气息 |
31
+ | 模板比喻 | 仿佛/犹如/宛若……一般;仿佛、犹如、宛若、宛如、如同、如潮水般、像潮水般、如闪电般、仿佛春风、犹如疾风骤雨、仿佛能穿透一切一般、像命运的齿轮、像上辈子的尘埃、像在宣判、眼里淬了毒、梨花带雨、如沐春风 |
32
+ | 自动过渡与书面表达 | 映入眼帘、只见、此时此刻、不由自主、情不自禁、自然而然、话锋一转、取而代之的是、瓦解、无名火、往我心上捅刀子 |
33
+ | 语境敏感词 | 突然、陡然、骤然、猛然、瞬间、猛地、死死地、好像、似乎;沉声道、淡淡地说;扯了下、停了一下、拍了两下、松了半圈 |
34
+
35
+ “她感到”“意识到”“知道”“原来”可以准确表达感受、判断和发现;“仿佛/好像/似乎”可以限定视角置信度;“坚定/冰冷/深邃”可以是准确描述。“突然/瞬间/猛地”也可能承担真实突发或时间压缩。只凭这些词不能认定告知式心理、模板比喻或偷懒。
36
+
37
+ ## 复合样本
38
+
39
+ 例句展示组合风险,不是合格与不合格的标准答案;判断及改法仍按三层方法,不能照例句新增动作、改变人物态度或一律拆短。
40
+
41
+ | 观察对象 | 例句或模板 | 回到语境核对 |
42
+ |---|---|---|
43
+ | 否定、状语与声线 | “他不是冷漠,而是绝望”“他笑了一下,带着一丝不易察觉的嘲讽”“他说,带着一丝无奈”“她声音不大,却带着不容置疑的力量”“好的,他说道” | 对比是否有纠错对象,状语与标签是否机械复现;普通“说”不用替换成动作 |
44
+ | 跨段铺排与预告 | “不是嚎啕大哭。/也不是扯着嗓子喊不舍。/只是一个人走远了……”“他不知道的是,更大的风暴即将来临”“命运终于露出獠牙;属于他的反击才刚刚开始”“早已布好的棋局” | 是否反复铺垫同一意思、空泛宣告或越过揭露边界;排除猜测与题材承诺另判 |
45
+ | 告知、反应与过渡 | “他知道这一切都来不及了”“她感到一丝失落”“他感到愤怒”“他意识到事情不对”“眼中闪过一丝悲伤”“嘴角勾起一抹冷笑”“他显得有些兴奋”“浑身散发着一股生人勿近的气息”“笑容消失,取而代之的是冰冷” | 判断是否需要直写,反应与新状态是否已经由上下文表达 |
46
+ | 反复呈现同一瞬间 | “林父低着头,左手把文书压住,右手拿笔,往纸上落。”/“手从肘到腕都在抖。”/“笔尖在纸上停了停,写了一横,又停。那个"林"字的撇写歪了。” | 多段是否反复重拍同一动作;手抖、落笔失败也可能是必要体验,不能只留动作梗概 |
47
+ | 场景氛围 | “阳光透过窗帘的缝隙洒进来,在地板上投下斑驳的光影。空气中弥漫着淡淡的花香,仿佛整个世界都沉浸在一片宁静祥和的氛围中。” | 景物是否与此刻行动、视角或情绪有关,还是可移到任意场景 |
48
+ | 天气套写 | “天空阴沉沉的,乌云密布,仿佛随时都会下起倾盆大雨。凛冽的寒风呼啸而过,带着一丝刺骨的寒意。” | 是否叠加同一寒冷、阴沉信息;天气也可能改变行动条件 |
49
+ | 打斗套写 | “他的拳头犹如疾风骤雨般猛烈,每一击都蕴含着不容置疑的力量。对手的瞳孔微微收缩,显然没有预料到如此凌厉的攻势。” | 力量与反应是否只被定性,攻防过程、失误与后果是否缺失 |
50
+ | 哲理、翻页与感慨收尾 | “他站在窗前,望着远方的天际线,终于明白了生活的真谛:有时候,放手才是最好的选择。”“这一刻,一切都变了。她知道,从今以后,她的人生将翻开崭新的一页。”“这一夜,注定无人入眠”“人生就是这样……”“岁月如流水般悄然流逝……” | 是否重复总结,或确实呈现本书允许的新认识、时间变化与余韵 |
51
+ | 修饰、排比与意义尾巴 | “他看着她的眼睛,看着她的嘴唇,看着她微微颤动的睫毛,心中涌起一股难以名状的情感。”“当他终于推开那扇沉重的木门时,映入眼帘的是一间昏暗的房间,空气中弥漫着陈旧的气息,墙角堆满了落满灰尘的箱子。”“她喜欢春天的花朵,喜欢夏天的阳光,喜欢秋天的落叶,喜欢冬天的白雪。每一个季节都有它独特的美。” | 信息是否重复,末句是否替读者点题;不要因长句、修饰或排比形式本身删掉有效感受 |
52
+ | 温和请求、完整解释与笼统反应 | “我觉得你这样做不太合适,能不能考虑一下我的感受?”“其实我这样做是有原因的,因为当时的情况非常复杂……”“所有人都震惊了,不敢相信自己的耳朵。”“她很害怕,不知道该怎么办,只能等着事情过去。” | 是否所有人都用同一套说法,关键交锋或选择是否被概括;不能把请求改辱骂、解释改挑衅,或凭空补锁门、录音与群体动作 |
53
+ | 比喻的功能边界 | “像一头被抛弃的野狗”“像一把刀”“脸色惨白得像这漫天的雪”“力道大得像是要把骨头捏碎” | 生活化、物品、环境与身体感知比喻均可能有效;看是否传递角色特有信息,不按类别全删 |
54
+ | 二修伪自然 | “手里拿着刀,他冲了上去”;连续“伸手拿起、取过、挑开、放下、转身”;强加口误、脏话、每句换行或对话占比 | 一次伴随动作前置不等于油腻;检查是否机械套用另一种句法、流程或格式 |
55
+ | 替换的误改风险 | “美丽动人的笑容”“白色的药片”“手里那截链子”“飞驰的汽车”“他因为害怕而……”;垂下眼、目光微沉、攥拳 | 修饰、指示与原因可能承担区分、承接或动作条件;不能仅为去词删成信息残缺,也不能把每个情绪词换成同一微动作 |
56
+
57
+ ## 使用边界
58
+
59
+ 脚本提示只供定位,不能替代语义结论。是否构成问题、如何修复及获准保留,由本次方法与文风裁决确定。
60
+
61
+ 标点、句长、段落疏密和对话占比均不在此设置统一指标。不通过同义词轮换、错误用字、英文点省略号或机械补动作规避提示。
@@ -1,17 +1,17 @@
1
1
  # story-review:多章分批审查
2
2
 
3
- 多章/整卷/整本审查要拆成两批及以上时读本文件;单章或少量章节一次审完不读。full、lean、solo 都适用。
3
+ 多章、整卷或整本审查需拆成两批及以上时读本文件,full、lean、solo 均适用;一次审完则不读。
4
4
 
5
5
  ## 跨批审查落盘契约
6
6
 
7
7
  分批时维护 **{项目根}/.story-review/state.md**:
8
8
 
9
- 1. 首批确定本次完整审查范围和批次顺序。每批综合裁决后,用同目录临时文件 + rename 原子重写 state.md,不能只把结果留在对话里。
10
- 2. state.md 只记录完整审查范围、已完成范围、下一批,以及“上一批未解决 findings 摘要”。摘要项保留 location、issue 和预计核查/兑现范围。
9
+ 1. 首批确定本次完整审查范围和批次顺序。每批核对完后,用同目录临时文件 + rename 原子重写 state.md,不能只把结果留在对话里。
10
+ 2. state.md 只记录完整审查范围、已完成范围、下一批,以及“上一批未解决 findings 摘要”。每条摘要保留 location、issue 及预计核查或兑现的章节范围。
11
11
  3. 下一批开始前先读取 state.md,把未解决摘要注入 reviewer prompt;已解决或用户明确不处理的项不再继承,但须在本批输出中说明。
12
12
  4. 每个项目同时只维护一条跨批审查;若新一轮与 state.md 中未完成范围不同,先说明会丢弃的旧进度并征得用户确认,确认后在首批完成时覆盖。续接时 state.md 缺失、损坏或本批超出既定范围,应明确报告并停止,不猜测旧内容;非分批审查不创建它。
13
13
 
14
- **.story-review/** 只保存审查状态,不属于小说事实追踪;不得借此修改正文、设定、大纲或 `追踪/`。
14
+ **.story-review/** 只保存审查进度;不得借维护审查状态修改正文、设定、大纲或 `追踪/`。
15
15
 
16
16
  ## 每批开审前
17
17