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,460 +0,0 @@
1
- ---
2
- name: writing-balance-monitor
3
- description: "Use when writing to monitor writing balance across 6 dimensions - provides real-time scoring and improvement suggestions to avoid AI-like patterns"
4
- allowed-tools: Read
5
- ---
6
-
7
- # Writing Balance - 智能写作平衡监控
8
-
9
- ## Skill类型
10
- - **类别**: writing-techniques
11
- - **激活方式**: /write 命令自动激活
12
- - **优先级**: 高(核心创作质量保障)
13
-
14
- ## 设计理念
15
-
16
- 从"禁止列表"转向"平衡评分"——不强制100分,70-85分即为优秀。
17
-
18
- **核心原则**:
19
- 1. **平衡优于完美** - 允许适度使用AI常用词,但要求多样化
20
- 2. **自然优于机械** - 长短句混合、词汇丰富、层次分明
21
- 3. **指导优于禁止** - 给出改进建议,而非简单拒绝
22
-
23
- ## 功能概述
24
-
25
- 实时监控写作平衡度,提供6个维度的评分和具体改进建议。
26
-
27
- ---
28
-
29
- ## 核心指标(6个维度)
30
-
31
- ### 1. 句长分布平衡度 (Sentence Length Distribution)
32
-
33
- **检测标准**:
34
- - 短句(<12字): 30-40%
35
- - 中句(12-25字): 40-50%
36
- - 长句(>25字): 10-20%
37
-
38
- **评分算法**:
39
-
40
- ```python
41
- # 伪代码示例
42
- def score_sentence_length(sentences):
43
- short = count(len(s) < 12 for s in sentences)
44
- medium = count(12 <= len(s) <= 25 for s in sentences)
45
- long = count(len(s) > 25 for s in sentences)
46
-
47
- total = len(sentences)
48
- short_pct = short / total
49
- medium_pct = medium / total
50
- long_pct = long / total
51
-
52
- # 理想分布:短35% 中50% 长15%
53
- ideal = (0.35, 0.50, 0.15)
54
- actual = (short_pct, medium_pct, long_pct)
55
-
56
- # 计算偏差(欧氏距离)
57
- deviation = sqrt(sum((a - i)^2 for a, i in zip(actual, ideal)))
58
-
59
- # 转换为分数(0-100)
60
- score = max(0, 100 - deviation * 200)
61
- return score
62
- ```
63
-
64
- **示例输出**:
65
- ```yaml
66
- 句长分布:85/100 ✅
67
- 短句: 38% (目标30-40%)
68
- 中句: 48% (目标40-50%)
69
- 长句: 14% (目标10-20%)
70
-
71
- 改进建议: 当前分布良好,保持节奏变化
72
- ```
73
-
74
- **常见问题**:
75
- - ❌ 短句过多(>60%)→ 节奏单一,缺乏张力
76
- - ❌ 长句过多(>30%)→ 读者容易疲劳
77
- - ✅ 平衡分布 → 节奏自然,适合长篇阅读
78
-
79
- ---
80
-
81
- ### 2. 词汇丰富度 (Lexical Diversity)
82
-
83
- **检测标准**:
84
- - TTR (Type-Token Ratio) > 0.65
85
- - 高频词(出现5次+)不超过总词数的15%
86
- - 同义词轮换("说"的同义词:讲、开口、道、答、回、问、应)
87
-
88
- **评分算法**:
89
- ```python
90
- def score_lexical_diversity(text):
91
- tokens = tokenize(text)
92
- types = set(tokens)
93
- ttr = len(types) / len(tokens)
94
-
95
- # TTR > 0.65 为优秀
96
- if ttr >= 0.65:
97
- score = 100
98
- else:
99
- score = (ttr / 0.65) * 100
100
-
101
- return score, ttr
102
- ```
103
-
104
- **示例输出**:
105
- ```yaml
106
- 词汇丰富度:72/100 ⚠️
107
- TTR: 0.58 (目标>0.65)
108
- 高频词: "说"出现8次
109
-
110
- 改进建议:
111
- - "说"的同义词:讲、开口、道、答、回、问、应
112
- - 尝试用动作/表情代替对话标签
113
- ```
114
-
115
- ---
116
-
117
- ### 3. 描写层次感 (Descriptive Depth)
118
-
119
- **检测标准**:
120
- - 感官分布: 视觉40% | 听觉20% | 触/嗅/味40%
121
- - 形容词密度: 4-8个/100字
122
- - 动/名/形平衡: 5:3:2
123
-
124
- **评分算法**:
125
- ```python
126
- def score_descriptive_depth(text):
127
- adjectives = extract_adjectives(text)
128
- adj_density = len(adjectives) / (len(text) / 100)
129
-
130
- # 4-8个/100字为理想
131
- if 4 <= adj_density <= 8:
132
- score = 100
133
- elif adj_density < 4:
134
- score = (adj_density / 4) * 100
135
- else: # > 8
136
- score = 100 - (adj_density - 8) * 10
137
-
138
- return score
139
- ```
140
-
141
- **示例输出**:
142
- ```yaml
143
- 描写层次:68/100 ⚠️
144
- 形容词密度: 3.2/100字 (目标4-8)
145
- 感官分布: 视觉85% 听觉10% 其他5%
146
-
147
- 改进建议:
148
- - 增加触觉描写(温度、质感)
149
- - 增加嗅觉描写(气味、香味)
150
- - 当前过度依赖视觉,尝试多感官交叉
151
- ```
152
-
153
- ---
154
-
155
- ### 4. 成语/四字词使用度 (Idiom Usage)
156
-
157
- **检测标准**:
158
- - ≤5个成语/1000字
159
- - 口语化成语优先
160
- - 避免连续使用
161
-
162
- **白名单**(口语化成语,可用):
163
- - 一言难尽、莫名其妙、不以为然、若无其事、心照不宣
164
- - 半信半疑、理所当然、面面相觑、目瞪口呆、张口结舌
165
-
166
- **黑名单**(文言成语,避免):
167
- - 肝肠寸断、踌躇满志、从容不迫、五味杂陈、百感交集
168
- - 欣喜若狂、怒不可遏、忐忑不安、惴惴不安、如释重负
169
-
170
- **评分算法**:
171
- ```python
172
- def score_idiom_usage(text, idioms):
173
- count = len(idioms)
174
- limit = len(text) / 1000 * 5 # 5个/1000字
175
-
176
- if count <= limit:
177
- score = 100
178
- else:
179
- score = max(0, 100 - (count - limit) * 10)
180
-
181
- # 检查黑名单成语
182
- blacklist_count = count_blacklist_idioms(idioms)
183
- score -= blacklist_count * 15
184
-
185
- return max(0, score)
186
- ```
187
-
188
- **示例输出**:
189
- ```yaml
190
- 成语使用:90/100 ✅
191
- 总数: 2个/1000字 (目标≤5)
192
- 口语化: 2个 ✅
193
- 文言化: 0个 ✅
194
-
195
- 改进建议: 成语使用合理,保持当前水平
196
- ```
197
-
198
- ---
199
-
200
- ### 5. 句式变化度 (Sentence Pattern Variety)
201
-
202
- **检测标准**:
203
- - 避免连续3个以上相同句式
204
- - 主谓宾/倒装/省略/疑问句混合
205
- - AI高频句式限制频率(≤2次/1000字)
206
-
207
- **AI高频句式**(需要限制频率):
208
- 1. "在...下" - 在月光的照耀下
209
- 2. "仿佛...一般" - 快得仿佛一阵风一般
210
- 3. "此时此刻" - 此时此刻,她的心情
211
- 4. "让...让..." - 温热的触感让她的思绪
212
- 5. "然而" - 然而,事情并不像
213
-
214
- **评分算法**:
215
- ```python
216
- def score_pattern_variety(sentences):
217
- patterns = extract_patterns(sentences)
218
- consecutive = max_consecutive_same_pattern(patterns)
219
- ai_patterns = count_ai_patterns(sentences)
220
-
221
- # 连续相同句式扣分
222
- score = 100 - max(0, consecutive - 2) * 20
223
-
224
- # AI高频句式扣分
225
- ai_limit = len(sentences) / 1000 * 2
226
- if ai_patterns > ai_limit:
227
- score -= (ai_patterns - ai_limit) * 10
228
-
229
- return max(0, score)
230
- ```
231
-
232
- **示例输出**:
233
- ```yaml
234
- 句式变化:65/100 ⚠️
235
- 连续相同句式: 5个主谓宾结构
236
- AI高频句式: "在...下"出现3次
237
-
238
- 改进建议:
239
- - 增加倒装句:"门,开了"而非"门开了"
240
- - 增加省略句:"他走了。没回头。"
241
- - 减少"在...下"句式(当前3次,建议≤2次/1000字)
242
- ```
243
-
244
- ---
245
-
246
- ### 6. 自然度评分 (Naturalness Score)
247
-
248
- **检测标准**:
249
- - 标点变化: 句号70% | 问号10% | 感叹号5% | 逗号15%
250
- - 段落长度: 1-6句混合
251
- - 对话真实: 语气词、口头禅、未完成句
252
-
253
- **评分算法**:
254
- ```python
255
- def score_naturalness(text, paragraphs, dialogues):
256
- # 标点分布评分
257
- punctuation_score = score_punctuation_variety(text)
258
-
259
- # 段落长度评分
260
- para_lengths = [count_sentences(p) for p in paragraphs]
261
- para_score = score_paragraph_variety(para_lengths)
262
-
263
- # 对话真实度评分
264
- dialogue_score = score_dialogue_naturalness(dialogues)
265
-
266
- return (punctuation_score + para_score + dialogue_score) / 3
267
- ```
268
-
269
- **示例输出**:
270
- ```yaml
271
- 自然度:80/100 ✅
272
- 标点分布: 句号75% 问号8% 感叹号3% 逗号14%
273
- 段落长度: 1-5句混合 ✅
274
- 对话真实度: 包含语气词"啊、吧" ✅
275
-
276
- 改进建议: 自然度良好,对话真实感强
277
- ```
278
-
279
- ---
280
-
281
- ## 综合评估输出格式
282
-
283
- 当用户使用 `/write` 命令完成一段写作后,自动输出平衡度评估报告:
284
-
285
- ```yaml
286
- 📊 写作平衡度评估报告
287
-
288
- 总分:78/100 (良好)
289
-
290
- 详细维度:
291
- ✅ 句长分布:85/100 (短30% 中50% 长20%)
292
- ⚠️ 词汇丰富度:72/100 ("说"出现8次,建议轮换)
293
- ⚠️ 描写层次:68/100 (形容词偏少,建议增加触觉描写)
294
- ✅ 成语使用:90/100 (仅2个,且均为口语化)
295
- ⚠️ 句式变化:65/100 (连续5个主谓宾结构)
296
- ✅ 自然度:80/100 (段落长度自然,对话真实)
297
-
298
- 改进建议(优先级排序):
299
- 1. 【高】增加1-2个长句(>30字)丰富节奏
300
- 2. 【中】"说"的同义词:讲、开口、道、答
301
- 3. 【中】第3段加入嗅觉描写(咖啡香气)
302
- 4. 【低】尝试倒装句增加句式变化
303
- ```
304
-
305
- **评分等级**:
306
- - 90-100: 优秀 ⭐⭐⭐⭐⭐
307
- - 80-89: 良好 ⭐⭐⭐⭐
308
- - 70-79: 良好 ⭐⭐⭐
309
- - 60-69: 及格 ⚠️ 需改进
310
- - <60: 不及格 ❌ 需要大幅调整
311
-
312
- **说明**:
313
- - 总分70-85为推荐范围(过高可能过度优化)
314
- - 不要追求100分(会导致僵化)
315
- - 维度间可以互补(如句式变化略低但词汇丰富度高)
316
-
317
- ---
318
-
319
- ## 配置化支持
320
-
321
- 用户可在 `specification.md` 中自定义阈值:
322
-
323
- ```yaml
324
- writing_balance_config:
325
- strictness: medium # strict | medium | loose
326
-
327
- # 自定义目标分布
328
- sentence_length_target:
329
- short: 35% # 默认30-40%
330
- medium: 50% # 默认40-50%
331
- long: 15% # 默认10-20%
332
-
333
- # 成语配置
334
- allow_idioms: true
335
- idiom_limit_per_1000: 5
336
-
337
- # 形容词密度
338
- adjective_density: 6 # per 100 words
339
-
340
- # 自定义白名单(额外允许的词)
341
- custom_whitelist:
342
- - "某个特殊成语"
343
-
344
- # 自定义黑名单(额外禁用的词)
345
- custom_blacklist:
346
- - "某个讨厌的词"
347
- ```
348
-
349
- **严格度模式**:
350
- - **strict**: 阈值更严格,评分更严苛(适合追求极致去AI的作者)
351
- - **medium**: 默认平衡模式(推荐)
352
- - **loose**: 宽松模式,允许更多灵活性(适合快速创作)
353
-
354
- ---
355
-
356
- ## 使用示例
357
-
358
- ### 场景1:写作中实时监控
359
-
360
- ```
361
- 用户: /write 继续写第3章
362
-
363
- [AI生成500字内容]
364
-
365
- AI自动评估:
366
- 📊 写作平衡度评估报告
367
- 总分:82/100 (良好) ⭐⭐⭐⭐
368
-
369
- 详细维度:
370
- ✅ 句长分布:88/100
371
- ✅ 词汇丰富度:85/100
372
- ⚠️ 描写层次:70/100 (可增加嗅觉描写)
373
- ✅ 成语使用:95/100
374
- ✅ 句式变化:80/100
375
- ✅ 自然度:85/100
376
-
377
- 改进建议:
378
- - 当前平衡度良好,可继续保持
379
- - 可选:增加1-2处嗅觉描写增强沉浸感
380
- ```
381
-
382
- ### 场景2:用户主动检查
383
-
384
- ```
385
- 用户: /analyze --focus=balance --range ch-10
386
-
387
- [AI分析第10章]
388
-
389
- 输出:
390
- 📊 第10章 写作平衡度评估
391
-
392
- 总分:68/100 (及格) ⚠️
393
-
394
- 详细维度:
395
- ⚠️ 句长分布:55/100 (短句72%,过多)
396
- ⚠️ 词汇丰富度:60/100 (TTR=0.52)
397
- ✅ 描写层次:85/100
398
- ✅ 成语使用:90/100
399
- ⚠️ 句式变化:58/100 (连续10个主谓宾)
400
- ✅ 自然度:80/100
401
-
402
- 改进建议(优先级排序):
403
- 1. 【高】增加5-8个长句(>30字),当前长句仅3%
404
- 2. 【高】句式过于单一,尝试倒装/省略/疑问句
405
- 3. 【中】扩展词汇,参考同义词表
406
- ```
407
-
408
- ---
409
-
410
- ## 与 anti-ai-v4 的对比
411
-
412
- | 维度 | anti-ai-v4(禁止列表) | writing-balance(平衡评分) |
413
- |------|----------------------|---------------------------|
414
- | **方法** | 200+禁用词 + 7层规则 | 6个维度评分 |
415
- | **结果** | 零AI味,但文学性差 | 平衡AI识别度与自然表达 |
416
- | **句长** | 强制80%<15字 | 灵活分布(短30-40% 中40-50% 长10-20%) |
417
- | **形容词** | 限制3个/100字 | 允许4-8个/100字 |
418
- | **成语** | 完全禁用 | 允许口语成语(≤5个/1000字) |
419
- | **用户体验** | 规则机械,缺乏灵活性 | 给出建议,用户可选择 |
420
-
421
- ---
422
-
423
- ## 实施建议
424
-
425
- 1. **渐进式启用**: 先用 `loose` 模式熟悉系统,再逐步调整为 `medium`
426
- 2. **保留v4选项**: 如果用户确实需要极端去AI,可以在配置中启用 `anti-ai-v4-mode: true`
427
- 3. **定期校准**: 每写完10章后,运行一次全章节平衡度分析
428
- 4. **个性化配置**: 根据自己的写作风格调整阈值
429
-
430
- ---
431
-
432
- ## 技术实现说明
433
-
434
- **For Claude Code**:
435
- - 本Skill在 `/write` 命令结束后自动激活
436
- - 读取用户配置(如有):`specification.md` 中的 `writing_balance_config`
437
- - 分析生成的文本,计算6个维度评分
438
- - 输出综合报告和改进建议
439
-
440
- **注意**:
441
- - 评分算法为伪代码示例,实际实现由AI根据文本内容分析
442
- - 不需要复杂的NLP库,基于正则表达式和简单统计即可
443
- - 重点是给出有价值的建议,而非精确的数值
444
-
445
- ---
446
-
447
- ## 版本历史
448
-
449
- - **v1.0** (2026-02-15): 初始版本,6个维度评分系统
450
- - 替代: anti-ai-v4.md(保留为 anti-ai-v4-deprecated.md)
451
-
452
- ---
453
-
454
- ## 参考资料
455
-
456
- - 设计文档: `docs/plans/2026-02-14-optimization-design.md`
457
- - 替代规则: `templates/knowledge-base/requirements/anti-ai-v4-deprecated.md`
458
- - 协同Skill: `templates/skills/writing-techniques/writing-techniques/SKILL.md`
459
-
460
- ---