novelws 1.2.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 (320) hide show
  1. package/CHANGELOG.md +161 -0
  2. package/LICENSE +22 -0
  3. package/README.md +372 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +50 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/check.d.ts +6 -0
  9. package/dist/commands/check.d.ts.map +1 -0
  10. package/dist/commands/check.js +32 -0
  11. package/dist/commands/check.js.map +1 -0
  12. package/dist/commands/init.d.ts +6 -0
  13. package/dist/commands/init.d.ts.map +1 -0
  14. package/dist/commands/init.js +160 -0
  15. package/dist/commands/init.js.map +1 -0
  16. package/dist/commands/plugin.d.ts +6 -0
  17. package/dist/commands/plugin.d.ts.map +1 -0
  18. package/dist/commands/plugin.js +135 -0
  19. package/dist/commands/plugin.js.map +1 -0
  20. package/dist/commands/upgrade.d.ts +6 -0
  21. package/dist/commands/upgrade.d.ts.map +1 -0
  22. package/dist/commands/upgrade.js +92 -0
  23. package/dist/commands/upgrade.js.map +1 -0
  24. package/dist/core/config.d.ts +72 -0
  25. package/dist/core/config.d.ts.map +1 -0
  26. package/dist/core/config.js +136 -0
  27. package/dist/core/config.js.map +1 -0
  28. package/dist/core/errors.d.ts +59 -0
  29. package/dist/core/errors.d.ts.map +1 -0
  30. package/dist/core/errors.js +125 -0
  31. package/dist/core/errors.js.map +1 -0
  32. package/dist/core/platform.d.ts +27 -0
  33. package/dist/core/platform.d.ts.map +1 -0
  34. package/dist/core/platform.js +75 -0
  35. package/dist/core/platform.js.map +1 -0
  36. package/dist/core/template.d.ts +35 -0
  37. package/dist/core/template.d.ts.map +1 -0
  38. package/dist/core/template.js +94 -0
  39. package/dist/core/template.js.map +1 -0
  40. package/dist/plugins/identifier.d.ts +13 -0
  41. package/dist/plugins/identifier.d.ts.map +1 -0
  42. package/dist/plugins/identifier.js +72 -0
  43. package/dist/plugins/identifier.js.map +1 -0
  44. package/dist/plugins/installers/base.d.ts +27 -0
  45. package/dist/plugins/installers/base.d.ts.map +1 -0
  46. package/dist/plugins/installers/base.js +30 -0
  47. package/dist/plugins/installers/base.js.map +1 -0
  48. package/dist/plugins/installers/github.d.ts +22 -0
  49. package/dist/plugins/installers/github.d.ts.map +1 -0
  50. package/dist/plugins/installers/github.js +133 -0
  51. package/dist/plugins/installers/github.js.map +1 -0
  52. package/dist/plugins/installers/local.d.ts +16 -0
  53. package/dist/plugins/installers/local.d.ts.map +1 -0
  54. package/dist/plugins/installers/local.js +69 -0
  55. package/dist/plugins/installers/local.js.map +1 -0
  56. package/dist/plugins/installers/npm.d.ts +20 -0
  57. package/dist/plugins/installers/npm.d.ts.map +1 -0
  58. package/dist/plugins/installers/npm.js +99 -0
  59. package/dist/plugins/installers/npm.js.map +1 -0
  60. package/dist/plugins/manager.d.ts +77 -0
  61. package/dist/plugins/manager.d.ts.map +1 -0
  62. package/dist/plugins/manager.js +349 -0
  63. package/dist/plugins/manager.js.map +1 -0
  64. package/dist/plugins/registry.d.ts +48 -0
  65. package/dist/plugins/registry.d.ts.map +1 -0
  66. package/dist/plugins/registry.js +111 -0
  67. package/dist/plugins/registry.js.map +1 -0
  68. package/dist/plugins/types.d.ts +66 -0
  69. package/dist/plugins/types.d.ts.map +1 -0
  70. package/dist/plugins/types.js +2 -0
  71. package/dist/plugins/types.js.map +1 -0
  72. package/dist/plugins/validator.d.ts +19 -0
  73. package/dist/plugins/validator.d.ts.map +1 -0
  74. package/dist/plugins/validator.js +164 -0
  75. package/dist/plugins/validator.js.map +1 -0
  76. package/dist/utils/logger.d.ts +13 -0
  77. package/dist/utils/logger.d.ts.map +1 -0
  78. package/dist/utils/logger.js +48 -0
  79. package/dist/utils/logger.js.map +1 -0
  80. package/dist/utils/project.d.ts +24 -0
  81. package/dist/utils/project.d.ts.map +1 -0
  82. package/dist/utils/project.js +61 -0
  83. package/dist/utils/project.js.map +1 -0
  84. package/dist/version.d.ts +3 -0
  85. package/dist/version.d.ts.map +1 -0
  86. package/dist/version.js +21 -0
  87. package/dist/version.js.map +1 -0
  88. package/package.json +76 -0
  89. package/plugins/authentic-voice/README.md +31 -0
  90. package/plugins/authentic-voice/commands/authentic-voice.md +73 -0
  91. package/plugins/authentic-voice/commands/authenticity-audit.md +37 -0
  92. package/plugins/authentic-voice/config.yaml +30 -0
  93. package/plugins/authentic-voice/experts/authentic-editor.md +27 -0
  94. package/plugins/export/README.md +319 -0
  95. package/plugins/export/commands/export.md +460 -0
  96. package/plugins/export/commands/generate-cover.md +256 -0
  97. package/plugins/export/commands/metadata.md +309 -0
  98. package/plugins/export/config.yaml +47 -0
  99. package/plugins/export/experts/publishing-expert.md +171 -0
  100. package/plugins/export/templates/epub/chapter-template.html +13 -0
  101. package/plugins/export/templates/epub/cover-template.html +14 -0
  102. package/plugins/export/templates/epub/stylesheet.css +200 -0
  103. package/plugins/export/templates/pdf/ebook-style.css +137 -0
  104. package/plugins/export/templates/pdf/print-style.css +179 -0
  105. package/plugins/export/templates/platforms/jinjiang-format.md +101 -0
  106. package/plugins/export/templates/platforms/qidian-format.md +108 -0
  107. package/plugins/export/templates/platforms/tomato-format.md +95 -0
  108. package/plugins/translate/README.md +265 -0
  109. package/plugins/translate/commands/glossary.md +731 -0
  110. package/plugins/translate/commands/translate-preview.md +543 -0
  111. package/plugins/translate/commands/translate.md +649 -0
  112. package/plugins/translate/config.yaml +43 -0
  113. package/plugins/translate/experts/literary-translator.md +605 -0
  114. package/templates/commands/analyze.md +1485 -0
  115. package/templates/commands/checklist.md +434 -0
  116. package/templates/commands/clarify.md +257 -0
  117. package/templates/commands/constitution.md +257 -0
  118. package/templates/commands/expert.md +136 -0
  119. package/templates/commands/plan.md +749 -0
  120. package/templates/commands/recap.md +613 -0
  121. package/templates/commands/relations.md +96 -0
  122. package/templates/commands/revise.md +341 -0
  123. package/templates/commands/specify.md +682 -0
  124. package/templates/commands/tasks.md +142 -0
  125. package/templates/commands/timeline.md +73 -0
  126. package/templates/commands/track-init.md +137 -0
  127. package/templates/commands/track.md +463 -0
  128. package/templates/commands/write.md +1264 -0
  129. package/templates/config/keyword-mappings.json +106 -0
  130. package/templates/knowledge/audit-config.json +26 -0
  131. package/templates/knowledge/character-profiles.md +152 -0
  132. package/templates/knowledge/character-voices.md +137 -0
  133. package/templates/knowledge/locations.md +184 -0
  134. package/templates/knowledge/world-setting.md +121 -0
  135. package/templates/knowledge-base/README.md +285 -0
  136. package/templates/knowledge-base/character-archetypes/01-hero.md +233 -0
  137. package/templates/knowledge-base/character-archetypes/02-mentor.md +177 -0
  138. package/templates/knowledge-base/character-archetypes/03-shadow.md +221 -0
  139. package/templates/knowledge-base/character-archetypes/04-ally.md +178 -0
  140. package/templates/knowledge-base/character-archetypes/05-shapeshifter.md +177 -0
  141. package/templates/knowledge-base/character-archetypes/06-trickster.md +181 -0
  142. package/templates/knowledge-base/character-archetypes/07-threshold-guardian.md +177 -0
  143. package/templates/knowledge-base/character-archetypes/08-herald.md +180 -0
  144. package/templates/knowledge-base/character-archetypes/09-father.md +249 -0
  145. package/templates/knowledge-base/character-archetypes/10-mother.md +202 -0
  146. package/templates/knowledge-base/character-archetypes/11-child.md +183 -0
  147. package/templates/knowledge-base/character-archetypes/12-sage.md +202 -0
  148. package/templates/knowledge-base/character-archetypes/README.md +60 -0
  149. package/templates/knowledge-base/character-archetypes/application-guide.md +222 -0
  150. package/templates/knowledge-base/character-archetypes/archetype-combinations.md +242 -0
  151. package/templates/knowledge-base/character-archetypes/config.yaml +28 -0
  152. package/templates/knowledge-base/character-archetypes/examples-analysis.md +223 -0
  153. package/templates/knowledge-base/craft/character-arc.md +1153 -0
  154. package/templates/knowledge-base/craft/dialogue.md +1170 -0
  155. package/templates/knowledge-base/craft/pacing.md +1200 -0
  156. package/templates/knowledge-base/craft/scene-structure.md +1136 -0
  157. package/templates/knowledge-base/craft/show-not-tell.md +1012 -0
  158. package/templates/knowledge-base/emotional-beats/01-first-meeting.md +145 -0
  159. package/templates/knowledge-base/emotional-beats/02-bonding-moment.md +226 -0
  160. package/templates/knowledge-base/emotional-beats/03-declaration.md +284 -0
  161. package/templates/knowledge-base/emotional-beats/04-triumph.md +240 -0
  162. package/templates/knowledge-base/emotional-beats/05-reunion.md +396 -0
  163. package/templates/knowledge-base/emotional-beats/06-forgiveness.md +204 -0
  164. package/templates/knowledge-base/emotional-beats/07-betrayal.md +204 -0
  165. package/templates/knowledge-base/emotional-beats/08-loss.md +214 -0
  166. package/templates/knowledge-base/emotional-beats/09-rejection.md +254 -0
  167. package/templates/knowledge-base/emotional-beats/10-failure.md +244 -0
  168. package/templates/knowledge-base/emotional-beats/11-misunderstanding.md +205 -0
  169. package/templates/knowledge-base/emotional-beats/12-farewell.md +283 -0
  170. package/templates/knowledge-base/emotional-beats/13-revelation.md +242 -0
  171. package/templates/knowledge-base/emotional-beats/14-point-of-no-return.md +215 -0
  172. package/templates/knowledge-base/emotional-beats/15-dark-night.md +244 -0
  173. package/templates/knowledge-base/emotional-beats/16-sacrifice.md +246 -0
  174. package/templates/knowledge-base/emotional-beats/17-awakening.md +246 -0
  175. package/templates/knowledge-base/emotional-beats/18-confrontation.md +217 -0
  176. package/templates/knowledge-base/emotional-beats/19-bittersweet-goodbye.md +368 -0
  177. package/templates/knowledge-base/emotional-beats/20-moral-dilemma.md +248 -0
  178. package/templates/knowledge-base/emotional-beats/21-temptation.md +240 -0
  179. package/templates/knowledge-base/emotional-beats/22-redemption.md +210 -0
  180. package/templates/knowledge-base/emotional-beats/README.md +104 -0
  181. package/templates/knowledge-base/emotional-beats/beat-sequences.md +276 -0
  182. package/templates/knowledge-base/emotional-beats/config.yaml +30 -0
  183. package/templates/knowledge-base/emotional-beats/pacing-guide.md +390 -0
  184. package/templates/knowledge-base/genres/historical.md +1127 -0
  185. package/templates/knowledge-base/genres/mystery.md +1123 -0
  186. package/templates/knowledge-base/genres/revenge.md +846 -0
  187. package/templates/knowledge-base/genres/romance.md +948 -0
  188. package/templates/knowledge-base/genres/sci-fi.md +156 -0
  189. package/templates/knowledge-base/genres/thriller.md +166 -0
  190. package/templates/knowledge-base/genres/wuxia.md +143 -0
  191. package/templates/knowledge-base/references/README.md +96 -0
  192. package/templates/knowledge-base/references/china-1920s/culture.md +423 -0
  193. package/templates/knowledge-base/references/china-1920s/daily-life.md +616 -0
  194. package/templates/knowledge-base/references/china-1920s/overview.md +298 -0
  195. package/templates/knowledge-base/references/china-1920s/society.md +703 -0
  196. package/templates/knowledge-base/references/china-1920s/warlords.md +427 -0
  197. package/templates/knowledge-base/references/cultivation-world/daily-life.md +108 -0
  198. package/templates/knowledge-base/references/cultivation-world/overview.md +64 -0
  199. package/templates/knowledge-base/references/cultivation-world/power-system.md +108 -0
  200. package/templates/knowledge-base/references/cultivation-world/sects.md +104 -0
  201. package/templates/knowledge-base/references/cultivation-world/world-setting.md +108 -0
  202. package/templates/knowledge-base/references/modern-workplace/corporate.md +115 -0
  203. package/templates/knowledge-base/references/modern-workplace/daily-life.md +129 -0
  204. package/templates/knowledge-base/references/modern-workplace/overview.md +73 -0
  205. package/templates/knowledge-base/references/modern-workplace/relationships.md +107 -0
  206. package/templates/knowledge-base/references/modern-workplace/tech-industry.md +131 -0
  207. package/templates/knowledge-base/references/tang-dynasty/culture.md +135 -0
  208. package/templates/knowledge-base/references/tang-dynasty/daily-life.md +139 -0
  209. package/templates/knowledge-base/references/tang-dynasty/overview.md +76 -0
  210. package/templates/knowledge-base/references/tang-dynasty/politics.md +121 -0
  211. package/templates/knowledge-base/references/tang-dynasty/society.md +126 -0
  212. package/templates/knowledge-base/requirements/README.md +240 -0
  213. package/templates/knowledge-base/requirements/anti-ai-v3.md +46 -0
  214. package/templates/knowledge-base/requirements/anti-ai-v4.md +430 -0
  215. package/templates/knowledge-base/requirements/fast-paced.md +552 -0
  216. package/templates/knowledge-base/requirements/no-poison.md +60 -0
  217. package/templates/knowledge-base/requirements/romance-angst.md +102 -0
  218. package/templates/knowledge-base/requirements/romance-sweet.md +63 -0
  219. package/templates/knowledge-base/requirements/serious-literature.md +45 -0
  220. package/templates/knowledge-base/requirements/strong-emotion.md +60 -0
  221. package/templates/knowledge-base/styles/README.md +302 -0
  222. package/templates/knowledge-base/styles/ancient-style.md +579 -0
  223. package/templates/knowledge-base/styles/literary.md +439 -0
  224. package/templates/knowledge-base/styles/minimal.md +472 -0
  225. package/templates/knowledge-base/styles/natural-voice.md +930 -0
  226. package/templates/knowledge-base/styles/web-novel.md +525 -0
  227. package/templates/memory/constitution.md +140 -0
  228. package/templates/memory/personal-voice.md +113 -0
  229. package/templates/scripts/README.md +187 -0
  230. package/templates/scripts/bash/analyze-story.sh +170 -0
  231. package/templates/scripts/bash/check-consistency.sh +463 -0
  232. package/templates/scripts/bash/check-plot.sh +374 -0
  233. package/templates/scripts/bash/check-timeline.sh +346 -0
  234. package/templates/scripts/bash/check-world.sh +395 -0
  235. package/templates/scripts/bash/check-writing-state.sh +854 -0
  236. package/templates/scripts/bash/clarify-story.sh +117 -0
  237. package/templates/scripts/bash/common.sh +151 -0
  238. package/templates/scripts/bash/constitution.sh +114 -0
  239. package/templates/scripts/bash/generate-tasks.sh +65 -0
  240. package/templates/scripts/bash/init-tracking.sh +183 -0
  241. package/templates/scripts/bash/manage-relations.sh +174 -0
  242. package/templates/scripts/bash/plan-story.sh +100 -0
  243. package/templates/scripts/bash/specify-story.sh +93 -0
  244. package/templates/scripts/bash/tasks-story.sh +96 -0
  245. package/templates/scripts/bash/test-word-count.sh +182 -0
  246. package/templates/scripts/bash/tests/bench-preload-cache.sh +100 -0
  247. package/templates/scripts/bash/tests/run-all-benchmarks.sh +16 -0
  248. package/templates/scripts/bash/tests/test-cache-semantics.sh +199 -0
  249. package/templates/scripts/bash/tests/test-cross-platform.sh +35 -0
  250. package/templates/scripts/bash/tests/test-edge-cases-bash.sh +60 -0
  251. package/templates/scripts/bash/tests/test-phase1-bash.sh +28 -0
  252. package/templates/scripts/bash/tests/test-preload-cache.sh +123 -0
  253. package/templates/scripts/bash/tests/test-regex-precompile.sh +89 -0
  254. package/templates/scripts/bash/tests/test-regression-bash.sh +42 -0
  255. package/templates/scripts/bash/tests/test-task6-verification.sh +200 -0
  256. package/templates/scripts/bash/text-audit.sh +144 -0
  257. package/templates/scripts/bash/track-progress.sh +194 -0
  258. package/templates/scripts/powershell/analyze-story.ps1 +171 -0
  259. package/templates/scripts/powershell/check-analyze-stage.ps1 +110 -0
  260. package/templates/scripts/powershell/check-consistency.ps1 +138 -0
  261. package/templates/scripts/powershell/check-plot.ps1 +139 -0
  262. package/templates/scripts/powershell/check-timeline.ps1 +112 -0
  263. package/templates/scripts/powershell/check-writing-state.ps1 +490 -0
  264. package/templates/scripts/powershell/check-writing-state.ps1.backup +135 -0
  265. package/templates/scripts/powershell/clarify-story.ps1 +107 -0
  266. package/templates/scripts/powershell/common.ps1 +36 -0
  267. package/templates/scripts/powershell/constitution.ps1 +142 -0
  268. package/templates/scripts/powershell/generate-tasks.ps1 +75 -0
  269. package/templates/scripts/powershell/init-tracking.ps1 +98 -0
  270. package/templates/scripts/powershell/manage-relations.ps1 +134 -0
  271. package/templates/scripts/powershell/plan-story.ps1 +96 -0
  272. package/templates/scripts/powershell/specify-story.ps1 +82 -0
  273. package/templates/scripts/powershell/tests/bench-ps-cache.ps1 +80 -0
  274. package/templates/scripts/powershell/tests/test-cross-platform.ps1 +27 -0
  275. package/templates/scripts/powershell/tests/test-edge-cases-ps.ps1 +29 -0
  276. package/templates/scripts/powershell/tests/test-phase1-ps.ps1 +28 -0
  277. package/templates/scripts/powershell/tests/test-ps-cache.ps1 +73 -0
  278. package/templates/scripts/powershell/tests/test-regression-ps.ps1 +40 -0
  279. package/templates/scripts/powershell/text-audit.ps1 +100 -0
  280. package/templates/scripts/powershell/track-progress.ps1 +105 -0
  281. package/templates/skills/genre-knowledge/fantasy/SKILL.md +355 -0
  282. package/templates/skills/genre-knowledge/mystery/SKILL.md +337 -0
  283. package/templates/skills/genre-knowledge/romance/SKILL.md +228 -0
  284. package/templates/skills/genre-knowledge/sci-fi/SKILL.md +65 -0
  285. package/templates/skills/genre-knowledge/thriller/SKILL.md +95 -0
  286. package/templates/skills/quality-assurance/consistency-checker/SKILL.md +341 -0
  287. package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +157 -0
  288. package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +147 -0
  289. package/templates/skills/quality-assurance/getting-started/SKILL.md +224 -0
  290. package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +143 -0
  291. package/templates/skills/quality-assurance/pov-validator/SKILL.md +135 -0
  292. package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +583 -0
  293. package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +119 -0
  294. package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +146 -0
  295. package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +160 -0
  296. package/templates/skills/quality-assurance/requirement-detector/SKILL.md +149 -0
  297. package/templates/skills/quality-assurance/setting-detector/SKILL.md +611 -0
  298. package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +126 -0
  299. package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +206 -0
  300. package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +207 -0
  301. package/templates/skills/quality-assurance/style-detector/SKILL.md +126 -0
  302. package/templates/skills/quality-assurance/workflow-guide/SKILL.md +381 -0
  303. package/templates/skills/writing-techniques/character-arc/SKILL.md +267 -0
  304. package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +366 -0
  305. package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +553 -0
  306. package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +226 -0
  307. package/templates/skills/writing-techniques/pacing-control/SKILL.md +377 -0
  308. package/templates/skills/writing-techniques/reader-expectation/SKILL.md +578 -0
  309. package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +209 -0
  310. package/templates/skills/writing-techniques/revision-polish/SKILL.md +496 -0
  311. package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +221 -0
  312. package/templates/skills/writing-techniques/scene-structure/SKILL.md +361 -0
  313. package/templates/skills/writing-techniques/style-learning/SKILL.md +436 -0
  314. package/templates/specification-example.md +146 -0
  315. package/templates/tracking/character-state.json +78 -0
  316. package/templates/tracking/plot-tracker.json +62 -0
  317. package/templates/tracking/relationships.json +70 -0
  318. package/templates/tracking/timeline.json +49 -0
  319. package/templates/tracking/tracking-log.md +110 -0
  320. package/templates/tracking/validation-rules.json +128 -0
@@ -0,0 +1,1485 @@
1
+ ---
2
+ description: 智能分析:自动选择框架分析(write前)或内容分析(write后),支持 --type 手动指定
3
+ argument-hint: [--type=framework|content]
4
+ allowed-tools: Bash(find:*), Bash(wc:*), Bash(grep:*), Read(//**), Read(//plugins/**), Read(plugins/**), Write(//stories/**/analysis-report.md), Bash(*)
5
+ model: claude-sonnet-4-5-20250929
6
+ scripts:
7
+ sh: .specify/scripts/bash/check-analyze-stage.sh --json
8
+ ps: .specify/scripts/powershell/check-analyze-stage.ps1 -Json
9
+ ---
10
+
11
+ 对小说项目进行智能化综合分析。根据当前创作阶段,自动选择执行**框架一致性分析**(write 之前)或**内容质量分析**(write 之后)。
12
+ ---
13
+
14
+ ## 核心理念
15
+
16
+ **一个命令,双重智能**:
17
+ - 📐 **框架分析**:在写作前验证规格、计划、任务的一致性(类似 spec-kit)
18
+ - 📝 **内容分析**:在写作后验证已完成内容的质量和符合度
19
+
20
+ **克制而不简陋**:
21
+ - 用户只需执行 `/analyze`,系统自动判断应该执行哪种分析
22
+ - 支持手动指定模式:`$ARGUMENTS --type=framework` 或 `--type=content`
23
+
24
+ ## 执行流程
25
+
26
+ ### 1. 智能阶段检测
27
+
28
+ 运行 `{SCRIPT}` 获取当前创作状态:
29
+
30
+ ```json
31
+ {
32
+ "analyze_type": "framework|content",
33
+ "chapter_count": 0,
34
+ "has_spec": true,
35
+ "has_plan": true,
36
+ "has_tasks": true,
37
+ "story_dir": "/path/to/story",
38
+ "reason": "原因说明"
39
+ }
40
+ ```
41
+
42
+ ### 2. 决策逻辑
43
+
44
+ 解析用户参数 `$ARGUMENTS`:
45
+
46
+ **手动指定模式**(优先级最高):
47
+ - 包含 `--type=framework` → 强制框架分析
48
+ - 包含 `--type=content` → 强制内容分析
49
+
50
+ **🆕 专项分析模式**(新增):
51
+ - 包含 `--focus=opening` → 开篇专项分析(重点分析前3章)
52
+ - 包含 `--focus=pacing` → 节奏专项分析(重点分析爽点/冲突分布)
53
+ - 包含 `--focus=character` → 人物专项分析(重点分析人物弧光)
54
+ - 包含 `--focus=foreshadow` → 伏笔专项分析(重点分析伏笔埋设与回收)
55
+ - 包含 `--focus=logic` → 逻辑专项分析(重点查找逻辑漏洞)
56
+ - 包含 `--focus=style` → 风格专项分析(重点检查文笔一致性)
57
+
58
+ **自动判断模式**:
59
+ - 章节数 = 0 → **框架分析**
60
+ - 章节数 < 3 → **框架分析**(但提示可以继续写作)
61
+ - 章节数 ≥ 3 → **内容分析**
62
+
63
+ ### 3. 执行对应分析
64
+
65
+ 根据决策结果,执行以下两种分析之一。
66
+
67
+ ---
68
+
69
+ ## 模式A:框架一致性分析
70
+
71
+ **目标**:在写作前验证准备工作是否充分,确保规格、计划、任务之间无矛盾。
72
+
73
+ ### A1. 加载基准文档
74
+
75
+ - 宪法文件:`.specify/memory/constitution.md`
76
+ - 规格文件:`stories/*/specification.md`
77
+ - 计划文件:`stories/*/creative-plan.md`
78
+ - 任务文件:`stories/*/tasks.md`
79
+
80
+ ### A1.1. 🆕 加载分析辅助资源
81
+
82
+ **运行脚本** `{SCRIPT}` 检查分析环境并加载资源:
83
+
84
+ ```bash
85
+ # Bash 环境
86
+ bash {SCRIPT} --json
87
+
88
+ # PowerShell 环境(如果是 .ps1 脚本)
89
+ powershell -File {SCRIPT} -Json
90
+ ```
91
+
92
+ **解析资源加载报告**:
93
+ - 检查 `status` 是否为 "ready"
94
+ - 记录 `resources` 列表,用于分析参考
95
+
96
+ **加载分析辅助资源(基于配置)**:
97
+
98
+ **注意**:/analyze 命令的资源加载策略与 /write 命令略有不同:
99
+ - /analyze 需要**所有** craft 知识库用于质量对照检查
100
+ - /analyze 需要 quality-assurance skills 用于一致性验证
101
+ - /write 只需要在写作时用到的 craft 知识库
102
+
103
+ #### Layer 1: 默认推断
104
+
105
+ **如果 specification.md 未配置 resource-loading.analysis**,或 `auto-load: true`(默认),自动加载:
106
+
107
+ **Knowledge-base (craft)**:
108
+ - `templates/knowledge-base/craft/dialogue.md`(对话质量检查)
109
+ - `templates/knowledge-base/craft/scene-structure.md`(场景结构验证)
110
+ - `templates/knowledge-base/craft/character-arc.md`(角色弧线一致性)
111
+ - `templates/knowledge-base/craft/pacing.md`(节奏分析)
112
+ - `templates/knowledge-base/craft/show-not-tell.md`(Show vs Tell 检查)
113
+
114
+ **Knowledge-base (requirements)**:
115
+ - 根据 `writing-requirements` 字段加载对应的需求文档(如 anti-ai-v4.md)
116
+
117
+ **Skills (quality-assurance)**:
118
+ - `templates/skills/quality-assurance/consistency-checker/SKILL.md`(如存在)
119
+ - `templates/skills/quality-assurance/workflow-guide/SKILL.md`(如存在)
120
+
121
+ #### Layer 2: 配置覆盖
122
+
123
+ 如果 `specification.md` 配置了 `resource-loading.analysis`(分析专用配置):
124
+
125
+ ```yaml
126
+ resource-loading:
127
+ analysis: # /analyze 命令专用配置
128
+ knowledge-base:
129
+ craft:
130
+ - dialogue # 只检查对话质量
131
+ - pacing # 只检查节奏
132
+ skills:
133
+ quality-assurance:
134
+ - consistency-checker
135
+ - "!workflow-guide" # 分析时不需要工作流引导
136
+ ```
137
+
138
+ **加载优先级**:
139
+ - 分析辅助资源的优先级**低于**宪法和规格
140
+ - 分析辅助资源的优先级**高于**待分析内容
141
+
142
+ ---
143
+
144
+ ## 性能优化:会话级资源复用
145
+
146
+ **优化策略**:
147
+ 本次对话中已加载的资源知识应复用,避免重复读取文件。
148
+
149
+ **操作指南**:
150
+ 1. **首次加载**:读取资源文件内容,记住已加载的资源列表
151
+ 2. **后续命令**:检查资源是否在"已加载列表"中
152
+ - ✅ 如果已加载:直接使用已有知识,不要重新读取文件
153
+ - ❌ 如果未加载:读取文件并添加到"已加载列表"
154
+
155
+ **实际场景示例**:
156
+ 假设本次对话已执行过 `/write chapter-1`,加载了以下资源:
157
+ - templates/knowledge-base/craft/dialogue.md
158
+ - templates/knowledge-base/craft/scene-structure.md
159
+
160
+ 当用户执行 `/write chapter-2` 时:
161
+ - 如需 dialogue 知识 → **直接使用已有知识**,不重新读取文件
162
+ - 如需 pacing 知识 → 首次需要,读取文件并添加到已加载列表
163
+
164
+ **复用判断**:
165
+ - 相同文件路径 = 可以复用
166
+ - 不同章节、相同资源 = 可以复用
167
+ - 用户修改了 specification.md = 重新评估需要哪些资源
168
+
169
+ **性能收益**:
170
+ - 首次命令:正常加载(~50-100ms)
171
+ - 重复命令:资源复用(节省 30-50ms)
172
+ - 多章节写作:累计节省可观
173
+
174
+ **注意事项**:
175
+ - 如果用户明确要求"重新加载"或"使用最新的",应重新读取
176
+ - 如果发现资源文件内容与记忆不符,应重新读取
177
+ - specification.md 的 resource-loading 配置变化时,重新评估资源需求
178
+
179
+ ---
180
+
181
+ ### 🆕 Layer 3: 关键词触发(分析专用)
182
+
183
+ **触发时机**:
184
+ - 命令参数(如 `/analyze --check 对话质量`)
185
+ - 待分析内容中的问题关键词
186
+
187
+ **配置**: 读取 `specification.md` 的 `resource-loading.keyword-triggers.enabled`
188
+
189
+ **如果 `enabled: false`**,跳过此步骤。
190
+
191
+ **扫描策略**:
192
+
193
+ 1. **参数扫描**: 检查 `--check` 参数值
194
+ - 如 `--check 对话` → 加载 craft/dialogue.md
195
+ - 如 `--check 节奏` → 加载 craft/pacing.md
196
+
197
+ 2. **问题检测扫描** (可选,执行分析后):
198
+ - 分析发现对话问题 → 提示加载 dialogue-techniques
199
+ - 分析发现节奏问题 → 提示加载 pacing-control
200
+
201
+ **用户确认**:
202
+ ```markdown
203
+ 💡 检测到 "--check 对话",建议加载:
204
+ - craft/dialogue.md
205
+ - writing-techniques/dialogue-techniques
206
+
207
+ 是否加载? [Y/N]
208
+ ```
209
+
210
+ **注意**: /analyze 通常在 Layer 1 已加载所有 craft knowledge,此机制主要用于动态加载 skills。
211
+
212
+ ### A2. 覆盖率分析
213
+
214
+ 检查所有规格需求是否都有对应的计划和任务:
215
+
216
+ ```markdown
217
+ ## 覆盖率分析报告
218
+
219
+ ### P0 需求覆盖
220
+ - [需求1:主角成长线] → ✅ 计划第3章段、任务#5-8
221
+ - [需求2:反派设定] → ⚠️ 计划中提及,但无具体任务
222
+ - [需求3:悬念设置] → ❌ 计划和任务中均未覆盖
223
+
224
+ ### P1 需求覆盖
225
+ 覆盖率:75% (3/4)
226
+
227
+ ### P2 需求覆盖
228
+ 覆盖率:50% (2/4)
229
+
230
+ ### 任务完整性
231
+ - 所有计划章节是否有对应任务:⚠️ 第10-12章缺少任务
232
+ - 任务是否涵盖所有关键场景:✅ 是
233
+ ```
234
+
235
+ ### A3. 一致性检查
236
+
237
+ 验证文档之间是否存在矛盾:
238
+
239
+ ```markdown
240
+ ## 一致性检查报告
241
+
242
+ ### 规格 ↔ 计划
243
+ - ✅ 主题表达一致
244
+ - ⚠️ 规格要求"快节奏",但计划前5章节奏较慢
245
+ - ❌ 规格禁止"感情戏过多",但计划第6-8章大量感情线
246
+
247
+ ### 计划 ↔ 任务
248
+ - ✅ 所有计划章节都有任务
249
+ - ⚠️ 任务总字数预估 150K,但计划目标是 100K
250
+ - ❌ 计划要求第5章是高潮,但任务标注为"过渡章节"
251
+
252
+ ### 宪法合规
253
+ - ✅ 计划符合创作宪法的价值观
254
+ - ✅ 任务分解符合质量标准
255
+ ```
256
+
257
+ ### A4. 逻辑问题预警
258
+
259
+ 分析故事线设计中的潜在逻辑漏洞:
260
+
261
+ ```markdown
262
+ ## 逻辑问题预警
263
+
264
+ ### 时间线冲突
265
+ - ⚠️ 第3章是"三年后",但第5章角色提到"两年前的事",时间对不上
266
+
267
+ ### 角色能力矛盾
268
+ - ❌ 第2章主角"不会武功",第4章任务描述"使用剑术击败敌人"
269
+
270
+ ### 伏笔未规划
271
+ - ⚠️ 第1章埋伏笔"神秘令牌",但后续章节无回收计划
272
+ ```
273
+
274
+ ### A5. 准备就绪评估
275
+
276
+ 评估是否可以开始写作:
277
+
278
+ ```markdown
279
+ ## 准备就绪评估
280
+
281
+ ### 必要条件 (P0)
282
+ - [x] 规格完整且明确
283
+ - [x] 计划覆盖所有 P0 需求
284
+ - [ ] 任务分解完整(缺少3个章节的任务)
285
+ - [ ] 无致命逻辑矛盾(发现2处)
286
+
287
+ ### 建议条件 (P1)
288
+ - [x] 角色档案完善
289
+ - [ ] 世界观设定文档不够详细
290
+ - [x] 时间线规划清晰
291
+
292
+ ### 总体评分:6/10
293
+
294
+ **建议**:
295
+ 1. 🔴 必须修复:补充第10-12章的任务
296
+ 2. 🔴 必须修复:解决时间线和角色能力矛盾
297
+ 3. 🟡 建议优化:补充世界观设定文档
298
+ 4. 🟢 可选:调整前5章节奏设计
299
+
300
+ **结论**:当前**不建议开始写作**,请先解决 P0 问题。
301
+ ```
302
+
303
+ ---
304
+
305
+ ## 模式B:内容质量分析
306
+
307
+ **目标**:对已完成的内容进行综合质量验证,确保符合规格并提供改进建议。
308
+
309
+ ### B1. 加载验证基准
310
+
311
+ - 宪法文件:`.specify/memory/constitution.md`
312
+ - 规格文件:`stories/*/specification.md`
313
+ - 计划文件:`stories/*/creative-plan.md`
314
+ - 任务列表:`stories/*/tasks.md`
315
+ - **已完成内容**:`stories/*/content/*.md` 或 `stories/*/chapters/*.md`
316
+
317
+ ### B2. 宪法合规性检查
318
+
319
+ 验证作品是否遵循创作宪法的原则:
320
+
321
+ ```markdown
322
+ ## 宪法合规性报告
323
+
324
+ ### 核心价值观检查
325
+ - [x] 价值观原则1:积极向上的主题 ✅
326
+ - [x] 价值观原则2:避免低俗内容 ✅
327
+ - [ ] 价值观原则3:尊重文化传统 ⚠️ 第7章有争议描述
328
+
329
+ ### 质量标准验证
330
+ - 逻辑一致性:8/10 ⚠️ 第3章和第6章有小矛盾
331
+ - 人物饱满度:7/10(主角层次丰富,配角略单薄)
332
+ - 文字水准:8/10(流畅度好,部分描写可加强)
333
+
334
+ ### 风格一致性
335
+ - 叙事风格:一致 ✅
336
+ - 语言风格:一致 ✅
337
+ - 节奏控制:前慢后快,整体合理 ✅
338
+
339
+ **总体评分:8/10**
340
+ ```
341
+
342
+ ### B3. 规格符合度分析
343
+
344
+ 检查实现是否满足规格要求:
345
+
346
+ ```markdown
347
+ ## 规格符合度分析
348
+
349
+ ### 核心需求覆盖
350
+ #### P0(必须包含)
351
+ - [需求1:父子冲突] → ✅ 第2-4章充分展现
352
+ - [需求2:悬念设置] → ⚠️ 第5章悬念不足
353
+ - [需求3:反派立体] → ❌ 反派尚未正式出场
354
+
355
+ 覆盖率:67% (2/3)
356
+
357
+ #### P1(应该包含)
358
+ 覆盖率:75% (3/4)
359
+
360
+ #### P2(可以包含)
361
+ 覆盖率:50% (2/4)
362
+
363
+ ### 目标达成度
364
+ - 目标读者适配:85%(节奏和情节符合目标读者偏好)
365
+ - 市场定位符合:80%(差异化卖点清晰,但需加强)
366
+ - 成功标准达成:5/8 ⚠️ 部分指标未达标
367
+
368
+ ### 约束条件遵守
369
+ - 内容红线:✅ 无违规
370
+ - 创作约束:✅ 字数、更新频率符合要求
371
+ - 技术约束:✅ 平台格式规范
372
+
373
+ **总体评分:7/10**
374
+ ```
375
+
376
+ ### B4. 计划执行分析
377
+
378
+ 评估实际执行与计划的偏差:
379
+
380
+ ```markdown
381
+ ## 计划执行分析
382
+
383
+ ### 章节架构对比
384
+ | 计划 | 实际 | 偏差分析 |
385
+ |------|------|----------|
386
+ | 第1章:开篇钩子 | ✅ 完成 | 符合预期,开篇吸引力强 |
387
+ | 第2章:冲突展开 | ✅ 完成 | 略有调整,增加了伏笔 |
388
+ | 第3章:转折点 | ⚠️ 完成 | 转折提前到第2章结尾 |
389
+ | 第4章:深化矛盾 | ✅ 完成 | 完全符合计划 |
390
+ | 第5章:高潮前奏 | ❌ 延后 | 实际成为过渡章节 |
391
+
392
+ ### 人物发展轨迹
393
+ - 主角成长弧:符合度 85%(成长速度略快于计划)
394
+ - 配角功能:实现度 70%(配角B的作用未充分体现)
395
+ - 关系演变:符合度 90%(父子关系演变符合预期)
396
+
397
+ ### 世界观展开
398
+ - 第一层设定(基础规则):✅ 按计划展开
399
+ - 第二层设定(权力结构):⚠️ 提前揭示(计划第8章,实际第5章)
400
+ - 第三层设定(终极秘密):待展开
401
+
402
+ **符合度评分:8/10**
403
+ ```
404
+
405
+ ### B5. 内容质量分析
406
+
407
+ 深入分析作品质量:
408
+
409
+ ```markdown
410
+ ## 内容质量分析
411
+
412
+ ### 文本统计
413
+ - 总字数:45,230 字
414
+ - 平均章节长度:6,461 字
415
+ - 完成进度:35%(7/20 章)
416
+
417
+ ### 结构分析
418
+ - 情节密度:中等(每章 2-3 个情节点)
419
+ - 冲突频率:适中(平均每章 1.5 次冲突)
420
+ - 节奏变化:前3章慢,第4-7章加快,符合预期
421
+
422
+ ### 技术问题
423
+ #### 逻辑问题
424
+ 1. 第3章:角色提到"三年前的事",但时间线显示只过了两年
425
+ 2. 第6章:主角使用了第2章明确说"不会"的能力
426
+
427
+ #### 连贯性问题
428
+ 1. 第4章结尾悬念,第5章开篇未衔接
429
+
430
+ #### 人物一致性
431
+ 1. 主角在第2章和第5章对同一类事件反应矛盾(第2章冲动,第5章冷静)
432
+
433
+ ### 亮点识别
434
+ 1. 第1章:开篇钩子设计精妙,引入自然
435
+ 2. 第4章:父子对话层次丰富,情感真挚
436
+ 3. 第6章:动作场面描写流畅,画面感强
437
+
438
+ **质量评分:7.5/10**
439
+ ```
440
+
441
+ ### 🆕 B5.1 专项分析(可选)
442
+
443
+ **如果用户指定了 `--focus` 参数,执行相应的专项深度分析**:
444
+
445
+ ---
446
+
447
+ #### 专项1:开篇分析(--focus=opening)
448
+
449
+ **目标**:深度分析前1-3章是否符合黄金开篇法则
450
+
451
+ **分析维度**:
452
+
453
+ ```markdown
454
+ ## 开篇专项分析报告
455
+
456
+ ### 黄金法则检查
457
+
458
+ **如果存在 `spec/presets/golden-opening.md`,自动读取并应用五大法则**
459
+
460
+ #### 法则1:动态场景切入
461
+ - ✅ 第一章开场方式:[动作/对话/冲突] 直接切入
462
+ - ❌ 发现问题:开篇有200字静态环境描写(违反法则)
463
+ - 建议:删除或缩短至50字以内,直接进入动作
464
+
465
+ #### 法则2:核心冲突前置
466
+ - ✅ 核心冲突抛出时机:第1章第[X]节
467
+ - ⚠️ 冲突强度:中等(建议提升到"威胁主角生存/目标"级别)
468
+ - 具体:[描述冲突内容]
469
+
470
+ #### 法则3:避免信息轰炸
471
+ - ✅ 世界观透露方式:滴灌式,自然融入情节
472
+ - ❌ 发现问题:第1章第3节有500字设定说明(违反法则)
473
+ - 建议:拆分到前5章,每章透露100字
474
+
475
+ #### 法则4:限制出场人数
476
+ - ✅ 第一章有名有姓角色:[X]人(符合≤3人要求)
477
+ - ❌ 发现问题:第一章出场5人,过多(违反法则)
478
+ - 建议:延迟[角色D]和[角色E]出场到第2-3章
479
+
480
+ #### 法则5:快速展现金手指
481
+ - ✅ 金手指展现时机:第[X]章
482
+ - ⚠️ 展现方式:仅提及,未实际使用(建议实际展示效果)
483
+ - 具体:[描述展现方式]
484
+
485
+ ### 开篇钩子评估
486
+ - **第一句钩子强度**:[强/中/弱]
487
+ - 当前:[引用第一句]
488
+ - 分析:[是否吸引读者]
489
+ - 建议:[优化方向]
490
+
491
+ - **第一章结尾钩子**:[强/中/弱]
492
+ - 当前:[引用结尾段落]
493
+ - 分析:[是否引发期待]
494
+ - 建议:[优化方向]
495
+
496
+ ### 前三章节奏检查
497
+ | 章节 | 目标 | 实际完成度 | 评分 |
498
+ |------|------|-----------|------|
499
+ | 第1章 | 钩住读者,建立期待 | [描述实际效果] | [X]/10 |
500
+ | 第2章 | 展现能力,强化钩子 | [描述实际效果] | [X]/10 |
501
+ | 第3章 | 初步爽点,确认追读 | [描述实际效果] | [X]/10 |
502
+
503
+ **开篇评分:[X]/10**
504
+ **建议**:[具体改进方向]
505
+ ```
506
+
507
+ ---
508
+
509
+ #### 专项2:节奏分析(--focus=pacing)
510
+
511
+ **目标**:分析全文节奏分布,评估爽点/冲突密度
512
+
513
+ **分析维度**:
514
+
515
+ ```markdown
516
+ ## 节奏专项分析报告
517
+
518
+ ### 节奏参数(如有rhythm-config.json)
519
+ **读取 `spec/presets/rhythm-config.json`(如果存在)**:
520
+ - 目标章节字数:[X]字
521
+ - 目标小高潮间隔:[X]章
522
+ - 目标大高潮间隔:[X]章
523
+ - 目标节奏风格:[快/适中/慢]
524
+
525
+ ### 冲突分布统计
526
+ | 章节 | 冲突次数 | 冲突类型 | 冲突强度 | 符合预期? |
527
+ |------|---------|----------|---------|-----------|
528
+ | 第1章 | 2次 | 人际/内心 | 中/高 | ✅ |
529
+ | 第2章 | 1次 | 人际 | 低 | ⚠️ 偏少 |
530
+ | 第3章 | 3次 | 人际/外部 | 高/高/中 | ✅ |
531
+ | ... | ... | ... | ... | ... |
532
+
533
+ **平均冲突密度**:[X]次/章
534
+ **建议密度**:[Y]次/章(基于类型和节奏配置)
535
+
536
+ ### 爽点分布统计
537
+ | 章节 | 爽点类型 | 爽点强度 | 间隔章数 |
538
+ |------|---------|---------|---------|
539
+ | 第1章 | - | - | - |
540
+ | 第3章 | 打脸 | 高 | 3章 |
541
+ | 第7章 | 升级 | 中 | 4章 |
542
+ | ... | ... | ... | ... |
543
+
544
+ **平均爽点间隔**:[X]章
545
+ **建议间隔**:[Y]章(基于rhythm-config或类型标准)
546
+
547
+ ### 高潮分布
548
+ - **小高潮**:第[X]、[Y]、[Z]章
549
+ - 间隔合理性:✅ 符合5章一次的标准
550
+ - **大高潮**:第[X]章
551
+ - 位置合理性:⚠️ 建议第30章,实际第25章(提前)
552
+
553
+
554
+ **节奏评价**:
555
+ - ✅ 整体起伏合理
556
+ - ⚠️ 第10-15章略显平淡
557
+ - ❌ 第20章有节奏断裂
558
+
559
+ **改进建议**:
560
+ 1. 在第12章增加一个中等强度冲突
561
+ 2. 第20章补充过渡情节,避免断裂感
562
+
563
+ **节奏评分:[X]/10**
564
+ ```
565
+
566
+ ---
567
+
568
+ #### 专项3:人物分析(--focus=character)
569
+
570
+ **目标**:评估人物弧光、一致性、成长轨迹
571
+
572
+ ```markdown
573
+ ## 人物专项分析报告
574
+
575
+ ### 主角弧光追踪
576
+ **从specification.md和creative-plan.md读取计划的人物弧光**
577
+
578
+ | 节点 | 计划状态 | 实际状态 | 符合度 |
579
+ |------|---------|---------|--------|
580
+ | 起始 | [A状态] | [实际A] | ✅/⚠️/❌ |
581
+ | 触发 | [B状态] | [实际B] | ✅/⚠️/❌ |
582
+ | 成长 | [C状态] | [实际C] | ✅/⚠️/❌ |
583
+ | 转变 | [D状态] | [待展开] | - |
584
+
585
+ **成长合理性评估**:
586
+ - ✅ 成长有触发事件
587
+ - ⚠️ 成长速度略快(第3章到第7章跨度过大)
588
+ - ✅ 成长符合人物性格
589
+
590
+ ### 主角一致性检查
591
+ - **性格一致性**:
592
+ - ✅ 第1-5章:冲动型人格保持一致
593
+ - ❌ 第6章:面对类似情境突然变得冷静(矛盾)
594
+
595
+ - **能力一致性**:
596
+ - ✅ 武力值逐步提升,符合设定
597
+ - ❌ 第7章使用了未学过的技能
598
+
599
+ - **动机一致性**:
600
+ - ✅ 核心目标清晰且贯穿始终
601
+
602
+ ### 配角功能评估
603
+ | 配角 | 计划功能 | 实际功能 | 实现度 |
604
+ |------|---------|---------|--------|
605
+ | 配角A | 导师型 | 导师型 | 90% ✅ |
606
+ | 配角B | 对手型 | 未充分体现 | 40% ⚠️ |
607
+ | 配角C | 陪衬型 | 陪衬型 | 85% ✅ |
608
+
609
+ **建议**:
610
+ - 增加配角B的对抗戏份(第8-10章)
611
+ - 明确配角B的动机和立场
612
+
613
+ ### 关系网络演变
614
+ ```
615
+ 第1章:主角 ←敌对← 反派A
616
+
617
+ 师徒
618
+
619
+ 配角A
620
+
621
+ 第7章:主角 ←复杂关系← 反派A
622
+ ↓ ↑
623
+ 师徒 误会
624
+ ↓ ↓
625
+ 配角A → 配角B
626
+ ```
627
+
628
+ **关系演变合理性**:✅ 符合预期
629
+
630
+ **人物评分:[X]/10**
631
+ ```
632
+
633
+ ---
634
+
635
+ #### 专项4:伏笔分析(--focus=foreshadow)
636
+
637
+ **目标**:检查伏笔埋设与回收的完整性
638
+
639
+ ```markdown
640
+ ## 伏笔专项分析报告
641
+
642
+ ### 从specification.md 5.4节读取伏笔管理表
643
+
644
+ ### 伏笔埋设检查
645
+ | 伏笔ID | 计划埋设章节 | 实际埋设章节 | 埋设质量 |
646
+ |--------|------------|------------|---------|
647
+ | F-001 | 第1章 | 第1章 | ✅ 自然,不突兀 |
648
+ | F-002 | 第3章 | 第5章 | ⚠️ 延迟2章,需确认后续影响 |
649
+ | F-003 | 第5章 | 未埋设 | ❌ 缺失 |
650
+
651
+ ### 伏笔回收检查
652
+ | 伏笔ID | 计划回收章节 | 实际回收章节 | 回收完整性 |
653
+ |--------|------------|------------|-----------|
654
+ | F-001 | 第10章 | 待完成 | - |
655
+ | F-002 | 第15章 | 待完成 | - |
656
+
657
+ ### 非计划伏笔
658
+ **在实际创作中新增的伏笔(未在specification中)**:
659
+ 1. 第2章:神秘人物暗示 → ⚠️ 需要在specification中补充回收计划
660
+ 2. 第6章:古老预言提及 → ⚠️ 需要决策是否回收
661
+
662
+ ### 伏笔密度评估
663
+ - 平均每[X]章埋设1个伏笔
664
+ - 建议密度:每[Y]章1个(基于类型标准)
665
+ - 评价:✅ 符合 / ⚠️ 偏多 / ❌ 偏少
666
+
667
+ ### 风险提示
668
+ - 🔴 伏笔F-003未埋设,可能影响第15章剧情
669
+ - 🟡 新增伏笔2个,需补充回收计划
670
+
671
+ **伏笔管理评分:[X]/10**
672
+ ```
673
+
674
+ ---
675
+
676
+ #### 专项5:逻辑分析(--focus=logic)
677
+
678
+ **目标**:深度查找逻辑漏洞和矛盾
679
+
680
+ ```markdown
681
+ ## 逻辑专项分析报告
682
+
683
+ ### 时间线检查
684
+ **构建完整时间线**:
685
+ ```
686
+ 绝对时间 故事时间 章节 关键事件
687
+ 2020-01-01 第0天 - [背景]
688
+ 2020-01-05 第4天 第1章 主角离家
689
+ 2020-01-10 第9天 第3章 遇到导师
690
+ 2023-01-10 三年后 第5章 ⚠️ 与第7章矛盾
691
+ 2022-01-10 两年后 第7章 角色回忆"三年前的事"
692
+ ```
693
+
694
+ **时间线矛盾**:
695
+ - ❌ 第5章和第7章时间对不上(发现1处)
696
+ - 建议:统一为"两年后"
697
+
698
+ ### 因果逻辑检查
699
+ | 事件A(原因) | 事件B(结果) | 逻辑合理性 |
700
+ |-------------|-------------|-----------|
701
+ | 第2章主角练功 | 第4章实力提升 | ✅ 合理 |
702
+ | 第3章宝物丢失 | 第6章宝物出现 | ❌ 未交代如何找回 |
703
+ | 第5章立誓言 | 第7章违背誓言 | ⚠️ 缺少心理铺垫 |
704
+
705
+ ### 能力一致性检查
706
+ | 章节 | 能力设定 | 矛盾? |
707
+ |------|---------|--------|
708
+ | 第2章 | 主角不会武功 | - |
709
+ | 第4章 | 主角学习基础剑法 | ✅ 合理过渡 |
710
+ | 第6章 | 主角使用高级剑法 | ❌ 跨度过大,缺少学习过程 |
711
+
712
+ ### 世界观一致性
713
+ - ✅ 魔法规则前后一致
714
+ - ❌ 第3章提到"科技禁止",第8章出现高科技武器
715
+ - ⚠️ 社会阶层设定在第5章和第9章有细微差异
716
+
717
+ ### 动机合理性
718
+ | 角色 | 行为 | 动机解释 | 合理性 |
719
+ |------|------|---------|--------|
720
+ | 主角 | 第5章冒险救人 | 正义感 | ✅ 符合人设 |
721
+ | 配角A | 第7章背叛 | 未解释 | ❌ 突兀,缺少铺垫 |
722
+ | 反派 | 第9章放过主角 | 欣赏才能 | ⚠️ 稍显牵强 |
723
+
724
+ **逻辑严密性评分:[X]/10**
725
+ ```
726
+
727
+ ---
728
+
729
+ #### 专项6:风格分析(--focus=style)
730
+
731
+ **目标**:检查文笔风格一致性,对比style-reference.md
732
+
733
+ ```markdown
734
+ ## 风格专项分析报告
735
+
736
+ ### 如果存在 style-reference.md(来自 /book-internalize)
737
+
738
+ **读取 `memory/style-reference.md`,对比实际文风**
739
+
740
+ ### 词汇一致性检查
741
+ **参考文风词汇偏好**:
742
+ - 目标常用修饰词:[列表]
743
+ - 实际常用修饰词:[列表]
744
+ - 匹配度:[X]%
745
+
746
+ **禁用词检查(AI腔)**:
747
+ - ❌ 发现使用"弥漫着"共[X]次(style-reference禁用)
748
+ - ❌ 发现使用"摇摇欲坠"共[X]次(style-reference禁用)
749
+ - 建议:替换为对标作品常用词汇
750
+
751
+ ### 句式一致性检查
752
+ - 平均句长:实际[X]字 vs 目标[Y]字
753
+ - 段落密度:实际[X]字/段 vs 目标[Y]字/段
754
+ - 评价:✅ 符合 / ⚠️ 偏差较大
755
+
756
+ ### 描写比例检查
757
+ | 类型 | 目标比例 | 实际比例 | 偏差 |
758
+ |------|---------|---------|------|
759
+ | 对话 | 35% | 40% | +5% ⚠️ |
760
+ | 动作 | 40% | 30% | -10% ❌ |
761
+ | 描写 | 15% | 20% | +5% ⚠️ |
762
+ | 心理 | 10% | 10% | 0% ✅ |
763
+
764
+ **建议**:增加动作描写比例,减少对话和描写
765
+
766
+ ### 叙事风格一致性
767
+ - 视角:✅ 第三人称限制,保持一致
768
+ - 语言:✅ 口语化风格,符合目标
769
+ - 节奏:⚠️ 前3章符合"快节奏",第4-7章偏慢
770
+ - 情感基调:✅ 热血基调贯穿
771
+
772
+ ### 章节间风格对比
773
+ | 章节 | 风格特点 | 与参考作品相似度 |
774
+ |------|---------|-----------------|
775
+ | 第1章 | 简洁有力,动词密集 | 85% ✅ |
776
+ | 第2章 | 略显啰嗦,修饰词过多 | 60% ⚠️ |
777
+ | 第3章 | 回归简洁风格 | 80% ✅ |
778
+
779
+ **风格一致性评分:[X]/10**
780
+ **建议**:参考第1章和第3章风格,修订第2章
781
+ ```
782
+
783
+ ---
784
+
785
+ ### B6. 任务完成度审计
786
+
787
+ 检查任务执行情况:
788
+
789
+ ```markdown
790
+ ## 任务完成度
791
+
792
+ ### 总体进度
793
+ - 总任务数:28
794
+ - 已完成:12 (43%)
795
+ - 进行中:2 (7%)
796
+ - 未开始:14 (50%)
797
+
798
+ ### 关键里程碑
799
+ - [里程碑1:前5章完成] → ✅ 已达成
800
+ - [里程碑2:主线推进到50%] → ⚠️ 延期(计划第10章,实际第7章仅30%)
801
+ - [里程碑3:第一卷完结] → 待定
802
+
803
+ ### 阻塞和风险
804
+ 1. 第5章任务"高潮场景"未按计划执行,影响后续节奏
805
+ 2. 反派角色尚未出场,可能影响中期冲突设计
806
+ ```
807
+
808
+ ### B7. 生成改进建议
809
+
810
+ 基于分析结果提供具体建议:
811
+
812
+ ```markdown
813
+ ## 改进建议
814
+
815
+ ### 紧急修复(P0)
816
+ 1. **时间线矛盾**
817
+ - 影响:破坏读者信任,影响逻辑严密性
818
+ - 建议:统一第3章和第6章的时间表述,修改为"两年前"
819
+ - 位置:第3章第2节,第6章第4节
820
+
821
+ 2. **角色能力矛盾**
822
+ - 影响:严重影响人物可信度
823
+ - 建议:在第4-5章之间增加"学习武功"的过渡情节,或删除第6章的武功描写
824
+ - 位置:第2章第5节,第6章第3节
825
+
826
+ ### 优化建议(P1)
827
+ 1. **第5章悬念不足**
828
+ - 当前:第5章结尾平淡,缺少钩子
829
+ - 建议:在结尾增加一个意外事件或信息,引发读者期待
830
+ - 预期效果:提升读者留存率
831
+
832
+ 2. **配角B功能未体现**
833
+ - 当前:配角B出场但作用不明
834
+ - 建议:在第8-9章安排配角B的关键作用,呼应前文铺垫
835
+ - 预期效果:增强配角存在感,丰富故事层次
836
+
837
+ ### 长期改进(P2)
838
+ 1. **世界观设定提前揭示**
839
+ - 理由:可能影响后期神秘感营造
840
+ - 方案:评估是否需要调整后续揭示节奏,或增加更深层设定
841
+ - 时机:第10章之前决策
842
+
843
+ **优先级排序**:P0-1(时间线)→ P0-2(能力矛盾)→ P1-1(悬念)→ P1-2(配角)
844
+ ```
845
+
846
+ ### B8. 生成验证报告
847
+
848
+ 创建 `stories/*/analysis-report.md`:
849
+
850
+ ```markdown
851
+ # 作品分析报告
852
+
853
+ ## 摘要
854
+ - 分析日期:2025-10-01
855
+ - 分析范围:第1-7章
856
+ - 分析字数:45,230 字
857
+ - 总体评分:7.5/10
858
+ - 建议行动:继续创作,批量修订前7章
859
+
860
+ ## 核心指标
861
+ | 维度 | 得分 | 说明 |
862
+ |------|------|------|
863
+ | 宪法合规 | 8/10 | 价值观正确,风格一致,有1处需注意 |
864
+ | 规格符合 | 7/10 | P0需求覆盖67%,需补充反派戏份 |
865
+ | 计划执行 | 8/10 | 整体符合,局部调整合理 |
866
+ | 内容质量 | 7.5/10 | 有2处逻辑问题,1处人物矛盾需修复 |
867
+ | 读者体验 | 8/10 | 节奏合理,亮点突出,可读性强 |
868
+ | 期待管理 | 7/10 | 3项活跃期待,1项紧迫性高,无遗忘期待 |
869
+ | 线程平衡 | 6.5/10 | 3条线程,1条冷线(8章未更新),无过热线 |
870
+
871
+ **平均分:7.4/10**
872
+
873
+ ## 期待管理分析
874
+ | 期待 | 类型 | 铺设 | 进度 | 紧迫性 |
875
+ |------|------|------|------|--------|
876
+ | 击败反派 | Plot | Ch1 | 45% | ⚠️ Medium |
877
+ | 身世之谜 | Mystery | Ch3 | 20% | ✅ Low |
878
+ | 突破瓶颈 | Growth | Ch5 | 60% | 🔥 High |
879
+
880
+ 💡 建议:使用 `reader-expectation` Skill 获取详细期待分析和满足策略
881
+
882
+ ## 线程平衡分析(多线叙事时显示)
883
+ | 线程 | 类型 | 章节数 | 占比 | 状态 |
884
+ |------|------|--------|------|------|
885
+ | 主角线 | POV | 5 | 45% | ✅ 活跃 |
886
+ | 配角A线 | POV | 3 | 30% | ⚠️ 3章未更新 |
887
+ | 配角B线 | POV | 2 | 15% | 🔴 危险(8章) |
888
+
889
+ 💡 建议:使用 `multi-thread-narrative` Skill 获取详细线程分析和交织建议
890
+
891
+ ## 关键发现
892
+ 1. ✅ 开篇吸引力强,第1章钩子设计优秀
893
+ 2. ✅ 父子关系演变符合预期,情感层次丰富
894
+ 3. ⚠️ 存在2处逻辑矛盾,需要修复
895
+ 4. ⚠️ 第5章悬念不足,影响读者留存
896
+ 5. ❌ P0需求"反派立体"尚未实现
897
+
898
+ ## 下一步行动
899
+ 1. 🔴 **立即修复**:时间线矛盾、角色能力矛盾(预计2小时)
900
+ 2. 🟡 **近期优化**:第5章增加悬念、第8-9章安排配角B戏份(预计1天)
901
+ 3. 🟢 **继续创作**:按计划推进第8-10章,重点补充反派戏份
902
+ 4. 📅 **计划检查**:第10章完成后再次运行 `/analyze` 进行阶段性验证
903
+ ```
904
+
905
+ ---
906
+
907
+ ## 分析维度框架
908
+
909
+ ### 七大分析维度
910
+ 1. **合规性**:符合宪法和规格
911
+ 2. **一致性**:逻辑、人物、世界观
912
+ 3. **完整性**:需求覆盖、任务完成
913
+ 4. **质量性**:文字、结构、节奏
914
+ 5. **创新性**:亮点、特色、突破
915
+ 6. **可读性**:流畅、吸引、共鸣
916
+ 7. **可行性**:进度、资源、风险
917
+
918
+ ## 评分标准
919
+
920
+ ```text
921
+ 10分:完美,超出预期
922
+ 8-9分:优秀,小瑕疵
923
+ 6-7分:良好,需优化
924
+ 4-5分:及格,问题较多
925
+ 1-3分:差,需要重写
926
+ ```
927
+
928
+ ## 使用场景
929
+
930
+ ### 场景1:准备开始写作
931
+
932
+ ```bash
933
+ 用户:/tasks
934
+ AI:已生成 28 个写作任务
935
+
936
+ 用户:/analyze
937
+ AI:检测到无章节内容,执行框架一致性分析...
938
+
939
+ 【覆盖率分析】
940
+ ⚠️ 规格需求"反派设定"无对应任务
941
+ ❌ 计划第10-12章缺少任务分解
942
+
943
+ 【一致性检查】
944
+ ❌ 规格要求"快节奏",但计划前5章节奏慢
945
+
946
+ 【准备评分】6/10
947
+ 建议:修复上述问题后再开始写作
948
+ ```
949
+
950
+ ### 场景2:完成部分章节
951
+
952
+ ```bash
953
+ 用户:/write(完成第1-7章)
954
+
955
+ 用户:/analyze
956
+ AI:检测到已完成 7 章,执行内容质量分析...
957
+
958
+ 【宪法合规】8/10 ✅
959
+ 【规格符合】7/10 ⚠️ P0需求覆盖67%
960
+ 【内容质量】7.5/10 ⚠️ 有2处逻辑问题
961
+
962
+ 【改进建议】
963
+ P0:修复时间线矛盾、角色能力矛盾
964
+ P1:第5章增加悬念
965
+
966
+ 【建议】:修复P0问题后,继续创作第8-10章
967
+ ```
968
+
969
+ ### 场景3:手动指定模式
970
+
971
+ ```bash
972
+ 用户:/analyze --type=framework
973
+ AI:强制执行框架分析模式...
974
+
975
+ (即使有章节内容,也执行框架分析)
976
+
977
+ 用户:/analyze --type=content
978
+ AI:强制执行内容分析模式...
979
+
980
+ (即使章节不足3章,也执行内容分析)
981
+ ```
982
+
983
+ ### 🆕 场景4:专项分析
984
+
985
+ ```bash
986
+ # 开篇专项分析(检查前3章是否符合黄金开篇法则)
987
+ 用户:/analyze --focus=opening
988
+ AI:执行开篇专项分析...
989
+
990
+ 【黄金法则检查】(自动读取 golden-opening.md)
991
+ ❌ 法则1违反:第一章有200字静态环境描写
992
+ ⚠️ 法则5延迟:金手指在第4章才展现(建议第2-3章)
993
+
994
+ 【开篇钩子评估】
995
+ 第一句钩子:中等强度
996
+ 第一章结尾钩子:强
997
+
998
+ 【建议】:删除开篇环境描写,金手指提前到第3章
999
+
1000
+ ---
1001
+
1002
+ # 节奏专项分析(检查爽点分布和冲突密度)
1003
+ 用户:/analyze --focus=pacing
1004
+ AI:执行节奏专项分析...
1005
+
1006
+ 【节奏参数】(自动读取 rhythm-config.json)
1007
+ 目标爽点间隔:5章
1008
+ 实际平均间隔:7章 ⚠️ 偏长
1009
+
1010
+ 【冲突分布】
1011
+ 平均冲突密度:1.2次/章
1012
+ 建议密度:2次/章 ❌ 不足
1013
+
1014
+ 【建议】:在第5、10、15章增加爽点设计
1015
+
1016
+ ---
1017
+
1018
+ # 逻辑专项分析(深度查找逻辑漏洞)
1019
+ 用户:/analyze --focus=logic
1020
+ AI:执行逻辑专项分析...
1021
+
1022
+ 【时间线矛盾】
1023
+ ❌ 第5章"三年后" vs 第7章"两年后"
1024
+
1025
+ 【能力矛盾】
1026
+ ❌ 第2章"不会武功" → 第6章"使用高级剑法"(跨度过大)
1027
+
1028
+ 【因果逻辑】
1029
+ ❌ 第3章宝物丢失 → 第6章宝物出现(未交代如何找回)
1030
+
1031
+ 【建议】:修复上述3处逻辑矛盾
1032
+
1033
+ ---
1034
+
1035
+ # 风格专项分析(对比 style-reference.md)
1036
+ 用户:/analyze --focus=style
1037
+ AI:执行风格专项分析...
1038
+
1039
+ 【词汇一致性】(自动读取 style-reference.md)
1040
+ ❌ 发现禁用词"弥漫着"共12次
1041
+ ⚠️ 实际平均句长35字 vs 目标25字(偏长)
1042
+
1043
+ 【描写比例】
1044
+ 对话:40%(目标35%)+5% ⚠️
1045
+ 动作:30%(目标40%)-10% ❌
1046
+
1047
+ 【建议】:
1048
+ 1. 替换禁用词为对标作品常用词
1049
+ 2. 缩短句子,增加短句比例
1050
+ 3. 增加动作描写,减少对话
1051
+ ```
1052
+
1053
+ ## 与其他命令的关系
1054
+
1055
+ ```text
1056
+ /constitution → 定义创作原则
1057
+
1058
+ /specify → 定义故事规格
1059
+
1060
+ /clarify → 澄清关键决策
1061
+
1062
+ /plan → 制定创作计划
1063
+
1064
+ /tasks → 分解执行任务
1065
+
1066
+ /analyze (框架模式) → 验证准备就绪
1067
+
1068
+ /write → 执行章节写作
1069
+
1070
+ /analyze (内容模式) → 验证质量一致
1071
+
1072
+ (循环:修订 → 继续写作 → 再次分析)
1073
+ ```
1074
+
1075
+ ## 注意事项
1076
+
1077
+ ### 智能但可控
1078
+ - 自动模式覆盖 90% 的使用场景
1079
+ - 手动模式应对特殊需求
1080
+ - 用户无需记忆复杂规则
1081
+
1082
+ ### 🆕 专项分析的使用场景
1083
+
1084
+ **何时使用专项分析?**
1085
+
1086
+ 1. **--focus=opening**:完成前3章后立即使用
1087
+ - 开篇是读者留存的关键
1088
+ - 黄金开篇法则具有硬性要求
1089
+ - 早期发现问题成本更低
1090
+
1091
+ 2. **--focus=pacing**:每10-15章使用一次
1092
+ - 检查节奏是否符合预期
1093
+ - 评估爽点/冲突分布合理性
1094
+ - 根据rhythm-config调整节奏
1095
+
1096
+ 3. **--focus=character**:主要转折点后使用
1097
+ - 主角经历重大事件后
1098
+ - 配角出场或退场时
1099
+ - 人物关系发生变化时
1100
+
1101
+ 4. **--focus=foreshadow**:每卷完成后使用
1102
+ - 检查伏笔是否遗漏
1103
+ - 评估伏笔埋设质量
1104
+ - 提前规划回收时机
1105
+
1106
+ 5. **--focus=logic**:大纲调整后使用
1107
+ - 修改重要设定后
1108
+ - 调整时间线后
1109
+ - 增删章节内容后
1110
+
1111
+ 6. **--focus=style**:批量修订前使用
1112
+ - 对比style-reference检查一致性
1113
+ - 发现AI腔和禁用词
1114
+ - 确保风格符合对标作品
1115
+
1116
+ **专项分析与全面分析的关系**:
1117
+ - **全面分析**(默认):适合阶段性检查(每5-10章)
1118
+ - **专项分析**(--focus):适合针对性优化(发现问题时)
1119
+
1120
+ **建议工作流**:
1121
+ 1. 每完成5-10章 → `/analyze`(全面分析)
1122
+ 2. 发现开篇问题 → `/analyze --focus=opening`
1123
+ 3. 节奏感觉不对 → `/analyze --focus=pacing`
1124
+ 4. 逻辑不确定 → `/analyze --focus=logic`
1125
+ 5. 修订前检查 → `/analyze --focus=style`
1126
+
1127
+ ### 客观且建设
1128
+ - 基于数据和标准分析
1129
+ - 避免主观臆断
1130
+ - 提供具体可执行建议
1131
+
1132
+ ### 渐进式改进
1133
+ - 分析是为了改进,不是批判
1134
+ - 记录每次分析结果
1135
+ - 追踪改进效果
1136
+
1137
+ ### 🆕 与其他功能的协同
1138
+
1139
+ **专项分析自动读取的文件**:
1140
+ - `spec/presets/golden-opening.md` → opening分析
1141
+ - `spec/presets/rhythm-config.json` → pacing分析
1142
+ - `memory/style-reference.md` → style分析
1143
+ - `stories/*/specification.md` → 所有分析的基准
1144
+
1145
+ **优势**:
1146
+ - 无需手动指定参考文件
1147
+ - 自动应用对标作品标准
1148
+ - 保持分析标准一致性
1149
+
1150
+ ---
1151
+
1152
+ ## 🆕 后置处理:询问式 Tracking 更新
1153
+
1154
+ **执行时机**: 内容分析完成后,发现可更新的 tracking 信息
1155
+
1156
+ **更新策略**: 辅助命令(/analyze)生成建议,**需用户确认后**才更新
1157
+
1158
+ ### 生成 Tracking 更新建议
1159
+
1160
+ 基于分析结果,生成 tracking 文件的更新建议。
1161
+
1162
+ #### 更新建议内容
1163
+
1164
+ **从分析结果中提取**:
1165
+ 1. **角色状态变化**
1166
+ - 分析发现的角色情绪、状态变化
1167
+ - 角色最后出场位置更新
1168
+
1169
+ 2. **关系网络变化**
1170
+ - 分析发现的角色关系建立或变化
1171
+ - 关系强度评估
1172
+
1173
+ 3. **情节推进**
1174
+ - 分析发现的情节线进度变化
1175
+ - 新的情节事件
1176
+
1177
+ 4. **时间线补充**
1178
+ - 分析发现的时间线事件
1179
+ - 时间线一致性修正
1180
+ - 来源:从 B5 内容质量分析中的时间统计部分识别关键时间点
1181
+ - 包含:每个重要事件的 day/time/chapter/event/participants 字段
1182
+
1183
+ **建议格式示例**:
1184
+
1185
+ ```markdown
1186
+ ## 📝 Tracking 更新建议
1187
+
1188
+ 基于对 chapter-01 到 chapter-05 的分析,发现以下可更新内容:
1189
+
1190
+ ### character-state.json
1191
+
1192
+ 建议更新:
1193
+ ```diff
1194
+ "林晓": {
1195
+ - "lastAppearance": "chapter-01",
1196
+ + "lastAppearance": "chapter-05",
1197
+ - "emotion": "平静",
1198
+ + "emotion": "焦虑",
1199
+ "location": "训练场"
1200
+ }
1201
+ ```
1202
+
1203
+ **依据**: Ch.5 中林晓的对话和行为分析
1204
+
1205
+ ---
1206
+
1207
+ ### relationships.json
1208
+
1209
+ 建议添加:
1210
+ ```diff
1211
+ + {
1212
+ + "from": "林晓",
1213
+ + "to": "队长",
1214
+ + "type": "信任",
1215
+ + "strength": 0.6,
1216
+ + "evidence": "Ch.5 首次合作任务",
1217
+ + "lastUpdate": "chapter-05"
1218
+ + }
1219
+ ```
1220
+
1221
+ **依据**: Ch.5 对话分析显示林晓对队长建立初步信任
1222
+
1223
+ ---
1224
+
1225
+ ### timeline.json
1226
+
1227
+ 建议添加:
1228
+ ```diff
1229
+ + {
1230
+ + "day": 15,
1231
+ + "time": "14:00",
1232
+ + "chapter": "chapter-05",
1233
+ + "event": "首次合作任务",
1234
+ + "participants": ["林晓", "队长"]
1235
+ + }
1236
+ ```
1237
+
1238
+ **依据**: Ch.5 情节推进分析
1239
+
1240
+ ---
1241
+
1242
+ ### plot-tracker.json
1243
+
1244
+ 建议更新:
1245
+ ```diff
1246
+ "plotLines": [
1247
+ {
1248
+ "id": "主线-001",
1249
+ - "progress": 0.2,
1250
+ + "progress": 0.3,
1251
+ - "lastUpdate": "chapter-04",
1252
+ + "lastUpdate": "chapter-05"
1253
+ }
1254
+ ]
1255
+ ```
1256
+
1257
+ **依据**: 主线情节推进 10%,发现第一条线索
1258
+
1259
+ ---
1260
+
1261
+ ## 🔍 用户确认
1262
+
1263
+ 是否应用这些 tracking 更新?
1264
+
1265
+ **选项**:
1266
+ - **[Y]** 全部应用 - 应用所有建议的更新
1267
+ - **[N]** 跳过更新 - 不更新任何 tracking 文件
1268
+ - **[S]** 选择性应用 - 逐项确认每个更新
1269
+
1270
+ 请输入选择:
1271
+ ```
1272
+
1273
+ ### 用户选择处理
1274
+
1275
+ #### 选项 Y: 全部应用
1276
+
1277
+ **执行步骤**:
1278
+ 1. 应用所有建议的更新到对应的 tracking 文件
1279
+ 2. 验证 JSON 格式有效性
1280
+ 3. 追加更新记录到 tracking-log.md
1281
+
1282
+ **日志格式**:
1283
+ ```markdown
1284
+ ## [时间戳] - /analyze chapter-01-05
1285
+
1286
+ ### 命令执行
1287
+ - **命令**: `/analyze 内容分析 chapter-01-05`
1288
+ - **分析范围**: 第 1-5 章
1289
+ - **执行者**: AI
1290
+ - **状态**: 用户确认后更新(选择:全部应用)
1291
+
1292
+ ### 用户确认更新内容
1293
+
1294
+ #### character-state.json
1295
+ ```diff
1296
+ "林晓": {
1297
+ - "emotion": "平静",
1298
+ + "emotion": "焦虑",
1299
+ }
1300
+ ```
1301
+
1302
+ #### relationships.json
1303
+ ```diff
1304
+ + {
1305
+ + "from": "林晓",
1306
+ + "to": "队长",
1307
+ + "type": "信任",
1308
+ + "strength": 0.6
1309
+ + }
1310
+ ```
1311
+
1312
+ #### timeline.json
1313
+ ```diff
1314
+ + {
1315
+ + "day": 15,
1316
+ + "event": "首次合作任务"
1317
+ + }
1318
+ ```
1319
+
1320
+ #### plot-tracker.json
1321
+ ```diff
1322
+ - "progress": 0.2,
1323
+ + "progress": 0.3,
1324
+ ```
1325
+
1326
+ ### 更新依据
1327
+ - **角色分析**: Ch.5 林晓的对话和行为显示焦虑情绪
1328
+ - **关系分析**: Ch.5 林晓与队长首次合作,建立初步信任
1329
+ - **时间线**: Ch.5 情节推进到第 15 天
1330
+ - **情节推进**: 主线进展 10%,发现第一条线索
1331
+
1332
+ ---
1333
+ ```
1334
+
1335
+ #### 选项 N: 跳过更新
1336
+
1337
+ **执行步骤**:
1338
+ 1. 不修改任何 tracking 文件
1339
+ 2. 在 tracking-log.md 记录用户选择
1340
+
1341
+ **日志格式**:
1342
+ ```markdown
1343
+ ## [时间戳] - /analyze chapter-01-05
1344
+
1345
+ ### 命令执行
1346
+ - **命令**: `/analyze 内容分析 chapter-01-05`
1347
+ - **分析范围**: 第 1-5 章
1348
+ - **执行者**: AI
1349
+ - **状态**: 用户选择跳过更新
1350
+
1351
+ ### 用户选择
1352
+ - **选择**: [N] 跳过更新
1353
+ - **原因**: 用户未确认建议的更新
1354
+
1355
+ ---
1356
+ ```
1357
+
1358
+ #### 选项 S: 选择性应用
1359
+
1360
+ **执行步骤**:
1361
+ 1. 逐项询问用户确认每个建议的更新
1362
+ 2. 仅应用用户确认的更新
1363
+ 3. 记录用户的具体选择到 tracking-log.md
1364
+
1365
+ **交互流程**:
1366
+ ```markdown
1367
+ ## 逐项确认更新
1368
+
1369
+ ### 1. character-state.json - 林晓情绪变化
1370
+
1371
+ 建议更新:
1372
+ - emotion: "平静" → "焦虑"
1373
+
1374
+ 是否应用此更新? [Y/N]
1375
+
1376
+ ---
1377
+
1378
+ ### 2. relationships.json - 新增信任关系
1379
+
1380
+ 建议添加:
1381
+ - 林晓 → 队长:信任关系(强度 0.6)
1382
+
1383
+ 是否应用此更新? [Y/N]
1384
+
1385
+ ---
1386
+
1387
+ [继续其他更新...]
1388
+ ```
1389
+
1390
+ **日志格式**:
1391
+ ```markdown
1392
+ ## [时间戳] - /analyze chapter-01-05
1393
+
1394
+ ### 命令执行
1395
+ - **命令**: `/analyze 内容分析 chapter-01-05`
1396
+ - **分析范围**: 第 1-5 章
1397
+ - **执行者**: AI
1398
+ - **状态**: 用户选择性应用更新
1399
+
1400
+ ### 用户选择详情
1401
+ - **character-state.json**: ✅ 已应用
1402
+ - **relationships.json**: ✅ 已应用
1403
+ - **timeline.json**: ❌ 用户跳过
1404
+ - **plot-tracker.json**: ✅ 已应用
1405
+
1406
+ ### 实际应用的更新内容
1407
+
1408
+ #### character-state.json
1409
+ [显示实际应用的 diff...]
1410
+
1411
+ #### relationships.json
1412
+ [显示实际应用的 diff...]
1413
+
1414
+ #### plot-tracker.json
1415
+ [显示实际应用的 diff...]
1416
+
1417
+ ### 更新依据
1418
+ [仅列出实际应用的更新的依据...]
1419
+
1420
+ ---
1421
+ ```
1422
+
1423
+ ### 错误处理
1424
+
1425
+ #### 如果 tracking 文件不存在
1426
+
1427
+ ```markdown
1428
+ ⚠️ 警告:部分 tracking 文件不存在
1429
+ - 文件:character-state.json
1430
+ - 建议:运行 `/track --init` 初始化 tracking 文件
1431
+ - 跳过该文件的更新
1432
+ ```
1433
+
1434
+ #### 如果 JSON 格式错误
1435
+
1436
+ ```markdown
1437
+ ❌ 错误:tracking 文件格式错误
1438
+ - 文件:relationships.json
1439
+ - 错误:Unexpected token } in JSON at position 58
1440
+ - 建议:手动修复文件格式后重试
1441
+ - 更新建议已记录到 tracking-log.md,可稍后手动应用
1442
+ ```
1443
+
1444
+ #### 如果 tracking 目录不存在
1445
+
1446
+ ```markdown
1447
+ ℹ️ 提示:tracking 目录不存在
1448
+ - 建议:运行 `/track --init` 初始化 tracking 系统
1449
+ - 或创建 spec/tracking/ 目录
1450
+ - 跳过本次更新
1451
+ ```
1452
+
1453
+ ---
1454
+
1455
+ ## 🔧 修改引导
1456
+
1457
+ **内容分析完成后,自动提示修改选项**:
1458
+
1459
+ ```markdown
1460
+ ---
1461
+
1462
+ 📋 分析完成。发现 [X] 个问题。
1463
+
1464
+ 如需系统性修改,可执行:
1465
+ /revise 完整四层修改(结构→节奏→一致性→文字)
1466
+ /revise --layer polish 仅文字润色
1467
+ /revise --layer consistency 仅一致性修复
1468
+ /revise --quick 快速修改(一致性+文字)
1469
+ /revise --chapters 1-10 指定范围修改
1470
+
1471
+ 💡 建议:先修复 P0 问题,再进行系统性润色。
1472
+ ```
1473
+
1474
+ **问题到修改层的映射**:
1475
+
1476
+ | /analyze 发现的问题类型 | 对应 /revise 层 |
1477
+ |----------------------|----------------|
1478
+ | 结构问题、章节缺失、高潮位置 | `--layer=structure` |
1479
+ | 节奏偏慢/偏快、缺少钩子 | `--layer=pacing` |
1480
+ | 角色矛盾、时间线错误、伏笔遗漏 | `--layer=consistency` |
1481
+ | 重复用词、AI痕迹、风格不一致 | `--layer=polish` |
1482
+
1483
+ ---
1484
+
1485
+ **记住**:**一个命令,三种模式(框架/内容/专项),智能而精准。analyze 的目的是让作品更好,无论是在写作前、写作后,还是针对特定维度。** 分析发现问题后,使用 `/revise` 进行系统性修改。