novelws 4.0.0 → 5.0.0

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 (357) hide show
  1. package/CHANGELOG.md +100 -623
  2. package/README.md +79 -594
  3. package/dist/cli.js +1 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/init.js +12 -99
  7. package/dist/commands/init.js.map +1 -1
  8. package/dist/commands/upgrade.d.ts.map +1 -1
  9. package/dist/commands/upgrade.js +17 -108
  10. package/dist/commands/upgrade.js.map +1 -1
  11. package/dist/core/config.d.ts +1 -37
  12. package/dist/core/config.d.ts.map +1 -1
  13. package/dist/core/config.js +6 -45
  14. package/dist/core/config.js.map +1 -1
  15. package/dist/core/errors.d.ts +0 -31
  16. package/dist/core/errors.d.ts.map +1 -1
  17. package/dist/core/errors.js +0 -58
  18. package/dist/core/errors.js.map +1 -1
  19. package/dist/utils/diagnostics.d.ts +2 -16
  20. package/dist/utils/diagnostics.d.ts.map +1 -1
  21. package/dist/utils/diagnostics.js +5 -72
  22. package/dist/utils/diagnostics.js.map +1 -1
  23. package/dist/utils/project.d.ts +1 -1
  24. package/dist/utils/project.d.ts.map +1 -1
  25. package/dist/utils/project.js +3 -3
  26. package/dist/utils/project.js.map +1 -1
  27. package/package.json +1 -2
  28. package/templates/commands/analyze.md +65 -265
  29. package/templates/commands/expand.md +70 -0
  30. package/templates/commands/plan.md +47 -452
  31. package/templates/commands/specify.md +43 -869
  32. package/templates/commands/write.md +49 -643
  33. package/templates/dot-claude/CLAUDE.md +38 -202
  34. package/templates/resources/anti-ai.md +16 -0
  35. package/templates/resources/style-reference.md +19 -0
  36. package/templates/tracking/character-state.json +1 -76
  37. package/templates/tracking/plot-tracker.json +3 -60
  38. package/templates/tracking/relationships.json +1 -68
  39. package/templates/tracking/timeline.json +1 -47
  40. package/dist/commands/plugin.d.ts +0 -6
  41. package/dist/commands/plugin.d.ts.map +0 -1
  42. package/dist/commands/plugin.js +0 -135
  43. package/dist/commands/plugin.js.map +0 -1
  44. package/dist/plugins/identifier.d.ts +0 -13
  45. package/dist/plugins/identifier.d.ts.map +0 -1
  46. package/dist/plugins/identifier.js +0 -72
  47. package/dist/plugins/identifier.js.map +0 -1
  48. package/dist/plugins/installers/base.d.ts +0 -27
  49. package/dist/plugins/installers/base.d.ts.map +0 -1
  50. package/dist/plugins/installers/base.js +0 -30
  51. package/dist/plugins/installers/base.js.map +0 -1
  52. package/dist/plugins/installers/github.d.ts +0 -22
  53. package/dist/plugins/installers/github.d.ts.map +0 -1
  54. package/dist/plugins/installers/github.js +0 -133
  55. package/dist/plugins/installers/github.js.map +0 -1
  56. package/dist/plugins/installers/local.d.ts +0 -16
  57. package/dist/plugins/installers/local.d.ts.map +0 -1
  58. package/dist/plugins/installers/local.js +0 -69
  59. package/dist/plugins/installers/local.js.map +0 -1
  60. package/dist/plugins/installers/npm.d.ts +0 -20
  61. package/dist/plugins/installers/npm.d.ts.map +0 -1
  62. package/dist/plugins/installers/npm.js +0 -99
  63. package/dist/plugins/installers/npm.js.map +0 -1
  64. package/dist/plugins/manager.d.ts +0 -77
  65. package/dist/plugins/manager.d.ts.map +0 -1
  66. package/dist/plugins/manager.js +0 -349
  67. package/dist/plugins/manager.js.map +0 -1
  68. package/dist/plugins/registry.d.ts +0 -48
  69. package/dist/plugins/registry.d.ts.map +0 -1
  70. package/dist/plugins/registry.js +0 -111
  71. package/dist/plugins/registry.js.map +0 -1
  72. package/dist/plugins/types.d.ts +0 -66
  73. package/dist/plugins/types.d.ts.map +0 -1
  74. package/dist/plugins/types.js +0 -2
  75. package/dist/plugins/types.js.map +0 -1
  76. package/dist/plugins/validator.d.ts +0 -19
  77. package/dist/plugins/validator.d.ts.map +0 -1
  78. package/dist/plugins/validator.js +0 -164
  79. package/dist/plugins/validator.js.map +0 -1
  80. package/dist/utils/logger.d.ts +0 -13
  81. package/dist/utils/logger.d.ts.map +0 -1
  82. package/dist/utils/logger.js +0 -48
  83. package/dist/utils/logger.js.map +0 -1
  84. package/plugins/authentic-voice/README.md +0 -31
  85. package/plugins/authentic-voice/commands/authentic-voice.md +0 -73
  86. package/plugins/authentic-voice/commands/authenticity-audit.md +0 -37
  87. package/plugins/authentic-voice/config.yaml +0 -30
  88. package/plugins/authentic-voice/experts/authentic-editor.md +0 -27
  89. package/plugins/export/README.md +0 -319
  90. package/plugins/export/commands/export.md +0 -460
  91. package/plugins/export/commands/generate-cover.md +0 -256
  92. package/plugins/export/commands/metadata.md +0 -309
  93. package/plugins/export/config.yaml +0 -47
  94. package/plugins/export/experts/publishing-expert.md +0 -171
  95. package/plugins/export/templates/epub/chapter-template.html +0 -13
  96. package/plugins/export/templates/epub/cover-template.html +0 -14
  97. package/plugins/export/templates/epub/stylesheet.css +0 -200
  98. package/plugins/export/templates/pdf/ebook-style.css +0 -137
  99. package/plugins/export/templates/pdf/print-style.css +0 -179
  100. package/plugins/export/templates/platforms/jinjiang-format.md +0 -101
  101. package/plugins/export/templates/platforms/qidian-format.md +0 -108
  102. package/plugins/export/templates/platforms/tomato-format.md +0 -95
  103. package/plugins/translate/README.md +0 -265
  104. package/plugins/translate/commands/glossary.md +0 -731
  105. package/plugins/translate/commands/translate-preview.md +0 -543
  106. package/plugins/translate/commands/translate.md +0 -649
  107. package/plugins/translate/config.yaml +0 -43
  108. package/plugins/translate/experts/literary-translator.md +0 -605
  109. package/templates/commands/character.md +0 -287
  110. package/templates/commands/checklist.md +0 -744
  111. package/templates/commands/clarify.md +0 -269
  112. package/templates/commands/constitution.md +0 -269
  113. package/templates/commands/expert.md +0 -188
  114. package/templates/commands/facts.md +0 -552
  115. package/templates/commands/guide.md +0 -900
  116. package/templates/commands/help-me.md +0 -221
  117. package/templates/commands/recap.md +0 -748
  118. package/templates/commands/relations.md +0 -385
  119. package/templates/commands/revise.md +0 -450
  120. package/templates/commands/search.md +0 -531
  121. package/templates/commands/tasks.md +0 -396
  122. package/templates/commands/timeline.md +0 -309
  123. package/templates/commands/track-init.md +0 -149
  124. package/templates/commands/track.md +0 -704
  125. package/templates/commands/volume-summary.md +0 -471
  126. package/templates/knowledge/audit-config.json +0 -26
  127. package/templates/knowledge/character-profiles.md +0 -152
  128. package/templates/knowledge/character-voices.md +0 -137
  129. package/templates/knowledge/locations.md +0 -184
  130. package/templates/knowledge/world-setting.md +0 -121
  131. package/templates/resources/character-archetypes/01-hero.md +0 -233
  132. package/templates/resources/character-archetypes/02-mentor.md +0 -177
  133. package/templates/resources/character-archetypes/03-shadow.md +0 -221
  134. package/templates/resources/character-archetypes/04-ally.md +0 -178
  135. package/templates/resources/character-archetypes/05-shapeshifter.md +0 -177
  136. package/templates/resources/character-archetypes/06-trickster.md +0 -181
  137. package/templates/resources/character-archetypes/07-threshold-guardian.md +0 -177
  138. package/templates/resources/character-archetypes/08-herald.md +0 -180
  139. package/templates/resources/character-archetypes/09-father.md +0 -249
  140. package/templates/resources/character-archetypes/10-mother.md +0 -202
  141. package/templates/resources/character-archetypes/11-child.md +0 -183
  142. package/templates/resources/character-archetypes/12-sage.md +0 -202
  143. package/templates/resources/character-archetypes/README.md +0 -60
  144. package/templates/resources/character-archetypes/application-guide.md +0 -222
  145. package/templates/resources/character-archetypes/archetype-combinations.md +0 -242
  146. package/templates/resources/character-archetypes/config.yaml +0 -28
  147. package/templates/resources/character-archetypes/examples-analysis.md +0 -223
  148. package/templates/resources/config/keyword-mappings.json +0 -226
  149. package/templates/resources/config/specification-example.md +0 -146
  150. package/templates/resources/craft/character-arc.md +0 -1153
  151. package/templates/resources/craft/dialogue.md +0 -1170
  152. package/templates/resources/craft/hook-design.md +0 -345
  153. package/templates/resources/craft/pacing.md +0 -1200
  154. package/templates/resources/craft/power-system.md +0 -254
  155. package/templates/resources/craft/scene-structure.md +0 -1136
  156. package/templates/resources/craft/show-not-tell.md +0 -1012
  157. package/templates/resources/craft/story-structures.md +0 -134
  158. package/templates/resources/craft/tension-management.md +0 -168
  159. package/templates/resources/emotional-beats/01-first-meeting.md +0 -145
  160. package/templates/resources/emotional-beats/02-bonding-moment.md +0 -226
  161. package/templates/resources/emotional-beats/03-declaration.md +0 -284
  162. package/templates/resources/emotional-beats/04-triumph.md +0 -240
  163. package/templates/resources/emotional-beats/05-reunion.md +0 -396
  164. package/templates/resources/emotional-beats/06-forgiveness.md +0 -204
  165. package/templates/resources/emotional-beats/07-betrayal.md +0 -204
  166. package/templates/resources/emotional-beats/08-loss.md +0 -214
  167. package/templates/resources/emotional-beats/09-rejection.md +0 -254
  168. package/templates/resources/emotional-beats/10-failure.md +0 -244
  169. package/templates/resources/emotional-beats/11-misunderstanding.md +0 -205
  170. package/templates/resources/emotional-beats/12-farewell.md +0 -283
  171. package/templates/resources/emotional-beats/13-revelation.md +0 -242
  172. package/templates/resources/emotional-beats/14-point-of-no-return.md +0 -215
  173. package/templates/resources/emotional-beats/15-dark-night.md +0 -244
  174. package/templates/resources/emotional-beats/16-sacrifice.md +0 -246
  175. package/templates/resources/emotional-beats/17-awakening.md +0 -246
  176. package/templates/resources/emotional-beats/18-confrontation.md +0 -217
  177. package/templates/resources/emotional-beats/19-bittersweet-goodbye.md +0 -368
  178. package/templates/resources/emotional-beats/20-moral-dilemma.md +0 -248
  179. package/templates/resources/emotional-beats/21-temptation.md +0 -240
  180. package/templates/resources/emotional-beats/22-redemption.md +0 -210
  181. package/templates/resources/emotional-beats/README.md +0 -104
  182. package/templates/resources/emotional-beats/beat-sequences.md +0 -276
  183. package/templates/resources/emotional-beats/config.yaml +0 -30
  184. package/templates/resources/emotional-beats/pacing-guide.md +0 -390
  185. package/templates/resources/genres/game-lit.md +0 -174
  186. package/templates/resources/genres/historical.md +0 -1127
  187. package/templates/resources/genres/horror.md +0 -211
  188. package/templates/resources/genres/military.md +0 -209
  189. package/templates/resources/genres/mystery.md +0 -1123
  190. package/templates/resources/genres/rebirth.md +0 -177
  191. package/templates/resources/genres/revenge.md +0 -846
  192. package/templates/resources/genres/romance.md +0 -948
  193. package/templates/resources/genres/sci-fi.md +0 -156
  194. package/templates/resources/genres/sports.md +0 -216
  195. package/templates/resources/genres/thriller.md +0 -166
  196. package/templates/resources/genres/urban.md +0 -170
  197. package/templates/resources/genres/workplace.md +0 -214
  198. package/templates/resources/genres/wuxia.md +0 -143
  199. package/templates/resources/genres/xuanhuan.md +0 -234
  200. package/templates/resources/genres/youth.md +0 -219
  201. package/templates/resources/memory/personal-voice.md +0 -113
  202. package/templates/resources/references/README.md +0 -96
  203. package/templates/resources/references/china-1920s/culture.md +0 -423
  204. package/templates/resources/references/china-1920s/daily-life.md +0 -616
  205. package/templates/resources/references/china-1920s/overview.md +0 -298
  206. package/templates/resources/references/china-1920s/society.md +0 -703
  207. package/templates/resources/references/china-1920s/warlords.md +0 -427
  208. package/templates/resources/references/cultivation-world/daily-life.md +0 -108
  209. package/templates/resources/references/cultivation-world/overview.md +0 -64
  210. package/templates/resources/references/cultivation-world/power-system.md +0 -108
  211. package/templates/resources/references/cultivation-world/sects.md +0 -104
  212. package/templates/resources/references/cultivation-world/world-setting.md +0 -108
  213. package/templates/resources/references/modern-workplace/corporate.md +0 -115
  214. package/templates/resources/references/modern-workplace/daily-life.md +0 -129
  215. package/templates/resources/references/modern-workplace/overview.md +0 -73
  216. package/templates/resources/references/modern-workplace/relationships.md +0 -107
  217. package/templates/resources/references/modern-workplace/tech-industry.md +0 -131
  218. package/templates/resources/references/tang-dynasty/culture.md +0 -135
  219. package/templates/resources/references/tang-dynasty/daily-life.md +0 -139
  220. package/templates/resources/references/tang-dynasty/overview.md +0 -76
  221. package/templates/resources/references/tang-dynasty/politics.md +0 -121
  222. package/templates/resources/references/tang-dynasty/society.md +0 -126
  223. package/templates/resources/requirements/README.md +0 -240
  224. package/templates/resources/requirements/anti-ai-v3.md +0 -46
  225. package/templates/resources/requirements/anti-ai-v4-deprecated.md +0 -442
  226. package/templates/resources/requirements/anti-ai-v5-balanced.md +0 -203
  227. package/templates/resources/requirements/concretization.md +0 -90
  228. package/templates/resources/requirements/fast-paced.md +0 -552
  229. package/templates/resources/requirements/no-poison.md +0 -60
  230. package/templates/resources/requirements/romance-angst.md +0 -102
  231. package/templates/resources/requirements/romance-sweet.md +0 -63
  232. package/templates/resources/requirements/serious-literature.md +0 -45
  233. package/templates/resources/requirements/strong-emotion.md +0 -60
  234. package/templates/resources/scripts/README.md +0 -187
  235. package/templates/resources/scripts/bash/analyze-story.sh +0 -170
  236. package/templates/resources/scripts/bash/check-analyze-stage.sh +0 -108
  237. package/templates/resources/scripts/bash/check-consistency.sh +0 -463
  238. package/templates/resources/scripts/bash/check-facts.sh +0 -214
  239. package/templates/resources/scripts/bash/check-plot.sh +0 -374
  240. package/templates/resources/scripts/bash/check-timeline.sh +0 -346
  241. package/templates/resources/scripts/bash/check-world.sh +0 -395
  242. package/templates/resources/scripts/bash/check-writing-state.sh +0 -854
  243. package/templates/resources/scripts/bash/clarify-story.sh +0 -117
  244. package/templates/resources/scripts/bash/common.sh +0 -151
  245. package/templates/resources/scripts/bash/constitution.sh +0 -114
  246. package/templates/resources/scripts/bash/generate-tasks.sh +0 -65
  247. package/templates/resources/scripts/bash/init-tracking.sh +0 -183
  248. package/templates/resources/scripts/bash/manage-relations.sh +0 -174
  249. package/templates/resources/scripts/bash/migrate-tracking.sh +0 -183
  250. package/templates/resources/scripts/bash/plan-story.sh +0 -100
  251. package/templates/resources/scripts/bash/specify-story.sh +0 -93
  252. package/templates/resources/scripts/bash/tasks-story.sh +0 -96
  253. package/templates/resources/scripts/bash/test-word-count.sh +0 -182
  254. package/templates/resources/scripts/bash/tests/bench-preload-cache.sh +0 -100
  255. package/templates/resources/scripts/bash/tests/run-all-benchmarks.sh +0 -16
  256. package/templates/resources/scripts/bash/tests/test-cache-semantics.sh +0 -199
  257. package/templates/resources/scripts/bash/tests/test-cross-platform.sh +0 -35
  258. package/templates/resources/scripts/bash/tests/test-edge-cases-bash.sh +0 -60
  259. package/templates/resources/scripts/bash/tests/test-phase1-bash.sh +0 -28
  260. package/templates/resources/scripts/bash/tests/test-preload-cache.sh +0 -123
  261. package/templates/resources/scripts/bash/tests/test-regex-precompile.sh +0 -89
  262. package/templates/resources/scripts/bash/tests/test-regression-bash.sh +0 -42
  263. package/templates/resources/scripts/bash/tests/test-task6-verification.sh +0 -200
  264. package/templates/resources/scripts/bash/text-audit.sh +0 -144
  265. package/templates/resources/scripts/bash/track-progress.sh +0 -194
  266. package/templates/resources/scripts/powershell/analyze-story.ps1 +0 -174
  267. package/templates/resources/scripts/powershell/check-analyze-stage.ps1 +0 -110
  268. package/templates/resources/scripts/powershell/check-consistency.ps1 +0 -138
  269. package/templates/resources/scripts/powershell/check-facts.ps1 +0 -195
  270. package/templates/resources/scripts/powershell/check-plot.ps1 +0 -139
  271. package/templates/resources/scripts/powershell/check-timeline.ps1 +0 -112
  272. package/templates/resources/scripts/powershell/check-writing-state.ps1 +0 -486
  273. package/templates/resources/scripts/powershell/clarify-story.ps1 +0 -107
  274. package/templates/resources/scripts/powershell/common.ps1 +0 -36
  275. package/templates/resources/scripts/powershell/constitution.ps1 +0 -145
  276. package/templates/resources/scripts/powershell/generate-tasks.ps1 +0 -70
  277. package/templates/resources/scripts/powershell/init-tracking.ps1 +0 -98
  278. package/templates/resources/scripts/powershell/manage-relations.ps1 +0 -134
  279. package/templates/resources/scripts/powershell/migrate-tracking.ps1 +0 -145
  280. package/templates/resources/scripts/powershell/plan-story.ps1 +0 -99
  281. package/templates/resources/scripts/powershell/specify-story.ps1 +0 -85
  282. package/templates/resources/scripts/powershell/tests/bench-ps-cache.ps1 +0 -80
  283. package/templates/resources/scripts/powershell/tests/test-cross-platform.ps1 +0 -27
  284. package/templates/resources/scripts/powershell/tests/test-edge-cases-ps.ps1 +0 -29
  285. package/templates/resources/scripts/powershell/tests/test-phase1-ps.ps1 +0 -28
  286. package/templates/resources/scripts/powershell/tests/test-ps-cache.ps1 +0 -73
  287. package/templates/resources/scripts/powershell/tests/test-regression-ps.ps1 +0 -40
  288. package/templates/resources/scripts/powershell/text-audit.ps1 +0 -102
  289. package/templates/resources/scripts/powershell/track-progress.ps1 +0 -105
  290. package/templates/resources/styles/README.md +0 -302
  291. package/templates/resources/styles/ancient-style.md +0 -579
  292. package/templates/resources/styles/literary.md +0 -439
  293. package/templates/resources/styles/minimal.md +0 -472
  294. package/templates/resources/styles/natural-voice.md +0 -930
  295. package/templates/resources/styles/web-novel.md +0 -525
  296. package/templates/skills/analysis/character-analysis/SKILL.md +0 -71
  297. package/templates/skills/analysis/foreshadow-analysis/SKILL.md +0 -45
  298. package/templates/skills/analysis/hook-analysis/SKILL.md +0 -111
  299. package/templates/skills/analysis/logic-analysis/SKILL.md +0 -58
  300. package/templates/skills/analysis/opening-analysis/SKILL.md +0 -59
  301. package/templates/skills/analysis/pacing-analysis/SKILL.md +0 -55
  302. package/templates/skills/analysis/power-analysis/SKILL.md +0 -148
  303. package/templates/skills/analysis/reader-analysis/SKILL.md +0 -117
  304. package/templates/skills/analysis/style-analysis/SKILL.md +0 -60
  305. package/templates/skills/analysis/voice-analysis/SKILL.md +0 -42
  306. package/templates/skills/auto-tracking/SKILL.md +0 -280
  307. package/templates/skills/genre-knowledge/fantasy/SKILL.md +0 -355
  308. package/templates/skills/genre-knowledge/mystery/SKILL.md +0 -337
  309. package/templates/skills/genre-knowledge/romance/SKILL.md +0 -228
  310. package/templates/skills/genre-knowledge/sci-fi/SKILL.md +0 -65
  311. package/templates/skills/genre-knowledge/thriller/SKILL.md +0 -95
  312. package/templates/skills/planning/volume-detail/SKILL.md +0 -219
  313. package/templates/skills/quality-assurance/consistency-checker/SKILL.md +0 -412
  314. package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +0 -157
  315. package/templates/skills/quality-assurance/facts-checker/SKILL.md +0 -405
  316. package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +0 -147
  317. package/templates/skills/quality-assurance/getting-started/SKILL.md +0 -224
  318. package/templates/skills/quality-assurance/hook-checker/SKILL.md +0 -164
  319. package/templates/skills/quality-assurance/hook-checker/experts/hook-analyst.md +0 -33
  320. package/templates/skills/quality-assurance/long-series-continuity/SKILL.md +0 -570
  321. package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +0 -143
  322. package/templates/skills/quality-assurance/pov-validator/SKILL.md +0 -135
  323. package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +0 -583
  324. package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +0 -119
  325. package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +0 -146
  326. package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +0 -160
  327. package/templates/skills/quality-assurance/requirement-detector/SKILL.md +0 -149
  328. package/templates/skills/quality-assurance/setting-detector/SKILL.md +0 -611
  329. package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +0 -126
  330. package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +0 -206
  331. package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +0 -207
  332. package/templates/skills/quality-assurance/style-detector/SKILL.md +0 -264
  333. package/templates/skills/quality-assurance/voice-consistency-checker/SKILL.md +0 -103
  334. package/templates/skills/quality-assurance/voice-consistency-checker/experts/voice-analyst.md +0 -21
  335. package/templates/skills/quality-assurance/workflow-guide/SKILL.md +0 -381
  336. package/templates/skills/writing-techniques/character-arc/SKILL.md +0 -267
  337. package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +0 -366
  338. package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +0 -708
  339. package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +0 -226
  340. package/templates/skills/writing-techniques/pacing-control/SKILL.md +0 -480
  341. package/templates/skills/writing-techniques/reader-expectation/SKILL.md +0 -1026
  342. package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +0 -209
  343. package/templates/skills/writing-techniques/revision-polish/SKILL.md +0 -496
  344. package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +0 -221
  345. package/templates/skills/writing-techniques/scene-structure/SKILL.md +0 -361
  346. package/templates/skills/writing-techniques/style-learning/SKILL.md +0 -436
  347. package/templates/skills/writing-techniques/writing-balance/.gitkeep +0 -0
  348. package/templates/skills/writing-techniques/writing-balance/SKILL.md +0 -460
  349. package/templates/skills/writing-techniques/writing-techniques/SKILL.md +0 -727
  350. package/templates/tracking/story-facts.json +0 -5
  351. package/templates/tracking/summary/characters-summary.json +0 -7
  352. package/templates/tracking/summary/plot-summary.json +0 -13
  353. package/templates/tracking/summary/timeline-summary.json +0 -8
  354. package/templates/tracking/summary/volume-summaries.json +0 -5
  355. package/templates/tracking/tracking-log.md +0 -110
  356. package/templates/tracking/validation-rules.json +0 -128
  357. /package/templates/resources/{memory/constitution.md → constitution.md} +0 -0
@@ -1,570 +0,0 @@
1
- ---
2
- name: long-series-continuity
3
- description: "Automatically activates when the project has more than 100 chapters - monitors cross-volume character continuity, foreshadowing expiration, and setting consistency across ultra-long novels"
4
- allowed-tools: Read, Grep
5
- ---
6
-
7
- # 超长篇连贯性守护
8
-
9
- 自动监控超长篇小说(>100 章)中的跨卷连贯性问题,包括角色出场间隔、伏笔到期、设定一致性等。
10
-
11
- ---
12
-
13
- ## 自动激活条件
14
-
15
- **触发阈值**:项目章节数 > 100
16
-
17
- **检测方法**:
18
- ```typescript
19
- const contentDir = 'stories/*/content/';
20
- const chapterCount = fs.readdirSync(contentDir)
21
- .filter(f => f.match(/^ch-\d{3,}\.md$/))
22
- .length;
23
-
24
- if (chapterCount > 100) {
25
- // 激活 long-series-continuity skill
26
- }
27
- ```
28
-
29
- **激活时机**:
30
- - `/write` 命令执行前
31
- - `/write --batch` 每章完成后
32
- - `/recap` 生成简报时
33
- - `/track --check` 深度检查时
34
-
35
- ---
36
-
37
- ## 核心监控维度
38
-
39
- ### 1. 角色出场间隔提醒
40
-
41
- **目的**:避免读者遗忘久未出场的角色
42
-
43
- **检查流程**:
44
- 1. 识别当前章节中出现的角色名(通过 NER 或关键词匹配)
45
- 2. 查询该角色上次出场的章节号
46
- 3. 计算间隔章节数
47
- 4. 按阈值分级提醒
48
-
49
- **数据来源(三层回退)**:
50
- - **MCP**:`query_chapter_entities({ character: '角色名' })`
51
- - **分片 JSON**:读取对应卷的 `character-state.json`,查找 `lastSeen`
52
- - **单文件 JSON**:读取 `character-state.json`
53
-
54
- **提醒格式**:
55
-
56
- ```
57
- 📌 角色出场提醒:
58
- 赵四 上次出场在第 203 章(距今 147 章)
59
- 当时状态:
60
- - 位置:青云宗外门
61
- - 身份:外门弟子
62
- - 修为:炼气七层
63
- - 最后行为:与林逸发生冲突后离开
64
-
65
- 请确认本章中赵四的状态描写与上次一致。
66
- 如有变化(如修为提升),需在文中说明。
67
- ```
68
-
69
- **阈值配置**:
70
-
71
- | 间隔章节数 | 级别 | 提醒 |
72
- |----------|------|------|
73
- | 30-50 章 | 📝 注意 | 该角色已较久未出场,注意衔接 |
74
- | 50-100 章 | ⚠️ 警告 | 读者可能已淡忘,建议重新介绍 |
75
- | > 100 章 | 🔴 紧急 | 强烈建议补充背景,避免读者困惑 |
76
-
77
- ---
78
-
79
- ### 2. 伏笔到期提醒
80
-
81
- **目的**:防止伏笔埋设过久导致读者遗忘或失去兴趣
82
-
83
- **检查流程**:
84
- 1. 查询所有 `status=active` 的伏笔
85
- 2. 计算每个伏笔的"年龄"(当前章节 - planted.chapter)
86
- 3. 查询最后一次提及的章节
87
- 4. 按阈值分级提醒
88
-
89
- **数据来源(三层回退)**:
90
- - **MCP**:`query_plot({ status: 'active', urgency: '>0.5' })`
91
- - **分片 JSON**:读取 `summary/plot-summary.json` 获取未解决伏笔列表
92
- - **单文件 JSON**:读取 `plot-tracker.json`,筛选 `status=active`
93
-
94
- **提醒格式**:
95
-
96
- ```
97
- ⚠️ 伏笔到期提醒:
98
- "天魂珠的第二块碎片"(埋于第 15 章,已过 285 章)
99
-
100
- 基本信息:
101
- - 重要性:高
102
- - 紧急度:0.85(即将过期)
103
- - 最后提及:第 120 章(已过 165 章)
104
- - 预计回收章节:第 300-350 章
105
-
106
- 建议操作:
107
- 1. 在近 10-20 章内安排线索推进
108
- 2. 通过角色对话或回忆重新提醒读者
109
- 3. 如果确定放弃,请更新 plot-tracker 状态为 'abandoned'
110
- ```
111
-
112
- **阈值配置**:
113
-
114
- | 伏笔年龄 | 级别 | 提醒 |
115
- |----------|------|------|
116
- | 100-200 章 | 📝 注意 | 该伏笔已埋设较久,考虑推进 |
117
- | 200-500 章 | ⚠️ 警告 | 读者可能已遗忘,建议近期回收或重新提示 |
118
- | > 500 章 | 🔴 紧急 | 严重超期,必须尽快处理或明确放弃 |
119
-
120
- **额外检测**:
121
- - 如果伏笔超过 100 章未提及,额外提醒需要"重新引入"
122
- - 如果伏笔的 `urgency` > 0.9,直接标记为 🔴 紧急
123
-
124
- ---
125
-
126
- ### 3. 设定一致性检测
127
-
128
- **目的**:确保跨卷设定描述一致,避免前后矛盾
129
-
130
- **被动监控(写作时)**:
131
-
132
- 1. **实体识别**:
133
- - 地名(青云宗、天元城)
134
- - 组织名(东厂、天魂殿)
135
- - 力量等级(炼气、筑基)
136
- - 特殊物品(天魂珠、九转金丹)
137
-
138
- 2. **交叉验证**:
139
- - 当前章提到的实体,与 `story-facts.json` 交叉验证
140
- - MCP 优先:`query_facts({ keyword: '实体名' })`
141
- - 如果发现不一致,立即提醒
142
-
143
- **提醒格式**:
144
-
145
- ```
146
- ⚠️ 设定不一致检测:
147
- "青云宗外门弟子人数"
148
-
149
- 历史描述:
150
- - 第 12 章:"青云宗外门约有三千弟子"
151
- - 第 156 章:"青云宗外门弟子超过五千"
152
-
153
- 当前章节:
154
- - 第 303 章:"青云宗外门弟子仅两千余人"
155
-
156
- 冲突类型:数量不一致(且无战争/天灾等合理解释)
157
-
158
- 建议:
159
- 1. 确认是否有剧情原因导致人数减少
160
- 2. 如果是笔误,修正为符合历史描述的数字
161
- 3. 如果确定修改设定,更新 story-facts.json
162
- ```
163
-
164
- **主动检测(/track --check 时)**:
165
- - 配合 `consistency-checker` skill 执行深度检查
166
- - 重点关注跨卷的设定变化
167
- - 生成详细的不一致报告
168
-
169
- **数据来源(三层回退)**:
170
- - **MCP**:`query_facts()` + `search_content({ query: '实体名' })`
171
- - **分片 JSON**:读取 `story-facts.json` + Grep 搜索章节内容
172
- - **单文件 JSON**:读取 `story-facts.json` + Grep 搜索章节内容
173
-
174
- ---
175
-
176
- ### 4. 角色称呼一致性
177
-
178
- **目的**:监控同一角色在不同章节中的称呼变化,确保合理过渡
179
-
180
- **检查流程**:
181
- 1. 识别当前章节中对角色的称呼
182
- 2. 查询该角色的历史称呼记录
183
- 3. 如果出现新称呼,检查是否有合理过渡
184
-
185
- **提醒格式**:
186
-
187
- ```
188
- 📝 称呼变化检测:
189
- "林逸" 在不同章节中的称呼变化:
190
-
191
- 历史称呼:
192
- - 第 1-50 章:林逸、小逸(母亲称呼)
193
- - 第 51-150 章:林逸、林师弟(同门称呼)
194
- - 第 151-250 章:林道友(外派交流)
195
-
196
- 当前章节(第 303 章):
197
- - 新称呼:林前辈
198
-
199
- 分析:
200
- ✓ 称呼升级合理(修为提升,辈分上升)
201
- ⚠️ 建议:在首次使用新称呼时,通过对话或旁白说明原因
202
- ```
203
-
204
- **特殊场景**:
205
- - 如果称呼突然降级(道友 → 师弟),标记为 🔴 异常
206
- - 如果亲密称呼突变(小逸 → 林道友),提示检查关系变化
207
- - 如果不同角色对同一人的称呼不一致,提示确认是否合理
208
-
209
- **数据来源**:
210
- - **MCP**:`search_content({ query: '角色名' })` 获取所有出现位置,分析上下文
211
- - **分片 JSON**:Grep 搜索章节内容,分析称呼
212
- - **单文件 JSON**:同上
213
-
214
- ---
215
-
216
- ## 与其他命令的协作
217
-
218
- ### 在 /write 期间
219
-
220
- **前置检查**(写作开始前):
221
- ```
222
- 🔍 超长篇连贯性预检:
223
- ✓ 本章涉及 3 个角色,无长期缺席
224
- ⚠️ 1 个伏笔接近超期(详见下方)
225
- ✓ 无设定冲突风险
226
- ```
227
-
228
- **实时监控**(写作过程中):
229
- - 被动监控设定一致性
230
- - 角色出场时自动加载上次状态
231
-
232
- **后置检查**(写作完成后):
233
- - 更新角色 `lastSeen` 字段
234
- - 更新伏笔 `lastMentioned` 字段(如果本章提及)
235
-
236
- ---
237
-
238
- ### 在 /write --batch 期间
239
-
240
- **轻量检查**(每章完成后):
241
- - 角色出场间隔检查
242
- - 伏笔到期检查
243
-
244
- **完整检查**(批量完成后):
245
- - 执行全部四个维度的深度检查
246
- - 生成批量章节的连贯性报告
247
-
248
- ---
249
-
250
- ### 在 /recap 期间
251
-
252
- **附加信息**(在简报末尾):
253
-
254
- ```
255
- 🚨 超长篇连贯性提醒:
256
-
257
- 超期伏笔(2 个):
258
- • "天魂珠第二块碎片"(已过 285 章,紧急度 0.85)
259
- • "师姐的身世之谜"(已过 178 章,紧急度 0.65)
260
-
261
- 久未出场角色(3 个):
262
- • 赵四(距今 147 章)
263
- • 王五(距今 89 章)
264
- • 李六(距今 62 章)
265
-
266
- 设定提醒:
267
- • 青云宗外门弟子人数在第 156 章和第 303 章描述不一致
268
- ```
269
-
270
- ---
271
-
272
- ### 在 /track --check 期间
273
-
274
- **提供额外检查维度**:
275
- - 跨卷角色出场间隔统计
276
- - 跨卷伏笔年龄分布
277
- - 跨卷设定一致性深度检查
278
- - 跨卷称呼变化合理性分析
279
-
280
- **生成专项报告**:
281
- ```
282
- 📊 超长篇连贯性深度检查报告
283
- ━━━━━━━━━━━━━━━━━━━━
284
-
285
- 角色出场间隔分析:
286
- 正常范围(< 30 章):85% 的角色
287
- 需要关注(30-50 章):10% 的角色
288
- 严重缺席(> 50 章):5% 的角色
289
-
290
- 伏笔年龄分析:
291
- 健康(< 100 章):60% 的伏笔
292
- 接近超期(100-200 章):25% 的伏笔
293
- 已超期(> 200 章):15% 的伏笔
294
-
295
- 设定一致性分析:
296
- 无冲突:90% 的设定
297
- 轻微不一致:8% 的设定
298
- 严重矛盾:2% 的设定
299
-
300
- 建议:
301
- 1. 优先处理 3 个严重超期伏笔
302
- 2. 安排 5 个久未出场角色的戏份
303
- 3. 修复 2 个严重设定矛盾
304
- ```
305
-
306
- ---
307
-
308
- ## 数据来源优先级
309
-
310
- 所有检查遵循 **三层回退** 机制:
311
-
312
- ### Layer 3: MCP 工具(优先)
313
-
314
- ```typescript
315
- // 角色出场查询
316
- const lastSeen = await mcp.call('novelws-mcp/query_chapter_entities', {
317
- character: '赵四',
318
- type: 'lastSeen'
319
- });
320
-
321
- // 伏笔查询
322
- const overduePlots = await mcp.call('novelws-mcp/query_plot', {
323
- status: 'active',
324
- urgency: '>0.5'
325
- });
326
-
327
- // 事实查询
328
- const facts = await mcp.call('novelws-mcp/query_facts', {
329
- keyword: '青云宗'
330
- });
331
-
332
- // 全文搜索
333
- const mentions = await mcp.call('novelws-mcp/search_content', {
334
- query: '天魂珠',
335
- volume: 'all'
336
- });
337
- ```
338
-
339
- **优势**:
340
- - 毫秒级响应
341
- - 自动聚合统计
342
- - 支持复杂查询
343
-
344
- ---
345
-
346
- ### Layer 2: 分片 JSON(次优)
347
-
348
- ```bash
349
- # 读取摘要
350
- character_summary=$(cat tracking/summary/characters-summary.json)
351
- plot_summary=$(cat tracking/summary/plot-summary.json)
352
-
353
- # 读取特定卷
354
- if [[ -n "$VOLUME" ]]; then
355
- character_state=$(cat "tracking/volumes/$VOLUME/character-state.json")
356
- plot_tracker=$(cat "tracking/volumes/$VOLUME/plot-tracker.json")
357
- fi
358
-
359
- # Grep 搜索
360
- grep -rn "青云宗" stories/*/content/
361
- ```
362
-
363
- **适用场景**:
364
- - MCP 未启用
365
- - 需要精确章节级别数据
366
- - 快速扫描摘要
367
-
368
- ---
369
-
370
- ### Layer 1: 单文件 JSON(兜底)
371
-
372
- ```bash
373
- # 读取完整 tracking 数据
374
- character_state=$(cat tracking/character-state.json)
375
- plot_tracker=$(cat tracking/plot-tracker.json)
376
- story_facts=$(cat tracking/story-facts.json)
377
-
378
- # Grep 搜索
379
- grep -rn "天魂珠" stories/*/content/
380
- ```
381
-
382
- **向下兼容**:小型项目(< 300 章)使用单文件模式
383
-
384
- ---
385
-
386
- ## 配置选项
387
-
388
- 本 skill **无需手动配置**,自动根据项目规模激活。
389
-
390
- ### 自定义阈值(可选)
391
-
392
- 如需调整提醒阈值,可在 `stories/*/specification.md` 的 frontmatter 中添加:
393
-
394
- ```yaml
395
- long-series:
396
- # 角色出场间隔警告阈值(章)
397
- character-gap-warning: 50
398
- character-gap-critical: 100
399
-
400
- # 伏笔超期警告阈值(章)
401
- foreshadow-warning: 200
402
- foreshadow-critical: 500
403
-
404
- # 伏笔未提及警告阈值(章)
405
- foreshadow-mention-gap: 100
406
-
407
- # 是否启用称呼一致性检查
408
- check-name-consistency: true
409
-
410
- # 是否启用设定一致性检查
411
- check-setting-consistency: true
412
- ```
413
-
414
- ### 禁用特定检查
415
-
416
- 如果某些检查不适用,可以禁用:
417
-
418
- ```yaml
419
- long-series:
420
- enabled-checks:
421
- - character-gap # 角色出场间隔
422
- - foreshadow-expiry # 伏笔到期
423
- # - setting-consistency # 设定一致性(已禁用)
424
- # - name-consistency # 称呼一致性(已禁用)
425
- ```
426
-
427
- ---
428
-
429
- ## 性能考虑
430
-
431
- **轻量化设计**:
432
- - 所有检查基于现有 tracking 数据,无需重新读取章节内容
433
- - MCP 查询采用索引,毫秒级响应
434
- - 仅在必要时执行深度检查(如 `/track --check`)
435
-
436
- **缓存策略**:
437
- - 角色 `lastSeen` 缓存在 `character-state.json`
438
- - 伏笔 `lastMentioned` 缓存在 `plot-tracker.json`
439
- - 避免重复的全文搜索
440
-
441
- **渐进式检查**:
442
- - `/write` 期间:仅检查当前章涉及的角色和伏笔
443
- - `/write --batch` 期间:批量章节完成后统一检查
444
- - `/track --check` 期间:执行完整深度检查
445
-
446
- ---
447
-
448
- ## 使用示例
449
-
450
- ### 场景 1:写作时的实时提醒
451
-
452
- ```bash
453
- 用户:/write 第303章
454
- AI:准备写作第 303 章...
455
-
456
- 🔍 超长篇连贯性预检(long-series-continuity):
457
-
458
- 📌 角色出场提醒:
459
- • 赵四(距今 147 章)- 上次状态:外门弟子,炼气七层
460
-
461
- ⚠️ 伏笔到期提醒:
462
- • "天魂珠第二块碎片"(埋于第 15 章,已过 288 章)
463
- → 建议在本章或近期章节推进此线索
464
-
465
- ✓ 无设定冲突风险
466
-
467
- 继续写作?
468
- ```
469
-
470
- ---
471
-
472
- ### 场景 2:recap 时的附加提醒
473
-
474
- ```bash
475
- 用户:/recap --brief
476
- AI:【简报内容...】
477
-
478
- ━━━━━━━━━━━━━━━━━━━━
479
-
480
- 🚨 超长篇连贯性提醒(long-series-continuity):
481
-
482
- 超期伏笔(2 个):
483
- • "天魂珠第二块碎片"(已过 288 章,🔴 紧急)
484
- • "师姐身世之谜"(已过 178 章,⚠️ 警告)
485
-
486
- 久未出场角色(3 个):
487
- • 赵四(147 章)、王五(89 章)、李六(62 章)
488
-
489
- 💡 建议:在接下来的 20 章内安排这些伏笔或角色的戏份
490
- ```
491
-
492
- ---
493
-
494
- ### 场景 3:深度检查时的完整报告
495
-
496
- ```bash
497
- 用户:/track --check
498
- AI:执行深度一致性检查...
499
-
500
- 【常规检查报告...】
501
-
502
- ━━━━━━━━━━━━━━━━━━━━
503
-
504
- 📊 超长篇连贯性深度检查(long-series-continuity):
505
-
506
- 角色出场间隔分析:
507
- 健康(< 30 章):85% (17/20)
508
- 关注(30-50 章):10% (2/20)
509
- 缺席(> 50 章):5% (1/20)
510
-
511
- 严重缺席角色:
512
- • 赵四(147 章)- 最后出场:第 156 章
513
-
514
- 伏笔年龄分析:
515
- 健康(< 100 章):60% (6/10)
516
- 接近超期(100-200 章):20% (2/10)
517
- 已超期(> 200 章):20% (2/10)
518
-
519
- 超期伏笔:
520
- • "天魂珠第二块碎片"(288 章,🔴)
521
- • "师姐身世之谜"(178 章,⚠️)
522
-
523
- 设定一致性分析:
524
- 无冲突:95% (19/20)
525
- 轻微不一致:5% (1/20)
526
-
527
- 不一致设定:
528
- • "青云宗外门弟子人数"(第 156 章 vs 第 303 章)
529
-
530
- 称呼一致性分析:
531
- 合理过渡:90% (9/10)
532
- 需要确认:10% (1/10)
533
-
534
- 需确认的称呼变化:
535
- • 林逸:林道友 → 林前辈(第 303 章)
536
-
537
- ━━━━━━━━━━━━━━━━━━━━
538
-
539
- 💡 优先级建议:
540
- 1️⃣ 🔴 处理 2 个严重超期伏笔
541
- 2️⃣ ⚠️ 安排 1 个严重缺席角色的戏份
542
- 3️⃣ 📝 修复 1 个设定不一致
543
- ```
544
-
545
- ---
546
-
547
- ## 注意事项
548
-
549
- 1. **自动激活**:章节数 > 100 时自动启用,无需手动配置
550
- 2. **轻量运行**:基于 tracking 数据,不影响写作性能
551
- 3. **渐进式检查**:写作时轻量检查,深度检查时完整分析
552
- 4. **三层回退**:优先使用 MCP,兼容分片和单文件模式
553
- 5. **可配置**:阈值可根据项目特点自定义调整
554
-
555
- ---
556
-
557
- ## 与其他 Skill 的协作
558
-
559
- - **consistency-checker**: 提供跨卷一致性检查的补充维度
560
- - **foreshadow-tracker**: 共享伏笔数据,互相补充
561
- - **character-arc**: 结合角色弧线检查出场频率合理性
562
-
563
- ---
564
-
565
- ## 版本信息
566
-
567
- - **版本**:1.0.0
568
- - **适用**:章节数 > 100 的超长篇项目
569
- - **依赖**:需要 tracking 数据(character-state, plot-tracker, story-facts)
570
- - **可选**:MCP 工具(novelws-mcp)以获得最佳性能
@@ -1,143 +0,0 @@
1
- ---
2
- name: pacing-monitor
3
- description: "Use when writing or analyzing chapters - monitors narrative pacing in real-time, detects rhythm issues like prolonged slow sections, missing tension peaks, and unbalanced scene types to maintain reader engagement"
4
- allowed-tools: Read, Grep, Glob
5
- ---
6
-
7
- # 节奏监控器
8
-
9
- ## 核心功能
10
-
11
- **实时监控叙事节奏** — 检测节奏拖沓、场景单一、高潮缺失等问题,确保读者参与度。
12
-
13
- ## 激活条件
14
-
15
- - 执行 `/write` 时后台持续监控
16
- - 提到"节奏""太慢""太快""拖沓""紧凑"等关键词时激活
17
- - 执行 `/analyze` 时作为检查项之一
18
-
19
- ---
20
-
21
- ## 节奏指标监控
22
-
23
- | 指标 | 监控内容 | 健康范围 |
24
- |------|---------|---------|
25
- | **场景类型比例** | 动作/对话/描写/内心的占比 | 动作 20-30%、对话 30-40%、描写 15-20%、内心 10-20% |
26
- | **张力曲线** | 每章的张力评分(1-5) | 整体趋势上升,无连续 3 章低于 2 |
27
- | **场景长度** | 单个场景的字数 | 1000-5000 字/场景,避免极端 |
28
- | **高潮间隔** | 两个高张力场景之间的章节数 | 不超过 4 章 |
29
- | **信息密度** | 每章引入的新信息量 | 每章 1-3 个新信息点 |
30
- | **情感强度** | 情感高峰和低谷的分布 | 高峰间隔 2-4 章 |
31
-
32
- ---
33
-
34
- ## 节奏问题检测
35
-
36
- | 问题类型 | 检测条件 | 严重程度 |
37
- |---------|---------|---------|
38
- | **节奏拖沓** | 连续 3+ 章张力评分 ≤ 2 | 🔴 关键 |
39
- | **节奏过急** | 连续 5+ 章张力评分 ≥ 4(无喘息) | ⚠️ 警告 |
40
- | **场景单一** | 连续 3+ 章同一类型场景(如纯对话) | ⚠️ 警告 |
41
- | **开头过慢** | 前 3 章无触发事件或冲突 | 🔴 关键 |
42
- | **中段塌陷** | 40-60% 位置张力明显低于前后 | 🔴 关键 |
43
- | **高潮缺失** | 85-95% 位置无张力峰值 | 🔴 关键 |
44
- | **结尾拖沓** | 高潮后超过 10% 篇幅的收尾 | ⚠️ 警告 |
45
-
46
- ---
47
-
48
- ## 节奏模型
49
-
50
- ### 经典三幕结构节奏
51
-
52
- ```
53
- 张力
54
- 5 │ ╱╲ 高潮
55
- │ ╱──╱ ╲
56
- 4 │ ╱──╱ ╲
57
- │ ╱──╱ ╲
58
- 3 │ ╱──╱ 中点 ╲
59
- │ ╱──╱ 反转 ╲
60
- 2 │ ╱──╱ ╲──
61
- │╱ 触发 余波
62
- 1 │
63
- └──────────────────────────────────────────────────
64
- 0% 10% 25% 50% 75% 90% 100%
65
- ├─第一幕─┤├──────第二幕──────┤├──第三幕──┤
66
- 25% 50% 25%
67
- ```
68
-
69
- **第一幕(0-25%)**:建立 → 触发 → 进入冲突
70
- - 张力从 1-2 上升到 3
71
- - 必须在 10-15% 出现触发事件
72
-
73
- **第二幕(25-75%)**:升级 → 中点反转 → 最黑暗时刻
74
- - 张力在 3-4 之间波动上升
75
- - 50% 处有中点反转
76
- - 75% 处达到"最黑暗时刻"
77
-
78
- **第三幕(75-100%)**:反击 → 高潮 → 余波
79
- - 张力快速上升到 5
80
- - 高潮在 85-95%
81
- - 余波快速收束
82
-
83
- ---
84
-
85
- ## 警报格式
86
-
87
- ```
88
- 📊 节奏警报
89
-
90
- 类型:中段塌陷
91
- 范围:第 12-16 章(全书 45-60%)
92
- 当前状态:
93
- 第 12 章:张力 2(纯对话,日常场景)
94
- 第 13 章:张力 2(回忆,节奏缓慢)
95
- 第 14 章:张力 2(描写,无冲突)
96
- 第 15 章:张力 2(对话,信息交换)
97
- 第 16 章:张力 3(小冲突,但力度不足)
98
- 问题分析:
99
- → 连续 4 章张力 ≤ 2,读者可能在此处流失
100
- → 中点反转(第 14 章)张力不足,未达到预期效果
101
- → 场景类型单一(对话+描写),缺少动作和冲突
102
- 全书位置:45-60%(应为张力上升区间)
103
- 修改建议:
104
- → 在第 13 章插入意外事件打破平静
105
- → 将中点反转提前到第 13 章末尾,增加冲击力
106
- → 第 14-15 章增加行动场景,提升节奏
107
- 严重程度:🔴 关键
108
- ```
109
-
110
- ---
111
-
112
- ## 体裁适配
113
-
114
- | 体裁 | 节奏特点 | 高潮间隔 | 场景偏好 |
115
- |------|---------|---------|---------|
116
- | **言情** | 情感波动为主,慢热可接受 | 3-5 章 | 对话 40%+,内心 25%+ |
117
- | **悬疑** | 层层递进,信息驱动 | 3-4 章 | 对话 35%,描写 25% |
118
- | **惊悚** | 持续高压,喘息极短 | 2-3 章 | 动作 35%+,对话 30% |
119
- | **武侠** | 文武交替,张弛有度 | 3-4 章 | 动作 30%,对话 30% |
120
- | **修仙** | 修炼+历练交替,升级节奏 | 4-6 章 | 动作 25%,描写 25% |
121
-
122
- ---
123
-
124
- ## 与 pacing-control 的分工
125
-
126
- | 维度 | pacing-control | pacing-monitor |
127
- |------|---------------|----------------|
128
- | **性质** | 创作指导(主动) | 质量监控(被动) |
129
- | **时机** | 写作前/写作中 | 写作后/分析时 |
130
- | **功能** | 提供节奏建议和模板 | 检测节奏问题并警报 |
131
- | **输出** | 节奏规划方案 | 问题诊断报告 |
132
-
133
- 两者互补:pacing-control 在写作前规划节奏,pacing-monitor 在写作后验证节奏是否达标。
134
-
135
- ---
136
-
137
- ## 与其他技能协作
138
-
139
- - **pacing-control**:互补关系,规划 + 监控
140
- - **reader-expectation**:节奏影响读者预期的满足/延迟
141
- - **multi-thread-narrative**:多线叙事中每条线的独立节奏监控
142
- - **genre-knowledge Skills**:不同体裁的节奏标准不同,需要参考体裁知识
143
- - **emotional-beats**:情感节奏是整体节奏的重要组成部分