@oh-story/dsh 0.1.9 → 0.1.11
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/README.md +14 -14
- package/lib/client.js +209 -73
- package/lib/client.js.map +3 -3
- package/lib/drama/manifest.json +248 -168
- package/lib/drama/skills/short-drama/SKILL.md +16 -4
- package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +3 -0
- package/lib/drama/skills/short-drama/references/creator-documents.md +3 -0
- package/lib/drama/skills/short-drama/references/knowhow-index.md +15 -0
- package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +14 -0
- package/lib/drama/skills/short-drama/scripts/project_tool.py +131 -0
- package/lib/drama/skills/short-drama-assets/SKILL.md +2 -1
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +2 -0
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +10 -0
- package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +6 -9
- package/lib/drama/skills/short-drama-assets/references/era-anchors.md +37 -0
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +2 -0
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +28 -0
- package/lib/drama/skills/short-drama-develop/SKILL.md +10 -4
- package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -1
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +8 -0
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +80 -13
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +95 -12
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +9 -5
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/263/273/347/273/237/346/265/201.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +10 -7
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +15 -9
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -2
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +14 -7
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +7 -3
- package/lib/drama/skills/short-drama-edit/SKILL.md +65 -44
- package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +49 -13
- package/lib/drama/skills/short-drama-edit/assets/remotion/package.json +4 -2
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/Overlay.tsx +31 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/Root.tsx +5 -5
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +68 -69
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/font.ts +39 -29
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/rules.mjs +188 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/schema.ts +26 -13
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/Card.tsx +72 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/CornerChip.tsx +39 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/ScreenText.tsx +36 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/SystemPanel.tsx +44 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/TaskPanel.tsx +100 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/chrome.tsx +197 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/src/screen/tokens.ts +62 -0
- package/lib/drama/skills/short-drama-edit/assets/remotion/tsconfig.json +1 -0
- package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +6 -4
- package/lib/drama/skills/short-drama-edit/references/cut-craft.md +26 -67
- package/lib/drama/skills/short-drama-edit/references/delivery-verify.md +31 -56
- package/lib/drama/skills/short-drama-edit/references/generated-footage.md +42 -78
- package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +44 -92
- package/lib/drama/skills/short-drama-edit/references/stage-contract.md +14 -16
- package/lib/drama/skills/short-drama-edit/scripts/edit_tool.py +1272 -125
- package/lib/drama/skills/short-drama-edit/scripts/selftest.py +113 -9
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +2 -0
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +11 -0
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +3 -3
- package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +2 -2
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +8 -4
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +10 -3
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +25 -1
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +1 -0
- package/lib/drama/skills/short-drama-produce/SKILL.md +5 -1
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +14 -20
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +8 -26
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +142 -1
- package/lib/drama/skills/short-drama-review/SKILL.md +4 -5
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +6 -19
- package/lib/drama/skills/short-drama-review/references/review-method.md +6 -1
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +11 -0
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +77 -3
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +24 -35
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -0
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +23 -11
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +2 -2
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +139 -34
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +5 -3
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +15 -12
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +29 -0
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +4 -5
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +4 -2
- package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +52 -39
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +24 -21
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +9 -23
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +14 -26
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +1 -1
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +2 -3
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +34 -9
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +3 -2
- package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +8 -1
- package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +103 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +8 -7
- package/lib/drama/skills/short-drama-write/SKILL.md +10 -7
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +1 -1
- package/lib/drama/skills/short-drama-write/references/script-craft.md +56 -3
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +4 -0
- package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +48 -2
- package/lib/index.js +346 -98
- package/lib/index.js.map +4 -4
- package/lib/novel-to-game/README.md +299 -59
- package/lib/novel-to-game/README_ZH.md +299 -56
- package/lib/novel-to-game/VERSION +1 -1
- package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +3 -1
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +11 -3
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +397 -8
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +0 -31
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +71 -73
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +78 -89
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +37 -14
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +5 -5
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +2 -1
- package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +11 -16
- package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +11 -11
- package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +23 -0
- package/lib/novel-to-game/manifest.json +77 -87
- package/lib/novel-to-game/skills/game-art-direction/SKILL.md +7 -12
- package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +27 -106
- package/lib/novel-to-game/skills/game-build/SKILL.md +13 -14
- package/lib/novel-to-game/skills/game-build/references/blender-asset-workflow.md +24 -0
- package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +45 -82
- package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +14 -45
- package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +30 -65
- package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +13 -27
- package/lib/novel-to-game/skills/game-concept/SKILL.md +13 -15
- package/lib/novel-to-game/skills/game-concept/references/concept-method.md +28 -75
- package/lib/novel-to-game/skills/game-qa/SKILL.md +6 -7
- package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +9 -5
- package/lib/novel-to-game/skills/game-world-design/SKILL.md +12 -16
- package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +23 -72
- package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +14 -48
- package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +36 -103
- package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +4 -10
- package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +4 -4
- package/lib/novel-to-game/skills/novel-to-game/SKILL.md +9 -21
- package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
- package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +5 -8
- package/lib/oh-story/manifest.json +607 -327
- package/lib/oh-story/roles/chapter-extractor.md +177 -237
- package/lib/oh-story/roles/character-designer.md +1 -2
- package/lib/oh-story/roles/consistency-checker.md +15 -13
- package/lib/oh-story/roles/narrative-writer.md +36 -38
- package/lib/oh-story/roles/story-architect.md +9 -61
- package/lib/oh-story/roles/story-explorer.md +20 -125
- package/lib/oh-story/roles/story-researcher.md +0 -1
- package/lib/oh-story/skills/story/SKILL.md +15 -9
- package/lib/oh-story/skills/story/VERSION +1 -1
- package/lib/oh-story/skills/story/references/author-memory-maintenance.md +75 -0
- package/lib/oh-story/skills/story/references/author-memory.md +46 -94
- package/lib/oh-story/skills/story/scripts/author_memory_commit.py +934 -170
- package/lib/oh-story/skills/story-cover/SKILL.md +10 -1
- package/lib/oh-story/skills/story-deslop/SKILL.md +59 -73
- package/lib/oh-story/skills/story-deslop/references/agent-calls.md +5 -0
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +12 -11
- package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +75 -0
- package/lib/oh-story/skills/story-deslop/references/author-memory.md +46 -94
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +2 -2
- package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +22 -5
- package/lib/oh-story/skills/story-deslop/references/style-resolution.md +4 -4
- package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +934 -170
- package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +155 -8
- package/lib/oh-story/skills/story-import/SKILL.md +64 -584
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +1 -1
- package/lib/oh-story/skills/story-import/references/deep-analysis.md +47 -0
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +1 -1
- package/lib/oh-story/skills/story-import/references/import-report.md +64 -0
- package/lib/oh-story/skills/story-import/references/import-special-cases.md +34 -0
- package/lib/oh-story/skills/story-import/references/import-tracking.md +95 -0
- package/lib/oh-story/skills/story-import/references/length-routing.md +1 -1
- package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +79 -0
- package/lib/oh-story/skills/story-import/references/outline-reverse.md +24 -0
- package/lib/oh-story/skills/story-import/references/state-tracking.md +4 -69
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +98 -92
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +24 -12
- package/lib/oh-story/skills/story-import/references/tracking-initialization.md +1 -1
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +15 -11
- package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +332 -0
- package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +132 -27
- package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +478 -15
- package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +182 -23
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +81 -270
- package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +252 -0
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +3 -3
- package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +19 -0
- package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +11 -0
- package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +105 -0
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +138 -64
- package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
- package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +128 -0
- package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +229 -0
- package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +480 -0
- package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +195 -0
- package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +33 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +55 -128
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +6 -6
- package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +39 -0
- package/lib/oh-story/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
- package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
- package/lib/oh-story/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
- package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +1145 -0
- package/lib/oh-story/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
- package/lib/oh-story/skills/story-long-scan/SKILL.md +45 -194
- package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +19 -0
- package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +45 -0
- package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +28 -0
- package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +35 -0
- package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +27 -0
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +6 -2
- package/lib/oh-story/skills/story-long-write/SKILL.md +49 -81
- package/lib/oh-story/skills/story-long-write/references/agent-calls.md +47 -0
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +12 -11
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +24 -202
- package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +75 -0
- package/lib/oh-story/skills/story-long-write/references/author-memory.md +46 -94
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +7 -11
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +49 -1
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +26 -0
- package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +171 -0
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +4 -0
- package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +116 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +1 -114
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +7 -15
- package/lib/oh-story/skills/story-long-write/references/long-format.md +0 -8
- package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +7 -7
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +14 -69
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/project-files.md +19 -13
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +13 -5
- package/lib/oh-story/skills/story-long-write/references/reference-index.md +5 -6
- package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +9 -0
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +1 -58
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/style-resolution.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +15 -11
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +81 -121
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +41 -139
- package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +157 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +57 -67
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +112 -253
- package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +142 -0
- package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +6 -4
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +19 -65
- package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +934 -170
- package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +260 -0
- package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +226 -25
- package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +155 -8
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +132 -27
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +7 -2
- package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +7 -4
- package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +304 -46
- package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +478 -15
- package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +182 -23
- package/lib/oh-story/skills/story-review/SKILL.md +31 -302
- package/lib/oh-story/skills/story-review/references/agent-prompts.md +184 -0
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +12 -11
- package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +75 -0
- package/lib/oh-story/skills/story-review/references/author-memory.md +46 -94
- package/lib/oh-story/skills/story-review/references/banned-words.md +2 -2
- package/lib/oh-story/skills/story-review/references/batch-review.md +19 -0
- package/lib/oh-story/skills/story-review/references/character-relations.md +49 -1
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +4 -0
- package/lib/oh-story/skills/story-review/references/review-quality.md +6 -11
- package/lib/oh-story/skills/story-review/references/review-tracking.md +10 -0
- package/lib/oh-story/skills/story-review/references/solo.md +52 -0
- package/lib/oh-story/skills/story-review/references/style-resolution.md +4 -4
- package/lib/oh-story/skills/story-review/references/tracking-initialization.md +1 -1
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +15 -11
- package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +934 -170
- package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +155 -8
- package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +478 -15
- package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +182 -23
- package/lib/oh-story/skills/story-setup/SKILL.md +71 -452
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +12 -11
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +2 -2
- package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +107 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +49 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +22 -5
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +4 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +116 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +1 -114
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +2 -2
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +7 -5
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +2 -2
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +7 -7
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +0 -15
- package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +1 -58
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +19 -65
- package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +56 -110
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +42 -0
- package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +97 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +9 -47
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +80 -0
- package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +4 -4
- package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +308 -0
- package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +611 -0
- package/lib/oh-story/skills/story-short-scan/SKILL.md +35 -65
- package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +36 -0
- package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +24 -0
- package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +21 -0
- package/lib/oh-story/skills/story-short-scan/references/topic-match.md +38 -0
- package/lib/oh-story/skills/story-short-write/SKILL.md +23 -175
- package/lib/oh-story/skills/story-short-write/references/agent-calls.md +13 -0
- package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +75 -0
- package/lib/oh-story/skills/story-short-write/references/author-memory.md +46 -94
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +2 -2
- package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +1 -21
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +4 -0
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +0 -15
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +9 -47
- package/lib/oh-story/skills/story-short-write/references/reference-index.md +17 -47
- package/lib/oh-story/skills/story-short-write/references/scene-craft.md +40 -0
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +7 -43
- package/lib/oh-story/skills/story-short-write/references/short-format.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +2 -1
- package/lib/oh-story/skills/story-short-write/references/short-reversal.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/style-resolution.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +5 -10
- package/lib/oh-story/skills/story-short-write/references/workflow-design.md +21 -13
- package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +116 -0
- package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +99 -0
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +7 -119
- package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +934 -170
- package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +155 -8
- package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +7 -2
- package/lib/types/client/drama-production-view.d.ts.map +1 -1
- package/lib/types/client/file-activity.d.ts +19 -1
- package/lib/types/client/file-activity.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/production-prompts.d.ts +7 -0
- package/lib/types/client/production-prompts.d.ts.map +1 -1
- package/lib/types/client/production-runtime.d.ts +16 -0
- package/lib/types/client/production-runtime.d.ts.map +1 -1
- package/lib/types/client/video-studio.d.ts.map +1 -1
- package/lib/types/drama-adapters.d.ts +5 -3
- package/lib/types/drama-adapters.d.ts.map +1 -1
- package/lib/types/native-hooks.d.ts +53 -1
- package/lib/types/native-hooks.d.ts.map +1 -1
- package/lib/types/role-identity.d.ts +17 -0
- package/lib/types/role-identity.d.ts.map +1 -0
- package/lib/types/role-tool.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/lib/types/video-project.d.ts.map +1 -1
- package/lib/types/workspace-route.d.ts.map +1 -1
- package/lib/video-recap/CHANGELOG.md +60 -1
- package/lib/video-recap/README.en.md +348 -137
- package/lib/video-recap/README.md +340 -136
- package/lib/video-recap/manifest.json +406 -251
- package/lib/video-recap/skills/video-assemble/SKILL.md +30 -15
- package/lib/video-recap/skills/video-assemble/references/audio-modes.md +63 -0
- package/lib/video-recap/skills/video-assemble/references/explicit-audio-mix.md +75 -0
- package/lib/video-recap/skills/video-assemble/references/foreground-compose.md +118 -0
- package/lib/video-recap/skills/video-assemble/references/narration-adoption.md +103 -0
- package/lib/video-recap/skills/video-assemble/references/packaging.md +45 -0
- package/lib/video-recap/skills/video-assemble/references/pair-media.md +74 -0
- package/lib/video-recap/skills/video-assemble/references/source-score.md +147 -0
- package/lib/video-recap/skills/video-assemble/references/subtitle-track.md +202 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/__init__.py +1 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/audio_mix_binding.py +279 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/frozen_audio.py +187 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/narration_binding.py +323 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_inputs.py +109 -0
- package/lib/video-recap/skills/video-assemble/scripts/adoption/strict_publish.py +130 -0
- package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +10 -46
- package/lib/video-recap/skills/video-assemble/scripts/assemble.py +378 -119
- package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +29 -12
- package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +95 -44
- package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +75 -32
- package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +11 -11
- package/lib/video-recap/skills/video-assemble/scripts/compose_foreground.py +293 -0
- package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +71 -78
- package/lib/video-recap/skills/video-assemble/scripts/jianying/__init__.py +1 -0
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_builders.py → jianying/builders.py} +39 -67
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_model.py → jianying/model.py} +3 -11
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_optional.py → jianying/optional.py} +1 -1
- package/lib/video-recap/skills/video-assemble/scripts/jianying/schema.py +53 -0
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_templates.py → jianying/templates.py} +1 -1
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_timeline_contract.py → jianying/timeline_contract.py} +34 -13
- package/lib/video-recap/skills/video-assemble/scripts/{jianying_writer.py → jianying/writer.py} +7 -17
- package/lib/video-recap/skills/video-assemble/scripts/lib.py +37 -4
- package/lib/video-recap/skills/video-assemble/scripts/media.py +12 -21
- package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +64 -34
- package/lib/video-recap/skills/video-assemble/scripts/packaging.py +122 -0
- package/lib/video-recap/skills/video-assemble/scripts/pair_media.py +216 -0
- package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +1 -3
- package/lib/video-recap/skills/video-assemble/scripts/source_score.py +469 -0
- package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +25 -9
- package/lib/video-recap/skills/video-assemble/scripts/subtitles/__init__.py +1 -0
- package/lib/video-recap/skills/video-assemble/scripts/{subtitle_core.py → subtitles/core.py} +13 -6
- package/lib/video-recap/skills/video-assemble/scripts/{subtitle_render.py → subtitles/render.py} +5 -4
- package/lib/video-recap/skills/video-assemble/scripts/subtitles/track.py +324 -0
- package/lib/video-recap/skills/video-assemble/scripts/subtitles/track_binding.py +200 -0
- package/lib/video-recap/skills/video-assemble/scripts/timeline.py +30 -46
- package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +91 -7
- package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +22 -8
- package/lib/video-recap/skills/video-cut/SKILL.md +34 -16
- package/lib/video-recap/skills/video-cut/references/shot-review.md +50 -0
- package/lib/video-recap/skills/video-cut/scripts/cut.py +2 -28
- package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +58 -62
- package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +21 -106
- package/lib/video-recap/skills/video-cut/scripts/cut_render.py +14 -9
- package/lib/video-recap/skills/video-cut/scripts/lib.py +39 -0
- package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +2 -155
- package/lib/video-recap/skills/video-cut/scripts/narrative_selection.py +244 -0
- package/lib/video-recap/skills/video-cut/scripts/shot_review.py +357 -0
- package/lib/video-recap/skills/video-recap/SKILL.md +86 -42
- package/lib/video-recap/skills/video-recap/references/audio-routing.md +126 -0
- package/lib/video-recap/skills/video-recap/references/config-playbook.md +12 -8
- package/lib/video-recap/skills/video-recap/references/data-schema.md +44 -33
- package/lib/video-recap/skills/video-recap/references/resource-library.md +151 -0
- package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +1 -1
- package/lib/video-recap/skills/video-recap/scripts/doctor.py +123 -30
- package/lib/video-recap/skills/video-recap/scripts/final_qc.py +22 -75
- package/lib/video-recap/skills/video-recap/scripts/lib.py +3 -3
- package/lib/video-recap/skills/video-recap/scripts/library.py +509 -0
- package/lib/video-recap/skills/video-recap/scripts/materials.py +63 -91
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +8 -70
- package/lib/video-recap/skills/video-recap/scripts/project_binding.py +286 -0
- package/lib/video-recap/skills/video-recap/scripts/qc/__init__.py +1 -0
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_client.py → qc/mimo_client.py} +1 -1
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_evidence.py → qc/mimo_evidence.py} +33 -66
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_observations.py → qc/mimo_observations.py} +3 -11
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_payload.py → qc/mimo_payload.py} +4 -7
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_report.py → qc/mimo_report.py} +17 -28
- package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_runner.py → qc/mimo_runner.py} +2 -2
- package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +0 -19
- package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +119 -50
- package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +32 -114
- package/lib/video-recap/skills/video-recap/scripts/recap_review.py +9 -23
- package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +387 -334
- package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +23 -23
- package/lib/video-recap/skills/video-recap/scripts/recap_source.py +278 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +25 -12
- package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +59 -52
- package/lib/video-recap/skills/video-recap/scripts/resource_lock.py +162 -0
- package/lib/video-recap/skills/video-script/SKILL.md +16 -13
- package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +9 -5
- package/lib/video-recap/skills/video-script/references/promotional-copy.md +68 -0
- package/lib/video-recap/skills/video-script/references/research-guide.md +1 -1
- package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +24 -76
- package/lib/video-recap/skills/video-script/scripts/lib.py +10 -87
- package/lib/video-recap/skills/video-script/scripts/narration_lint.py +63 -39
- package/lib/video-recap/skills/video-script/scripts/review.py +0 -2
- package/lib/video-recap/skills/video-script/scripts/review_grounding.py +35 -59
- package/lib/video-recap/skills/video-script/scripts/review_response.py +66 -128
- package/lib/video-recap/skills/video-script/scripts/review_runner.py +12 -20
- package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +4 -4
- package/lib/video-recap/skills/video-script/scripts/validate.py +53 -42
- package/lib/video-recap/skills/video-understanding/SKILL.md +6 -4
- package/lib/video-recap/skills/video-understanding/references/data-schema.md +50 -156
- package/lib/video-recap/skills/video-understanding/references/research-guide.md +4 -4
- package/lib/video-recap/skills/video-understanding/scripts/asr.py +85 -65
- package/lib/video-recap/skills/video-understanding/scripts/asr_timing_evidence.py +270 -0
- package/lib/video-recap/skills/video-understanding/scripts/brief.py +2 -5
- package/lib/video-recap/skills/video-understanding/scripts/briefing/__init__.py +1 -0
- package/lib/video-recap/skills/{video-script/scripts/agent_brief.py → video-understanding/scripts/briefing/builder.py} +38 -35
- package/lib/video-recap/skills/video-understanding/scripts/{brief_context.py → briefing/context.py} +4 -35
- package/lib/video-recap/skills/{video-script/scripts/brief_inputs.py → video-understanding/scripts/briefing/inputs.py} +9 -31
- package/lib/video-recap/skills/{video-script/scripts/brief_timeline.py → video-understanding/scripts/briefing/timeline.py} +5 -6
- package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +65 -116
- package/lib/video-recap/skills/video-understanding/scripts/detect.py +31 -40
- package/lib/video-recap/skills/video-understanding/scripts/lib.py +30 -86
- package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +63 -39
- package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +4 -4
- package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +17 -79
- package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +14 -40
- package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +64 -46
- package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +31 -11
- package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +19 -14
- package/lib/video-recap/skills/video-understanding/scripts/vlm.py +80 -108
- package/lib/video-recap/skills/video-voiceover/SKILL.md +29 -19
- package/lib/video-recap/skills/video-voiceover/references/index-tts.md +31 -0
- package/lib/video-recap/skills/video-voiceover/scripts/approved_text_policy.py +123 -0
- package/lib/video-recap/skills/video-voiceover/scripts/dub.py +51 -59
- package/lib/video-recap/skills/video-voiceover/scripts/lib.py +8 -44
- package/lib/video-recap/skills/video-voiceover/scripts/providers/__init__.py +1 -0
- package/lib/video-recap/skills/video-voiceover/scripts/providers/index_tts.py +184 -0
- package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +212 -134
- package/package.json +45 -45
- package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +0 -58
- package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +0 -53
- package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +0 -38
- package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +0 -530
- package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +0 -559
- package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +0 -207
- package/lib/oh-story/skills/story-long-write/references/state-tracking.md +0 -108
- package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +0 -678
- package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +0 -561
- package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +0 -98
- package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +0 -225
- package/lib/video-recap/skills/video-recap/references/research-guide.md +0 -74
- package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +0 -250
- package/lib/video-recap/skills/video-script/scripts/brief_context.py +0 -348
- package/lib/video-recap/skills/video-script/scripts/narration.py +0 -12
- package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +0 -399
- package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +0 -290
- package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +0 -327
- /package/lib/video-recap/skills/video-assemble/scripts/{jianying_tracks.py → jianying/tracks.py} +0 -0
- /package/lib/video-recap/skills/video-recap/scripts/{mimo_qc_contract.py → qc/mimo_contract.py} +0 -0
- /package/lib/video-recap/skills/video-voiceover/scripts/{fish_audio.py → providers/fish_audio.py} +0 -0
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
# workflow-setup.md
|
|
1
|
+
# workflow-setup.md:开书与规划的时刻表,以及「定方向」「定设定」
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
SKILL.md 只保留场景路由与停靠规则;进入任一 Phase 前读本文件对应小节,按其中步骤执行。
|
|
3
|
+
开书是一串作者要确认的时刻,每个时刻只读自己的文件;后一时刻只靠落盘文件接上前一时刻,不靠对话记忆。先按 SKILL.md「写作流程」确定交付范围;只讨论时取所需技法,不执行建档;其余按范围补必要前置,不重做已有设定。
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
| 时刻 | 作者确认什么 | 读什么 | 落盘 |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| 定方向 | 题材、卖点、对标书 | 本文件 Phase 1 | 书目录与 `.active-book`;`设定/题材定位.md` 的基本信息、对标登记、作者已定 |
|
|
8
|
+
| 定设定 | 主角、世界、核心冲突 | 本文件 Phase 2 | 题材定位补全;关系;主角与关键角色卡;影响全书的世界观(见 Phase 2) |
|
|
9
|
+
| 出卷纲 | 全书分段与第一卷 | [workflow-volume.md](workflow-volume.md) | `大纲/大纲.md`、`大纲/卷纲_第X卷.md` |
|
|
10
|
+
| 出细纲 | 首批章节怎么走 | [workflow-outline.md](workflow-outline.md) | `大纲/细纲_第XXX章.md`、排纲底稿 |
|
|
11
|
+
| 看第 1 章 | 正文 | workflow-chapter.md(新开对话) | `正文/` |
|
|
12
|
+
|
|
13
|
+
**交接只靠落盘**:每个时刻交付前,把作者在对话里定下的事(方向、偏好、红线、否掉的方案)写进 `设定/题材定位.md` 的对应小节,再往下走;下一时刻不回翻对话。本书的事只落设定,作者跨书通用的写作习惯才走作者记忆。
|
|
14
|
+
**换上下文**:定方向由主会话和作者商量;定设定、卷纲与每批细纲要读的方法最多,已部署 story-architect 时交给它按任务包在新上下文里出(调用见 [agent-calls.md](agent-calls.md)),主会话把提案拿给作者确认、按作者意见改文件、汇报。没有子代理时主会话自己做,同样先给提案、作者确认后再落盘。没有子代理时每个时刻交付后、有子代理时细纲交付后,汇报正文最后一句建议「新开一个对话,说『定设定』/『出卷纲』/『出第1-10章细纲』/『写第1章』,会更专注」(技术备注仍在它之后的最末一行);作者要在本对话继续也照做。
|
|
8
15
|
|
|
9
16
|
---
|
|
10
17
|
|
|
11
18
|
### Phase 1:确认选题方向
|
|
12
19
|
|
|
13
|
-
|
|
14
|
-
缺失时先自动找一遍:从项目根及其上一级目录起、向下最多 3 层按文件名搜 `选题决策.md`(跳过隐藏目录),按 mtime 由新到旧取最新 2 份。搜到 → 用 AskUserQuestion 列候选(路径 + 文件里的 `扫榜日期`,另加「我自己给路径」和「都不用」);选中某份 → 复制到项目根,再按上一段读取;选「我自己给路径」→ 让用户粘路径,同样复制到项目根;选「都不用」→ 走下面的常规提问。搜不到 → 问一句:「有扫榜生成的 `选题决策.md` 吗?放到项目根或粘贴路径;没有就直接答下面的问题。」仍无 → 走下面的常规提问。
|
|
20
|
+
**作者已给方向时**:以作者的方向为准,跳过选题决策查找与下面的方向提问,只按题材读下方匹配文件,再做「对标上下文加载」。
|
|
15
21
|
|
|
16
|
-
|
|
22
|
+
**先查选题决策**(作者没给方向时):如果项目根存在 `选题决策.md`(story-long-scan Phase 5 产出),读取它——取排在最前(可行性最高)的推荐选题,向用户确认:「扫榜建议写 X(能爆的原因 Y,差异化 Z),按这个开书?」并看 `扫榜日期`:距今较久则提示"市场数据可能过期,建议复扫"。认可 → 带其题材/卖点/差异化进入 Phase 2。文件里没有「推荐选题」(只扫了榜)→ 当作还没选题,走下面的常规提问。
|
|
23
|
+
缺失时先找:从项目根及其上一级目录起、向下最多 3 层搜 `选题决策.md`(跳过隐藏目录),按 mtime 取最新 2 份。搜到 → 用 AskUserQuestion 列候选(路径 + 文件里的 `扫榜日期`,另加「我自己给路径」和「都不用」);选中某份 → 复制到项目根,再按上一段读取;选「我自己给路径」→ 让用户粘路径,同样复制到项目根;选「都不用」→ 走下面的常规提问。搜不到 → 问一句:「之前扫过榜、有现成的选题建议吗?有的话告诉我放在哪;没有就直接答下面的问题。」仍无 → 走下面的常规提问。
|
|
17
24
|
|
|
18
25
|
如果用户没有方向:
|
|
19
26
|
|
|
@@ -21,291 +28,143 @@ SKILL.md 只保留场景路由与停靠规则;进入任一 Phase 前读本文
|
|
|
21
28
|
|
|
22
29
|
#### 对标上下文加载
|
|
23
30
|
|
|
24
|
-
>
|
|
31
|
+
> **对标书路径查找** 见 SKILL.md「路径与术语约定」。
|
|
25
32
|
|
|
26
33
|
**对标发现(先于下方反应式加载)**:无论用户是否点名对标书,先扫 `拆文库/` 按题材主动推荐,不要被动等用户开口。
|
|
27
34
|
|
|
28
35
|
1. `ls 拆文库/`(数据源)与项目 `对标/`(引用视图)列已有书目;先按当前项目目录名、`.active-book` 和 `设定/题材定位.md` 中的本书信息识别当前作品,排除同名或来源指向当前正文的 `拆文库/{当前书}/`。story-import 为重建工程生成的本书拆文分析不是对标候选,也不得复制回 `对标/`。排除后都为空 → 跳到第 4 条。
|
|
29
36
|
2. 逐本读题材(短篇读 `拆文库/{书}/_meta.json` 的 `genre_detected`;长篇读 `概要.md` 头部或 `拆文报告.md`「基本信息」的「题材」),与本书题材/方向比对,标 同题材 / 弱相关 / 不相关。
|
|
30
|
-
3. 有同题材或弱相关候选 → 用 AskUserQuestion 推荐(列候选书 +「都不用」+「另拆一本」),主对标 1 本走文风/正文、其余作副对标。选定后写入 `设定/题材定位.md`「对标登记」的 `主对标书` /
|
|
31
|
-
4. 无候选 →
|
|
37
|
+
3. 有同题材或弱相关候选 → 用 AskUserQuestion 推荐(列候选书 +「都不用」+「另拆一本」),主对标 1 本走文风/正文、其余作副对标。选定后写入 `设定/题材定位.md`「对标登记」的 `主对标书` / `对标书列表`(定方向交付时落盘),并在首次引用时从 `拆文库/{书}/` 复制相关子目录(章节/角色/剧情/设定)、`剧情/节奏.md`、`剧情/情绪模块.md`、`文风.md` 和 `拆文报告.md` 到 `对标/{书}/`,已有不重复复制。
|
|
38
|
+
4. 无候选 → 无对标继续(卷纲按八节点自排,见 workflow-volume.md);用户想对标可先 `/story-long-analyze` 拆一本。
|
|
32
39
|
|
|
33
40
|
如果用户提到对标书或工作目录下已存在 `对标/` 目录:
|
|
34
41
|
|
|
35
42
|
1. 先按上方「对标发现」第 1 条的同一口径识别当前作品,排除同名或来源指向当前正文的 `对标/{当前书}/`——老导入项目里可能留着历史误建的自对标目录。排除后没有外部对标书时不进入下面几步,按无对标继续。
|
|
36
|
-
2.
|
|
37
|
-
3.
|
|
38
|
-
4.
|
|
39
|
-
5. 如果角色、普通剧情单元或设定子目录存在,写作时按需召回相关模块。
|
|
43
|
+
2. 识别资料代际只看两份主产物 `剧情/情绪模块.md` 与 `剧情/节奏.md`:缺任一就停止并返回 `missing_primary_contract` + `repair_action`,对作者只说「对标书《X》还缺情绪/节奏分析,建议先用 /story-long-analyze 补拆一次」,不得以摘要或报告伪造;都在就正常召回,老拆文缺新增字段不阻断。
|
|
44
|
+
3. 按权威顺序读两个主产物;`拆文报告.md` 只作概览。
|
|
45
|
+
4. 如果角色、普通剧情单元或设定子目录存在,写作时按需召回相关模块。
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
根据回答做匹配(题材细分查 `references/long-genre-catalog.md`,女频长篇改读 `references/female-audience-writing.md`(已含女频题材,不再叠读题材目录);市场与读者查 `references/genre-readers.md`,特殊题材查 `references/plot-special-topics.md` 的「决策路由表」和它指向的一节;按需各读一次):
|
|
42
48
|
- 脑洞好 → 推荐:系统文、诸天流、无限流
|
|
43
49
|
- 文笔好 → 推荐:仙侠、历史、文艺向都市
|
|
44
50
|
- 节奏感好 → 推荐:都市爽文、重生文、游戏文
|
|
45
51
|
- 生活经验丰富 → 推荐:行业文、都市日常、种田文
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
**定方向交付前**:还没有书目录时,用作者给的书名(没有就起暂定名,定设定时可改)建 `{书名}/`,作者指定了位置就放那里,并在工作区根写 `.active-book` 指向它;书名改了,目录与 `.active-book` 一起改。然后建 `设定/题材定位.md`,把选定的题材、卖点、对标,以及作者在对话里说过的偏好、红线和否掉的方案,写进「基本信息」「对标登记」「作者已定」(模板见文末),其余小节留到定设定补。
|
|
48
54
|
|
|
49
|
-
|
|
55
|
+
#### Agent 调用:story-architect
|
|
50
56
|
|
|
51
|
-
|
|
52
|
-
> - **终局储备边界**:终局底牌(头号宿敌/终极真相/金手指上限/身份终点/核心情感终点)是一次性资源,逐卷解锁,不得提前打光;升级台阶(境界/等级/地图/势力层级)按剩余档数逐级解锁,不得越级。
|
|
53
|
-
> - **透支两问**(任一为"是"即需回退或改纲):①是否动用了本阶段还不该解锁的终局底牌?②是否让某条升级线逼近天花板、后面没台阶接?
|
|
54
|
-
> - **剧情单元**:卷纲内写剧情单元卡,含单元ID、主推线(1条)+ 战果线(若干,一战多得允许)、章级推进下限(快节奏保留可见事件/爽点下限)。
|
|
55
|
-
> - **细纲层字段**:每章细纲必须带 单元ID/位置、主角目标/关键选择;「行动成本(可无)/收益归属」替代旧字段「代价兑现」——行动成本可无,不硬造代价,收益归属必须可见。
|
|
56
|
-
> - **读者契约与主角代理权**:主角不可替代看因果权(决策/布局/授权/关键信息决定事情如何发生转向)+ 结算权(核心收益/认可按承诺回到应得者),不要求主角事事亲自动手;配角可执行局部动作,但不得无声夺走已承诺的高光/收益。
|
|
57
|
-
> - **关键节点四问**(设计关键节点时统一问):①谁决定事情为什么发生/如何进入?②谁作出不可替代的关键选择?③谁承担或选择关键后果?④核心收益/认可/权力最终结算给谁?
|
|
58
|
-
> - 完整规则以主会话已加载的 `references/reader-contract-and-progression.md` 为准,此处只是给 story-architect 的压缩版;agent 本身不部署该文件,不能自己读取。
|
|
57
|
+
轻量题材定位优先由主会话完成;复杂世界观、多线结构、强反转工程或用户明确要求时才调用,调用方式见 [agent-calls.md](agent-calls.md);agent 不可用则主会话直接执行。
|
|
59
58
|
|
|
60
59
|
---
|
|
61
60
|
|
|
62
61
|
### Phase 2:核心设定
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
开头先看 `.active-book`:上一时刻漏建就按「定方向交付前」补建。从 Phase 1 确定的目标情绪出发,在题材框架中找到对应的剧情模式,从对标书提取可复用模块(把具体角色看成功能位),用用户自己的角色和设定填充。
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
完整开书时定设定交付这几样(仅规划时只落与所请求结构有关的已定设定),模板见文末:
|
|
66
|
+
- `设定/题材定位.md`:在定方向已写的基础上补「核心设定」(一句话梗概、主角、世界观骨架、核心冲突与终极阻碍)、读者契约、终局底牌、核心梗三分法与对标分析(表保留 2-3 行摘要,详见 `对标/`),不删作者已定;
|
|
67
|
+
- `设定/关系.md`;
|
|
68
|
+
- 主角与关键角色的 `设定/角色/{名}.md`(character-basics.md 主角卡/配角卡);其余角色出细纲时增量补;
|
|
69
|
+
- 影响全书的 `设定/世界观/{主题}.md`(力量体系、社会结构等一题一文件,题材定位只留骨架一句)。
|
|
70
|
+
- `设定/题材正文提示卡.md` 开书时不建,写第 1 章前由写前召回生成。
|
|
67
71
|
|
|
68
|
-
|
|
69
|
-
## 核心设定表
|
|
70
|
-
|
|
71
|
-
### 基本信息
|
|
72
|
-
- 书名:{暂定名}
|
|
73
|
-
- 题材/类型:{主类型 + 副类型}
|
|
74
|
-
- 目标平台:{起点/番茄/晋江/其他}
|
|
75
|
-
- 预计字数:{X} 万字
|
|
76
|
-
- 目标读者:{画像}
|
|
77
|
-
- 读者契约:{本书承诺的核心阅读快感;参 reader-contract-and-progression.md}
|
|
78
|
-
- 主角高光/代理权:{主角不可替代的判断、选择或贡献}
|
|
79
|
-
- 核心期待债:{开篇必须偿还的承诺}
|
|
80
|
-
|
|
81
|
-
### 一句话梗概
|
|
82
|
-
{主角 + 目标 + 阻碍 + 反转,一句话概括全书}
|
|
83
|
-
|
|
84
|
-
### 主角设定
|
|
85
|
-
- 姓名:{}
|
|
86
|
-
- 年龄:{}
|
|
87
|
-
- 核心特质:{2-3 个关键词}
|
|
88
|
-
- 金手指/核心能力:{}
|
|
89
|
-
- 弱点/缺陷:{让角色更立体的地方}
|
|
90
|
-
- 核心动机:{他为什么要做这件事}
|
|
91
|
-
|
|
92
|
-
### 世界观骨架
|
|
93
|
-
- 时代/背景:{}
|
|
94
|
-
- 核心设定:{区别于同类作品的独特设定}
|
|
95
|
-
- 力量体系:{如果有,简单概括}
|
|
96
|
-
- 社会结构:{影响故事的关键设定}
|
|
97
|
-
|
|
98
|
-
### 核心冲突
|
|
99
|
-
- 主线矛盾:{}
|
|
100
|
-
- 终极 Boss/终极阻碍:{}
|
|
101
|
-
```
|
|
72
|
+
主会话自己定设定时读 `references/character-basics.md`、`references/character-relations.md`「人物关系类型」一节、`references/long-genre-mechanics.md`「核心梗三层递进设计」一节、`references/reader-contract-and-progression.md`;女频另读 `references/female-audience-writing.md`;对标登记 ≥2 本时读 `references/cross-book-recall.md`,副对标 anchor 入「对标分析」表附录;有 `灵感库/` 时可按它「公共灵感标签召回」以「适用阶段=设定」查 Top 8 active CBA,零命中不阻塞。
|
|
102
73
|
|
|
103
|
-
|
|
104
|
-
- **设定/关系.md**:角色关系映射(参考 character-relations.md「四种关系类型」)
|
|
105
|
-
- **设定/题材定位.md**:题材核心梗三分法+对标分析(参考 long-genre-mechanics.md「核心梗解析」)。对标分析表保留 2-3 行摘要,详细数据见 `对标/` 目录
|
|
106
|
-
- **设定/题材正文提示卡.md**:从 `设定/题材定位.md` + `references/genre-prose-cards.md`(索引)+ `references/genre-prose-cards/`(单题材正文卡目录,按题材分类优先)+ `references/style-genre-modules.md`(通用流派补充)抽取本书正文层题材卡,只写题材边界、核心逻辑、读者期待、核心爽点/情绪、正文落点、前中后期打法、节奏密度、场景颗粒、禁止漂移;不写通用格式规则,不覆盖 `设定/文风.md`
|
|
107
|
-
|
|
108
|
-
> **多对标书时**:参 `references/cross-book-recall.md`,副对标 anchor 入「对标分析」表附录
|
|
74
|
+
**数值先问作者**:物价与收入量级、境界/力量档位、金手指上限这类影响全书的刻度,按 SKILL.md「新增物三级」属先问作者——在提案里给 1-2 个候选请作者定,确认后才写进设定,不直接写死、只在汇报里概括。
|
|
109
75
|
|
|
110
76
|
#### Agent 调用:story-architect + character-designer
|
|
111
77
|
|
|
112
|
-
|
|
113
|
-
- `Agent(subagent_type: "story-architect", prompt: "项目目录:{dir}\n任务类型:核心设定\n查询参数:世界观构建+核心冲突设计")` — 辅助世界观和核心冲突设计;spawn prompt 必须原样附带 Phase 1 的「story-architect 契约摘要」(升级台阶检查约束力量体系设计)
|
|
114
|
-
- `Agent(subagent_type: "character-designer", prompt: "项目目录:{dir}\n任务类型:角色设定\n查询参数:{主角设定信息}")` — 辅助角色设定和语言风格档案
|
|
115
|
-
|
|
116
|
-
如 agent 不可用,由主线程直接执行。
|
|
78
|
+
已部署时按 [agent-calls.md](agent-calls.md) 交给它们;不可用则主会话直接执行。
|
|
117
79
|
|
|
118
80
|
---
|
|
119
81
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
#### 全书体量与阶段总览(卷纲前置)
|
|
123
|
-
|
|
124
|
-
卷级大纲前先写全书体量与阶段边界,作为后续卷纲、细纲、日更补纲的共同约束。比例只作默认参考,必须按题材、目标字数和对标节奏调整,不能机械套模板。
|
|
125
|
-
|
|
126
|
-
```
|
|
127
|
-
## 全书体量与阶段总览
|
|
128
|
-
|
|
129
|
-
- 全书总章节数:{X} 章
|
|
130
|
-
- 目标字数:{X} 万字
|
|
131
|
-
- 全书情绪曲线:{压抑/期待 → 加压/反转 → 爽感/震撼 → 余韵/圆满;标注关键阶段}
|
|
132
|
-
|
|
133
|
-
### 阶段划分
|
|
134
|
-
1. 开篇期(第 {A}-{B} 章,参考 10%-15%):核心任务 {立人设/立世界/埋主线钩子};情绪基调 {压抑/期待/惊奇};阶段结束时读者应建立 {对主角的认同 + 对主线冲突的期待}
|
|
135
|
-
2. 发展期(第 {A}-{B} 章,参考 50%-60%):核心任务 {矛盾展开/支线并行/资源与关系升级};情绪基调 {期待/紧张/间歇爽感};阶段结束时读者应建立 {对核心反派或终局矛盾的迫切期待}
|
|
136
|
-
3. 高潮期(第 {A}-{B} 章,参考 20%-25%):核心任务 {核心冲突爆发/多线收束/连续爽点};情绪基调 {爽感/震撼/反转};阶段结束时核心矛盾应 {基本解决或进入最终对决}
|
|
137
|
-
4. 收尾期(第 {A}-{B} 章,参考 5%-10%):核心任务 {伏笔回收/关系落定/结局余韵};情绪基调 {释然/感动/圆满};阶段结束时主线伏笔应 {回收完毕,结局落定}
|
|
138
|
-
|
|
139
|
-
### 各阶段节奏公式
|
|
140
|
-
- 开篇期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
141
|
-
- 发展期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
142
|
-
- 高潮期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
143
|
-
- 收尾期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 必须回收清单
|
|
144
|
-
|
|
145
|
-
### 关键节点与钩子链
|
|
146
|
-
- 关键转折点:第 {X/Y/Z} 章,各自承担 {事件功能 + 情绪效果}
|
|
147
|
-
- 小/中/大高潮:小高潮第 {X/Y/Z} 章;中高潮第 {X/Y} 章;大高潮第 {X} 章
|
|
148
|
-
- 阶段钩子链:开篇期结尾指向发展期;发展期结尾指向高潮期;高潮期结尾指向收尾期
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
#### 卷级大纲(全书结构)
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
## 卷级大纲
|
|
155
|
-
|
|
156
|
-
### 第一卷:{卷名}(约 {X} 万字,{Y} 章)
|
|
157
|
-
- 功能:{铺垫/起步/第一个大爽点}
|
|
158
|
-
- 所属阶段:{开篇期/发展期/高潮期/收尾期;可跨阶段时写清分界章}
|
|
159
|
-
- 卷契约:{本卷承诺的读者快感、主角高光、主要期待债}
|
|
160
|
-
- 终局储备:{本卷主推线1条 + 战果线若干(一战多得允许);本卷解锁哪个终局里程碑、禁碰哪些未解锁底牌,参 `设定/题材定位.md`「终局底牌与升级台阶」小节 与 reader-contract-and-progression.md}
|
|
161
|
-
- 剧情单元:{1–3 万字剧情单元卡写在卷纲内,不另建单独文件;字段模板见 `references/artifact-protocols.md`,契约/推进规则见 `references/reader-contract-and-progression.md`}
|
|
162
|
-
- 阶段边界:本卷可释放 {信息/关系/能力};本卷禁止提前释放 {后期核心真相/终局底牌}
|
|
163
|
-
- 核心事件:{一句话}
|
|
164
|
-
- 起始状态 → 结束状态:{主角从 {A} 变成 {B}}
|
|
165
|
-
|
|
166
|
-
### 第二卷:{卷名}
|
|
167
|
-
...
|
|
168
|
-
|
|
169
|
-
### 最终卷:{卷名}
|
|
170
|
-
- 功能:{高潮 + 收尾}
|
|
171
|
-
- 核心事件:{一句话}
|
|
172
|
-
```
|
|
82
|
+
---
|
|
173
83
|
|
|
174
|
-
|
|
84
|
+
### 定设定时建的文件模板
|
|
175
85
|
|
|
176
|
-
|
|
86
|
+
## 设定/关系.md
|
|
177
87
|
|
|
178
|
-
|
|
88
|
+
```markdown
|
|
89
|
+
# 角色关系图
|
|
179
90
|
|
|
180
|
-
|
|
91
|
+
## 关系总览
|
|
181
92
|
|
|
182
|
-
|
|
93
|
+
| 角色 A | 角色 B | 关系类型{亲情/爱情/友情/敌对/师生/主从/利益} | 情感倾向{正面/负面/中性/复杂} | 当前状态 | 起始章节 | 变化节点 |
|
|
94
|
+
|--------|--------|---------------------------------------------|-----------------------------|---------|---------|---------|
|
|
95
|
+
| {名} | {名} | {类型} | {倾向} | {描述} | 第{N}章 | {事件} |
|
|
183
96
|
|
|
184
|
-
|
|
97
|
+
## 关系演变
|
|
185
98
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
4. **剧情单元消费**:建卡批读本批剧情单元卡「对标剧情参照」指向的剧情单元(≤3 个文件,含结构分布/情节点索引),按节拍→章映射铺章、情节点换素材;同一剧情单元的后续批共享剧情单元卡固化结论,不重读剧情单元。当前卷纲缺少必需剧情单元字段时先补齐卷纲,不带缺失字段进入日更。
|
|
191
|
-
5. **建纲当场缺口**:按下方 A/B/C 分级;A 级直接写,B 级先落档再引用,C 级挂起受影响内容交作者,其余部分继续。批末把 B/C 项汇入供给自查下的「建纲追加」:章号、缺口、分级、设定路径或提案;无追加写「无」。不重复记录 A 级现场材料。
|
|
192
|
-
6. **批末结构复核**(每批建完必做):按现有大纲流程确认章级目标与 `visible_chars_v1` 口径、核心字段、禁止提前释放和可执行情节点齐全。不得用“每个情节点固定等于多少字”预测容量或自动补事件;每章细纲落盘后必须跑 `node scripts/check-outline-contract.js --json --project {书目录} --chapter {N}`:exit 1 只按 `repair_scope` 补点名字段再复验,最多两轮;advisory 项逐条人工判断,不强制归零。批末另跑一次 `node scripts/check-outline-contract.js --json --supply {卷纲路径} {单元ID}` 验证本批《供给单》已落卷纲(含「无缺口」情形);脚本仅验供给小节存在,内容仍需人工判断。**旧章细纲缺字段是常态,不要照抄同目录既有文件的字段集**,以本节模板为准。语义仍不设 checker。
|
|
99
|
+
{角色A}<->{角色B}:
|
|
100
|
+
- 起点:{初始关系}
|
|
101
|
+
- 转折:{章节·事件·变化}
|
|
102
|
+
- 当前:{现状}
|
|
193
103
|
|
|
194
|
-
|
|
195
|
-
如果全书章数较少(≤30 章),可以在 Phase 3 一次全部建完。
|
|
104
|
+
## 核心冲突关系
|
|
196
105
|
|
|
106
|
+
{列出推动剧情的2-3对核心对立/合作关系}
|
|
197
107
|
```
|
|
198
|
-
## 细纲(第 N 章)
|
|
199
|
-
|
|
200
|
-
### 第 N 章:{章名}
|
|
201
|
-
- 核心事件:{一句话;供日更与导入统一消费}
|
|
202
|
-
- 字数目标:{X} 字
|
|
203
|
-
- 字数口径:visible_chars_v1
|
|
204
|
-
- 阶段位置:{开篇期/发展期/高潮期/收尾期;第X阶段第Y章;本章在阶段内承担什么}
|
|
205
|
-
- 单元ID/位置:{卷纲剧情单元ID;单元内第几拍/承担功能}
|
|
206
|
-
- 目标情绪:{具体情绪前状态→后状态;本章推进单元情绪引擎的哪一环;不得只写“热血/悲伤”等标签}
|
|
207
|
-
- 主角目标/关键选择:{主角本章要什么;必须做出的判断或选择}
|
|
208
|
-
- 章节定位:{高压/推进/修炼试错/关系回收/低压生活/信息整理;可留空,留空按推进章。见 references/outline-structure-theory.md「章节定位与张弛」}
|
|
209
|
-
- 本章结构公式:{节点1(目的) + 节点2(目的) + 节点3(目的) + 节点4(目的)}
|
|
210
|
-
- 章首钩子:{从章首7式中选择} — {具体内容;低压/过场章可写“弱钩子/仅情绪钩子,功能是…”}
|
|
211
|
-
- 爽点:{本章爽点;低压/修炼/过场章可写“无显性爽点,功能是…”,但仍须给读者一个往下看的理由}
|
|
212
|
-
- 本章标价:{本章的得失折算成读者已知的什么——某样已花过的钱、某人花过的时间、主角现在缺的那一样;尺子在第几点之前立好(至少两把)。确实无可标价的章写“无”}
|
|
213
|
-
- 闭环状态:{本章走完 获得 / 使用 / 见效 / 估值 的哪几拍;扣住哪一拍、第几章兑付。本章不闭环写清断点,如“下注在点7,第N+1章开奖”。闭环允许跨 2-3 章,也允许估值为负(收益缺口)}
|
|
214
|
-
- 本章禁止提前释放:{**只写本章特有的三五条**;卷级常任禁忌已在卷纲「本卷禁碰的终局底牌」,不逐章复读;没有就写“无”}
|
|
215
|
-
- 写手自由区:{本章写手可自行发明的内容类型——这场戏怎么打、谁失态到什么程度、对话内容、比喻域等,至少列一类;写成授权不写成禁令,把本章最值得放开的几处点名交给写手}
|
|
216
|
-
- 契约风险:{契约安全/需补强/契约破坏;逐章只按七检⑥⑦复核后填写,批次级已答全表}
|
|
217
|
-
|
|
218
|
-
#### 内容概括(五段式)
|
|
219
|
-
- 起因:{本章事件为什么发生}
|
|
220
|
-
- 发展:{冲突如何推进}
|
|
221
|
-
- 转折:{信息/关系/局势哪里改变}
|
|
222
|
-
- 高潮:{本章情绪或动作峰值}
|
|
223
|
-
- 结尾:{本章最后落在谁的什么动作/画面/台词上——写具体落点,不写"尘埃落定""一切结束"式状态判词}
|
|
224
|
-
|
|
225
|
-
#### 情节安排(多线)
|
|
226
|
-
- 主线推进:{本章对主目标的推进}
|
|
227
|
-
- 辅线推进:{指向卷纲「本卷故事线」的 L 编号,写“L0X 从哪一步推到哪一步”;本章确无非主线在动时写“无”,不凭空制造。一批细纲不许每章都是“无”}
|
|
228
|
-
- 事件线 / 任务线:{外部事件链}
|
|
229
|
-
- 任务卡点(如适用):{角色要办什么事 → 卡在哪里 → 卡出什么变化 → 删掉后损失 → 收束动作;没有就写“无”,不强补}
|
|
230
|
-
- 感情线 / 关系线:{无显性感情线时写“无显性,但关系变化为…”}
|
|
231
|
-
- 逻辑线:原因 → 行动 → 结果 → 后果/新问题
|
|
232
|
-
|
|
233
|
-
#### 人物关系和出场顺序
|
|
234
|
-
- 出场顺序:{角色/势力/关键物件按实际出现顺序列出}
|
|
235
|
-
- 镜头准入:{台词位写清人物此刻在争什么,一场通常 3-4 人;多人各有独有信息或行动时可增加。动作位以有意义的行动参与,背景位可合并描写;按本场功能分配,可兼档,不平均派发台词或小动作}
|
|
236
|
-
- 人物关系变化:{本章前 → 本章后}
|
|
237
|
-
- 视角/信息差:{谁知道什么;读者知道什么;主角误判什么。信息差取自 `追踪/时间线/读者已知.md`,不另起一套}
|
|
238
|
-
- 信息差触发点:{读者握着场内人不知道的牌时,在第几点、用什么把这件事**提醒**读者一次——某人当众猜错、主角刻意收力不亮底、旁人用错误前提做决定。本章无信息差写“无”}
|
|
239
|
-
|
|
240
|
-
#### 情节细化
|
|
241
|
-
- 情节点序列(逐行填下表;写清动作与叙事功能,不填写逐点字数):
|
|
242
|
-
|
|
243
|
-
| # | 情节点(谁做了什么) | 功能标签 | 分辨率 | 执行边界 |
|
|
244
|
-
|---|---|---|---|---|
|
|
245
|
-
| 1 | {主角在账单上发现4800元转出} | {信息揭示} | {密} | {禁:不揭露幕后者。放:他当场算出这笔钱等于几个月房租,允许写出来} |
|
|
246
|
-
|
|
247
|
-
功能标签=目的词:铺垫/高潮/爽点/打脸/人物塑造/设定,用于判断该点承担什么义务。点数由语义需要决定,不用 `目标字数 / beat 数`、固定字数档位或历史偏差系数反推。结构预检只判输入是否可安全执行,不宣称细纲一定能撑到目标字数。
|
|
248
|
-
|
|
249
|
-
**分辨率表示展开程度,不是字数配额**:密(慢镜头逐拍展开)/ 中 / 疏(一句带过)。**全章不许全填「中」**;同类并列的点递减、不平均。留空按「中」处理。
|
|
250
|
-
|
|
251
|
-
**执行边界写成「禁 + 放」两半**:
|
|
252
|
-
- **禁**:本点不能提前释放或新增什么(原有口径不变)。
|
|
253
|
-
- **放**:本点允许什么落地、到什么量级——谁可以出声、谁可以失态、允不允许有人当场给这件事标价、允不允许把后果外推一句。**每章至少有一个点写了「放」**。放行不是必须落地的义务,是解除限制。
|
|
254
|
-
- 任务卡点说明:如果某情节点是“办事被卡住”,功能标签必须写清它服务的是信息揭示、关系变化、代价兑现、伏笔推进、选择压力、节奏喘息或钩子承接;删掉无损的卡点不进细纲
|
|
255
|
-
- 复沓锚句:{须一字不差进正文的原话(誓言、面板、旧案原话),一行一条并注明落点,如"点3:立此为凭…";没有写"无"}
|
|
256
|
-
- 行动成本(可无)/收益归属:{可无行动成本;若有则写谁付出什么成本;收益归谁、如何可见、是否留下后续账}
|
|
257
|
-
|
|
258
|
-
#### 结尾设定和钩子
|
|
259
|
-
- 结尾设定:{收束落到什么具体动作或画面(不写"就这样……""他终于明白……"式状态判词);未解决问题;下一章推动力}
|
|
260
|
-
- 章尾钩子:{从章尾13式中选择} — {具体内容,期待度:强/中/弱;低压/过场章可弱钩子或留阶段目标;与下一章如何承接}
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
**大纲锁定**:已进入正文写作的前 10 章细纲锁定,未经用户确认不得修改;后续滚动细纲可随正文反馈微调。**卷纲锁定的定义**:某卷一旦已有正文章节,该卷已写区间对应的既有剧情单元卡与对标结构坐标即视为锁定——未经用户确认不改既有内容,但允许在卷尾**追加**新剧情单元卡(只增不改)。追加同样只发生在用户明确要求补纲/扩纲时;日更/写正文流程不自动追加剧情单元卡。workflow-daily 各处「锁定卷纲绝不自动修改」均按此定义执行。
|
|
264
|
-
|
|
265
|
-
**中途补纲/扩纲小流程**(项目已有大纲,用户要求"出细纲/补细纲/规划下一段剧情"时走这里):
|
|
266
|
-
1. 定位当前卷、已写进度与既有剧情单元卡:读 `大纲/大纲.md`;卷纲**走取段器不整读**(见 SKILL.md「卷纲不整读」)——先 `outline_view.py --toc {卷纲路径}` 看一屏目录定位当前单元,再 `--unit {单元ID}` 取闭包,新单元尚未建卡时先用 `--contract` 取卷级契约;另读 `追踪/上下文.md`(续写状态卡,待回收伏笔取 `## 活跃伏笔`、主角当前状态取 `## 核心角色状态`),以及 `设定/题材定位.md`(终局底牌与升级台阶)——续写状态卡缺项按 workflow-daily「旧信息查找步骤」按需查询,不读全部逐章增量;
|
|
267
|
-
2. 按 references/outline-structure-theory.md「对标节奏迁移」步骤 1 选同类剧情单元,设计新剧情单元卡(含「对标剧情参照」),**追加**到当前卷卷纲卷尾,并随卡在卷纲「情绪弧线」表、「本卷故事线」表与「本卷伏笔」表**只增不改**地追加对应规划;尚未实际埋设的伏笔留在大纲,不提前登记为时间线/追踪事实——用户主动要求补纲即视为已授权追加,锁定的既有剧情单元卡不动;新剧情单元体量超出本卷规划时,先与用户确认扩卷还是开新卷;
|
|
268
|
-
3. 批次级答一遍上方「大纲安全七检」并执行「大纲安全审查」(追加剧情单元时⑦按单元内 1/4·中点·3/4 口径);随后按「按剧情批出细纲」步骤 3 做**供给自查**、产出《供给单》;
|
|
269
|
-
4. 按「按剧情批出细纲」以新剧情单元为批次滚动补细纲(一批 ≈ 一个剧情单元,>10 章拆两批共享召回),每批建完执行「细纲后设定补全」与批末合计核对;
|
|
270
|
-
5. 新剧情单元和未来揭示边界已经在卷纲/细纲落盘,不复制进追踪续写状态卡;只有下一章必须履行的承诺才在下一次逐章事务里进入 `next_chapter_commitments`。
|
|
271
|
-
|
|
272
|
-
**细纲质量要求**:每章细纲都要按当前章节蓝图直接指导正文(阶段位置、结构公式、禁止提前释放、内容概括、情节安排、人物关系/出场顺序、情节细化、结尾设定齐备),但**强度按章节定位分配、不是每章顶满**:高压/推进章配齐钩子+爽点+悬念;低压/关系/修炼/信息整理章允许无显性爽点、弱钩子或仅情绪钩子,重点是把功能(喘息、关系、铺垫、转场)写到位。底线是每章都给读者一个往下看的理由、相邻章不情绪趋同(见 references/outline-structure-theory.md「章节定位与张弛」)。字段不完整时先补齐;无法从材料确定的关系或副线写 `[待补充]`,不得杜撰。
|
|
273
|
-
|
|
274
|
-
> **细纲钩子来源**:优先沿本批剧情单元卡「对标剧情参照」剧情单元的节拍与兑现方式设计钩子链;多对标书时参 `references/cross-book-recall.md`,副对标同基调 `章节/*_摘要.md` 仍可作单章钩子灵感(可选)
|
|
275
|
-
|
|
276
|
-
**章节标题规则**:只做轻量去重;发现同名或明显重复标题时,按本章核心事件改名,并保持细纲标题与正文文件名一致。
|
|
277
|
-
|
|
278
|
-
**细纲后设定补全(每批细纲建完后执行)**:扫描本批细纲新出现的具名角色/势力/关键设定,对**会复用**的(按卷纲/细纲判断:后续多次出场或承担剧情功能)自动建档,不等用户确认:
|
|
279
|
-
- 角色 → 建 `设定/角色/{名}.md`(填空模板见 character-basics.md 主角卡/配角卡);核心复用角色真正进入正文后,由追踪事务建立 `追踪/角色状态/{名}.md` 动态快照;
|
|
280
|
-
- 势力/组织 → 建 `设定/势力/{名}.md`(名称、定位、核心目标、关键人物、与主角关系);
|
|
281
|
-
- 影响多章的世界观规则 → 建/补 `设定/世界观/{主题}.md`(规则、适用范围)。
|
|
282
|
-
- **刻度与名目** → 建/补 `设定/世界观/{主题}.md` 里的对照表。凡是正文要拿来**比大小、算价钱、报名次、定档位**的东西都算:资质/评级档位、职级与待遇、货币与物价、等级与进度格、名次与席位、赏罚名目、时限与期限。写成**可数的序列**(几档、哪一档在哪、相邻两档差多少),不要只写一个孤立的值。
|
|
283
|
-
|
|
284
|
-
**缺什么按创作自主权分级处置——不许硬写,也不许一律停摆。** 排纲或写正文时需要一样东西(角色、能力、物价、规矩、刻度、场景)而设定里查不到时,先查再分级:
|
|
285
108
|
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
-
|
|
295
|
-
-
|
|
296
|
-
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
-
|
|
306
|
-
-
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
|
|
109
|
+
创建参考:`character-relations.md`「人物关系类型」
|
|
110
|
+
|
|
111
|
+
## 设定/题材定位.md
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
# 题材定位
|
|
115
|
+
|
|
116
|
+
## 基本信息
|
|
117
|
+
- 书名:{暂定名可改}
|
|
118
|
+
- 题材类型:{玄幻/都市/系统/...}
|
|
119
|
+
- 目标平台:{起点/番茄/晋江/其他;story-review 据此选平台 rubric}
|
|
120
|
+
- 核心梗:{一句话卖点}
|
|
121
|
+
- 微创新点:{与同类题材的差异}
|
|
122
|
+
- 预计字数:{X} 万字;目标读者:{画像}
|
|
123
|
+
|
|
124
|
+
## 作者已定
|
|
125
|
+
- {作者在对话里定下的方向、卖点、偏好与红线,一条一行;否掉的方案也记一行,写明为什么不要}
|
|
126
|
+
|
|
127
|
+
## 核心设定(定设定时填)
|
|
128
|
+
- 一句话梗概:{主角 + 目标 + 阻碍 + 反转}
|
|
129
|
+
- 主角:{姓名、核心特质、金手指、弱点、核心动机各一句;详档见 `设定/角色/{名}.md`}
|
|
130
|
+
- 世界观骨架:{时代背景、独特设定、力量体系、社会结构各一句;展开见 `设定/世界观/`}
|
|
131
|
+
- 核心冲突:主线矛盾={};终极阻碍={}
|
|
132
|
+
|
|
133
|
+
## 读者契约(参 `reader-contract-and-progression.md`)
|
|
134
|
+
- 核心读者承诺:{读者来追什么爽感/情绪/关系/事业}
|
|
135
|
+
- 主角代理权承诺:{主角不可替代的判断、关键选择或贡献}
|
|
136
|
+
- 利益安全线:{核心资产/卖点不得被没收、转赠、无交换暴露的边界}
|
|
137
|
+
- 期待债:{开篇/本卷已承诺,何时以什么形式偿还}
|
|
138
|
+
- 题材边界:{个人逆袭/群像/导师/制度合作等;高层级机构出现时先核对}
|
|
139
|
+
|
|
140
|
+
## 终局底牌与升级台阶(防写无可写;开书填一次,日更只查。参 `reader-contract-and-progression.md`「终局储备与推进节奏」)
|
|
141
|
+
- 终局底牌(一次性资源,标最早解锁卷):头号宿敌={}·第{X}卷;终极真相/身世={}·第{X}卷;金手指上限={}·第{X}卷;身份/地位终点={}·第{X}卷;核心情感确定={无感情主线可删}·第{X}卷
|
|
142
|
+
- 升级台阶:主体系{境界/等级/地图/势力层级}共{N}档 × 每档约{W}万字 应 ≥ 全书目标字数(不足则拉长体系/加地图层);敌人/目标成梯队逐级解锁,禁止越级秒顶级
|
|
143
|
+
- 透支红线:① 未到解锁卷就动用终局底牌 ② 某条升级线逼近天花板、后面没台阶接
|
|
144
|
+
|
|
145
|
+
## 核心梗三分法
|
|
146
|
+
- 表层卖点:{读者一眼看到的吸引力}
|
|
147
|
+
- 深层爽点:{持续追读的情绪驱动力}
|
|
148
|
+
- 长线钩子:{支撑全书的悬念/目标}
|
|
149
|
+
|
|
150
|
+
## 对标分析(概要)
|
|
151
|
+
> 完整对标数据见 `对标/` 目录。此表仅做快速概览。
|
|
152
|
+
|
|
153
|
+
| 对标书 | 相似点 | 差异点 | 可借鉴 |
|
|
154
|
+
|--------|-------|-------|-------|
|
|
155
|
+
| {书名} | {点} | {点} | {点} |
|
|
156
|
+
|
|
157
|
+
## 对标登记(多对标时必填;cross-book-recall 跨书召回按此排序与预算)
|
|
158
|
+
- 主对标书:{书名;单对标可省,多对标必填}
|
|
159
|
+
- 对标书列表:
|
|
160
|
+
|
|
161
|
+
| 书名 | 题材类型 | 引用强度{辅/参考} | 用途 |
|
|
162
|
+
|------|---------|-----------------|------|
|
|
163
|
+
| {书名} | {类型} | {辅/参考} | {文风主对标/结构参考/…} |
|
|
164
|
+
|
|
165
|
+
## 题材框架(出卷纲时补)
|
|
166
|
+
- 八节点位置:{当前处于哪个节点}
|
|
167
|
+
- 关键转折节点:{列出}
|
|
168
|
+
```
|
|
310
169
|
|
|
311
|
-
|
|
170
|
+
创建参考:`long-genre-mechanics.md`「核心梗三层递进设计」
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# workflow-volume.md:出卷纲(全书分段与卷纲)
|
|
2
|
+
|
|
3
|
+
作者要看全书怎么分段、这一卷怎么走时读本文件。同时读 [artifact-protocols.md](artifact-protocols.md)(大纲与卷纲模板)、`references/emotional-methods.md`「长篇单元情绪引擎」一节(排纲自查第 1 项)、`references/reader-contract-and-progression.md`(第 4 项);有主对标时按下文「对标节奏迁移」读主对标的 `剧情/节奏.md`。设定从 `设定/` 读,不回翻对话。只交付卷纲时不读细纲文件。没有子代理时先把分卷与第一卷走向作为提案给作者,确认后落盘;主线事件整体放进提案,价格、数值这类刻度留空写「到该章问作者」;交付汇报最后一句建议新开对话说「出第1-10章细纲」,技术备注在它后面。
|
|
4
|
+
|
|
5
|
+
#### 全书体量与阶段总览(卷纲前置)
|
|
6
|
+
|
|
7
|
+
卷级大纲前先写全书体量与阶段边界,作为后续卷纲、细纲、日更补纲的共同约束。比例只作默认参考,必须按题材、目标字数和对标节奏调整,不能机械套模板。
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
## 全书体量与阶段总览
|
|
11
|
+
|
|
12
|
+
- 全书总章节数:{X} 章
|
|
13
|
+
- 目标字数:{X} 万字
|
|
14
|
+
- 全书情绪曲线:{压抑/期待 → 加压/反转 → 爽感/震撼 → 余韵/圆满;标注关键阶段}
|
|
15
|
+
|
|
16
|
+
### 阶段划分
|
|
17
|
+
1. 开篇期(第 {A}-{B} 章,参考 10%-15%):核心任务 {立人设/立世界/埋主线钩子};情绪基调 {压抑/期待/惊奇};阶段结束时读者应建立 {对主角的认同 + 对主线冲突的期待}
|
|
18
|
+
2. 发展期(第 {A}-{B} 章,参考 50%-60%):核心任务 {矛盾展开/支线并行/资源与关系升级};情绪基调 {期待/紧张/间歇爽感};阶段结束时读者应建立 {对核心反派或终局矛盾的迫切期待}
|
|
19
|
+
3. 高潮期(第 {A}-{B} 章,参考 20%-25%):核心任务 {核心冲突爆发/多线收束/连续爽点};情绪基调 {爽感/震撼/反转};阶段结束时核心矛盾应 {基本解决或进入最终对决}
|
|
20
|
+
4. 收尾期(第 {A}-{B} 章,参考 5%-10%):核心任务 {伏笔回收/关系落定/结局余韵};情绪基调 {释然/感动/圆满};阶段结束时主线伏笔应 {回收完毕,结局落定}
|
|
21
|
+
|
|
22
|
+
### 各阶段节奏公式
|
|
23
|
+
- 开篇期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
24
|
+
- 发展期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
25
|
+
- 高潮期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 禁止提前释放
|
|
26
|
+
- 收尾期:核心任务 / 情绪基调 / 爽点密度 / 伏笔策略 / 冲突层级 / 阶段钩子 / 必须回收清单
|
|
27
|
+
|
|
28
|
+
### 关键节点与钩子链
|
|
29
|
+
- 关键转折点:第 {X/Y/Z} 章,各自承担 {事件功能 + 情绪效果}
|
|
30
|
+
- 小/中/大高潮:小高潮第 {X/Y/Z} 章;中高潮第 {X/Y} 章;大高潮第 {X} 章
|
|
31
|
+
- 阶段钩子链:开篇期结尾指向发展期;发展期结尾指向高潮期;高潮期结尾指向收尾期
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
#### 卷级大纲(全书结构)
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
## 卷级大纲
|
|
38
|
+
|
|
39
|
+
### 第一卷:{卷名}(约 {X} 万字,{Y} 章)
|
|
40
|
+
- 功能:{铺垫/起步/第一个大爽点}
|
|
41
|
+
- 所属阶段:{开篇期/发展期/高潮期/收尾期;可跨阶段时写清分界章}
|
|
42
|
+
- 卷契约:{本卷承诺的读者快感、主角高光、主要期待债}
|
|
43
|
+
- 终局储备:{本卷主推线1条 + 战果若干(一战多得允许);本卷解锁哪个终局里程碑、禁碰哪些未解锁底牌,参 `设定/题材定位.md`「终局底牌与升级台阶」小节 与 reader-contract-and-progression.md}
|
|
44
|
+
- 剧情单元:{1–3 万字剧情单元卡写在卷纲内,不另建单独文件;字段模板见 `references/artifact-protocols.md`,契约/推进规则见 `references/reader-contract-and-progression.md`}
|
|
45
|
+
- 阶段边界:本卷可释放 {信息/关系/能力};本卷禁止提前释放 {后期核心真相/终局底牌}
|
|
46
|
+
- 核心事件:{一句话}
|
|
47
|
+
- 起始状态 → 结束状态:{主角从 {A} 变成 {B}}
|
|
48
|
+
|
|
49
|
+
### 第二卷:{卷名}
|
|
50
|
+
...
|
|
51
|
+
|
|
52
|
+
### 最终卷:{卷名}
|
|
53
|
+
- 功能:{高潮 + 收尾}
|
|
54
|
+
- 核心事件:{一句话}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
> **多对标书时**(对标登记 ≥2 本):读 `references/cross-book-recall.md`,副对标 `章节/*_摘要.md` + `剧情/*.md` 召回卷级节奏
|
|
58
|
+
|
|
59
|
+
> **对标节奏回流(有主对标书时,卷纲定稿前做一次)**:读主对标 `对标/{书}/剧情/节奏.md`;资料缺失时设置 `missing_primary_contract` 并停止,不得以摘要、故事线或报告代替。文件存在时,按本文件「对标节奏迁移」将 1/4·中点·3/4 换素材排入卷纲「对标结构坐标」,选中单元写入「对标剧情参照」(也可填「自创:{理由}」),并过排纲自查。未登记主对标但有同题材候选时先回 workflow-setup Phase 1;确无对标则按八节点自排(开篇 5-10%、发展 30-40%、转折一、转折二、高潮 10-15%、矛盾结果 10-15%、转折三、结局 10-15%,各节点规则见 outline-methods.md「八节点故事结构」)。有 `灵感库/` 时可另按「适用阶段=卷纲」召回 Top 8 active CBA 辅助结构选型,零命中不阻塞。
|
|
60
|
+
|
|
61
|
+
**排纲自查**(每卷、每批细纲设计前答一遍;逐章不重答):
|
|
62
|
+
1. **情绪引擎**:本卷交付什么情绪、靠什么剧情模式可靠交付、核心冲突是什么?先按 `references/emotional-methods.md`「长篇单元情绪引擎」设计正向发动机,再做两个删除检验——删掉题材核心的对象/关系/问题,或删掉主角,情绪兑现还基本成立吗?成立就说明引擎没立住,先修。
|
|
63
|
+
2. **节奏与定位**:哪段加速哪段减速;章节定位有高低、不是全程高压,低压加过场合计不超约 15%;有对标书时 1/4、中点、3/4 各锚一个关键情节(中途追加单元按单元内的 1/4·中点·3/4,不改已锁定的卷尺度坐标表;见本文件「章节定位与张弛」「对标节奏迁移」)。
|
|
64
|
+
3. **伏笔与阶段边界**:本卷新埋哪些伏笔、上一卷待收的怎么处理;本卷在全书哪个阶段,可释放什么、必须压住什么(压住的写进细纲「本章禁止提前释放」)。
|
|
65
|
+
4. **契约四问**:按 `references/reader-contract-and-progression.md` 逐剧情单元过一遍,把 契约安全 / 需补强 / 契约破坏 写进单元卡「契约风险」;契约破坏 先修纲,需补强 补交换、铺垫或成本;两种都在规划汇报里告诉作者。不要求主角亲自完成每个动作。
|
|
66
|
+
5. **供给**:进入细纲层时按 workflow-outline.md 批次步骤 3 做供给自查。
|
|
67
|
+
|
|
68
|
+
只交付大纲/卷纲时,完成排纲自查 1–4 和下面列的纲文件后停止,不进入细纲。
|
|
69
|
+
|
|
70
|
+
按本次交付范围创建以下 artifact(模板见 [artifact-protocols.md](artifact-protocols.md)):
|
|
71
|
+
- **大纲/大纲.md**:全书卷级鸟瞰(卷名+字数+章数+核心事件+状态变化,一段式汇总)
|
|
72
|
+
- **大纲/卷纲_第X卷.md**:每卷的故事线(L 编号)+剧情单元+情绪弧线(含章节定位)+人物弧线+伏笔+反转+对标结构坐标+**刻度台阶/打脸债/压力线轮转**三表(按需填写,不适用时省略或写「无」;参考本文件「章节定位与张弛」「对标节奏迁移」,情绪弧线选型拿不准时读 `references/emotional-arc-design.md`「六种弧线速查」,本卷规划了反转时读 `references/long-reversal.md`「反转类型」,都只读那一节;三表模板见 artifact-protocols.md)
|
|
73
|
+
- **追踪不在规划阶段初始化**:开书、大纲、细纲、补纲都不建 `追踪/`;首次进入正文时由 workflow-chapter 处理缺 state(无正文初始化第 0 章,事务 JSON 放书目录 `.story/work/`)。核心角色动态快照在首次正文事务中创建。
|
|
74
|
+
|
|
75
|
+
**卷纲锁定的定义**:某卷一旦已有正文章节,该卷已写区间对应的既有剧情单元卡与对标结构坐标即视为锁定——未经用户确认不改既有内容,但允许在卷尾**追加**新剧情单元卡(只增不改)。追加同样只发生在用户明确要求补纲/扩纲时;日更/写正文流程不自动追加剧情单元卡。workflow-daily 各处「锁定卷纲绝不自动修改」均按此定义执行。
|
|
76
|
+
|
|
77
|
+
**规划交付后向作者汇报**(开书、大纲、卷纲、细纲、补纲、改细纲都用;按 SKILL.md「面向作者的汇报」):排纲自查、建纲批末复核是内部核对,只把结论翻成故事话;「先问作者」的缺口和两个设定互相冲突都作为「要你定的事」问。
|
|
78
|
+
|
|
79
|
+
<!-- author-report -->
|
|
80
|
+
```md
|
|
81
|
+
{做了什么,如「第二卷卷纲定好了」「补好了第22-26章细纲」「按你说的改了第23章细纲」}:
|
|
82
|
+
- {故事层要点,一行一件:这卷/这几章主要发生什么,主角得到或失去什么,停在哪个悬念上}
|
|
83
|
+
- {改细纲时:原来是什么,现在改成什么,会不会牵动别的章}
|
|
84
|
+
{某段剧情主角的功劳被别人拿走、或提前用掉了后面的底牌时一句话说清,如「第三段剧情里功劳落到了师父身上,我先把纲改成沈栀自己拿主意」;没有就删掉此行}
|
|
85
|
+
{前面吊起的期待还没兑现时说清哪章兑现;没有就删掉此行}
|
|
86
|
+
{要你定的事:一句问题+白话选项+推荐,如「沈栀的金手指每天能用几次?1. 一次(推荐,后面好加码)2. 不限次」;没有就删掉此行}
|
|
87
|
+
下一步:{如「要接着写第22章正文吗?」「要继续出第27-31章细纲吗?」}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
#### Agent 调用:story-architect
|
|
91
|
+
|
|
92
|
+
已部署时,卷纲在 story-architect 的新上下文里出,调用见 [agent-calls.md](agent-calls.md);主会话拿到后跑 `outline_view.py --check --strict {卷纲路径}`(往旧卷纲追加单元时去掉 `--strict`),并按排纲自查 1–4 的结论汇报。
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## 节奏锚与对标迁移
|
|
97
|
+
|
|
98
|
+
### 关键点法(统一各尺度的节奏锚)
|
|
99
|
+
|
|
100
|
+
任意尺度(全书 / 卷 / 剧情单元 / 支线 / 章)都有五个关键点:开场、1/4、中点、3/4、结尾。其中 1/4、中点、3/4 是放关键情节的位置。关键情节三类:
|
|
101
|
+
|
|
102
|
+
| 类型 | 含义 |
|
|
103
|
+
|------|------|
|
|
104
|
+
| 情节逆转 | 发展在读者意料内,但主角的解决方式让人直呼精彩(装逼打脸、英雄救美) |
|
|
105
|
+
| 情节转折 | 意料之外(身份反转、敌变友、局势骤变) |
|
|
106
|
+
| 激励情节 | 全书或一卷第一个、与核心主线直接相关的命运改变时刻 |
|
|
107
|
+
|
|
108
|
+
不是每个尺度都把三处填满,但一卷至少在 1/4、中点、3/4 各安排一个关键情节,避免全程一个力度。
|
|
109
|
+
|
|
110
|
+
### 对标节奏迁移(卷纲定稿前做一次,无对标书可跳过)
|
|
111
|
+
|
|
112
|
+
1. **选段(以剧情单元为单位)**:在主对标里圈出本卷要对标的剧情单元序列——选段单位就是拆文产出的剧情单元(`剧情/{剧情标题}.md`)。检索顺序:先读主对标 `剧情/README.md`「剧情单元清单」(有清单则一书一文件,按「类型 / 桥段标签」直接命中同类);无清单则在 `剧情/*.md` 里按「类型」行(第一键,必填枚举)+「桥段标签 / 套路框架位置」行(第二键)圈同类;仍无命中回退按章节范围圈段,全程不阻塞。多对标时按 `cross-book-recall.md` 大纲预算从副对标补同类条目。读取必备权威文件 `剧情/节奏.md`(爆发密度 / 爽点循环);缺失时先修复或重跑拆文 Stage 3,不从摘要猜测节奏。本卷对标几个剧情单元 ≈ 本卷字数 ÷ 1.5-3 万。
|
|
113
|
+
2. **标关键点**:看对标这几个剧情单元在 1/4、中点、3/4 各放了什么关键情节,判为逆转 / 转折 / 激励。摘要里「类型=转折点」的情节点 + 基调突变(如温馨→压抑)就是关键点的确定性锚,不靠凭感觉;剧情单元的「结构分布」(铺垫/发展/高潮/收尾期)与「情节点索引」同为确定性锚。
|
|
114
|
+
3. **换素材**:保留对标的情绪链和功能位,把对象、场景、事件全换成自己的,禁止照搬具体桥段。功能位清单取必备权威文件 `剧情/情绪模块.md` 的可替换项;缺失时先修复,不生成替代清单。
|
|
115
|
+
4. **修正硬伤**:换素材前比对 `拆文报告.md`「不建议模仿」。对标若在某个关键点是弱处理(慢热留白、主角长期旁观等已知硬伤),迁移时要在该位置补一个缺的关键情节、或把后面的关键情节前置,而不是把弱处理一起抄过来——关键点该有的力度不能因为对标偷懒就跟着偷懒。
|
|
116
|
+
5. **排章 + 落卷纲**:把换好(并修正)的关键情节落到本卷相同相对位置——这里的 1/4·中点·3/4 是**卷尺度**(1/4≈总章×0.25、中点×0.5、3/4×0.75);卷里有几个剧情单元时,每个剧情单元内部另有自己的铺垫→逆转→收尾,别和卷尺度的关键点混为一谈。关键点之间用普通推进章过渡,每个关键点之后按需插一章呼吸 / 关系章;写进卷纲「对标结构坐标」与情绪弧线的章节定位列,细纲承接时每章标章节定位。同时把选中的剧情单元以 {书名}《剧情标题》写入剧情单元卡「对标剧情参照」。
|
|
117
|
+
|
|
118
|
+
近精细远模糊:只精排当前卷,后续卷做粗坐标即可,不必一上来规划全书。
|
|
119
|
+
|
|
120
|
+
一个最小例子(demo《让你管账号,你高燃混剪炸全网》):对标结构的 1/4 是“小人物拿出粗糙作品,无人看好”,中点是“作品爆火,体制内外同时关注”,3/4 是“专业力量进场替代,反而证明主角不可复制”。换到江晨这条军宣线后,1/4 落成他用手机拍《诸君,且听龙吟》、画质粗糙却先把军魂拍出来;中点落成视频引爆全网和参军热潮;3/4 落成专业团队高清重拍,却被周薄森当场指出“缺了灵魂”,张耀祖最终拍板继续用手机原版。保留的是“轻视→市场验证→权威替代失败→价值坐实”的情绪链,素材、场景和角色关系都来自本书。
|
|
121
|
+
|
|
122
|
+
## 章节定位与张弛(破「每章像短篇」)
|
|
123
|
+
|
|
124
|
+
一卷里章的压力本就该有高有低。这里的压力级指**爆发 / 冲突烈度**(复用悬念刻度 1 微 / 2 小 / 3 中 / 4 大 / 5 极),不是情感烈度——关系回收 / 泪目这类章可以压力低(爆发小)但情感强度顶满,情感烈度由卷纲情绪弧线的「情绪基调 + 强度」承载。章节定位由「这一章在它所属剧情单元里的位置」自然落出,不是另贴一套独立标签:剧情单元首章多为铺垫 / 共情,中段承载逆转,收尾爆发收束;黄金开篇、高潮结算 + 温情这类章可复合标注(如「高压 + 关系」)或留空。
|
|
125
|
+
|
|
126
|
+
| 章节定位 | 功能 | 压力级 | 卷内占比(均衡/长书基线,非硬配额) | 钩子要求 |
|
|
127
|
+
|------|------|--------|--------------------------|----------|
|
|
128
|
+
| 高压章 | 打脸 / 掉马 / 反转 / 高潮;关键点的关键情节落点 | 4-5 | 约 15-20% | 章尾强钩子;承载逆转 / 转折 |
|
|
129
|
+
| 普通推进章 | 主线推进、冲突升级、剧情单元中段 | 2-3 | 约 40-50% | 章尾中钩子;至少一个小爽点或期待递进 |
|
|
130
|
+
| 修炼试错章 | 实力 / 资源积累、能力铺垫、失败试错 | 2 | 约 5-10% | 进度钩子(差一点 / 即将突破),可无反转 |
|
|
131
|
+
| 关系回收章 | 感情线兑现、关系转折、身边人日常 | 2-3 | 约 5-10% | 情感钩子;拉扯仍带主线相关 |
|
|
132
|
+
| 低压生活章 | 高潮后喘息、关系升温、张弛调节 | 1-2 | 不超过约 10% | 允许弱钩子或仅情绪钩子;不强求反转 / 爽点 |
|
|
133
|
+
| 信息整理章 | 转场、设定交代、时间缝合 | 1 | 不超过约 5%,能并章就并章、少独立成章 | 允许无显性爽点;信息用「表演」承载;结尾给下一段目标 |
|
|
134
|
+
|
|
135
|
+
两条底线:
|
|
136
|
+
|
|
137
|
+
- **期待不断、爆发分布**。低压章可以没有爽点和反转,但每章都要给读者一个往下看的理由(微好奇、阶段目标、暧昧期待)。掉的是爆发烈度,不是往前的拉力——番茄追读尤其吃这条。
|
|
138
|
+
- **禁情绪母题扎堆**。比「每章像短篇」更隐蔽的疲劳源,是连续多章同一情绪母题高位运行(如连五章家国 / 泪目)——章节定位分得再开也救不了。排卷纲情绪弧线时逐行看相邻 3-4 章的情绪基调,同母题别连超 2-3 章;靠换情绪、换钩子方式、多线穿插来差异化,不是靠砍钩子。
|
|
139
|
+
|
|
140
|
+
题材分级(上面占比是均衡 / 长书基线,按题材分档):番茄短平快 / 男频事业线,高压可到 30% 以上、呼吸章压到 5% 上下都正常,别拿基线去「补呼吸、砍高压」反而掉追读;女频 / 世情 / 追妻,人设关系容量大、关系 / 低压章可更多,但仍走情绪折线、不必每章三折。低压 / 关系章定位是看点(主角身边人的日常本身是订阅点),不是填充。
|
|
141
|
+
|
|
142
|
+
与字数目标的衔接:章节定位决定情节点功能与展开取舍,但不把每个情节点换算成固定字数,也不靠增点凑目标。写后由程序按双层长度带验收:明显欠长先判断已批准义务是否未实现,容量不足或不明确就协商自然长度、补纲或目标,绝不自动补写;明显超长可做一次不新增语义、逐项保留批准情节点与章尾钩子的净删型压缩,复检仍带外就停止,不进入循环删改。
|