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.
- package/CHANGELOG.md +161 -0
- package/LICENSE +22 -0
- package/README.md +372 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +50 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/check.d.ts +6 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +32 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +160 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/plugin.d.ts +6 -0
- package/dist/commands/plugin.d.ts.map +1 -0
- package/dist/commands/plugin.js +135 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/upgrade.d.ts +6 -0
- package/dist/commands/upgrade.d.ts.map +1 -0
- package/dist/commands/upgrade.js +92 -0
- package/dist/commands/upgrade.js.map +1 -0
- package/dist/core/config.d.ts +72 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +136 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/errors.d.ts +59 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +125 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/platform.d.ts +27 -0
- package/dist/core/platform.d.ts.map +1 -0
- package/dist/core/platform.js +75 -0
- package/dist/core/platform.js.map +1 -0
- package/dist/core/template.d.ts +35 -0
- package/dist/core/template.d.ts.map +1 -0
- package/dist/core/template.js +94 -0
- package/dist/core/template.js.map +1 -0
- package/dist/plugins/identifier.d.ts +13 -0
- package/dist/plugins/identifier.d.ts.map +1 -0
- package/dist/plugins/identifier.js +72 -0
- package/dist/plugins/identifier.js.map +1 -0
- package/dist/plugins/installers/base.d.ts +27 -0
- package/dist/plugins/installers/base.d.ts.map +1 -0
- package/dist/plugins/installers/base.js +30 -0
- package/dist/plugins/installers/base.js.map +1 -0
- package/dist/plugins/installers/github.d.ts +22 -0
- package/dist/plugins/installers/github.d.ts.map +1 -0
- package/dist/plugins/installers/github.js +133 -0
- package/dist/plugins/installers/github.js.map +1 -0
- package/dist/plugins/installers/local.d.ts +16 -0
- package/dist/plugins/installers/local.d.ts.map +1 -0
- package/dist/plugins/installers/local.js +69 -0
- package/dist/plugins/installers/local.js.map +1 -0
- package/dist/plugins/installers/npm.d.ts +20 -0
- package/dist/plugins/installers/npm.d.ts.map +1 -0
- package/dist/plugins/installers/npm.js +99 -0
- package/dist/plugins/installers/npm.js.map +1 -0
- package/dist/plugins/manager.d.ts +77 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +349 -0
- package/dist/plugins/manager.js.map +1 -0
- package/dist/plugins/registry.d.ts +48 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +111 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +66 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +2 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/plugins/validator.d.ts +19 -0
- package/dist/plugins/validator.d.ts.map +1 -0
- package/dist/plugins/validator.js +164 -0
- package/dist/plugins/validator.js.map +1 -0
- package/dist/utils/logger.d.ts +13 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +48 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/project.d.ts +24 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +61 -0
- package/dist/utils/project.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/package.json +76 -0
- package/plugins/authentic-voice/README.md +31 -0
- package/plugins/authentic-voice/commands/authentic-voice.md +73 -0
- package/plugins/authentic-voice/commands/authenticity-audit.md +37 -0
- package/plugins/authentic-voice/config.yaml +30 -0
- package/plugins/authentic-voice/experts/authentic-editor.md +27 -0
- package/plugins/export/README.md +319 -0
- package/plugins/export/commands/export.md +460 -0
- package/plugins/export/commands/generate-cover.md +256 -0
- package/plugins/export/commands/metadata.md +309 -0
- package/plugins/export/config.yaml +47 -0
- package/plugins/export/experts/publishing-expert.md +171 -0
- package/plugins/export/templates/epub/chapter-template.html +13 -0
- package/plugins/export/templates/epub/cover-template.html +14 -0
- package/plugins/export/templates/epub/stylesheet.css +200 -0
- package/plugins/export/templates/pdf/ebook-style.css +137 -0
- package/plugins/export/templates/pdf/print-style.css +179 -0
- package/plugins/export/templates/platforms/jinjiang-format.md +101 -0
- package/plugins/export/templates/platforms/qidian-format.md +108 -0
- package/plugins/export/templates/platforms/tomato-format.md +95 -0
- package/plugins/translate/README.md +265 -0
- package/plugins/translate/commands/glossary.md +731 -0
- package/plugins/translate/commands/translate-preview.md +543 -0
- package/plugins/translate/commands/translate.md +649 -0
- package/plugins/translate/config.yaml +43 -0
- package/plugins/translate/experts/literary-translator.md +605 -0
- package/templates/commands/analyze.md +1485 -0
- package/templates/commands/checklist.md +434 -0
- package/templates/commands/clarify.md +257 -0
- package/templates/commands/constitution.md +257 -0
- package/templates/commands/expert.md +136 -0
- package/templates/commands/plan.md +749 -0
- package/templates/commands/recap.md +613 -0
- package/templates/commands/relations.md +96 -0
- package/templates/commands/revise.md +341 -0
- package/templates/commands/specify.md +682 -0
- package/templates/commands/tasks.md +142 -0
- package/templates/commands/timeline.md +73 -0
- package/templates/commands/track-init.md +137 -0
- package/templates/commands/track.md +463 -0
- package/templates/commands/write.md +1264 -0
- package/templates/config/keyword-mappings.json +106 -0
- package/templates/knowledge/audit-config.json +26 -0
- package/templates/knowledge/character-profiles.md +152 -0
- package/templates/knowledge/character-voices.md +137 -0
- package/templates/knowledge/locations.md +184 -0
- package/templates/knowledge/world-setting.md +121 -0
- package/templates/knowledge-base/README.md +285 -0
- package/templates/knowledge-base/character-archetypes/01-hero.md +233 -0
- package/templates/knowledge-base/character-archetypes/02-mentor.md +177 -0
- package/templates/knowledge-base/character-archetypes/03-shadow.md +221 -0
- package/templates/knowledge-base/character-archetypes/04-ally.md +178 -0
- package/templates/knowledge-base/character-archetypes/05-shapeshifter.md +177 -0
- package/templates/knowledge-base/character-archetypes/06-trickster.md +181 -0
- package/templates/knowledge-base/character-archetypes/07-threshold-guardian.md +177 -0
- package/templates/knowledge-base/character-archetypes/08-herald.md +180 -0
- package/templates/knowledge-base/character-archetypes/09-father.md +249 -0
- package/templates/knowledge-base/character-archetypes/10-mother.md +202 -0
- package/templates/knowledge-base/character-archetypes/11-child.md +183 -0
- package/templates/knowledge-base/character-archetypes/12-sage.md +202 -0
- package/templates/knowledge-base/character-archetypes/README.md +60 -0
- package/templates/knowledge-base/character-archetypes/application-guide.md +222 -0
- package/templates/knowledge-base/character-archetypes/archetype-combinations.md +242 -0
- package/templates/knowledge-base/character-archetypes/config.yaml +28 -0
- package/templates/knowledge-base/character-archetypes/examples-analysis.md +223 -0
- package/templates/knowledge-base/craft/character-arc.md +1153 -0
- package/templates/knowledge-base/craft/dialogue.md +1170 -0
- package/templates/knowledge-base/craft/pacing.md +1200 -0
- package/templates/knowledge-base/craft/scene-structure.md +1136 -0
- package/templates/knowledge-base/craft/show-not-tell.md +1012 -0
- package/templates/knowledge-base/emotional-beats/01-first-meeting.md +145 -0
- package/templates/knowledge-base/emotional-beats/02-bonding-moment.md +226 -0
- package/templates/knowledge-base/emotional-beats/03-declaration.md +284 -0
- package/templates/knowledge-base/emotional-beats/04-triumph.md +240 -0
- package/templates/knowledge-base/emotional-beats/05-reunion.md +396 -0
- package/templates/knowledge-base/emotional-beats/06-forgiveness.md +204 -0
- package/templates/knowledge-base/emotional-beats/07-betrayal.md +204 -0
- package/templates/knowledge-base/emotional-beats/08-loss.md +214 -0
- package/templates/knowledge-base/emotional-beats/09-rejection.md +254 -0
- package/templates/knowledge-base/emotional-beats/10-failure.md +244 -0
- package/templates/knowledge-base/emotional-beats/11-misunderstanding.md +205 -0
- package/templates/knowledge-base/emotional-beats/12-farewell.md +283 -0
- package/templates/knowledge-base/emotional-beats/13-revelation.md +242 -0
- package/templates/knowledge-base/emotional-beats/14-point-of-no-return.md +215 -0
- package/templates/knowledge-base/emotional-beats/15-dark-night.md +244 -0
- package/templates/knowledge-base/emotional-beats/16-sacrifice.md +246 -0
- package/templates/knowledge-base/emotional-beats/17-awakening.md +246 -0
- package/templates/knowledge-base/emotional-beats/18-confrontation.md +217 -0
- package/templates/knowledge-base/emotional-beats/19-bittersweet-goodbye.md +368 -0
- package/templates/knowledge-base/emotional-beats/20-moral-dilemma.md +248 -0
- package/templates/knowledge-base/emotional-beats/21-temptation.md +240 -0
- package/templates/knowledge-base/emotional-beats/22-redemption.md +210 -0
- package/templates/knowledge-base/emotional-beats/README.md +104 -0
- package/templates/knowledge-base/emotional-beats/beat-sequences.md +276 -0
- package/templates/knowledge-base/emotional-beats/config.yaml +30 -0
- package/templates/knowledge-base/emotional-beats/pacing-guide.md +390 -0
- package/templates/knowledge-base/genres/historical.md +1127 -0
- package/templates/knowledge-base/genres/mystery.md +1123 -0
- package/templates/knowledge-base/genres/revenge.md +846 -0
- package/templates/knowledge-base/genres/romance.md +948 -0
- package/templates/knowledge-base/genres/sci-fi.md +156 -0
- package/templates/knowledge-base/genres/thriller.md +166 -0
- package/templates/knowledge-base/genres/wuxia.md +143 -0
- package/templates/knowledge-base/references/README.md +96 -0
- package/templates/knowledge-base/references/china-1920s/culture.md +423 -0
- package/templates/knowledge-base/references/china-1920s/daily-life.md +616 -0
- package/templates/knowledge-base/references/china-1920s/overview.md +298 -0
- package/templates/knowledge-base/references/china-1920s/society.md +703 -0
- package/templates/knowledge-base/references/china-1920s/warlords.md +427 -0
- package/templates/knowledge-base/references/cultivation-world/daily-life.md +108 -0
- package/templates/knowledge-base/references/cultivation-world/overview.md +64 -0
- package/templates/knowledge-base/references/cultivation-world/power-system.md +108 -0
- package/templates/knowledge-base/references/cultivation-world/sects.md +104 -0
- package/templates/knowledge-base/references/cultivation-world/world-setting.md +108 -0
- package/templates/knowledge-base/references/modern-workplace/corporate.md +115 -0
- package/templates/knowledge-base/references/modern-workplace/daily-life.md +129 -0
- package/templates/knowledge-base/references/modern-workplace/overview.md +73 -0
- package/templates/knowledge-base/references/modern-workplace/relationships.md +107 -0
- package/templates/knowledge-base/references/modern-workplace/tech-industry.md +131 -0
- package/templates/knowledge-base/references/tang-dynasty/culture.md +135 -0
- package/templates/knowledge-base/references/tang-dynasty/daily-life.md +139 -0
- package/templates/knowledge-base/references/tang-dynasty/overview.md +76 -0
- package/templates/knowledge-base/references/tang-dynasty/politics.md +121 -0
- package/templates/knowledge-base/references/tang-dynasty/society.md +126 -0
- package/templates/knowledge-base/requirements/README.md +240 -0
- package/templates/knowledge-base/requirements/anti-ai-v3.md +46 -0
- package/templates/knowledge-base/requirements/anti-ai-v4.md +430 -0
- package/templates/knowledge-base/requirements/fast-paced.md +552 -0
- package/templates/knowledge-base/requirements/no-poison.md +60 -0
- package/templates/knowledge-base/requirements/romance-angst.md +102 -0
- package/templates/knowledge-base/requirements/romance-sweet.md +63 -0
- package/templates/knowledge-base/requirements/serious-literature.md +45 -0
- package/templates/knowledge-base/requirements/strong-emotion.md +60 -0
- package/templates/knowledge-base/styles/README.md +302 -0
- package/templates/knowledge-base/styles/ancient-style.md +579 -0
- package/templates/knowledge-base/styles/literary.md +439 -0
- package/templates/knowledge-base/styles/minimal.md +472 -0
- package/templates/knowledge-base/styles/natural-voice.md +930 -0
- package/templates/knowledge-base/styles/web-novel.md +525 -0
- package/templates/memory/constitution.md +140 -0
- package/templates/memory/personal-voice.md +113 -0
- package/templates/scripts/README.md +187 -0
- package/templates/scripts/bash/analyze-story.sh +170 -0
- package/templates/scripts/bash/check-consistency.sh +463 -0
- package/templates/scripts/bash/check-plot.sh +374 -0
- package/templates/scripts/bash/check-timeline.sh +346 -0
- package/templates/scripts/bash/check-world.sh +395 -0
- package/templates/scripts/bash/check-writing-state.sh +854 -0
- package/templates/scripts/bash/clarify-story.sh +117 -0
- package/templates/scripts/bash/common.sh +151 -0
- package/templates/scripts/bash/constitution.sh +114 -0
- package/templates/scripts/bash/generate-tasks.sh +65 -0
- package/templates/scripts/bash/init-tracking.sh +183 -0
- package/templates/scripts/bash/manage-relations.sh +174 -0
- package/templates/scripts/bash/plan-story.sh +100 -0
- package/templates/scripts/bash/specify-story.sh +93 -0
- package/templates/scripts/bash/tasks-story.sh +96 -0
- package/templates/scripts/bash/test-word-count.sh +182 -0
- package/templates/scripts/bash/tests/bench-preload-cache.sh +100 -0
- package/templates/scripts/bash/tests/run-all-benchmarks.sh +16 -0
- package/templates/scripts/bash/tests/test-cache-semantics.sh +199 -0
- package/templates/scripts/bash/tests/test-cross-platform.sh +35 -0
- package/templates/scripts/bash/tests/test-edge-cases-bash.sh +60 -0
- package/templates/scripts/bash/tests/test-phase1-bash.sh +28 -0
- package/templates/scripts/bash/tests/test-preload-cache.sh +123 -0
- package/templates/scripts/bash/tests/test-regex-precompile.sh +89 -0
- package/templates/scripts/bash/tests/test-regression-bash.sh +42 -0
- package/templates/scripts/bash/tests/test-task6-verification.sh +200 -0
- package/templates/scripts/bash/text-audit.sh +144 -0
- package/templates/scripts/bash/track-progress.sh +194 -0
- package/templates/scripts/powershell/analyze-story.ps1 +171 -0
- package/templates/scripts/powershell/check-analyze-stage.ps1 +110 -0
- package/templates/scripts/powershell/check-consistency.ps1 +138 -0
- package/templates/scripts/powershell/check-plot.ps1 +139 -0
- package/templates/scripts/powershell/check-timeline.ps1 +112 -0
- package/templates/scripts/powershell/check-writing-state.ps1 +490 -0
- package/templates/scripts/powershell/check-writing-state.ps1.backup +135 -0
- package/templates/scripts/powershell/clarify-story.ps1 +107 -0
- package/templates/scripts/powershell/common.ps1 +36 -0
- package/templates/scripts/powershell/constitution.ps1 +142 -0
- package/templates/scripts/powershell/generate-tasks.ps1 +75 -0
- package/templates/scripts/powershell/init-tracking.ps1 +98 -0
- package/templates/scripts/powershell/manage-relations.ps1 +134 -0
- package/templates/scripts/powershell/plan-story.ps1 +96 -0
- package/templates/scripts/powershell/specify-story.ps1 +82 -0
- package/templates/scripts/powershell/tests/bench-ps-cache.ps1 +80 -0
- package/templates/scripts/powershell/tests/test-cross-platform.ps1 +27 -0
- package/templates/scripts/powershell/tests/test-edge-cases-ps.ps1 +29 -0
- package/templates/scripts/powershell/tests/test-phase1-ps.ps1 +28 -0
- package/templates/scripts/powershell/tests/test-ps-cache.ps1 +73 -0
- package/templates/scripts/powershell/tests/test-regression-ps.ps1 +40 -0
- package/templates/scripts/powershell/text-audit.ps1 +100 -0
- package/templates/scripts/powershell/track-progress.ps1 +105 -0
- package/templates/skills/genre-knowledge/fantasy/SKILL.md +355 -0
- package/templates/skills/genre-knowledge/mystery/SKILL.md +337 -0
- package/templates/skills/genre-knowledge/romance/SKILL.md +228 -0
- package/templates/skills/genre-knowledge/sci-fi/SKILL.md +65 -0
- package/templates/skills/genre-knowledge/thriller/SKILL.md +95 -0
- package/templates/skills/quality-assurance/consistency-checker/SKILL.md +341 -0
- package/templates/skills/quality-assurance/continuity-tracker/SKILL.md +157 -0
- package/templates/skills/quality-assurance/forgotten-elements/SKILL.md +147 -0
- package/templates/skills/quality-assurance/getting-started/SKILL.md +224 -0
- package/templates/skills/quality-assurance/pacing-monitor/SKILL.md +143 -0
- package/templates/skills/quality-assurance/pov-validator/SKILL.md +135 -0
- package/templates/skills/quality-assurance/pre-write-checklist/SKILL.md +583 -0
- package/templates/skills/quality-assurance/requirement-detector/CONFLICT_RESOLUTION.md +119 -0
- package/templates/skills/quality-assurance/requirement-detector/EXAMPLES.md +146 -0
- package/templates/skills/quality-assurance/requirement-detector/KEYWORDS.md +160 -0
- package/templates/skills/quality-assurance/requirement-detector/SKILL.md +149 -0
- package/templates/skills/quality-assurance/setting-detector/SKILL.md +611 -0
- package/templates/skills/quality-assurance/style-detector/CONFLICT_RESOLUTION.md +126 -0
- package/templates/skills/quality-assurance/style-detector/EXAMPLES.md +206 -0
- package/templates/skills/quality-assurance/style-detector/KEYWORDS.md +207 -0
- package/templates/skills/quality-assurance/style-detector/SKILL.md +126 -0
- package/templates/skills/quality-assurance/workflow-guide/SKILL.md +381 -0
- package/templates/skills/writing-techniques/character-arc/SKILL.md +267 -0
- package/templates/skills/writing-techniques/dialogue-techniques/SKILL.md +366 -0
- package/templates/skills/writing-techniques/multi-thread-narrative/SKILL.md +553 -0
- package/templates/skills/writing-techniques/multi-thread-narrative/experts/thread-analyst.md +226 -0
- package/templates/skills/writing-techniques/pacing-control/SKILL.md +377 -0
- package/templates/skills/writing-techniques/reader-expectation/SKILL.md +578 -0
- package/templates/skills/writing-techniques/reader-expectation/experts/expectation-analyst.md +209 -0
- package/templates/skills/writing-techniques/revision-polish/SKILL.md +496 -0
- package/templates/skills/writing-techniques/revision-polish/experts/revision-editor.md +221 -0
- package/templates/skills/writing-techniques/scene-structure/SKILL.md +361 -0
- package/templates/skills/writing-techniques/style-learning/SKILL.md +436 -0
- package/templates/specification-example.md +146 -0
- package/templates/tracking/character-state.json +78 -0
- package/templates/tracking/plot-tracker.json +62 -0
- package/templates/tracking/relationships.json +70 -0
- package/templates/tracking/timeline.json +49 -0
- package/templates/tracking/tracking-log.md +110 -0
- package/templates/tracking/validation-rules.json +128 -0
|
@@ -0,0 +1,749 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: 基于故事规格制定技术实现方案
|
|
3
|
+
argument-hint: [技术偏好和选择]
|
|
4
|
+
allowed-tools: Read(//stories/**/specification.md), Read(stories/**/specification.md), Read(//stories/**/creative-plan.md), Read(stories/**/creative-plan.md), Read(//plugins/**), Read(plugins/**), Write(//stories/**/creative-plan.md), Write(stories/**/creative-plan.md), Read(//memory/constitution.md), Read(memory/constitution.md), Bash(find:*), Bash(grep:*), Bash(*)
|
|
5
|
+
model: claude-sonnet-4-5-20250929
|
|
6
|
+
scripts:
|
|
7
|
+
sh: .specify/scripts/bash/plan-story.sh
|
|
8
|
+
ps: .specify/scripts/powershell/plan-story.ps1
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
用户输入:$ARGUMENTS
|
|
12
|
+
|
|
13
|
+
## 目标
|
|
14
|
+
|
|
15
|
+
将"要创造什么"(规格)转化为"如何创造"(计划)。这是从需求到实现的关键转换。
|
|
16
|
+
|
|
17
|
+
## 执行步骤
|
|
18
|
+
|
|
19
|
+
### 1. 加载前置文档
|
|
20
|
+
|
|
21
|
+
**运行脚本** `{SCRIPT}` 检查并加载:
|
|
22
|
+
- 宪法文件:`memory/constitution.md`
|
|
23
|
+
- 规格文件:`stories/*/specification.md`
|
|
24
|
+
- 澄清记录(如果已运行 `/clarify`)
|
|
25
|
+
|
|
26
|
+
**🆕 解析资源加载报告**:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Bash 环境
|
|
30
|
+
bash {SCRIPT} --json
|
|
31
|
+
|
|
32
|
+
# PowerShell 环境
|
|
33
|
+
powershell -File {SCRIPT} -Json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**报告处理**:
|
|
37
|
+
- 检查 `status` 是否为 "ready"
|
|
38
|
+
- 记录 `resources` 列表,用于后续规划
|
|
39
|
+
- 如果配置了 `resource-loading.knowledge-base.craft`,加载对应资源用于规划参考
|
|
40
|
+
|
|
41
|
+
**🆕 加载规划辅助资源(基于配置)**:
|
|
42
|
+
|
|
43
|
+
#### Layer 1: 默认推断
|
|
44
|
+
|
|
45
|
+
**如果 specification.md 未配置 resource-loading**,或 `auto-load: true`(默认),自动加载:
|
|
46
|
+
|
|
47
|
+
- `templates/knowledge-base/craft/scene-structure.md`(场景结构)
|
|
48
|
+
- `templates/knowledge-base/craft/character-arc.md`(角色弧线)
|
|
49
|
+
- `templates/knowledge-base/craft/pacing.md`(节奏控制)
|
|
50
|
+
- `templates/skills/planning/story-structure/SKILL.md`(如存在)
|
|
51
|
+
|
|
52
|
+
#### Layer 2: 配置覆盖
|
|
53
|
+
|
|
54
|
+
如果 `specification.md` 配置了 `resource-loading.planning`(规划专用配置):
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
resource-loading:
|
|
58
|
+
planning: # /plan 命令专用配置
|
|
59
|
+
knowledge-base:
|
|
60
|
+
craft:
|
|
61
|
+
- scene-structure
|
|
62
|
+
- character-arc
|
|
63
|
+
skills:
|
|
64
|
+
planning:
|
|
65
|
+
- story-structure
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**加载优先级**:
|
|
69
|
+
- 规划辅助资源的优先级**低于**宪法和规格
|
|
70
|
+
- 规划辅助资源的优先级**高于**类型知识库(genre-knowledge)
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 性能优化:会话级资源复用
|
|
75
|
+
|
|
76
|
+
**优化策略**:
|
|
77
|
+
本次对话中已加载的资源知识应复用,避免重复读取文件。
|
|
78
|
+
|
|
79
|
+
**操作指南**:
|
|
80
|
+
1. **首次加载**:读取资源文件内容,记住已加载的资源列表
|
|
81
|
+
2. **后续命令**:检查资源是否在"已加载列表"中
|
|
82
|
+
- ✅ 如果已加载:直接使用已有知识,不要重新读取文件
|
|
83
|
+
- ❌ 如果未加载:读取文件并添加到"已加载列表"
|
|
84
|
+
|
|
85
|
+
**实际场景示例**:
|
|
86
|
+
假设本次对话已执行过 `/write chapter-1`,加载了以下资源:
|
|
87
|
+
- templates/knowledge-base/craft/dialogue.md
|
|
88
|
+
- templates/knowledge-base/craft/scene-structure.md
|
|
89
|
+
|
|
90
|
+
当用户执行 `/write chapter-2` 时:
|
|
91
|
+
- 如需 dialogue 知识 → **直接使用已有知识**,不重新读取文件
|
|
92
|
+
- 如需 pacing 知识 → 首次需要,读取文件并添加到已加载列表
|
|
93
|
+
|
|
94
|
+
**复用判断**:
|
|
95
|
+
- 相同文件路径 = 可以复用
|
|
96
|
+
- 不同章节、相同资源 = 可以复用
|
|
97
|
+
- 用户修改了 specification.md = 重新评估需要哪些资源
|
|
98
|
+
|
|
99
|
+
**性能收益**:
|
|
100
|
+
- 首次命令:正常加载(~50-100ms)
|
|
101
|
+
- 重复命令:资源复用(节省 30-50ms)
|
|
102
|
+
- 多章节写作:累计节省可观
|
|
103
|
+
|
|
104
|
+
**注意事项**:
|
|
105
|
+
- 如果用户明确要求"重新加载"或"使用最新的",应重新读取
|
|
106
|
+
- 如果发现资源文件内容与记忆不符,应重新读取
|
|
107
|
+
- specification.md 的 resource-loading 配置变化时,重新评估资源需求
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
<!-- PLUGIN_HOOK: genre-knowledge-plan -->
|
|
112
|
+
<!-- 插件增强区:知识搜索
|
|
113
|
+
如果你安装了 genre-knowledge 插件,请在此处插入知识搜索增强提示词
|
|
114
|
+
参考:plugins/genre-knowledge/README.md 的"2.2 增强 /plan 命令"章节
|
|
115
|
+
-->
|
|
116
|
+
|
|
117
|
+
**🆕 条件加载:黄金开篇法则**:
|
|
118
|
+
|
|
119
|
+
**判断条件**:
|
|
120
|
+
1. 检查 specification.md 中的"目标字数"或"总章数"
|
|
121
|
+
2. 检查当前是否在规划开篇阶段
|
|
122
|
+
3. 判断依据:
|
|
123
|
+
- 如果总字数 < 10000字,或
|
|
124
|
+
- 如果规划的章节范围包含第1-3章
|
|
125
|
+
|
|
126
|
+
**如果满足开篇条件,执行以下操作**:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
# 检查是否存在黄金开篇法则文件
|
|
130
|
+
test -f spec/presets/golden-opening.md && echo "found" || echo "not-found"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
- ✅ **如果存在**:读取 `spec/presets/golden-opening.md`
|
|
134
|
+
- 在规划第1-3章时自动应用五大黄金法则
|
|
135
|
+
- 在后续"章节架构设计"部分特别标注前三章规划
|
|
136
|
+
|
|
137
|
+
- ⚠️ **如果不存在**:继续正常规划(不影响流程)
|
|
138
|
+
|
|
139
|
+
**🆕 条件加载:节奏配置**:
|
|
140
|
+
|
|
141
|
+
如果用户使用了 `/book-internalize` 命令分析对标作品:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
# 检查是否存在节奏配置文件
|
|
145
|
+
test -f spec/presets/rhythm-config.json && echo "found" || echo "not-found"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
- ✅ **如果存在**:读取 `spec/presets/rhythm-config.json`
|
|
149
|
+
- 应用对标作品的节奏模式(章节字数、爽点间隔等)
|
|
150
|
+
- 应用内容比例建议(对话/动作/描写/心理)
|
|
151
|
+
- 在"2.2 章节架构设计"中引用这些数据
|
|
152
|
+
|
|
153
|
+
- ⚠️ **如果不存在**:使用默认节奏规划
|
|
154
|
+
|
|
155
|
+
**验证规格澄清状态**:
|
|
156
|
+
- 如果存在未澄清的关键决策,提示先运行 `/clarify`
|
|
157
|
+
- 或接受用户明确指示跳过
|
|
158
|
+
|
|
159
|
+
### 🆕 Layer 3: 运行时关键词触发
|
|
160
|
+
|
|
161
|
+
**触发时机**:
|
|
162
|
+
- 用户执行 `/plan` 命令时的参数
|
|
163
|
+
- 读取 `creative-plan.md` 当前内容时
|
|
164
|
+
- 用户在规划过程中的输入
|
|
165
|
+
|
|
166
|
+
**实现逻辑**: 参考 `/write` 命令的 Layer 3 关键词触发机制
|
|
167
|
+
|
|
168
|
+
**配置**: 读取 `specification.md` 的 `resource-loading.keyword-triggers`
|
|
169
|
+
|
|
170
|
+
**扫描文本来源**:
|
|
171
|
+
1. 命令参数(如 `/plan 下一章节奏加快`)
|
|
172
|
+
2. 现有计划内容(`creative-plan.md`)
|
|
173
|
+
3. 用户交互输入
|
|
174
|
+
|
|
175
|
+
**资源去重**: 跳过 Layer 1/2 已加载的资源
|
|
176
|
+
|
|
177
|
+
**用户确认**:
|
|
178
|
+
```markdown
|
|
179
|
+
🔍 **关键词触发检测**
|
|
180
|
+
|
|
181
|
+
检测到 "节奏加快",建议加载:
|
|
182
|
+
- craft/pacing.md
|
|
183
|
+
- writing-techniques/pacing-control
|
|
184
|
+
|
|
185
|
+
是否加载? [Y/N/S]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**加载流程**: 与 `/write` 相同
|
|
189
|
+
|
|
190
|
+
**配置示例**:
|
|
191
|
+
```yaml
|
|
192
|
+
# specification.md
|
|
193
|
+
resource-loading:
|
|
194
|
+
keyword-triggers:
|
|
195
|
+
enabled: true # 默认启用
|
|
196
|
+
custom-mappings:
|
|
197
|
+
节奏: [craft/pacing.md, writing-techniques/pacing-control]
|
|
198
|
+
角色弧线: [craft/character-arc.md, writing-techniques/character-arc]
|
|
199
|
+
场景: [craft/scene-structure.md, writing-techniques/scene-transitions]
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**注意事项**:
|
|
203
|
+
- 关键词检测在 Layer 1/2 完成后执行
|
|
204
|
+
- 避免重复加载已有资源
|
|
205
|
+
- 用户可选择跳过(S)并记录到 tracking-log.md
|
|
206
|
+
|
|
207
|
+
### 2. 制定创作计划
|
|
208
|
+
|
|
209
|
+
创建 `stories/*/creative-plan.md`,包含以下内容:
|
|
210
|
+
|
|
211
|
+
#### 2.1 写作方法选择
|
|
212
|
+
|
|
213
|
+
基于规格分析和故事类型,选择最适合的写作方法:
|
|
214
|
+
- **三幕结构**:适合线性叙事、明确起承转合
|
|
215
|
+
- **英雄之旅**:适合成长型、冒险类故事
|
|
216
|
+
- **七点结构**:适合悬念、反转类故事
|
|
217
|
+
- **故事圈**:适合角色驱动、心理深度
|
|
218
|
+
- **混合方法**:主线+支线使用不同方法
|
|
219
|
+
- **类型专用结构**:如爽文的"爽点分布结构"、悬疑的"线索布局结构"等(参考类型知识库)
|
|
220
|
+
|
|
221
|
+
记录选择理由和应用方式。
|
|
222
|
+
|
|
223
|
+
#### 2.2 章节架构设计
|
|
224
|
+
|
|
225
|
+
```markdown
|
|
226
|
+
## 章节架构
|
|
227
|
+
|
|
228
|
+
### 总体规划
|
|
229
|
+
- 总章数:[基于目标字数和章节长度]
|
|
230
|
+
- 章节长度:[基于节奏配置或默认2000-3000字/章]
|
|
231
|
+
- 分卷安排:[如适用]
|
|
232
|
+
|
|
233
|
+
**🆕 节奏参数(如有rhythm-config.json)**:
|
|
234
|
+
- 平均章节字数:[从配置读取,如3200字]
|
|
235
|
+
- 小高潮间隔:[从配置读取,如5章]
|
|
236
|
+
- 大高潮间隔:[从配置读取,如30章]
|
|
237
|
+
- 节奏风格:[快/适中/慢]
|
|
238
|
+
- 内容比例:对话[X]% / 动作[X]% / 描写[X]% / 心理[X]%
|
|
239
|
+
|
|
240
|
+
### 🌟 黄金开篇规划(如果包含第1-3章)
|
|
241
|
+
|
|
242
|
+
**重要**:如果本次规划包含第1-3章,必须特别注意以下要点(基于 golden-opening.md):
|
|
243
|
+
|
|
244
|
+
#### 第一章规划
|
|
245
|
+
- ✅ **法则1-动态场景切入**:
|
|
246
|
+
- 禁止:静止场景、大段环境描写
|
|
247
|
+
- 必须:从冲突/动作/对话直接切入
|
|
248
|
+
- 具体设计:[描述第一章的开场方式]
|
|
249
|
+
|
|
250
|
+
- ✅ **法则2-核心冲突前置**:
|
|
251
|
+
- 第一章内必须抛出主角核心冲突
|
|
252
|
+
- 具体设计:[描述核心冲突如何呈现]
|
|
253
|
+
|
|
254
|
+
- ✅ **法则3-避免信息轰炸**:
|
|
255
|
+
- 绝对禁止开篇大篇幅介绍世界观
|
|
256
|
+
- 采用"滴灌式"信息透露
|
|
257
|
+
- 具体设计:[列出第一章透露的信息点]
|
|
258
|
+
|
|
259
|
+
- ✅ **法则4-限制出场人数**:
|
|
260
|
+
- 有名有姓角色不超过3人
|
|
261
|
+
- 具体设计:[列出第一章出场角色]
|
|
262
|
+
|
|
263
|
+
#### 第二-三章规划
|
|
264
|
+
- ✅ **法则5-快速展现金手指**:
|
|
265
|
+
- 第二或第三章内展现"金手指"作用
|
|
266
|
+
- 具体设计:[描述金手指展现方式]
|
|
267
|
+
|
|
268
|
+
#### 开篇节奏要求
|
|
269
|
+
- 第一章目标:钩住读者,建立期待
|
|
270
|
+
- 第二章目标:展现能力,强化钩子
|
|
271
|
+
- 第三章目标:初步爽点,确认追读
|
|
272
|
+
|
|
273
|
+
### 情绪曲线设计 ⭐(构建阅读体验的情绪闭环)
|
|
274
|
+
|
|
275
|
+
**核心理念**:好的小说不仅是故事的旅程,更是**情绪的旅程**。读者追读的本质是追逐情绪的起伏和满足。
|
|
276
|
+
|
|
277
|
+
**情绪类型定义**(使用小说术语):
|
|
278
|
+
|
|
279
|
+
| 情绪类型 | 定义 | 读者体验 | 典型场景 |
|
|
280
|
+
|---------|------|---------|---------|
|
|
281
|
+
| 😤 **爽点** | 主角获胜、反转、展现实力 | 畅快、解气、期待下一次 | 打脸、逆袭、装逼成功 |
|
|
282
|
+
| 😭 **虐点** | 主角失败、压抑、挫折 | 担忧、憋屈、期待翻盘 | 被欺负、失败、失去重要的人 |
|
|
283
|
+
| 🤔 **悬念** | 未知、疑问、伏笔 | 好奇、猜测、想继续看 | 出现神秘人物、发现线索、留下谜题 |
|
|
284
|
+
| 💧 **平缓** | 日常、过渡、铺垫 | 缓冲、理解、准备情绪 | 日常生活、角色互动、世界观展示 |
|
|
285
|
+
|
|
286
|
+
**情绪设计原则**:
|
|
287
|
+
1. ✅ **欲扬先抑**:爽点前适度铺垫虐点,爽感更强
|
|
288
|
+
2. ✅ **张弛有度**:避免连续虐点或连续爽点,保持节奏
|
|
289
|
+
3. ✅ **悬念驱动**:每章结尾留悬念,驱动追读欲
|
|
290
|
+
4. ✅ **情绪递进**:高潮处的情绪强度要明显高于开篇
|
|
291
|
+
|
|
292
|
+
**章节段情绪规划**:
|
|
293
|
+
|
|
294
|
+
| 章节段 | 情绪类型 | 强度 | 目标效果 | 关键场景 |
|
|
295
|
+
|--------|---------|------|---------|---------|
|
|
296
|
+
| 第1-3章 | 虐→爽→悬念 | 中→高→中 | 开局抑扬,建立追读欲 | [具体描述] |
|
|
297
|
+
| 第4-8章 | 平缓→虐→爽 | 低→中→高 | 第一波小高潮 | [具体描述] |
|
|
298
|
+
| 第9-15章 | 悬念→虐→爽 | 中→高→高 | 第二波高潮,埋伏笔 | [具体描述] |
|
|
299
|
+
| ... | ... | ... | ... | ... |
|
|
300
|
+
|
|
301
|
+
**情绪强度等级**:
|
|
302
|
+
- **低**:情绪波动小,主要是铺垫和过渡
|
|
303
|
+
- **中**:情绪有明显起伏,读者有代入感
|
|
304
|
+
- **高**:情绪爆发点,读者高度投入
|
|
305
|
+
- **极高**:全书顶点,决定性高潮(通常1-3处)
|
|
306
|
+
|
|
307
|
+
**情绪曲线可视化**(可选,ASCII简图):
|
|
308
|
+
```
|
|
309
|
+
情绪强度
|
|
310
|
+
极高 | ╱╲ ╱╲
|
|
311
|
+
高 | ╱╲ ╱ ╲ ╱ ╲___
|
|
312
|
+
中 | ╱╲ ╱ ╲ ╱ ╲___ ___╱
|
|
313
|
+
低 | __╱ ╲╱ ╲____╱ ╲__╱
|
|
314
|
+
└─────────────────────────────────────> 章节
|
|
315
|
+
3 8 15 25 35 45 55
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**情绪设计自检清单**:
|
|
319
|
+
- [ ] 开篇3章是否有明确的情绪钩子?
|
|
320
|
+
- [ ] 是否存在连续5章以上的平缓期?(警告:容易弃读)
|
|
321
|
+
- [ ] 虐点之后是否有足够的爽点回报?
|
|
322
|
+
- [ ] 每个卷/阶段是否有明确的情绪高潮?
|
|
323
|
+
- [ ] 全书最高情绪点是否在后1/3部分?
|
|
324
|
+
- [ ] 章节结尾是否留有悬念驱动下一章?
|
|
325
|
+
|
|
326
|
+
**与节奏配置的关系**:
|
|
327
|
+
- 如果存在 `rhythm-config.json`,参考其中的"爽点间隔"参数
|
|
328
|
+
- 对标作品的情绪节奏可作为参考,但需根据自己的故事调整
|
|
329
|
+
- 不同类型有不同的情绪节奏(爽文:高频爽点;悬疑:高频悬念;虐文:后期高爽)
|
|
330
|
+
|
|
331
|
+
### 结构映射
|
|
332
|
+
[根据选定方法,映射关键节点到具体章节]
|
|
333
|
+
|
|
334
|
+
### 线索分布规划
|
|
335
|
+
|
|
336
|
+
**重要**:从specification.md第五章读取线索管理规格,在每个卷/章节段标注活跃线索。
|
|
337
|
+
|
|
338
|
+
#### 第一卷:[卷名](章节范围)
|
|
339
|
+
|
|
340
|
+
| 章节段 | 内容 | 关键事件 | **活跃线索** | **交汇点** |
|
|
341
|
+
|--------|------|---------|-------------|-----------|
|
|
342
|
+
| [X-Y章] | [段落内容] | [关键事件列表] | PL-01⭐⭐⭐、PL-02⭐⭐ | X-001(第X章) |
|
|
343
|
+
| [X-Y章] | [段落内容] | [关键事件列表] | PL-01⭐⭐、PL-03⭐⭐⭐ | 无 |
|
|
344
|
+
|
|
345
|
+
**线索标注说明**:
|
|
346
|
+
- PL-XX:线索ID,来自specification.md 5.1节
|
|
347
|
+
- ⭐⭐⭐ 主推进:本章节段重点推进此线索,占据主要篇幅
|
|
348
|
+
- ⭐⭐ 辅助:正常推进,有一定篇幅
|
|
349
|
+
- ⭐ 背景:偶尔提及,保持存在感
|
|
350
|
+
- X-XXX:交汇点ID,来自specification.md 5.3节
|
|
351
|
+
|
|
352
|
+
#### 第二卷:[卷名](章节范围)
|
|
353
|
+
|
|
354
|
+
[重复上述表格结构]
|
|
355
|
+
|
|
356
|
+
### 节奏设计
|
|
357
|
+
- 开篇钩子:第[X]章
|
|
358
|
+
- 第一个高潮:第[X]章
|
|
359
|
+
- 中点转折:第[X]章
|
|
360
|
+
- 最大危机:第[X]章
|
|
361
|
+
- 最终高潮:第[X]章
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
#### 2.3 人物体系设计
|
|
365
|
+
|
|
366
|
+
```markdown
|
|
367
|
+
## 人物体系
|
|
368
|
+
|
|
369
|
+
### 主角设计
|
|
370
|
+
- 初始状态:[起点]
|
|
371
|
+
- 成长弧线:[变化轨迹]
|
|
372
|
+
- 核心冲突:[内在vs外在]
|
|
373
|
+
- 关键转变点:[具体章节]
|
|
374
|
+
|
|
375
|
+
### 配角功能
|
|
376
|
+
[每个重要配角的功能定位和出场计划]
|
|
377
|
+
|
|
378
|
+
### 关系网络
|
|
379
|
+
[人物关系图和演变计划]
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
#### 2.4 世界观构建
|
|
383
|
+
|
|
384
|
+
```markdown
|
|
385
|
+
## 世界观体系
|
|
386
|
+
|
|
387
|
+
### 核心设定
|
|
388
|
+
- 世界规则:[物理/魔法/科技规则]
|
|
389
|
+
- 社会结构:[政治/经济/文化]
|
|
390
|
+
- 历史背景:[重要历史事件]
|
|
391
|
+
|
|
392
|
+
### 设定展开计划
|
|
393
|
+
- 第一层(开篇):[基础设定]
|
|
394
|
+
- 第二层(发展):[深入设定]
|
|
395
|
+
- 第三层(高潮):[核心秘密]
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
#### 2.5 情节技术设计
|
|
399
|
+
|
|
400
|
+
```markdown
|
|
401
|
+
## 情节技术
|
|
402
|
+
|
|
403
|
+
### 冲突升级路径
|
|
404
|
+
1. 初级冲突:[个人层面]
|
|
405
|
+
2. 中级冲突:[团体层面]
|
|
406
|
+
3. 高级冲突:[世界层面]
|
|
407
|
+
|
|
408
|
+
### 悬念设置
|
|
409
|
+
- 主悬念:[贯穿全文]
|
|
410
|
+
- 章节悬念:[每章钩子]
|
|
411
|
+
- 支线悬念:[丰富层次]
|
|
412
|
+
|
|
413
|
+
### 伏笔布局
|
|
414
|
+
[伏笔清单和回收计划]
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
#### 2.6 叙事技术选择
|
|
418
|
+
|
|
419
|
+
```markdown
|
|
420
|
+
## 叙事技术
|
|
421
|
+
|
|
422
|
+
### POV设计
|
|
423
|
+
- 视角类型:[第一/第三人称]
|
|
424
|
+
- 视角限制:[全知/限定]
|
|
425
|
+
- 多视角安排:[如适用]
|
|
426
|
+
|
|
427
|
+
### 时间线设计
|
|
428
|
+
- 主线时间:[线性/非线性]
|
|
429
|
+
- 回忆穿插:[使用策略]
|
|
430
|
+
- 平行叙事:[如适用]
|
|
431
|
+
|
|
432
|
+
### 叙事节奏
|
|
433
|
+
- 快节奏段落:[动作/冲突]
|
|
434
|
+
- 慢节奏段落:[情感/描写]
|
|
435
|
+
- 节奏变化:[张弛规律]
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
### 3. 技术决策记录
|
|
439
|
+
|
|
440
|
+
记录所有重要的技术决策:
|
|
441
|
+
- **决策**:选择了什么
|
|
442
|
+
- **理由**:为什么选择
|
|
443
|
+
- **风险**:可能的问题
|
|
444
|
+
- **备案**:替代方案
|
|
445
|
+
|
|
446
|
+
### 4. 质量保证计划
|
|
447
|
+
|
|
448
|
+
```markdown
|
|
449
|
+
## 质量保证
|
|
450
|
+
|
|
451
|
+
### 自检清单
|
|
452
|
+
- [ ] 逻辑一致性检查点
|
|
453
|
+
- [ ] 人物行为合理性
|
|
454
|
+
- [ ] 世界观自洽性
|
|
455
|
+
- [ ] 节奏流畅性
|
|
456
|
+
|
|
457
|
+
### 验证节点
|
|
458
|
+
- 每5章:小循环验证
|
|
459
|
+
- 每卷:大循环验证
|
|
460
|
+
- 完稿:全面验证
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
### 5. 风险管理
|
|
464
|
+
|
|
465
|
+
识别并制定应对策略:
|
|
466
|
+
- **创作风险**:灵感、逻辑、节奏
|
|
467
|
+
- **技术风险**:复杂度、一致性
|
|
468
|
+
- **时间风险**:进度、质量平衡
|
|
469
|
+
|
|
470
|
+
### 6. 输出和验证
|
|
471
|
+
|
|
472
|
+
- 保存计划到 `stories/*/creative-plan.md`
|
|
473
|
+
- 验证计划符合宪法原则
|
|
474
|
+
- 验证计划满足规格需求
|
|
475
|
+
- 提示下一步:运行 `/tasks` 生成任务
|
|
476
|
+
|
|
477
|
+
## 与其他命令的关系
|
|
478
|
+
|
|
479
|
+
- **输入**:来自 `/specify` 的规格 + `/clarify` 的澄清
|
|
480
|
+
- **输出**:为 `/tasks` 提供任务生成依据
|
|
481
|
+
- **验证**:被 `/analyze` 用于检查实现符合度
|
|
482
|
+
- **期待管理**:规划章节时参考 `reader-expectation` Skill,在大纲阶段识别期待并安排满足时间点,确保每个情节承诺、谜题悬念都有明确的 payoff 章节
|
|
483
|
+
- **多线叙事**:多POV或多线结构时参考 `multi-thread-narrative` Skill,在大纲阶段设计线程分配、交织模式和汇聚点,确保线程平衡
|
|
484
|
+
|
|
485
|
+
## 注意事项
|
|
486
|
+
|
|
487
|
+
### 🌟 黄金开篇法则的应用(重要)
|
|
488
|
+
|
|
489
|
+
**何时应用**:
|
|
490
|
+
- 规划包含第1-3章时自动触发
|
|
491
|
+
- 或总字数 < 10000字的短篇作品
|
|
492
|
+
|
|
493
|
+
**为什么重要**:
|
|
494
|
+
- 前三章决定了80%的读者留存率
|
|
495
|
+
- 开篇是读者决定是否追读的关键窗口
|
|
496
|
+
- 黄金开篇法则经过大量爆款作品验证
|
|
497
|
+
|
|
498
|
+
**如何应用**:
|
|
499
|
+
1. 在"章节架构设计"中创建独立的"黄金开篇规划"部分
|
|
500
|
+
2. 逐条检查五大法则是否在前三章中体现
|
|
501
|
+
3. 具体设计每一章如何满足法则要求
|
|
502
|
+
4. 如果规格与法则冲突,优先遵循法则(或有意识地违反)
|
|
503
|
+
|
|
504
|
+
**常见误区**:
|
|
505
|
+
- ❌ 第一章大段描写世界观设定
|
|
506
|
+
- ❌ 主角在第一章只是日常生活,没有冲突
|
|
507
|
+
- ❌ 第一章出场角色过多(>3人)
|
|
508
|
+
- ❌ 金手指/核心能力延迟到第五章以后才展现
|
|
509
|
+
|
|
510
|
+
### 🎵 节奏配置的应用
|
|
511
|
+
|
|
512
|
+
**如果使用了 `/book-internalize`**:
|
|
513
|
+
- 系统会自动读取 `spec/presets/rhythm-config.json`
|
|
514
|
+
- 应用对标作品的节奏参数(章节字数、爽点间隔等)
|
|
515
|
+
- 应用内容比例(对话/动作/描写/心理)
|
|
516
|
+
|
|
517
|
+
**参数优先级**:
|
|
518
|
+
1. **用户即时指令**(最高)
|
|
519
|
+
2. **rhythm-config.json**(对标作品节奏)
|
|
520
|
+
3. **类型知识库**(类型通用节奏)
|
|
521
|
+
4. **默认值**(2000-3000字/章)
|
|
522
|
+
|
|
523
|
+
**建议**:
|
|
524
|
+
- 对标作品的节奏参数仅供参考
|
|
525
|
+
- 根据自己的创作习惯适度调整
|
|
526
|
+
- 不要生搬硬套,保持灵活性
|
|
527
|
+
|
|
528
|
+
### 技术服务于故事
|
|
529
|
+
- 所有技术选择都要服务于故事表达
|
|
530
|
+
- 不要为了技巧而技巧
|
|
531
|
+
- 保持方案的灵活性
|
|
532
|
+
|
|
533
|
+
### 可执行性
|
|
534
|
+
- 计划要具体可执行
|
|
535
|
+
- 避免过于理想化
|
|
536
|
+
- 考虑实际创作能力
|
|
537
|
+
|
|
538
|
+
### 迭代优化
|
|
539
|
+
- 计划可以根据实践调整
|
|
540
|
+
- 记录调整原因和影响
|
|
541
|
+
- 保持版本追踪
|
|
542
|
+
|
|
543
|
+
记住:**好的计划是成功的一半,但要随时准备调整。黄金开篇是硬规则,其他规划可以灵活。**
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
## 🆕 后置处理:plot-tracker 自动更新
|
|
548
|
+
|
|
549
|
+
**执行时机**: 创作计划完成后,`creative-plan.md` 已写入
|
|
550
|
+
|
|
551
|
+
**更新策略**: 核心命令(/plan)自动更新,无需用户确认
|
|
552
|
+
|
|
553
|
+
### 自动更新 plot-tracker.json
|
|
554
|
+
|
|
555
|
+
#### 更新内容
|
|
556
|
+
|
|
557
|
+
**基于 creative-plan.md 提取**:
|
|
558
|
+
1. **情节线定义**
|
|
559
|
+
- 主线情节
|
|
560
|
+
- 支线情节
|
|
561
|
+
- 情节线之间的关系
|
|
562
|
+
|
|
563
|
+
2. **章节情节分配**
|
|
564
|
+
- 每个章节对应的情节线
|
|
565
|
+
- 情节推进目标
|
|
566
|
+
- 关键转折点
|
|
567
|
+
|
|
568
|
+
3. **伏笔规划**
|
|
569
|
+
- 计划埋设的伏笔
|
|
570
|
+
- 伏笔回收章节
|
|
571
|
+
- 伏笔重要性
|
|
572
|
+
|
|
573
|
+
**示例更新**:
|
|
574
|
+
```json
|
|
575
|
+
{
|
|
576
|
+
"plotLines": [
|
|
577
|
+
{
|
|
578
|
+
"id": "主线-001",
|
|
579
|
+
"name": "寻找真相",
|
|
580
|
+
"type": "main",
|
|
581
|
+
"description": "主角追寻失踪案真相的过程",
|
|
582
|
+
"startChapter": "chapter-01",
|
|
583
|
+
"endChapter": "chapter-20",
|
|
584
|
+
"status": "planned",
|
|
585
|
+
"progress": 0,
|
|
586
|
+
"milestones": [
|
|
587
|
+
{
|
|
588
|
+
"chapter": "chapter-03",
|
|
589
|
+
"description": "发现第一条线索",
|
|
590
|
+
"importance": "high",
|
|
591
|
+
"status": "planned"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"chapter": "chapter-10",
|
|
595
|
+
"description": "重大转折:发现内幕",
|
|
596
|
+
"importance": "critical",
|
|
597
|
+
"status": "planned"
|
|
598
|
+
}
|
|
599
|
+
],
|
|
600
|
+
"events": []
|
|
601
|
+
},
|
|
602
|
+
{
|
|
603
|
+
"id": "支线-001",
|
|
604
|
+
"name": "情感发展",
|
|
605
|
+
"type": "subplot",
|
|
606
|
+
"description": "主角与女主的感情线",
|
|
607
|
+
"relatedTo": ["主线-001"],
|
|
608
|
+
"startChapter": "chapter-02",
|
|
609
|
+
"endChapter": "chapter-18",
|
|
610
|
+
"status": "planned",
|
|
611
|
+
"progress": 0,
|
|
612
|
+
"events": []
|
|
613
|
+
}
|
|
614
|
+
],
|
|
615
|
+
"foreshadowing": [
|
|
616
|
+
{
|
|
617
|
+
"chapter": "chapter-02",
|
|
618
|
+
"content": "神秘人物首次出现",
|
|
619
|
+
"payoffChapter": "chapter-15",
|
|
620
|
+
"status": "planned",
|
|
621
|
+
"importance": "high"
|
|
622
|
+
}
|
|
623
|
+
],
|
|
624
|
+
"meta": {
|
|
625
|
+
"lastUpdate": "2026-02-08",
|
|
626
|
+
"plannedBy": "/plan",
|
|
627
|
+
"totalPlotLines": 5,
|
|
628
|
+
"completedPlotLines": 0
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
#### 更新执行流程
|
|
634
|
+
|
|
635
|
+
**Step 1: 解析 creative-plan.md**
|
|
636
|
+
|
|
637
|
+
```markdown
|
|
638
|
+
从刚创建的 `creative-plan.md` 中提取:
|
|
639
|
+
1. 章节架构(第 2.2 节)
|
|
640
|
+
2. 情节线设计(第 2.3 节)
|
|
641
|
+
3. 关键场景规划(第 2.4 节)
|
|
642
|
+
4. 伏笔设置(如有明确规划)
|
|
643
|
+
```
|
|
644
|
+
|
|
645
|
+
**Step 2: 生成 plot-tracker 初始化内容**
|
|
646
|
+
|
|
647
|
+
```markdown
|
|
648
|
+
基于提取的信息,生成 plot-tracker.json 的初始结构:
|
|
649
|
+
- 所有情节线的定义
|
|
650
|
+
- 每个情节线的里程碑(milestones)
|
|
651
|
+
- 计划的伏笔列表
|
|
652
|
+
- 元信息(meta)
|
|
653
|
+
```
|
|
654
|
+
|
|
655
|
+
**Step 3: 自动应用更新**
|
|
656
|
+
|
|
657
|
+
```markdown
|
|
658
|
+
**无需用户确认**,直接更新文件:
|
|
659
|
+
1. 检查 `spec/tracking/plot-tracker.json` 是否存在
|
|
660
|
+
2. 如果不存在,创建新文件并写入内容
|
|
661
|
+
3. 如果存在,合并新的情节线定义(保留已有的 progress 信息)
|
|
662
|
+
4. 验证 JSON 格式有效性
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
**Step 4: 记录到 tracking-log.md**
|
|
666
|
+
|
|
667
|
+
追加更新记录到 `stories/*/spec/tracking/tracking-log.md`:
|
|
668
|
+
|
|
669
|
+
**日志格式示例**:
|
|
670
|
+
|
|
671
|
+
```
|
|
672
|
+
## [时间戳] - /plan 创作计划
|
|
673
|
+
|
|
674
|
+
### 命令执行
|
|
675
|
+
- **命令**: `/plan`
|
|
676
|
+
- **故事**: [故事名称]
|
|
677
|
+
- **总章数**: XX 章
|
|
678
|
+
- **执行者**: AI
|
|
679
|
+
- **状态**: 已自动更新
|
|
680
|
+
|
|
681
|
+
### 自动更新内容
|
|
682
|
+
|
|
683
|
+
#### plot-tracker.json
|
|
684
|
+
|
|
685
|
+
使用 diff 格式展示更新(示例):
|
|
686
|
+
|
|
687
|
+
+ {
|
|
688
|
+
+ "plotLines": [
|
|
689
|
+
+ {
|
|
690
|
+
+ "id": "主线-001",
|
|
691
|
+
+ "name": "寻找真相",
|
|
692
|
+
+ "type": "main",
|
|
693
|
+
+ "startChapter": "chapter-01",
|
|
694
|
+
+ "endChapter": "chapter-20",
|
|
695
|
+
+ "milestones": [...]
|
|
696
|
+
+ },
|
|
697
|
+
+ {
|
|
698
|
+
+ "id": "支线-001",
|
|
699
|
+
+ "name": "情感发展",
|
|
700
|
+
+ "type": "subplot",
|
|
701
|
+
+ "relatedTo": ["主线-001"]
|
|
702
|
+
+ }
|
|
703
|
+
+ ],
|
|
704
|
+
+ "foreshadowing": [
|
|
705
|
+
+ {
|
|
706
|
+
+ "chapter": "chapter-02",
|
|
707
|
+
+ "content": "神秘人物首次出现",
|
|
708
|
+
+ "payoffChapter": "chapter-15"
|
|
709
|
+
+ }
|
|
710
|
+
+ ]
|
|
711
|
+
+ }
|
|
712
|
+
|
|
713
|
+
### 更新依据
|
|
714
|
+
- **情节线提取**: 从 creative-plan.md 第 2.3 节提取 5 条情节线定义
|
|
715
|
+
- **里程碑提取**: 从章节架构中识别关键转折点
|
|
716
|
+
- **伏笔规划**: 从关键场景规划中提取预设伏笔
|
|
717
|
+
- **关联关系**: 分析情节线之间的依赖和交织关系
|
|
718
|
+
|
|
719
|
+
---
|
|
720
|
+
```
|
|
721
|
+
|
|
722
|
+
#### 错误处理
|
|
723
|
+
|
|
724
|
+
**如果 creative-plan.md 格式不完整**:
|
|
725
|
+
```markdown
|
|
726
|
+
⚠️ 警告:创作计划格式不完整
|
|
727
|
+
- 缺少章节:[缺少的章节名称]
|
|
728
|
+
- 建议:补充完整后再运行 `/plan`
|
|
729
|
+
- 创建基础的 plot-tracker.json(仅包含元信息)
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
**如果 plot-tracker.json 已存在且有进度数据**:
|
|
733
|
+
```markdown
|
|
734
|
+
⚠️ 警告:plot-tracker.json 已存在
|
|
735
|
+
- 现有情节线:[列出已有的情节线]
|
|
736
|
+
- 现有进度数据:[显示 progress > 0 的情节线]
|
|
737
|
+
- 操作:合并新情节线,保留现有进度
|
|
738
|
+
- 建议:检查是否需要手动调整
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
#### 向后兼容
|
|
742
|
+
|
|
743
|
+
如果项目没有 `spec/tracking/` 目录:
|
|
744
|
+
```markdown
|
|
745
|
+
ℹ️ 提示:tracking 目录不存在
|
|
746
|
+
- 建议:运行 `/track --init` 初始化 tracking 系统
|
|
747
|
+
- 或创建 spec/tracking/ 目录
|
|
748
|
+
- 跳过本次更新
|
|
749
|
+
```
|