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,187 +0,0 @@
1
- # 脚本工具集
2
-
3
- 本目录包含 Novel Writer Skills 的命令行脚本工具,作为 Claude Code Slash Commands 的替代方案。
4
-
5
- ## 📂 目录结构
6
-
7
- ```text
8
- scripts/
9
- ├── bash/ # macOS/Linux 脚本
10
- ├── powershell/ # Windows 脚本
11
- └── README.md # 本文档
12
- ```
13
-
14
- ## 🔄 novel-writer-skills 适配说明
15
-
16
- 这些脚本已从 [novel-writer](https://github.com/wordflowlab/novel-writer) 移植并适配到 novel-writer-skills 项目结构:
17
-
18
- ### 路径差异
19
-
20
- | 文件 | novel-writer | novel-writer-skills |
21
- |------|-------------|-------------------|
22
- | 宪法文件 | `memory/constitution.md` | `.specify/memory/constitution.md` |
23
- | 故事规格 | `stories/*/specification.md` | `stories/*/specification.md` ✅ |
24
- | 追踪数据 | `spec/tracking/*.json` | `spec/tracking/*.json` ✅ |
25
-
26
- **所有脚本已自动适配新路径**,无需手动修改!
27
-
28
- ## 🎯 使用场景
29
-
30
- 虽然 Novel Writer Skills 主要为 Claude Code 设计,但这些脚本提供了:
31
-
32
- - ✅ **命令行替代方案** - 在终端中直接执行操作
33
- - ✅ **自动化工作流** - 集成到 CI/CD 或自动化脚本中
34
- - ✅ **批处理操作** - 处理多个故事或批量检查
35
- - ✅ **独立工具** - 不依赖 Claude Code 的独立功能
36
-
37
- ## 🚀 快速开始
38
-
39
- ### macOS/Linux 用户
40
-
41
- ```bash
42
- # 进入项目根目录
43
- cd my-novel
44
-
45
- # 使用脚本(示例:创建宪法)
46
- bash .specify/templates/scripts/bash/constitution.sh
47
-
48
- # 或者添加到 PATH
49
- export PATH="$PATH:$(pwd)/.specify/templates/scripts/bash"
50
- constitution.sh
51
- ```
52
-
53
- ### Windows 用户
54
-
55
- ```powershell
56
- # 进入项目根目录
57
- cd my-novel
58
-
59
- # 使用脚本(示例:创建宪法)
60
- .\.specify\templates\scripts\powershell\constitution.ps1
61
-
62
- # 或者添加到环境变量
63
- $env:PATH += ";$(Get-Location)\.specify\templates\scripts\powershell"
64
- constitution.ps1
65
- ```
66
-
67
- ## 📚 核心脚本
68
-
69
- ### 七步方法论
70
-
71
- | 脚本 | 功能 | 对应命令 |
72
- |-----|------|---------|
73
- | `constitution.sh/ps1` | 创建创作宪法 | `/constitution` |
74
- | `specify-story.sh/ps1` | 定义故事规格 | `/specify` |
75
- | `clarify-story.sh/ps1` | 澄清模糊点 | `/clarify` |
76
- | `plan-story.sh/ps1` | 制定创作计划 | `/plan` |
77
- | `generate-tasks.sh/ps1` | 生成任务清单 | `/tasks` |
78
- | `analyze-story.sh/ps1` | 质量验证分析 | `/analyze` |
79
-
80
- ### 追踪与检查
81
-
82
- | 脚本 | 功能 | 对应命令 |
83
- |-----|------|---------|
84
- | `init-tracking.sh/ps1` | 初始化追踪系统 | `/track-init` |
85
- | `track-progress.sh/ps1` | 综合追踪更新 | `/track` |
86
- | `check-plot.sh/ps1` | 情节一致性检查 | `/plot-check` |
87
- | `check-timeline.sh/ps1` | 时间线管理 | `/timeline` |
88
- | `manage-relations.sh/ps1` | 角色关系追踪 | `/relations` |
89
- | `check-world.sh/ps1` | 世界观验证 | `/world-check` |
90
- | `check-consistency.sh/ps1` | 一致性检查 | - |
91
- | `check-writing-state.sh/ps1` | 写作状态检查 | - |
92
-
93
- ### 工具脚本
94
-
95
- | 脚本 | 功能 |
96
- |-----|------|
97
- | `common.sh/ps1` | 通用函数库(被其他脚本引用) |
98
- | `text-audit.sh/ps1` | 文本审计工具 |
99
- | `test-word-count.sh` | 字数统计(仅 bash) |
100
-
101
- ## 🔧 通用函数库
102
-
103
- `common.sh` 和 `common.ps1` 提供了以下公共函数:
104
-
105
- ### Bash 函数
106
-
107
- ```bash
108
- get_project_root() # 获取项目根目录
109
- get_current_story() # 获取当前故事目录
110
- get_active_story() # 获取活跃故事名称
111
- create_numbered_dir() # 创建带编号的目录
112
- ```
113
-
114
- ### PowerShell 函数
115
-
116
- ```powershell
117
- Get-ProjectRoot # 获取项目根目录
118
- Get-CurrentStoryDir # 获取当前故事目录
119
- Get-ActiveStory # 获取活跃故事名称
120
- ```
121
-
122
- ## ⚠️ 注意事项
123
-
124
- 1. **项目根目录识别** - 脚本通过查找 `.specify/config.json` 确定项目根目录
125
- 2. **执行权限** - Linux/macOS 用户需要确保脚本有执行权限:
126
- ```bash
127
- chmod +x .specify/templates/scripts/bash/*.sh
128
- ```
129
- 3. **与 Slash Commands 的区别**:
130
- - Slash Commands 在 Claude Code 中使用,有 AI 交互能力
131
- - 脚本适合自动化和批处理,无 AI 交互
132
- - 推荐优先使用 Slash Commands 以获得最佳体验
133
-
134
- ## 🆚 何时使用脚本 vs Slash Commands
135
-
136
- | 场景 | 推荐方式 |
137
- |-----|---------|
138
- | 日常创作、需要 AI 协助 | ✅ Slash Commands |
139
- | 批量处理、自动化 | ✅ 脚本 |
140
- | CI/CD 集成 | ✅ 脚本 |
141
- | 学习和理解工作流 | ✅ 脚本(可查看源码) |
142
- | 快速检查和验证 | ✅ 脚本 |
143
-
144
- ## 📖 示例:完整工作流
145
-
146
- ```bash
147
- # 1. 创建宪法
148
- bash constitution.sh
149
-
150
- # 2. 定义故事规格
151
- bash specify-story.sh
152
-
153
- # 3. 澄清模糊点(通常需要人工参与)
154
- bash clarify-story.sh
155
-
156
- # 4. 制定计划
157
- bash plan-story.sh
158
-
159
- # 5. 生成任务
160
- bash generate-tasks.sh
161
-
162
- # 6. 初始化追踪
163
- bash init-tracking.sh
164
-
165
- # 7. 写作过程中定期追踪
166
- bash track-progress.sh
167
-
168
- # 8. 最终分析
169
- bash analyze-story.sh
170
- ```
171
-
172
- ## 🔗 相关文档
173
-
174
- - [Novel Writer Skills 主文档](../../README.md)
175
- - [命令详解](../../docs/guides/commands.md)
176
- - [入门指南](../../docs/guides/getting-started.md)
177
-
178
- ## 💡 提示
179
-
180
- 这些脚本是从 [novel-writer](https://github.com/wordflowlab/novel-writer) 项目移植而来,经过调整以适配 Novel Writer Skills 的项目结构。
181
-
182
- 如果你在多个 AI 工具间切换,也可以考虑使用完整版的 [novel-writer](https://github.com/wordflowlab/novel-writer)。
183
-
184
- ---
185
-
186
- **Happy Writing!** ✨📚
187
-
@@ -1,170 +0,0 @@
1
- #!/bin/bash
2
-
3
- # 故事分析验证脚本
4
- # 用于 /analyze 命令
5
-
6
- set -e
7
-
8
- # Source common functions
9
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
10
- source "$SCRIPT_DIR/common.sh"
11
-
12
- # Parse arguments
13
- STORY_NAME="$1"
14
- ANALYSIS_TYPE="${2:-full}" # full, compliance, quality, progress
15
-
16
- # Get project root
17
- PROJECT_ROOT=$(get_project_root)
18
- cd "$PROJECT_ROOT"
19
-
20
- # 确定故事路径
21
- if [ -z "$STORY_NAME" ]; then
22
- STORY_NAME=$(get_active_story)
23
- fi
24
-
25
- STORY_DIR="stories/$STORY_NAME"
26
-
27
- # 检查必要文件
28
- check_story_files() {
29
- local missing_files=()
30
-
31
- # 检查基准文档
32
- [ ! -f ".specify/memory/constitution.md" ] && missing_files+=("宪法文件")
33
- [ ! -f "$STORY_DIR/specification.md" ] && missing_files+=("规格文件")
34
- [ ! -f "$STORY_DIR/creative-plan.md" ] && missing_files+=("计划文件")
35
-
36
- if [ ${#missing_files[@]} -gt 0 ]; then
37
- echo "⚠️ 缺少以下基准文档:"
38
- for file in "${missing_files[@]}"; do
39
- echo " - $file"
40
- done
41
- return 1
42
- fi
43
-
44
- return 0
45
- }
46
-
47
- # 统计内容
48
- analyze_content() {
49
- local content_dir="$STORY_DIR/content"
50
- local total_words=0
51
- local chapter_count=0
52
-
53
- if [ -d "$content_dir" ]; then
54
- echo "内容统计:"
55
- echo ""
56
- for file in "$content_dir"/*.md; do
57
- if [ -f "$file" ]; then
58
- ((chapter_count++))
59
- # 使用准确的中文字数统计
60
- local words=$(count_chinese_words "$file")
61
- ((total_words += words))
62
- local filename=$(basename "$file")
63
- echo " $filename: $words 字"
64
- fi
65
- done
66
- echo ""
67
- echo " 总字数:$total_words"
68
- echo " 章节数:$chapter_count"
69
- if [ $chapter_count -gt 0 ]; then
70
- echo " 平均章节长度:$((total_words / chapter_count)) 字"
71
- fi
72
- else
73
- echo "内容统计:"
74
- echo " 尚未开始写作"
75
- fi
76
- }
77
-
78
- # 检查任务完成度
79
- check_task_completion() {
80
- local tasks_file="$STORY_DIR/tasks.md"
81
- if [ ! -f "$tasks_file" ]; then
82
- echo "任务文件不存在"
83
- return
84
- fi
85
-
86
- local total_tasks=$(grep -c "^- \[" "$tasks_file" 2>/dev/null || echo 0)
87
- local completed_tasks=$(grep -c "^- \[x\]" "$tasks_file" 2>/dev/null || echo 0)
88
- local in_progress=$(grep -c "^- \[~\]" "$tasks_file" 2>/dev/null || echo 0)
89
- local pending=$((total_tasks - completed_tasks - in_progress))
90
-
91
- echo "任务进度:"
92
- echo " 总任务:$total_tasks"
93
- echo " 已完成:$completed_tasks"
94
- echo " 进行中:$in_progress"
95
- echo " 未开始:$pending"
96
-
97
- if [ $total_tasks -gt 0 ]; then
98
- local completion_rate=$((completed_tasks * 100 / total_tasks))
99
- echo " 完成率:$completion_rate%"
100
- fi
101
- }
102
-
103
- # 检查规格符合度
104
- check_specification_compliance() {
105
- local spec_file="$STORY_DIR/specification.md"
106
-
107
- echo "规格符合度检查:"
108
-
109
- # 检查P0需求(简化版)
110
- local p0_count=$(grep -c "^### 必须包含(P0)" "$spec_file" 2>/dev/null || echo 0)
111
- if [ $p0_count -gt 0 ]; then
112
- echo " P0需求:检测到,需人工验证"
113
- fi
114
-
115
- # 检查是否还有[需要澄清]标记
116
- local unclear=$(grep -c "\[需要澄清\]" "$spec_file" 2>/dev/null || echo 0)
117
- if [ $unclear -gt 0 ]; then
118
- echo " ⚠️ 仍有 $unclear 处需要澄清"
119
- else
120
- echo " ✅ 所有决策已澄清"
121
- fi
122
- }
123
-
124
- # 主分析流程
125
- main() {
126
- echo "故事分析报告"
127
- echo "============"
128
- echo "故事:$STORY_NAME"
129
- echo "分析时间:$(date '+%Y-%m-%d %H:%M:%S')"
130
- echo ""
131
-
132
- # 检查基准文档
133
- if ! check_story_files; then
134
- echo ""
135
- echo "❌ 无法进行完整分析,请先完成基准文档"
136
- exit 1
137
- fi
138
-
139
- echo "✅ 基准文档完整"
140
- echo ""
141
-
142
- # 根据分析类型执行
143
- case "$ANALYSIS_TYPE" in
144
- full)
145
- analyze_content
146
- echo ""
147
- check_task_completion
148
- echo ""
149
- check_specification_compliance
150
- ;;
151
- quality)
152
- analyze_content
153
- ;;
154
- progress)
155
- check_task_completion
156
- ;;
157
- compliance)
158
- check_specification_compliance
159
- ;;
160
- *)
161
- echo "未知的分析类型:$ANALYSIS_TYPE"
162
- exit 1
163
- ;;
164
- esac
165
-
166
- echo ""
167
- echo "分析完成。详细报告已保存到:$STORY_DIR/analysis-report.md"
168
- }
169
-
170
- main
@@ -1,108 +0,0 @@
1
- #!/usr/bin/env bash
2
- # 检测 analyze 命令应该执行的阶段
3
- # 返回 JSON 格式的阶段信息
4
-
5
- set -euo pipefail
6
-
7
- # 解析参数
8
- JSON_OUTPUT=false
9
- while [[ $# -gt 0 ]]; do
10
- case $1 in
11
- --json|-j)
12
- JSON_OUTPUT=true
13
- shift
14
- ;;
15
- *)
16
- echo "未知参数: $1" >&2
17
- exit 1
18
- ;;
19
- esac
20
- done
21
-
22
- # 加载公共函数
23
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
24
- source "${SCRIPT_DIR}/common.sh"
25
-
26
- # 获取项目根目录和故事目录
27
- if ! PROJECT_ROOT=$(get_project_root); then
28
- echo "错误: 无法获取项目根目录" >&2
29
- exit 1
30
- fi
31
-
32
- if ! STORY_DIR=$(get_current_story_dir); then
33
- echo "错误: 未找到故事目录" >&2
34
- exit 1
35
- fi
36
-
37
- # 默认返回值
38
- ANALYZE_TYPE="content"
39
- CHAPTER_COUNT=0
40
- HAS_SPEC=false
41
- HAS_PLAN=false
42
- HAS_TASKS=false
43
- REASON=""
44
-
45
- # 检查规格文件
46
- SPEC_PATH="${STORY_DIR}/specification.md"
47
- if [[ -f "$SPEC_PATH" ]]; then
48
- HAS_SPEC=true
49
- fi
50
-
51
- # 检查计划文件
52
- PLAN_PATH="${STORY_DIR}/creative-plan.md"
53
- if [[ -f "$PLAN_PATH" ]]; then
54
- HAS_PLAN=true
55
- fi
56
-
57
- # 检查任务文件
58
- TASKS_PATH="${STORY_DIR}/tasks.md"
59
- if [[ -f "$TASKS_PATH" ]]; then
60
- HAS_TASKS=true
61
- fi
62
-
63
- # 统计章节数量
64
- CONTENT_DIR="${STORY_DIR}/content"
65
- if [[ ! -d "$CONTENT_DIR" ]]; then
66
- CONTENT_DIR="${STORY_DIR}/chapters"
67
- fi
68
-
69
- if [[ -d "$CONTENT_DIR" ]]; then
70
- # 统计 .md 文件数量(排除索引文件)
71
- CHAPTER_COUNT=$(find "$CONTENT_DIR" -maxdepth 1 -type f -name "*.md" \
72
- ! -name "README.md" ! -name "index.md" 2>/dev/null | wc -l)
73
- fi
74
-
75
- # 决策逻辑
76
- if [[ $CHAPTER_COUNT -eq 0 ]]; then
77
- # 无章节内容 → 框架分析
78
- ANALYZE_TYPE="framework"
79
- REASON="无章节内容,建议进行框架一致性分析"
80
- elif [[ $CHAPTER_COUNT -lt 3 ]]; then
81
- # 章节数量不足 → 框架分析(但提示可以开始写作)
82
- ANALYZE_TYPE="framework"
83
- REASON="章节数量较少(${CHAPTER_COUNT} 章),建议继续写作或进行框架验证"
84
- else
85
- # 章节充足 → 内容分析
86
- ANALYZE_TYPE="content"
87
- REASON="已完成 ${CHAPTER_COUNT} 章,可进行内容质量分析"
88
- fi
89
-
90
- # 输出 JSON 或人类可读格式
91
- if [[ "$JSON_OUTPUT" == true ]]; then
92
- # JSON 格式输出
93
- cat <<EOF
94
- {"analyze_type":"${ANALYZE_TYPE}","chapter_count":${CHAPTER_COUNT},"has_spec":${HAS_SPEC},"has_plan":${HAS_PLAN},"has_tasks":${HAS_TASKS},"story_dir":"${STORY_DIR}","reason":"${REASON}"}
95
- EOF
96
- else
97
- # 人类可读输出
98
- echo "分析阶段检测结果"
99
- echo "=================="
100
- echo "故事目录: ${STORY_DIR}"
101
- echo "章节数量: ${CHAPTER_COUNT}"
102
- echo "规格文件: $(if [[ "$HAS_SPEC" == true ]]; then echo '✅'; else echo '❌'; fi)"
103
- echo "计划文件: $(if [[ "$HAS_PLAN" == true ]]; then echo '✅'; else echo '❌'; fi)"
104
- echo "任务文件: $(if [[ "$HAS_TASKS" == true ]]; then echo '✅'; else echo '❌'; fi)"
105
- echo ""
106
- echo "推荐模式: ${ANALYZE_TYPE}"
107
- echo "原因: ${REASON}"
108
- fi