novelws 3.1.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 (358) hide show
  1. package/CHANGELOG.md +115 -564
  2. package/README.md +81 -598
  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 +18 -103
  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 +18 -52
  10. package/dist/commands/upgrade.js.map +1 -1
  11. package/dist/core/config.d.ts +7 -36
  12. package/dist/core/config.d.ts.map +1 -1
  13. package/dist/core/config.js +11 -38
  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 +7 -73
  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 -556
  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/config/keyword-mappings.json +0 -226
  127. package/templates/knowledge/audit-config.json +0 -26
  128. package/templates/knowledge/character-profiles.md +0 -152
  129. package/templates/knowledge/character-voices.md +0 -137
  130. package/templates/knowledge/locations.md +0 -184
  131. package/templates/knowledge/world-setting.md +0 -121
  132. package/templates/knowledge-base/README.md +0 -285
  133. package/templates/knowledge-base/character-archetypes/01-hero.md +0 -233
  134. package/templates/knowledge-base/character-archetypes/02-mentor.md +0 -177
  135. package/templates/knowledge-base/character-archetypes/03-shadow.md +0 -221
  136. package/templates/knowledge-base/character-archetypes/04-ally.md +0 -178
  137. package/templates/knowledge-base/character-archetypes/05-shapeshifter.md +0 -177
  138. package/templates/knowledge-base/character-archetypes/06-trickster.md +0 -181
  139. package/templates/knowledge-base/character-archetypes/07-threshold-guardian.md +0 -177
  140. package/templates/knowledge-base/character-archetypes/08-herald.md +0 -180
  141. package/templates/knowledge-base/character-archetypes/09-father.md +0 -249
  142. package/templates/knowledge-base/character-archetypes/10-mother.md +0 -202
  143. package/templates/knowledge-base/character-archetypes/11-child.md +0 -183
  144. package/templates/knowledge-base/character-archetypes/12-sage.md +0 -202
  145. package/templates/knowledge-base/character-archetypes/README.md +0 -60
  146. package/templates/knowledge-base/character-archetypes/application-guide.md +0 -222
  147. package/templates/knowledge-base/character-archetypes/archetype-combinations.md +0 -242
  148. package/templates/knowledge-base/character-archetypes/config.yaml +0 -28
  149. package/templates/knowledge-base/character-archetypes/examples-analysis.md +0 -223
  150. package/templates/knowledge-base/craft/character-arc.md +0 -1153
  151. package/templates/knowledge-base/craft/dialogue.md +0 -1170
  152. package/templates/knowledge-base/craft/hook-design.md +0 -345
  153. package/templates/knowledge-base/craft/pacing.md +0 -1200
  154. package/templates/knowledge-base/craft/power-system.md +0 -254
  155. package/templates/knowledge-base/craft/scene-structure.md +0 -1136
  156. package/templates/knowledge-base/craft/show-not-tell.md +0 -1012
  157. package/templates/knowledge-base/craft/story-structures.md +0 -134
  158. package/templates/knowledge-base/craft/tension-management.md +0 -168
  159. package/templates/knowledge-base/emotional-beats/01-first-meeting.md +0 -145
  160. package/templates/knowledge-base/emotional-beats/02-bonding-moment.md +0 -226
  161. package/templates/knowledge-base/emotional-beats/03-declaration.md +0 -284
  162. package/templates/knowledge-base/emotional-beats/04-triumph.md +0 -240
  163. package/templates/knowledge-base/emotional-beats/05-reunion.md +0 -396
  164. package/templates/knowledge-base/emotional-beats/06-forgiveness.md +0 -204
  165. package/templates/knowledge-base/emotional-beats/07-betrayal.md +0 -204
  166. package/templates/knowledge-base/emotional-beats/08-loss.md +0 -214
  167. package/templates/knowledge-base/emotional-beats/09-rejection.md +0 -254
  168. package/templates/knowledge-base/emotional-beats/10-failure.md +0 -244
  169. package/templates/knowledge-base/emotional-beats/11-misunderstanding.md +0 -205
  170. package/templates/knowledge-base/emotional-beats/12-farewell.md +0 -283
  171. package/templates/knowledge-base/emotional-beats/13-revelation.md +0 -242
  172. package/templates/knowledge-base/emotional-beats/14-point-of-no-return.md +0 -215
  173. package/templates/knowledge-base/emotional-beats/15-dark-night.md +0 -244
  174. package/templates/knowledge-base/emotional-beats/16-sacrifice.md +0 -246
  175. package/templates/knowledge-base/emotional-beats/17-awakening.md +0 -246
  176. package/templates/knowledge-base/emotional-beats/18-confrontation.md +0 -217
  177. package/templates/knowledge-base/emotional-beats/19-bittersweet-goodbye.md +0 -368
  178. package/templates/knowledge-base/emotional-beats/20-moral-dilemma.md +0 -248
  179. package/templates/knowledge-base/emotional-beats/21-temptation.md +0 -240
  180. package/templates/knowledge-base/emotional-beats/22-redemption.md +0 -210
  181. package/templates/knowledge-base/emotional-beats/README.md +0 -104
  182. package/templates/knowledge-base/emotional-beats/beat-sequences.md +0 -276
  183. package/templates/knowledge-base/emotional-beats/config.yaml +0 -30
  184. package/templates/knowledge-base/emotional-beats/pacing-guide.md +0 -390
  185. package/templates/knowledge-base/genres/game-lit.md +0 -174
  186. package/templates/knowledge-base/genres/historical.md +0 -1127
  187. package/templates/knowledge-base/genres/horror.md +0 -211
  188. package/templates/knowledge-base/genres/military.md +0 -209
  189. package/templates/knowledge-base/genres/mystery.md +0 -1123
  190. package/templates/knowledge-base/genres/rebirth.md +0 -177
  191. package/templates/knowledge-base/genres/revenge.md +0 -846
  192. package/templates/knowledge-base/genres/romance.md +0 -948
  193. package/templates/knowledge-base/genres/sci-fi.md +0 -156
  194. package/templates/knowledge-base/genres/sports.md +0 -216
  195. package/templates/knowledge-base/genres/thriller.md +0 -166
  196. package/templates/knowledge-base/genres/urban.md +0 -170
  197. package/templates/knowledge-base/genres/workplace.md +0 -214
  198. package/templates/knowledge-base/genres/wuxia.md +0 -143
  199. package/templates/knowledge-base/genres/xuanhuan.md +0 -234
  200. package/templates/knowledge-base/genres/youth.md +0 -219
  201. package/templates/knowledge-base/references/README.md +0 -96
  202. package/templates/knowledge-base/references/china-1920s/culture.md +0 -423
  203. package/templates/knowledge-base/references/china-1920s/daily-life.md +0 -616
  204. package/templates/knowledge-base/references/china-1920s/overview.md +0 -298
  205. package/templates/knowledge-base/references/china-1920s/society.md +0 -703
  206. package/templates/knowledge-base/references/china-1920s/warlords.md +0 -427
  207. package/templates/knowledge-base/references/cultivation-world/daily-life.md +0 -108
  208. package/templates/knowledge-base/references/cultivation-world/overview.md +0 -64
  209. package/templates/knowledge-base/references/cultivation-world/power-system.md +0 -108
  210. package/templates/knowledge-base/references/cultivation-world/sects.md +0 -104
  211. package/templates/knowledge-base/references/cultivation-world/world-setting.md +0 -108
  212. package/templates/knowledge-base/references/modern-workplace/corporate.md +0 -115
  213. package/templates/knowledge-base/references/modern-workplace/daily-life.md +0 -129
  214. package/templates/knowledge-base/references/modern-workplace/overview.md +0 -73
  215. package/templates/knowledge-base/references/modern-workplace/relationships.md +0 -107
  216. package/templates/knowledge-base/references/modern-workplace/tech-industry.md +0 -131
  217. package/templates/knowledge-base/references/tang-dynasty/culture.md +0 -135
  218. package/templates/knowledge-base/references/tang-dynasty/daily-life.md +0 -139
  219. package/templates/knowledge-base/references/tang-dynasty/overview.md +0 -76
  220. package/templates/knowledge-base/references/tang-dynasty/politics.md +0 -121
  221. package/templates/knowledge-base/references/tang-dynasty/society.md +0 -126
  222. package/templates/knowledge-base/requirements/README.md +0 -240
  223. package/templates/knowledge-base/requirements/anti-ai-v3.md +0 -46
  224. package/templates/knowledge-base/requirements/anti-ai-v4-deprecated.md +0 -442
  225. package/templates/knowledge-base/requirements/anti-ai-v5-balanced.md +0 -203
  226. package/templates/knowledge-base/requirements/concretization.md +0 -90
  227. package/templates/knowledge-base/requirements/fast-paced.md +0 -552
  228. package/templates/knowledge-base/requirements/no-poison.md +0 -60
  229. package/templates/knowledge-base/requirements/romance-angst.md +0 -102
  230. package/templates/knowledge-base/requirements/romance-sweet.md +0 -63
  231. package/templates/knowledge-base/requirements/serious-literature.md +0 -45
  232. package/templates/knowledge-base/requirements/strong-emotion.md +0 -60
  233. package/templates/knowledge-base/styles/README.md +0 -302
  234. package/templates/knowledge-base/styles/ancient-style.md +0 -579
  235. package/templates/knowledge-base/styles/literary.md +0 -439
  236. package/templates/knowledge-base/styles/minimal.md +0 -472
  237. package/templates/knowledge-base/styles/natural-voice.md +0 -930
  238. package/templates/knowledge-base/styles/web-novel.md +0 -525
  239. package/templates/memory/personal-voice.md +0 -113
  240. package/templates/scripts/README.md +0 -187
  241. package/templates/scripts/bash/analyze-story.sh +0 -170
  242. package/templates/scripts/bash/check-analyze-stage.sh +0 -108
  243. package/templates/scripts/bash/check-consistency.sh +0 -463
  244. package/templates/scripts/bash/check-facts.sh +0 -214
  245. package/templates/scripts/bash/check-plot.sh +0 -374
  246. package/templates/scripts/bash/check-timeline.sh +0 -346
  247. package/templates/scripts/bash/check-world.sh +0 -395
  248. package/templates/scripts/bash/check-writing-state.sh +0 -854
  249. package/templates/scripts/bash/clarify-story.sh +0 -117
  250. package/templates/scripts/bash/common.sh +0 -151
  251. package/templates/scripts/bash/constitution.sh +0 -114
  252. package/templates/scripts/bash/generate-tasks.sh +0 -65
  253. package/templates/scripts/bash/init-tracking.sh +0 -183
  254. package/templates/scripts/bash/manage-relations.sh +0 -174
  255. package/templates/scripts/bash/migrate-tracking.sh +0 -183
  256. package/templates/scripts/bash/plan-story.sh +0 -100
  257. package/templates/scripts/bash/specify-story.sh +0 -93
  258. package/templates/scripts/bash/tasks-story.sh +0 -96
  259. package/templates/scripts/bash/test-word-count.sh +0 -182
  260. package/templates/scripts/bash/tests/bench-preload-cache.sh +0 -100
  261. package/templates/scripts/bash/tests/run-all-benchmarks.sh +0 -16
  262. package/templates/scripts/bash/tests/test-cache-semantics.sh +0 -199
  263. package/templates/scripts/bash/tests/test-cross-platform.sh +0 -35
  264. package/templates/scripts/bash/tests/test-edge-cases-bash.sh +0 -60
  265. package/templates/scripts/bash/tests/test-phase1-bash.sh +0 -28
  266. package/templates/scripts/bash/tests/test-preload-cache.sh +0 -123
  267. package/templates/scripts/bash/tests/test-regex-precompile.sh +0 -89
  268. package/templates/scripts/bash/tests/test-regression-bash.sh +0 -42
  269. package/templates/scripts/bash/tests/test-task6-verification.sh +0 -200
  270. package/templates/scripts/bash/text-audit.sh +0 -144
  271. package/templates/scripts/bash/track-progress.sh +0 -194
  272. package/templates/scripts/powershell/analyze-story.ps1 +0 -174
  273. package/templates/scripts/powershell/check-analyze-stage.ps1 +0 -110
  274. package/templates/scripts/powershell/check-consistency.ps1 +0 -138
  275. package/templates/scripts/powershell/check-facts.ps1 +0 -195
  276. package/templates/scripts/powershell/check-plot.ps1 +0 -139
  277. package/templates/scripts/powershell/check-timeline.ps1 +0 -112
  278. package/templates/scripts/powershell/check-writing-state.ps1 +0 -486
  279. package/templates/scripts/powershell/clarify-story.ps1 +0 -107
  280. package/templates/scripts/powershell/common.ps1 +0 -36
  281. package/templates/scripts/powershell/constitution.ps1 +0 -145
  282. package/templates/scripts/powershell/generate-tasks.ps1 +0 -70
  283. package/templates/scripts/powershell/init-tracking.ps1 +0 -98
  284. package/templates/scripts/powershell/manage-relations.ps1 +0 -134
  285. package/templates/scripts/powershell/migrate-tracking.ps1 +0 -145
  286. package/templates/scripts/powershell/plan-story.ps1 +0 -99
  287. package/templates/scripts/powershell/specify-story.ps1 +0 -85
  288. package/templates/scripts/powershell/tests/bench-ps-cache.ps1 +0 -80
  289. package/templates/scripts/powershell/tests/test-cross-platform.ps1 +0 -27
  290. package/templates/scripts/powershell/tests/test-edge-cases-ps.ps1 +0 -29
  291. package/templates/scripts/powershell/tests/test-phase1-ps.ps1 +0 -28
  292. package/templates/scripts/powershell/tests/test-ps-cache.ps1 +0 -73
  293. package/templates/scripts/powershell/tests/test-regression-ps.ps1 +0 -40
  294. package/templates/scripts/powershell/text-audit.ps1 +0 -102
  295. package/templates/scripts/powershell/track-progress.ps1 +0 -105
  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/specification-example.md +0 -146
  351. package/templates/tracking/story-facts.json +0 -5
  352. package/templates/tracking/summary/characters-summary.json +0 -7
  353. package/templates/tracking/summary/plot-summary.json +0 -13
  354. package/templates/tracking/summary/timeline-summary.json +0 -8
  355. package/templates/tracking/summary/volume-summaries.json +0 -5
  356. package/templates/tracking/tracking-log.md +0 -110
  357. package/templates/tracking/validation-rules.json +0 -128
  358. /package/templates/{memory → resources}/constitution.md +0 -0
@@ -1,471 +0,0 @@
1
- ---
2
- name: volume-summary
3
- description: 生成指定卷的完整摘要报告(章节统计、角色分析、情节推进、质量指标)
4
- argument-hint: vol-XX [--export]
5
- allowed-tools: Read, Glob, Grep, Bash
6
- ---
7
-
8
- # /volume-summary — 卷级摘要生成器
9
-
10
- 生成指定卷的完整摘要报告,涵盖章节统计、角色分析、情节推进、质量指标等。适用于超长篇小说的卷末回顾和质量复查。
11
-
12
- ---
13
-
14
- ## 核心功能
15
-
16
- 1. **章节统计** - 字数、平均长度、更新频率
17
- 2. **角色分析** - 出场统计、关系变化、弧线推进
18
- 3. **情节推进** - 伏笔铺设与回收、主线进度
19
- 4. **质量指标** - 节奏评分、一致性检查、爽点密度
20
- 5. **关键事件** - 本卷重要转折点时间线
21
-
22
- ---
23
-
24
- ## 数据加载策略
25
-
26
- 本命令采用 **三层回退** 机制加载卷数据:
27
-
28
- ### Layer 3: MCP 查询(优先)
29
-
30
- ```typescript
31
- // 如果 MCP 已启用且数据已同步
32
- const volumeStats = await mcp.call('novelws-mcp/stats_volume', {
33
- volume: 'vol-03'
34
- });
35
-
36
- const characters = await mcp.call('novelws-mcp/query_characters', {
37
- volume: 'vol-03'
38
- });
39
-
40
- const plotData = await mcp.call('novelws-mcp/query_plot', {
41
- volume: 'vol-03',
42
- status: 'all'
43
- });
44
-
45
- const timeline = await mcp.call('novelws-mcp/query_timeline', {
46
- volume: 'vol-03'
47
- });
48
- ```
49
-
50
- **优势**:
51
- - 单次调用获取完整卷统计
52
- - 自动聚合跨章节数据
53
- - 高性能跨表关联查询
54
-
55
- ### Layer 2: 分片 JSON(次优)
56
-
57
- ```bash
58
- # 当 spec/tracking/volumes/ 存在时
59
- VOLUME_DIR="spec/tracking/volumes/vol-03"
60
-
61
- # 读取该卷所有 tracking 数据
62
- cat "$VOLUME_DIR/character-state.json"
63
- cat "$VOLUME_DIR/relationships.json"
64
- cat "$VOLUME_DIR/plot-tracker.json"
65
- cat "$VOLUME_DIR/timeline.json"
66
- cat "$VOLUME_DIR/story-facts.json"
67
- ```
68
-
69
- **适用场景**:
70
- - MCP 未启用或同步延迟
71
- - 需要精确章节级别的数据
72
- - 手动编辑 JSON 后即时生成摘要
73
-
74
- ### Layer 1: 单文件 JSON(兜底)
75
-
76
- ```bash
77
- # 传统模式,加载完整文件后手动过滤卷
78
- character_state=$(cat spec/tracking/character-state.json | jq ".characters | map(select(.volume == \"vol-03\"))")
79
- ```
80
-
81
- **向下兼容**:小型项目(< 300 章)继续使用单文件模式,摘要覆盖全书
82
-
83
- ---
84
-
85
- ## 执行流程
86
-
87
- ### Step 1: 解析参数
88
-
89
- ```javascript
90
- const args = parseArguments($ARGUMENTS);
91
-
92
- // 卷编号(必填)
93
- const volumeId = args.volume || args._[0]; // vol-03
94
- if (!volumeId) {
95
- throw new Error("请指定卷编号:/volume-summary vol-XX");
96
- }
97
-
98
- // 导出选项(可选)
99
- const shouldExport = args.export || false;
100
- ```
101
-
102
- ### Step 2: 检测数据模式
103
-
104
- ```javascript
105
- const isSharded = fs.existsSync('spec/tracking/volumes/');
106
- const hasMCP = fs.existsSync('mcp-servers.json');
107
-
108
- // 选择数据源
109
- let dataSource;
110
- if (hasMCP) {
111
- dataSource = 'mcp';
112
- } else if (isSharded) {
113
- dataSource = 'sharded';
114
- } else {
115
- dataSource = 'single-file';
116
- }
117
- ```
118
-
119
- ### Step 3: 加载卷数据
120
-
121
- 根据数据源加载:
122
-
123
- #### MCP 模式
124
-
125
- ```typescript
126
- const data = await loadVolumeDataFromMCP(volumeId);
127
- ```
128
-
129
- #### 分片模式
130
-
131
- ```bash
132
- VOLUME_DIR="spec/tracking/volumes/${volumeId}"
133
-
134
- if [[ ! -d "$VOLUME_DIR" ]]; then
135
- echo "错误:卷目录不存在:$VOLUME_DIR"
136
- exit 1
137
- fi
138
-
139
- # 读取所有 tracking 文件
140
- character_state=$(cat "$VOLUME_DIR/character-state.json")
141
- relationships=$(cat "$VOLUME_DIR/relationships.json")
142
- plot_tracker=$(cat "$VOLUME_DIR/plot-tracker.json")
143
- timeline=$(cat "$VOLUME_DIR/timeline.json")
144
- ```
145
-
146
- #### 单文件模式
147
-
148
- ```javascript
149
- // 加载完整 tracking 数据,按卷过滤
150
- const allData = loadTrackingFiles();
151
- const volumeData = filterByVolume(allData, volumeId);
152
- ```
153
-
154
- ### Step 4: 读取章节内容
155
-
156
- ```javascript
157
- // 根据卷编号确定章节范围
158
- const volumeConfig = readCreativePlan().volumes.find(v => v.id === volumeId);
159
- const chapterRange = volumeConfig.chapters; // [51, 100]
160
-
161
- // 读取章节文件
162
- const chapters = [];
163
- for (let i = chapterRange[0]; i <= chapterRange[1]; i++) {
164
- const chapterPath = `stories/*/content/ch-${String(i).padStart(3, '0')}.md`;
165
- if (fs.existsSync(chapterPath)) {
166
- chapters.push({
167
- number: i,
168
- content: fs.readFileSync(chapterPath, 'utf-8'),
169
- wordCount: countWords(content)
170
- });
171
- }
172
- }
173
- ```
174
-
175
- ### Step 5: 生成摘要报告
176
-
177
- 整合所有数据,生成结构化摘要:
178
-
179
- ```markdown
180
- # 第 [X] 卷摘要报告
181
-
182
- **生成时间**:2026-02-14
183
- **数据范围**:第 [start]-[end] 章
184
- **数据来源**:[MCP/分片/单文件]
185
-
186
- ---
187
-
188
- ## 一、章节统计
189
-
190
- | 指标 | 数值 |
191
- |------|------|
192
- | 总章节数 | [X] 章 |
193
- | 总字数 | [X] 字 |
194
- | 平均章节长度 | [X] 字/章 |
195
- | 最长章节 | 第 [X] 章([X] 字)|
196
- | 最短章节 | 第 [X] 章([X] 字)|
197
- | 更新时间跨度 | [X] 天 |
198
-
199
- ---
200
-
201
- ## 二、角色分析
202
-
203
- ### 主要角色出场统计
204
-
205
- | 角色 | 出场章节数 | 对话量 | 关系变化 | 弧线进度 |
206
- |------|-----------|--------|---------|---------|
207
- | [角色A] | [X] 章 | [X] 句 | [X] 次 | [X]% |
208
- | [角色B] | [X] 章 | [X] 句 | [X] 次 | [X]% |
209
-
210
- ### 关系网络变化
211
-
212
- - **新增关系**:[X] 对
213
- - [角色A] ↔ [角色B]:陌生 → 盟友
214
- - [角色C] ↔ [角色D]:友好 → 敌对
215
-
216
- - **关系深化**:[X] 对
217
- - [角色E] ↔ [角色F]:普通朋友 → 生死之交
218
-
219
- ### 角色成长里程碑
220
-
221
- - **[角色A]**:
222
- - 第 [X] 章:突破筑基期
223
- - 第 [Y] 章:确立复仇动机
224
- - 第 [Z] 章:首次战胜强敌
225
-
226
- ---
227
-
228
- ## 三、情节推进
229
-
230
- ### 主线进度
231
-
232
- | 情节线 | 进度 | 关键事件 |
233
- |--------|------|---------|
234
- | [主线A] | [X]% | 第 [X] 章:[事件] |
235
- | [支线B] | [X]% | 第 [Y] 章:[事件] |
236
-
237
- ### 伏笔管理
238
-
239
- - **铺设伏笔**:[X] 个
240
- - 第 [X] 章:[伏笔描述]
241
- - 第 [Y] 章:[伏笔描述]
242
-
243
- - **回收伏笔**:[X] 个
244
- - 第 [X] 章:回收"[伏笔名]"(铺设于第 [Y] 章)
245
-
246
- - **待回收伏笔**:[X] 个
247
- - "[伏笔名]"(紧急度:[X])
248
-
249
- ### 本卷高潮
250
-
251
- - **第 [X] 章**:[高潮描述]
252
- - 爽点类型:[类型]
253
- - 情感强度:★★★★☆
254
-
255
- ---
256
-
257
- ## 四、质量指标
258
-
259
- ### 节奏评分
260
-
261
- ```
262
- 章节节奏曲线(1-10 分):
263
- 第51章: ████████░░ 8/10
264
- 第52章: ██████░░░░ 6/10
265
- 第53章: ███████░░░ 7/10
266
- 第54章: █████████░ 9/10 ← 高潮
267
- 第55章: ████░░░░░░ 4/10
268
- ...
269
-
270
- 平均节奏:7.2/10
271
- 节奏变化合理性:✓ 张弛有度
272
- ```
273
-
274
- ### 爽点密度
275
-
276
- - **总爽点数**:[X] 个
277
- - **平均间隔**:每 [X] 章 1 个
278
- - **爽点类型分布**:
279
- - 战斗:[X] 个
280
- - 智斗:[X] 个
281
- - 情感:[X] 个
282
- - 反转:[X] 个
283
-
284
- ### 一致性检查
285
-
286
- | 检查项 | 状态 | 详情 |
287
- |--------|------|------|
288
- | 角色性格一致 | ✓ | 无矛盾 |
289
- | 时间线连续 | ⚠️ | 第 [X]-[Y] 章存在跳跃 |
290
- | 力量体系一致 | ✓ | 无矛盾 |
291
- | 伏笔逻辑自洽 | ✓ | 无矛盾 |
292
-
293
- ---
294
-
295
- ## 五、关键事件时间线
296
-
297
- ```
298
- 第 51 章 | 万历三十年五月 | 主角进入内阁
299
- 第 53 章 | 万历三十年五月 | 与申时行派系首次冲突
300
- 第 55 章 | 万历三十年六月 | 沈玉卿身世揭露
301
- 第 58 章 | 万历三十年六月 | 东厂介入
302
- 第 60 章 | 万历三十年七月 | 卷末高潮:内阁政变
303
- ```
304
-
305
- ---
306
-
307
- ## 六、下一卷建议
308
-
309
- ### 需要延续的线索
310
-
311
- - **伏笔**:[伏笔名](待第 [X] 卷回收)
312
- - **关系**:[角色A] ↔ [角色B](需进一步发展)
313
- - **冲突**:[冲突描述](需升级)
314
-
315
- ### 潜在风险
316
-
317
- - ⚠️ 角色 [X] 已 [N] 章未出场,建议第 [Y] 卷安排戏份
318
- - ⚠️ 情节线 [X] 进度缓慢,建议加快推进
319
- - ⚠️ 伏笔 [X] 紧急度过高,建议尽快回收
320
-
321
- ### 质量提升建议
322
-
323
- - 节奏:第 [X]-[Y] 章节奏平缓,建议在第 [Z] 卷前半段增加冲突
324
- - 爽点:本卷爽点密度偏低,建议第 [Z] 卷提升至每 3-4 章 1 个
325
- - 角色:[角色X] 戏份不足,建议在第 [Z] 卷安排独立支线
326
-
327
- ---
328
-
329
- ## 七、导出选项
330
-
331
- ### 保存路径
332
-
333
- 摘要报告已保存至:
334
- - **Markdown**: `spec/summaries/vol-[XX]-summary.md`
335
- - **JSON**: `spec/summaries/vol-[XX]-summary.json`
336
-
337
- ### 使用建议
338
-
339
- - 在开始下一卷写作前,先阅读本卷摘要
340
- - 定期(每 3-5 卷)执行全局一致性检查
341
- - 导出 JSON 可用于数据分析和可视化
342
- ```
343
-
344
- ### Step 6: 可选导出
345
-
346
- 如果用户指定 `--export`:
347
-
348
- ```javascript
349
- // 保存 Markdown 格式
350
- fs.writeFileSync(
351
- `spec/summaries/${volumeId}-summary.md`,
352
- summaryMarkdown
353
- );
354
-
355
- // 保存 JSON 格式(结构化数据)
356
- fs.writeFileSync(
357
- `spec/summaries/${volumeId}-summary.json`,
358
- JSON.stringify(summaryData, null, 2)
359
- );
360
- ```
361
-
362
- ---
363
-
364
- ## 使用场景
365
-
366
- ### 场景 1:卷末回顾
367
-
368
- ```bash
369
- 用户:我刚写完第 3 卷,想回顾一下
370
- 助手:好的,让我为您生成第 3 卷的完整摘要
371
-
372
- 用户:/volume-summary vol-03
373
- 助手:【生成中...】
374
-
375
- 检测到 MCP 已启用,使用高性能查询...
376
- ✓ 章节统计加载完成(101-150 章,共 50 章)
377
- ✓ 角色数据加载完成(12 个主要角色)
378
- ✓ 情节数据加载完成(5 条主线,8 个伏笔)
379
- ✓ 质量指标计算完成
380
-
381
- 【第 3 卷摘要报告】
382
- [完整报告内容...]
383
-
384
- 💡 建议:第 3 卷整体质量良好,但有 2 个伏笔紧急度较高,建议在第 4 卷前半段回收。
385
- ```
386
-
387
- ### 场景 2:导出数据分析
388
-
389
- ```bash
390
- 用户:/volume-summary vol-02 --export
391
- 助手:生成第 2 卷摘要并导出...
392
-
393
- ✓ 摘要报告已生成
394
- ✓ 已导出至:spec/summaries/vol-02-summary.md
395
- ✓ 已导出至:spec/summaries/vol-02-summary.json
396
-
397
- JSON 数据可用于:
398
- - 导入可视化工具(如 Tableau)
399
- - 自定义数据分析脚本
400
- - 跨卷对比分析
401
- ```
402
-
403
- ### 场景 3:分片模式
404
-
405
- ```bash
406
- 用户:/volume-summary vol-05
407
- 助手:检测到分片模式...
408
-
409
- 数据来源:spec/tracking/volumes/vol-05/
410
- ✓ character-state.json
411
- ✓ relationships.json
412
- ✓ plot-tracker.json
413
- ✓ timeline.json
414
-
415
- 【第 5 卷摘要报告】
416
- [完整报告内容...]
417
- ```
418
-
419
- ---
420
-
421
- ## 与其他命令的关系
422
-
423
- ```text
424
- /write → 完成卷写作
425
-
426
- /volume-summary → 生成卷摘要(本命令)
427
-
428
- /analyze --volume vol-XX → 深度分析(可选)
429
-
430
- /plan --detail vol-XX+1 → 规划下一卷
431
- ```
432
-
433
- **互补关系**:
434
- - `/volume-summary` 提供快速概览,`/analyze` 提供深度诊断
435
- - `/recap --full vol-XX` 重建上下文,`/volume-summary` 回顾数据
436
- - `/track --volume vol-XX` 更新数据,`/volume-summary` 查看摘要
437
-
438
- ---
439
-
440
- ## 注意事项
441
-
442
- ### 数据完整性
443
-
444
- - 确保 tracking 数据已同步至最新章节
445
- - 如果使用 MCP,建议先执行 `/track --sync --incremental`
446
- - 分片模式下,确保目标卷目录存在
447
-
448
- ### 性能考虑
449
-
450
- - MCP 模式生成速度最快(< 5 秒)
451
- - 分片模式需读取多个 JSON 文件(10-30 秒)
452
- - 单文件模式在超长篇项目中可能较慢(> 1 分钟)
453
-
454
- ### 报告精度
455
-
456
- - 自动生成的质量指标为参考值,不替代人工审查
457
- - 建议结合 `/analyze` 进行深度验证
458
- - 角色出场统计基于文本搜索,可能有误差
459
-
460
- ---
461
-
462
- ## 🔗 命令链式提示
463
-
464
- **命令执行完成后,自动附加下一步建议**:
465
-
466
- ```
467
- 💡 下一步建议:
468
- 1️⃣ `/analyze --volume vol-[XX]` — 深度分析本卷质量
469
- 2️⃣ `/plan --detail vol-[XX+1]` — 规划下一卷情节
470
- 3️⃣ `/revise --volume vol-[XX]` — 根据摘要发现的问题修改本卷
471
- ```
@@ -1,226 +0,0 @@
1
- {
2
- "version": "1.2.0",
3
- "description": "关键词触发机制的映射表(含预编译正则)",
4
- "mappings": {
5
- "craft-knowledge": {
6
- "dialogue": {
7
- "keywords": ["对话", "台词", "说话", "对白", "conversation", "dialogue"],
8
- "regex": "对话|台词|说话|对白|conversation|dialogue",
9
- "regex_flags": "i",
10
- "resources": [
11
- "templates/knowledge-base/craft/dialogue.md",
12
- "templates/skills/writing-techniques/dialogue-techniques/SKILL.md"
13
- ],
14
- "priority": 1
15
- },
16
- "scene-structure": {
17
- "keywords": ["场景", "镜头", "画面", "scene", "structure"],
18
- "regex": "场景|镜头|画面|scene|structure",
19
- "regex_flags": "i",
20
- "resources": [
21
- "templates/knowledge-base/craft/scene-structure.md",
22
- "templates/skills/writing-techniques/scene-structure/SKILL.md"
23
- ],
24
- "priority": 1
25
- },
26
- "character-arc": {
27
- "keywords": ["角色成长", "角色弧线", "弧线", "转变", "成长", "character arc", "transformation"],
28
- "regex": "角色成长|角色弧线|弧线|转变|成长|character\\s*arc|transformation",
29
- "regex_flags": "i",
30
- "resources": [
31
- "templates/knowledge-base/craft/character-arc.md",
32
- "templates/skills/writing-techniques/character-arc/SKILL.md"
33
- ],
34
- "priority": 1
35
- },
36
- "pacing": {
37
- "keywords": ["节奏", "拖沓", "太快", "太慢", "过快", "过慢", "pacing", "rhythm"],
38
- "regex": "节奏|拖沓|太快|太慢|过快|过慢|pacing|rhythm",
39
- "regex_flags": "i",
40
- "resources": [
41
- "templates/knowledge-base/craft/pacing.md",
42
- "templates/skills/writing-techniques/pacing-control/SKILL.md"
43
- ],
44
- "priority": 1
45
- },
46
- "show-not-tell": {
47
- "keywords": ["展示", "描写", "tell", "show", "showing", "telling"],
48
- "regex": "展示|描写|tell|show|showing|telling",
49
- "regex_flags": "i",
50
- "resources": [
51
- "templates/knowledge-base/craft/show-not-tell.md"
52
- ],
53
- "priority": 1
54
- },
55
- "hook-design": {
56
- "keywords": ["钩子", "悬念", "章末", "hook", "cliffhanger", "结尾"],
57
- "regex": "钩子|悬念|章末|hook|cliffhanger|结尾",
58
- "regex_flags": "i",
59
- "resources": [
60
- "templates/knowledge-base/craft/hook-design.md"
61
- ],
62
- "priority": 1
63
- },
64
- "power-system": {
65
- "keywords": ["力量体系", "战力", "境界", "等级", "power system", "combat"],
66
- "regex": "力量体系|战力|境界|等级|power\\s*system|combat",
67
- "regex_flags": "i",
68
- "resources": [
69
- "templates/knowledge-base/craft/power-system.md"
70
- ],
71
- "priority": 1
72
- },
73
- "tension-management": {
74
- "keywords": ["紧张感", "张力", "信息差", "时间压力", "两难", "tension", "dilemma"],
75
- "regex": "紧张感|张力|信息差|时间压力|两难|tension|dilemma",
76
- "regex_flags": "i",
77
- "resources": [
78
- "templates/knowledge-base/craft/tension-management.md"
79
- ],
80
- "priority": 1
81
- }
82
- },
83
- "genre-knowledge": {
84
- "romance": {
85
- "keywords": ["言情", "恋爱", "感情", "爱情", "romance", "love"],
86
- "regex": "言情|恋爱|感情|爱情|romance|love",
87
- "regex_flags": "i",
88
- "resources": [
89
- "templates/knowledge-base/genres/romance.md",
90
- "templates/skills/genre-knowledge/romance/SKILL.md"
91
- ],
92
- "priority": 2
93
- },
94
- "mystery": {
95
- "keywords": ["悬疑", "推理", "线索", "mystery", "detective", "clue"],
96
- "regex": "悬疑|推理|线索|mystery|detective|clue",
97
- "regex_flags": "i",
98
- "resources": [
99
- "templates/knowledge-base/genres/mystery.md",
100
- "templates/skills/genre-knowledge/mystery/SKILL.md"
101
- ],
102
- "priority": 2
103
- },
104
- "wuxia": {
105
- "keywords": ["武侠", "江湖", "侠客", "武功", "wuxia", "martial arts"],
106
- "regex": "武侠|江湖|侠客|武功|wuxia|martial\\s*arts",
107
- "regex_flags": "i",
108
- "resources": [
109
- "templates/knowledge-base/genres/wuxia.md"
110
- ],
111
- "priority": 2
112
- },
113
- "historical": {
114
- "keywords": ["历史", "古代", "朝代", "宫廷", "historical", "dynasty"],
115
- "regex": "历史|古代|朝代|宫廷|historical|dynasty",
116
- "regex_flags": "i",
117
- "resources": [
118
- "templates/knowledge-base/genres/historical.md"
119
- ],
120
- "priority": 2
121
- },
122
- "sci-fi": {
123
- "keywords": ["科幻", "未来", "太空", "星际", "sci-fi", "science fiction"],
124
- "regex": "科幻|未来|太空|星际|sci-fi|science\\s*fiction",
125
- "regex_flags": "i",
126
- "resources": [
127
- "templates/knowledge-base/genres/sci-fi.md"
128
- ],
129
- "priority": 2
130
- },
131
- "thriller": {
132
- "keywords": ["惊悚", "恐怖", "紧张", "thriller", "horror", "suspense"],
133
- "regex": "惊悚|恐怖|紧张|thriller|horror|suspense",
134
- "regex_flags": "i",
135
- "resources": [
136
- "templates/knowledge-base/genres/thriller.md"
137
- ],
138
- "priority": 2
139
- },
140
- "revenge": {
141
- "keywords": ["复仇", "报仇", "仇恨", "revenge", "vengeance"],
142
- "regex": "复仇|报仇|仇恨|revenge|vengeance",
143
- "regex_flags": "i",
144
- "resources": [
145
- "templates/knowledge-base/genres/revenge.md"
146
- ],
147
- "priority": 2
148
- },
149
- "xuanhuan": {
150
- "keywords": ["玄幻", "修仙", "修炼", "境界", "灵气", "宗门", "xuanhuan", "cultivation"],
151
- "regex": "玄幻|修仙|修炼|境界|灵气|宗门|xuanhuan|cultivation",
152
- "regex_flags": "i",
153
- "resources": [
154
- "templates/knowledge-base/genres/xuanhuan.md"
155
- ],
156
- "priority": 2
157
- },
158
- "urban": {
159
- "keywords": ["都市", "现代", "城市", "职场", "urban", "modern", "city"],
160
- "regex": "都市|现代|城市|职场|urban|modern|city",
161
- "regex_flags": "i",
162
- "resources": [
163
- "templates/knowledge-base/genres/urban.md"
164
- ],
165
- "priority": 2
166
- },
167
- "game-lit": {
168
- "keywords": ["游戏", "系统", "面板", "副本", "game", "system", "dungeon"],
169
- "regex": "游戏|系统|面板|副本|game|system|dungeon",
170
- "regex_flags": "i",
171
- "resources": [
172
- "templates/knowledge-base/genres/game-lit.md"
173
- ],
174
- "priority": 2
175
- },
176
- "rebirth": {
177
- "keywords": ["重生", "穿越", "回到过去", "前世", "rebirth", "reincarnation", "transmigration"],
178
- "regex": "重生|穿越|回到过去|前世|rebirth|reincarnation|transmigration",
179
- "regex_flags": "i",
180
- "resources": [
181
- "templates/knowledge-base/genres/rebirth.md"
182
- ],
183
- "priority": 2
184
- }
185
- },
186
- "quality-assurance": {
187
- "consistency": {
188
- "keywords": ["一致性", "矛盾", "冲突", "consistency", "contradiction"],
189
- "regex": "一致性|矛盾|冲突|consistency|contradiction",
190
- "regex_flags": "i",
191
- "resources": [
192
- "templates/skills/quality-assurance/consistency-checker/SKILL.md"
193
- ],
194
- "priority": 3
195
- }
196
- }
197
- },
198
- "regex-patterns": {
199
- "dialogue": "对话|台词|说话|对白",
200
- "scene": "场景|镜头|画面",
201
- "character-arc": "角色成长|角色弧线|弧线|转变|成长",
202
- "pacing": "节奏|拖沓|太快|太慢|过快|过慢",
203
- "show-tell": "展示|描写|tell|show",
204
- "hook-design": "钩子|悬念|章末|hook|cliffhanger|结尾",
205
- "power-system": "力量体系|战力|境界|等级",
206
- "romance": "言情|恋爱|感情|爱情",
207
- "mystery": "悬疑|推理|线索",
208
- "wuxia": "武侠|江湖|侠客|武功",
209
- "historical": "历史|古代|朝代|宫廷",
210
- "sci-fi": "科幻|未来|太空|星际",
211
- "thriller": "惊悚|恐怖|紧张",
212
- "revenge": "复仇|报仇|仇恨",
213
- "xuanhuan": "玄幻|修仙|修炼|境界|灵气|宗门",
214
- "consistency": "一致性|矛盾|冲突",
215
- "tension-management": "紧张感|张力|信息差|时间压力|两难",
216
- "urban": "都市|现代|城市|职场",
217
- "game-lit": "游戏|系统|面板|副本",
218
- "rebirth": "重生|穿越|回到过去|前世"
219
- },
220
- "notes": {
221
- "priority": "优先级数字越小越高(1 最高)",
222
- "usage": "scripts/bash/check-writing-state.sh 会读取此文件",
223
- "extensibility": "可通过 specification.md 的 resource-loading.keyword-triggers.custom-mappings 扩展",
224
- "performance": "regex 字段为预编译正则表达式,脚本直接使用,避免运行时构建"
225
- }
226
- }