@oh-story/dsh 0.1.15 → 0.1.17
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 +17 -15
- package/lib/client.js +26 -15
- package/lib/client.js.map +2 -2
- package/lib/drama/manifest.json +284 -364
- package/lib/drama/package.json +4 -0
- package/lib/drama/skills/short-drama/SKILL.md +13 -14
- package/lib/drama/skills/short-drama/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama/references/audience-reveal.md +4 -4
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -2
- package/lib/drama/skills/short-drama/references/creator-documents.md +12 -10
- package/lib/drama/skills/short-drama/references/creator-workflow.md +6 -5
- package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +8 -8
- package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +5 -5
- package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +5 -6
- package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +6 -7
- package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +2 -3
- package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +6 -7
- package/lib/drama/skills/short-drama/references/knowhow-index.md +6 -7
- package/lib/drama/skills/short-drama/references/look-development.md +5 -7
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +6 -3
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +14 -16
- package/lib/drama/skills/short-drama/references/reference-roles.md +5 -3
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +2 -1
- package/lib/drama/skills/short-drama-assets/SKILL.md +8 -8
- package/lib/drama/skills/short-drama-assets/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +26 -27
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +22 -22
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +4 -4
- package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +4 -4
- package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -5
- package/lib/drama/skills/short-drama-assets/references/location-and-view.md +6 -7
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -9
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +8 -11
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +22 -22
- package/lib/drama/skills/short-drama-develop/SKILL.md +6 -6
- package/lib/drama/skills/short-drama-develop/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +2 -2
- package/lib/drama/skills/short-drama-develop/assets/story-engine.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +13 -12
- package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +7 -7
- package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +7 -8
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +20 -24
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +7 -7
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +4 -5
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +2 -2
- 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//345/256/266/345/272/255/345/205/263/347/263/273.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +4 -5
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +1 -1
- package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +2 -2
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +4 -4
- package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +6 -7
- package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +19 -17
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +5 -5
- package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +6 -5
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -4
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +7 -9
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +8 -10
- package/lib/drama/skills/short-drama-edit/SKILL.md +11 -14
- package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +12 -19
- package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +2 -2
- package/lib/drama/skills/short-drama-edit/references/cut-craft.md +5 -4
- package/lib/drama/skills/short-drama-edit/references/generated-footage.md +1 -1
- package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +6 -4
- package/lib/drama/skills/short-drama-edit/references/stage-contract.md +5 -5
- package/lib/drama/skills/short-drama-edit/references/still-cuts.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +7 -2
- package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +4 -5
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +17 -17
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +10 -9
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +11 -12
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +6 -5
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +2 -2
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +6 -6
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +8 -8
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +5 -4
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +17 -24
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +3 -4
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +5 -10
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +4 -6
- package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +9 -13
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +3 -7
- package/lib/drama/skills/short-drama-produce/SKILL.md +43 -42
- package/lib/drama/skills/short-drama-produce/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +31 -18
- package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +1 -1
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +11 -6
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +2 -2
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +7 -5
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +14 -8
- package/lib/drama/skills/short-drama-review/SKILL.md +9 -9
- package/lib/drama/skills/short-drama-review/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -11
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +24 -23
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +17 -16
- package/lib/drama/skills/short-drama-review/references/review-method.md +8 -6
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +7 -6
- package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +17 -10
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +29 -25
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +11 -11
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -2
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +8 -10
- package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +8 -11
- package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +11 -12
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +4 -5
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +19 -24
- package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +26 -29
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +6 -5
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +2 -2
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +4 -4
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -8
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +3 -3
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +10 -7
- package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +63 -61
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +20 -18
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +12 -12
- package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +4 -3
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +38 -40
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +36 -36
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +17 -21
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +10 -11
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +1 -1
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +2 -2
- package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +6 -12
- package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +2 -1
- package/lib/drama/skills/short-drama-write/SKILL.md +15 -15
- package/lib/drama/skills/short-drama-write/agents/openai.yaml +1 -1
- package/lib/drama/skills/short-drama-write/assets/screenplay.md +3 -4
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +20 -22
- package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +20 -22
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +10 -10
- package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +11 -9
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +11 -10
- package/lib/drama/skills/short-drama-write/references/script-craft.md +41 -47
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +7 -5
- package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +19 -25
- package/lib/index.js +120 -31
- package/lib/index.js.map +3 -3
- package/lib/novel-to-game/README.md +10 -11
- package/lib/novel-to-game/README_ZH.md +14 -15
- package/lib/novel-to-game/VERSION +1 -1
- package/lib/novel-to-game/manifest.json +34 -29
- package/lib/novel-to-game/package.json +4 -0
- package/lib/novel-to-game/skills/game-art-direction/SKILL.md +2 -2
- package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
- package/lib/novel-to-game/skills/game-build/SKILL.md +9 -1
- package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
- package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
- package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
- package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
- package/lib/novel-to-game/skills/game-world-design/SKILL.md +1 -1
- package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +1 -1
- package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
- 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 +13 -2
- package/lib/oh-story/manifest.json +628 -803
- package/lib/oh-story/package.json +4 -0
- package/lib/oh-story/roles/chapter-extractor.md +13 -12
- package/lib/oh-story/roles/character-designer.md +20 -101
- package/lib/oh-story/roles/consistency-checker.md +7 -9
- package/lib/oh-story/roles/narrative-writer.md +22 -22
- package/lib/oh-story/roles/story-architect.md +22 -32
- package/lib/oh-story/roles/story-explorer.md +11 -14
- package/lib/oh-story/roles/story-researcher.md +13 -14
- package/lib/oh-story/skills/browser-cdp/SKILL.md +38 -26
- package/lib/oh-story/skills/story/SKILL.md +98 -63
- package/lib/oh-story/skills/story/VERSION +1 -1
- package/lib/oh-story/skills/story-cover/SKILL.md +46 -234
- package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
- package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -93
- package/lib/oh-story/skills/story-deslop/SKILL.md +75 -212
- package/lib/oh-story/skills/story-deslop/references/agent-calls.md +17 -3
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +23 -160
- package/lib/oh-story/skills/story-deslop/references/expression.md +83 -0
- package/lib/oh-story/skills/story-deslop/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-deslop/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-deslop/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-import/SKILL.md +18 -22
- package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +9 -9
- package/lib/oh-story/skills/story-import/references/deep-analysis.md +7 -8
- package/lib/oh-story/skills/story-import/references/import-report.md +9 -8
- package/lib/oh-story/skills/story-import/references/import-special-cases.md +7 -17
- package/lib/oh-story/skills/story-import/references/import-tracking.md +6 -6
- package/lib/oh-story/skills/story-import/references/length-routing.md +10 -60
- package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +10 -10
- package/lib/oh-story/skills/story-import/references/outline-reverse.md +3 -3
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +120 -132
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -92
- package/lib/oh-story/skills/story-import/references/tracking-initialization.md +2 -2
- package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
- package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
- package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +41 -78
- package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +28 -30
- package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +9 -17
- package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +9 -3
- package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +23 -10
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +13 -20
- package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +28 -29
- package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
- package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
- package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -164
- package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -13
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +114 -35
- package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +16 -6
- package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
- package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
- package/lib/oh-story/skills/story-long-scan/SKILL.md +54 -82
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -181
- package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +24 -7
- package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
- package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
- package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
- package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +26 -16
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -34
- package/lib/oh-story/skills/story-long-write/SKILL.md +12 -13
- package/lib/oh-story/skills/story-long-write/references/agent-calls.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +53 -26
- package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +9 -7
- package/lib/oh-story/skills/story-long-write/references/author-memory.md +6 -6
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +120 -270
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +9 -9
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +33 -73
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +42 -89
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +7 -7
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +99 -172
- package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +40 -120
- package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
- package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +82 -311
- package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
- package/lib/oh-story/skills/story-long-write/references/long-reversal.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/long-suspense.md +11 -13
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
- package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
- package/lib/oh-story/skills/story-long-write/references/project-files.md +12 -16
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -84
- package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
- package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +15 -22
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +4 -172
- package/lib/oh-story/skills/story-long-write/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +10 -8
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +3 -3
- package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +10 -10
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +5 -10
- package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
- package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +77 -132
- package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
- package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
- package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
- package/lib/oh-story/skills/story-review/SKILL.md +41 -54
- package/lib/oh-story/skills/story-review/references/agent-prompts.md +20 -18
- package/lib/oh-story/skills/story-review/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-review/references/batch-review.md +4 -4
- package/lib/oh-story/skills/story-review/references/expression.md +83 -0
- package/lib/oh-story/skills/story-review/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +11 -11
- package/lib/oh-story/skills/story-review/references/review-tracking.md +6 -5
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +10 -10
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +10 -11
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +12 -12
- package/lib/oh-story/skills/story-review/references/solo.md +8 -7
- package/lib/oh-story/skills/story-review/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-review/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-review/references/tracking-initialization.md +2 -2
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
- package/lib/oh-story/skills/story-setup/SKILL.md +29 -36
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +14 -16
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +10 -10
- package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +120 -270
- package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +23 -160
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +9 -9
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
- package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +83 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +11 -11
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +2 -2
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +2 -2
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +7 -7
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +99 -172
- package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +40 -120
- package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +34 -74
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +82 -311
- package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
- package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +3 -3
- package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +4 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +11 -13
- package/lib/oh-story/skills/story-setup/references/agent-references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
- package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
- package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +64 -192
- package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +15 -69
- package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +46 -58
- package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +6 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +23 -48
- package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +15 -22
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +4 -172
- package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +77 -132
- package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +44 -103
- package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +7 -7
- package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +1 -3
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +22 -21
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +7 -6
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +6 -6
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +2 -2
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +6 -6
- package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
- package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +38 -50
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
- package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +24 -175
- package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +53 -38
- package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +54 -83
- package/lib/oh-story/skills/story-short-scan/SKILL.md +56 -73
- package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
- package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
- package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
- package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +36 -75
- package/lib/oh-story/skills/story-short-scan/references/topic-match.md +35 -15
- package/lib/oh-story/skills/story-short-write/SKILL.md +23 -26
- package/lib/oh-story/skills/story-short-write/references/agent-calls.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +9 -7
- package/lib/oh-story/skills/story-short-write/references/author-memory.md +6 -6
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +61 -151
- package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
- package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +34 -0
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +26 -29
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +15 -69
- package/lib/oh-story/skills/story-short-write/references/expression.md +83 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +12 -12
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +21 -21
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +19 -19
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +16 -16
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +17 -16
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +17 -17
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +11 -11
- package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +22 -22
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +46 -58
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +64 -192
- package/lib/oh-story/skills/story-short-write/references/narrative-focus.md +63 -0
- package/lib/oh-story/skills/story-short-write/references/reference-index.md +14 -16
- package/lib/oh-story/skills/story-short-write/references/scene-craft.md +8 -7
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +22 -43
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +12 -125
- package/lib/oh-story/skills/story-short-write/references/short-format.md +19 -43
- package/lib/oh-story/skills/story-short-write/references/short-reversal.md +23 -48
- package/lib/oh-story/skills/story-short-write/references/story-logic.md +65 -0
- package/lib/oh-story/skills/story-short-write/references/style-resolution.md +5 -5
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +23 -30
- package/lib/oh-story/skills/story-short-write/references/workflow-design.md +69 -26
- package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +19 -20
- package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +52 -70
- package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
- package/lib/types/client/file-activity.d.ts +10 -0
- package/lib/types/client/file-activity.d.ts.map +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/native-hooks.d.ts.map +1 -1
- package/lib/types/role-tool.d.ts +42 -2
- package/lib/types/role-tool.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/lib/types/workspace-route.d.ts.map +1 -1
- package/lib/video-recap/CHANGELOG.md +8 -0
- package/lib/video-recap/README.en.md +8 -10
- package/lib/video-recap/README.md +8 -8
- package/lib/video-recap/manifest.json +48 -48
- package/lib/video-recap/package.json +4 -0
- package/lib/video-recap/skills/video-assemble/SKILL.md +5 -8
- package/lib/video-recap/skills/video-assemble/references/audio-modes.md +3 -3
- package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +1 -2
- package/lib/video-recap/skills/video-assemble/references/packaging.md +1 -2
- package/lib/video-recap/skills/video-assemble/references/source-score.md +5 -6
- package/lib/video-recap/skills/video-cut/SKILL.md +3 -7
- package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
- package/lib/video-recap/skills/video-recap/SKILL.md +7 -11
- package/lib/video-recap/skills/video-recap/references/audio-routing.md +1 -2
- package/lib/video-recap/skills/video-recap/references/config-playbook.md +5 -7
- package/lib/video-recap/skills/video-recap/references/data-schema.md +8 -8
- package/lib/video-recap/skills/video-recap/references/resource-library.md +2 -2
- package/lib/video-recap/skills/video-reference/SKILL.md +4 -8
- package/lib/video-recap/skills/video-reference/references/reference-schema.md +1 -1
- package/lib/video-recap/skills/video-script/SKILL.md +4 -13
- package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +2 -2
- package/lib/video-recap/skills/video-understanding/SKILL.md +10 -6
- package/lib/video-recap/skills/video-understanding/references/data-schema.md +2 -2
- package/lib/video-recap/skills/video-voiceover/SKILL.md +3 -11
- package/lib/video-recap/skills/video-voiceover/references/index-tts.md +1 -2
- package/package.json +25 -24
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +0 -187
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +0 -42
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +0 -128
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +0 -34
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +0 -49
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +0 -36
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +0 -2
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +0 -2
- package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +0 -101
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +0 -217
- package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +0 -31
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +0 -67
- package/lib/drama/skills/short-drama-write/assets/beats.jsonl +0 -2
- package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +0 -120
- package/lib/drama/skills/short-drama-write/assets/episode-card.json +0 -55
- package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +0 -89
- package/lib/oh-story/skills/story/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story/references/author-memory.md +0 -117
- package/lib/oh-story/skills/story/scripts/author_memory_commit.py +0 -1638
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story-deslop/references/author-memory.md +0 -117
- package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +0 -1638
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
- package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -43
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
- package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
- package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -114
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -105
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
- package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -502
- package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -171
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -273
- package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -711
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -622
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -327
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +0 -75
- package/lib/oh-story/skills/story-review/references/author-memory.md +0 -117
- package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -288
- package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
- package/lib/oh-story/skills/story-review/references/review-quality.md +0 -246
- package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +0 -1638
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +0 -556
- package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
- package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -146
- package/lib/oh-story/skills/story-setup/references/agent-references/short-suspense.md +0 -352
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -453
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -438
- package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -395
- package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -146
- package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -245
- package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -477
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
- package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -90
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +0 -490
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -146
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -127
- package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -224
- package/lib/oh-story/skills/story-short-write/references/short-suspense.md +0 -352
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
|
@@ -1,113 +1,105 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 结构迁移(短篇)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
按本文件把 `拆文库/{导入书名}/` 迁成 `{导入书名}/`。书目录名与拆文目录名相同,写正文守卫据此放行正文迁移。
|
|
4
|
+
|
|
5
|
+
外部对标、目标平台、完本与否和作者交代取自导入记录。`设定.md` 和 `小节大纲.md` 按短篇写作的构思模板写,续写时直接过它的构思检查;原文证据不够、要等构思时定的项写 `[待补充]`,汇报时列给作者。
|
|
4
6
|
|
|
5
7
|
## 迁移步骤
|
|
6
8
|
|
|
7
|
-
目标工程只有 `{
|
|
9
|
+
目标工程只有 `{导入书名}/设定.md`、`小节大纲.md`、`正文.md` 三个单文件,外加可选的 `对标/{对标书名}/`(仅外部对标引用视图)。正文是单文件、不切章,**不产** `追踪/`、`大纲/`、`正文/` 等长篇目录,迁移时严禁误建。
|
|
8
10
|
|
|
9
|
-
1.
|
|
10
|
-
2. **设定生成**:从 `拆文报告.md`、`写作手法.md` 反推 `{
|
|
11
|
-
3.
|
|
12
|
-
4. **外部对标引用视图(可选)**:仅当导入记录已显式绑定外部 `{对标书名}`
|
|
11
|
+
1. **正文迁移**:把 `拆文库/{导入书名}/原文/` 的全文迁成单文件 `{导入书名}/正文.md`,只按下方「正文.md 外壳整理」改格式。原文是作者的成稿,分段、引号、措辞一律不改。
|
|
12
|
+
2. **设定生成**:从 `拆文报告.md`、`写作手法.md`、`情节节点.md` 反推 `{导入书名}/设定.md`,按下方「设定.md 模板」写。
|
|
13
|
+
3. **小节大纲生成**:以 `拆文报告.md`「结构划分」确定各段功能,再从 `情节节点.md` 提取事件,反推 `{导入书名}/小节大纲.md`,填法见下方「小节大纲.md 反推规则」。
|
|
14
|
+
4. **外部对标引用视图(可选)**:仅当导入记录已显式绑定外部 `{对标书名}` 时,按下方「外部对标引用视图」同步;没有绑定则跳过。不得把 `拆文库/{导入书名}/` 整体复制进 `对标/`。
|
|
13
15
|
|
|
14
16
|
迁完按文末质量检查清单自检,在导入记录勾「结构迁移」,直接进入 Phase 5 汇报。
|
|
15
17
|
|
|
16
|
-
> 长篇迁移规则见 `structure-mapping-long.md`。
|
|
17
|
-
|
|
18
|
-
> **名称边界**:`{导入书名}` 是用户自己的待续写短篇;`{对标书名}` 是另行选择的外部参考作品。不得把本篇拆文结果复制到本篇 `对标/`,也不得把本篇分析写成“对标摘要”。
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 与长篇的关键差异
|
|
23
|
-
|
|
24
|
-
| 维度 | 短篇 | 长篇 |
|
|
25
|
-
|------|------|------|
|
|
26
|
-
| 正文 | 单文件 `正文.md`,**不切章** | `正文/第XXX章_章名.md` 多文件 |
|
|
27
|
-
| 追踪目录 | **不产** `追踪/` | 产 `追踪/`(`_tracking-state.json`、续写状态卡、逐章记录、角色快照、伏笔视图、双视角时间线) |
|
|
28
|
-
| 角色状态 | **不产**角色追踪 | 核心角色各产 `追踪/角色状态/{角色名}.md`,由 `character-state-reverse.md` 反推 |
|
|
29
|
-
| 大纲体系 | **不产** 卷纲、细纲 | 产 `大纲/卷纲_第X卷.md` + `大纲/细纲_第N章.md` |
|
|
30
|
-
| 大纲目录 | **不产** `大纲/` 目录 | 产 |
|
|
31
|
-
| 续写衔接 | story-short-write Phase 3(逐场景写作) | story-long-write 日更循环 |
|
|
32
|
-
|
|
33
18
|
---
|
|
34
19
|
|
|
35
20
|
## 映射总览
|
|
36
21
|
|
|
37
22
|
| 拆书产物 | 短篇工程文件 | 转换方式 |
|
|
38
23
|
|---------|------------|---------|
|
|
39
|
-
| 原文全文(`拆文库/{导入书名}/原文/`) | `{
|
|
40
|
-
| `拆文报告.md
|
|
41
|
-
| `情节节点.md`
|
|
42
|
-
|
|
|
43
|
-
| `拆文库/{对标书名}/` | `{
|
|
24
|
+
| 原文全文(`拆文库/{导入书名}/原文/`) | `{导入书名}/正文.md` | 单文件迁移,只整理格式 |
|
|
25
|
+
| `拆文报告.md`「故事核」「题材」「人物分析」「情感曲线」「反转分析」 | `{导入书名}/设定.md` | 反推本书核心框架;不继承报告中可能存在的自对标登记 |
|
|
26
|
+
| `拆文报告.md`「结构划分」 + `情节节点.md` | `{导入书名}/小节大纲.md` | 按结构功能组织事件,无法确认的格子写 `[待补充]` |
|
|
27
|
+
| `写作手法.md` | `{导入书名}/设定.md`「文风约定」「本书续写基线」 | 记下原文已经在用的写法 |
|
|
28
|
+
| `拆文库/{对标书名}/` | `{导入书名}/对标/{对标书名}/` | 可选:仅同步用户显式绑定的外部参考作品 |
|
|
44
29
|
|
|
45
30
|
---
|
|
46
31
|
|
|
47
|
-
## 设定.md
|
|
48
|
-
|
|
49
|
-
目标文件使用本文件定义的当前核心框架模板,分两个区块:
|
|
32
|
+
## 设定.md 模板
|
|
50
33
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
从 `拆文报告.md` 的故事核、结构划分、人物分析等字段提取,填入以下模板:
|
|
34
|
+
小节和字段名与短篇写作构思时的 `设定.md` 一致,续写构思只补缺项、不重写。目标平台优先采用导入记录;反转类型沿用拆文结果,无反转时不补造反转。情绪名称取自拆文报告「情感曲线」,强度按 1-10 量表重新判断,不照抄曲线的 -9~+9 分值。
|
|
54
35
|
|
|
55
36
|
```markdown
|
|
56
37
|
## 短篇核心框架
|
|
57
38
|
|
|
58
39
|
### 基本信息
|
|
59
|
-
-
|
|
60
|
-
- 目标字数:{
|
|
61
|
-
- 目标平台:{
|
|
62
|
-
-
|
|
40
|
+
- 标题(暂定):{导入书名}
|
|
41
|
+
- 目标字数:{完本:各节字数之和;半成品:作者定的全篇字数,没定写 [待补充]} 字
|
|
42
|
+
- 目标平台:{导入记录里的平台,知乎盐言 / 番茄 / 七猫 / 黑岩 / 红果 / 小程序 / 未定 选一}
|
|
43
|
+
- 平台基调:{原文实际用的小节标记、引号和分段习惯,原样记下,续写沿用;视角、节尾钩子、结局质感从原文归纳}
|
|
44
|
+
- 目标情绪:{从拆文报告「情感曲线」「爆点分析」提取读者读完的感受}
|
|
63
45
|
|
|
64
46
|
### 一句话梗概
|
|
65
|
-
{主角 + 困境 + 反转 +
|
|
47
|
+
{主角 + 困境 + 反转 + 情绪落点(从拆文报告「故事核」提取)}
|
|
66
48
|
|
|
67
|
-
###
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
49
|
+
### 核心支点
|
|
50
|
+
- 类型:{沿用拆文结果:身份/视角/动机/时间线/信息/认知反转,或无反转}
|
|
51
|
+
- 核心兑现:{一句话写主揭示;无反转时写报应或关系兑现}
|
|
52
|
+
- 铺垫/期待:{从拆文报告「反转分析」和情节节点回查,有几个写几个}
|
|
71
53
|
|
|
72
54
|
### 情绪设计
|
|
73
|
-
- 开头情绪:{
|
|
55
|
+
- 开头情绪:{情感曲线第一个节点}(强度 {1-10})
|
|
74
56
|
- 中段情绪:{中段情感节点}(强度 {1-10})
|
|
75
57
|
- 反转情绪:{反转节情感峰值}(强度 {1-10})
|
|
76
|
-
- 结尾情绪:{
|
|
58
|
+
- 结尾情绪:{结尾节情感;半成品还没写到写 [待补充]}(强度 {1-10})
|
|
77
59
|
|
|
78
60
|
### 人设速写
|
|
79
|
-
-
|
|
80
|
-
- 关键角色:{一句话人设}
|
|
61
|
+
- {角色}:{一句话人设};声线:{从对白归纳};口头禅:{原文原句,没有写 [待补充]};禁忌:{原文能看出的,没有写 [待补充]}(每人一行)
|
|
81
62
|
- 关系:{他们之间的关系}
|
|
82
|
-
```
|
|
83
63
|
|
|
84
|
-
|
|
64
|
+
### 题材招式
|
|
65
|
+
- {原文已经在用的招式:落在哪几节;构思时按题材包核对,补到 2-3 条}
|
|
85
66
|
|
|
86
|
-
###
|
|
67
|
+
### 文风约定
|
|
68
|
+
- {原文明显的句子、标点、用词习惯,从写作手法.md 提取;没有写「无」}
|
|
87
69
|
|
|
88
|
-
|
|
70
|
+
### 作者已定
|
|
71
|
+
- {导入记录「作者交代」里的偏好、红线、残稿决定,一条一行;没有写「无」}
|
|
89
72
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
### 故事结构
|
|
94
|
-
{从拆文报告「功能分段」字段提取,概述各段功能}
|
|
95
|
-
|
|
96
|
-
### 情绪节奏
|
|
97
|
-
{从情感曲线/爆点分析提取,描述情绪走势与峰值位置}
|
|
98
|
-
|
|
99
|
-
### 核心反转机制
|
|
100
|
-
{从反转机制分析提取,含铺垫路径}
|
|
73
|
+
### 反转与揭露
|
|
74
|
+
- 揭露方式:{证物/证人/偷听撞见/剥洋葱,原文怎么揭的;还没写到写 [待补充]}
|
|
75
|
+
- 真线索:第 {X} 节 {线索};假线索:第 {X} 节 {误导}(原文有几条写几条)
|
|
101
76
|
|
|
102
|
-
|
|
103
|
-
{
|
|
77
|
+
## 本书续写基线
|
|
78
|
+
- 已写到:第 {N} 节,{完本 | 半成品}
|
|
79
|
+
- 故事结构:{从拆文报告「结构划分」概述各段功能}
|
|
80
|
+
- 情绪节奏:{情绪走势与峰值在第几节}
|
|
81
|
+
|
|
82
|
+
## Phase 2 设计校验
|
|
83
|
+
- 题材参考:[待补充]
|
|
84
|
+
- 核心招式:[待补充]
|
|
85
|
+
- 反派设计:不适用({原因})
|
|
86
|
+
- 反转类型:{身份/视角/动机/时间线/信息/认知/无反转}
|
|
87
|
+
- 反转位置:第 {X} 节 ÷ 共 {Y} 节 = {Z}%
|
|
88
|
+
- 付费点:第 {N} 节末
|
|
104
89
|
```
|
|
105
90
|
|
|
91
|
+
- 「题材参考」「核心招式」导入一律写 `[待补充]`:题材包由续写构思时选,原文已用的招式先记在「题材招式」。
|
|
92
|
+
- 有反派时按拆文报告「人物分析」把「反派设计:不适用」换成身份、动机、作恶方式、致命弱点、报应五行(一字段一行);原文证据不够的字段写 `[待补充]`。
|
|
93
|
+
- 无反转篇写 `反转类型:无反转` 和 `反转位置:不适用({报应兑现/甜度递进等原因})`。有反转但半成品还没写到,写 `反转位置:[待补充]`。
|
|
94
|
+
- 付费点能从原文认出来(知乎盐言多在全文三到四成处的节末)时写节号,并在小节大纲同一节的「结尾承接/钩子」标「付费点」;认不出写 `付费点:[待补充]`。
|
|
95
|
+
- 绑定了外部对标时,在「作者已定」之后加一节 `### 对标摘要(有对标时)`,表头 `| 书名 | 主/副 | 相关性(同题材/弱相关) | 引用强度(辅/参考) | 可借鉴技法 |`。
|
|
96
|
+
- 证据不够的字段写 `[待补充]`,不留空、不留 `{}`。
|
|
97
|
+
|
|
106
98
|
---
|
|
107
99
|
|
|
108
100
|
## 小节大纲.md 反推规则
|
|
109
101
|
|
|
110
|
-
|
|
102
|
+
以拆文报告「结构划分」为依据,结合情节节点和原文分节映射到各小节;结构段可包含多个小节,不与自然段混同。行数等于原文小节数,一节一行;半成品只写已写的节,剩下的节由续写构思排。
|
|
111
103
|
|
|
112
104
|
### 段级映射
|
|
113
105
|
|
|
@@ -121,7 +113,7 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
|
|
|
121
113
|
|
|
122
114
|
### 小节大纲表格
|
|
123
115
|
|
|
124
|
-
|
|
116
|
+
用短篇写作的固定 12 列表格,列名和顺序不改:
|
|
125
117
|
|
|
126
118
|
```markdown
|
|
127
119
|
| 结构段/五段功能 | 主事件 | 情节推进 | 情绪 | 人物/关系变化 | 因果/逻辑链 | 读者新获知什么 | 结尾承接/钩子 | 伏笔/物件 | 场景形态 | 对白作用 | 目标字数 |
|
|
@@ -131,39 +123,33 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
|
|
|
131
123
|
|
|
132
124
|
- `结构段/五段功能` 填 开头/铺垫/升级/反转/结尾。
|
|
133
125
|
- `情节推进` 每个推进单元带 `{对话}` `{冲突}` `{伏笔}` `{回忆}` `{发现}` `{递进}` 之一,有先后用 `->` 连接,按原文实际发生的写,不为凑数拆分。
|
|
134
|
-
- 从原文判断不出的格子写 `[待补充]
|
|
135
|
-
- `目标字数`
|
|
136
|
-
- 付费点在哪一节末能从原文认出来时,在该行 `结尾承接/钩子` 标「付费点」;认不出写 `[待补充]`。
|
|
137
|
-
|
|
138
|
-
### 小节数量推算
|
|
139
|
-
|
|
140
|
-
以原文实际的分节标记和转场为准;原文没有显式分节时,按情节阶段和转场切分,`总字数 ÷ 1000` 只作粗略参考,不作为切分依据。小节数与正文实际段落结构一致是质量清单必检项。
|
|
126
|
+
- 从原文判断不出的格子写 `[待补充]`;不写 `{}` 模板占位。
|
|
127
|
+
- `目标字数` 写原文该节的字数(阿拉伯数字);完本时各节之和就是 `设定.md` 的目标字数。
|
|
141
128
|
|
|
142
129
|
---
|
|
143
130
|
|
|
144
|
-
## 正文.md
|
|
131
|
+
## 正文.md 外壳整理
|
|
145
132
|
|
|
146
|
-
|
|
133
|
+
导入的是作者自己的成稿,只整理下表所列格式,供后续交付检查识别小节:
|
|
147
134
|
|
|
148
|
-
|
|
|
149
|
-
|
|
150
|
-
| 小节标记 | `###1
|
|
151
|
-
|
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
| Markdown | 正文段落中不使用 `**` `*` `#` `---` 等 Markdown 语法(仅小节标记除外) |
|
|
135
|
+
| 项 | 怎么处理 |
|
|
136
|
+
|----|---------|
|
|
137
|
+
| 小节标记 | 原文已用 `###1.`、`###第N章` 或 `1.` 之一,原样保留;用别的分节写法(如「一、」「(1)」「* * *」)时,全文换成目标平台的标记:知乎盐言 `1.`,番茄、七猫 `###第N章`,其余 `###1.`;原文没有分节时按转场补标记 |
|
|
138
|
+
| 段间空行 | 相邻段落之间只留一个换行,删掉空行;段落边界不动 |
|
|
139
|
+
| 缩进 | 去掉段首的全角/半角空格 |
|
|
140
|
+
| Markdown | 去掉正文里的 `**`、`*`、`---` 等标记(小节标记除外) |
|
|
141
|
+
| 分段、引号、标点、措辞 | 原样保留,不合并、不拆分、不统一引号 |
|
|
156
142
|
|
|
157
|
-
|
|
143
|
+
原文用的标记、引号和分段习惯记进 `设定.md`「平台基调」,续写照这个写。
|
|
158
144
|
|
|
159
145
|
---
|
|
160
146
|
|
|
161
147
|
## 外部对标引用视图(可选)
|
|
162
148
|
|
|
163
|
-
仅当用户显式绑定独立外部 `{对标书名}` 时,将 `拆文库/{对标书名}/` 复制为 `{
|
|
149
|
+
仅当用户显式绑定独立外部 `{对标书名}` 时,将 `拆文库/{对标书名}/` 复制为 `{导入书名}/对标/{对标书名}/`(跳过 `_archive_*/`,归档快照不进对标视图),供续写阶段加载:
|
|
164
150
|
|
|
165
151
|
```
|
|
166
|
-
{
|
|
152
|
+
{导入书名}/对标/{对标书名}/
|
|
167
153
|
├── 原文/
|
|
168
154
|
├── 拆文报告.md
|
|
169
155
|
├── 情节节点.md
|
|
@@ -177,11 +163,10 @@ Phase 3-S 短篇结构迁移只读本文件和 [format-and-structure.md](format-
|
|
|
177
163
|
|
|
178
164
|
## 质量检查清单
|
|
179
165
|
|
|
180
|
-
|
|
166
|
+
迁移完成后执行(不念给作者,没通过先修):
|
|
181
167
|
|
|
182
|
-
- [ ] `正文.md`
|
|
183
|
-
- [ ] `设定.md`
|
|
184
|
-
- [ ] `小节大纲.md`
|
|
185
|
-
- [ ] 所有 `[待补充]` 标记已添加(不确定字段不留空)
|
|
168
|
+
- [ ] `正文.md` 单文件存在;小节标记是 `###1.`、`###第N章`、`1.` 之一且全文统一;段间没有空行;分段和引号与原文一致
|
|
169
|
+
- [ ] `设定.md` 含上方模板全部小节;`[待补充]` 只出现在证据不够或要等构思时定的项,没有 `{}` 占位
|
|
170
|
+
- [ ] `小节大纲.md` 数据行数与 `正文.md` 的小节数一致;完本时各节目标字数之和等于设定的目标字数
|
|
186
171
|
- [ ] 未误建 `追踪/`、`大纲/`、`正文/` 等长篇专属目录
|
|
187
172
|
- [ ] `拆文库/{导入书名}/` 未被复制到本篇 `对标/`;若绑定外部对标,来源与 `对标/{对标书名}/` 目录名一致
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 初始化事务
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
仅尚无追踪状态时初始化。新书从第 0 章开始:把下面的 JSON 写到 `{书目录}/.story/work/init.json`,跑 `{PYTHON} {skill 根}/scripts/tracking_commit.py init --project {书目录} --input {书目录}/.story/work/init.json`,成功后删掉临时文件。`story-import` 导入已有小说时把最后完整章写入 `last_chapter=N`;第 1..N 章不伪造日更记录,常规续写从 N+1 章开始。
|
|
6
6
|
|
|
7
7
|
```json
|
|
8
8
|
{
|
|
@@ -28,4 +28,4 @@
|
|
|
28
28
|
}
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
导入示例须按已读正文改写当前状态,不能照用第 0 章内容;全部导入批次完成后初始化一次,不重置已有 state。传入当前核心角色快照、伏笔当前行、时间线事件与 JSON 中六项 context 输入,由脚本生成七栏 `追踪/上下文.md`。阶段/卷级回看按需查询正文,不作为每章强一致追踪产物。
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
- 本批每章:正文路径、按 visible_chars_v1 测好的历史长度(与写作时章节检查同一口径,
|
|
14
14
|
story-architect 不能自己跑测量),以及从拆文库摘要里抽出的、写细纲真正要用的字段
|
|
15
15
|
(关键事件、因果、局面结果、涉及、信息变化、状态变化、章尾钩子,情节点只取「标题|类型|基调」);
|
|
16
|
-
|
|
17
|
-
-
|
|
16
|
+
- 本批第一章另带上一章摘要里的章尾钩子(写章首钩子用);
|
|
17
|
+
- 卷纲里章节范围与本批重叠的剧情单元卡。单元卡用 outline_view.py 的解析识别(写正文时
|
|
18
|
+
`outline_view.py --unit` 也用它),任务包取得到的单元,写正文时也取得到。
|
|
18
19
|
本书设定与作者已定的事不进包,执行者按规则定点读项目文件与 `.story/work/导入记录.md`。
|
|
19
20
|
|
|
20
21
|
批大小按总量定:请求 10–20 章(全书最后一批可以更少);执行者要读的总量(任务包 + 没有摘要、
|
|
@@ -34,11 +35,11 @@ import sys
|
|
|
34
35
|
from pathlib import Path
|
|
35
36
|
|
|
36
37
|
sys.path.insert(0, str(Path(__file__).resolve().parent))
|
|
38
|
+
from outline_view import parse as parse_volume, unit_chapter_range # noqa: E402
|
|
37
39
|
from wordcount_core import METRIC, WordcountError, find_chapter_file, measure_wordcount # noqa: E402
|
|
38
40
|
|
|
39
41
|
RULES = Path(__file__).resolve().parent.parent / "references" / "outline-reverse-rules.md"
|
|
40
42
|
WORK_DIR = (".story", "work", "排纲")
|
|
41
|
-
BRIEF_SUMMARY_DIR = (".story", "work", "简化摘要")
|
|
42
43
|
MIN_BATCH, MAX_BATCH = 10, 20
|
|
43
44
|
LOAD_LIMIT = 25000 # 执行者一次要读的量(去空白字数);再加上 agent 模板或 SKILL 入口仍在 35K 内
|
|
44
45
|
# 摘要里写细纲要用的字段(与 story-long-analyze 摘要投影同名);旧版摘要的同义标签放在别名里。
|
|
@@ -56,10 +57,6 @@ FIELD_NAMES = "|".join(name for field in SUMMARY_FIELDS for name in (field[0], *
|
|
|
56
57
|
LABEL_RE = re.compile(r"^\s*(?:[-*+]\s*)?(?:\*\*([^*]+?)\*\*|(%s))\s*[::((]" % FIELD_NAMES)
|
|
57
58
|
POINT_HEADER_RE = re.compile(r"^P(\d+)\s+\*\*(.+?)\*\*\s*[::]\s*(.+)$")
|
|
58
59
|
POINT_TAG_RE = re.compile(r"^主题标签\s*[::]?\s*[^||]*?\s*[||]\s*基调\s*[::]?\s*(.*?)\s*$")
|
|
59
|
-
# 「章节范围」单元格的一段:第X章—第Y章 / 第X-Y章 / 第X章 / 章X-Y / X-Y。
|
|
60
|
-
SPAN_CELL_RE = re.compile(
|
|
61
|
-
r"^\s*(?:第|章)?\s*(\d+)\s*章?\s*(?:(?:-|~|~|—|–|-|至|到)+\s*第?\s*(\d+)\s*章?)?\s*$"
|
|
62
|
-
)
|
|
63
60
|
|
|
64
61
|
|
|
65
62
|
def emit(text: str, stream) -> None:
|
|
@@ -181,76 +178,56 @@ def summary_lines(text: str) -> list[str]:
|
|
|
181
178
|
return out
|
|
182
179
|
|
|
183
180
|
|
|
184
|
-
def
|
|
181
|
+
def previous_hook(analysis: Path, chapter: int) -> str | None:
|
|
182
|
+
"""上一章摘要里的章尾钩子:本批第一章写「章首钩子」用,上一章不在本包里。"""
|
|
183
|
+
summary = analysis / "章节" / f"第{chapter - 1}章_摘要.md"
|
|
184
|
+
if chapter <= 1 or not summary.is_file():
|
|
185
|
+
return None
|
|
186
|
+
blocks = label_blocks(summary.read_text(encoding="utf-8-sig"))
|
|
187
|
+
keys = ("章尾钩子", *dict(SUMMARY_FIELDS)["章尾钩子"])
|
|
188
|
+
return next((flatten(blocks[key]) for key in keys if blocks.get(key)), None)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
def chapter_block(project: Path, analysis: Path, chapter: int, first: int) -> tuple[str, int, int, bool]:
|
|
185
192
|
"""返回(本章块、历史长度、执行者还需另读的正文量、是否缺摘要)。"""
|
|
186
193
|
body, body_text, actual = measure(project, chapter)
|
|
187
194
|
head = [f"### 第{chapter}章", "",
|
|
188
195
|
f"- 正文:`{shown_path(body, project.parent)}`;字数目标 {actual}({METRIC})"]
|
|
196
|
+
hook = previous_hook(analysis, chapter) if chapter == first else None
|
|
197
|
+
if hook:
|
|
198
|
+
head.append(f"- 上一章(第{chapter - 1}章)章尾钩子:{hook}")
|
|
189
199
|
summary = analysis / "章节" / f"第{chapter}章_摘要.md"
|
|
190
|
-
brief = project.joinpath(*BRIEF_SUMMARY_DIR) / f"第{chapter:03d}章.md"
|
|
191
200
|
if summary.is_file():
|
|
192
201
|
lines = [f"- 摘要要点(抽自 `{shown_path(summary, project.parent)}`):"] + [
|
|
193
202
|
" " + line for line in summary_lines(summary.read_text(encoding="utf-8").lstrip(""))]
|
|
194
203
|
return "\n".join(head + lines), actual, 0, False
|
|
195
|
-
if brief.is_file():
|
|
196
|
-
text = brief.read_text(encoding="utf-8").lstrip("").strip()
|
|
197
|
-
return "\n".join(head + ["- 简化摘要(未深拆章节):", "", text]), actual, 0, False
|
|
198
204
|
note = "- 摘要:未找到,读该章正文反推,证据不足处写 [待补充]"
|
|
199
205
|
return "\n".join(head + [note]), actual, weight(body_text), True
|
|
200
206
|
|
|
201
207
|
|
|
202
208
|
# ---------- 卷纲剧情单元 ----------
|
|
203
209
|
|
|
204
|
-
def
|
|
205
|
-
"""
|
|
206
|
-
spans = []
|
|
207
|
-
for part in re.split(r"[、,,;;/]", cell):
|
|
208
|
-
match = SPAN_CELL_RE.match(part)
|
|
209
|
-
if not match:
|
|
210
|
-
continue
|
|
211
|
-
start = int(match.group(1))
|
|
212
|
-
end = int(match.group(2) or start)
|
|
213
|
-
if start <= end:
|
|
214
|
-
spans.append((start, end))
|
|
215
|
-
return spans
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
def split_row(row: str) -> list[str]:
|
|
219
|
-
return [cell.strip() for cell in row.strip().strip("|").split("|")]
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
def unit_rows(project: Path, first: int, last: int) -> list[str]:
|
|
223
|
-
"""从各卷纲的「剧情单元」表里取与本批章节重叠的行,连同表头。"""
|
|
210
|
+
def unit_cards(project: Path, first: int, last: int) -> list[str]:
|
|
211
|
+
"""从各卷纲取章节范围与本批重叠的剧情单元卡(连同卡下的子段)。"""
|
|
224
212
|
volumes = sorted((project / "大纲").glob("卷纲_第*卷.md"))
|
|
225
213
|
if not volumes:
|
|
226
214
|
raise SystemExit("ERROR: 大纲/ 下没有卷纲,先在结构迁移时刻写定卷纲")
|
|
227
215
|
out: list[str] = []
|
|
228
216
|
for volume in volumes:
|
|
229
|
-
lines = volume.read_text(encoding="utf-8")
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
if len(table) < 3:
|
|
240
|
-
continue
|
|
241
|
-
column = next((i for i, cell in enumerate(split_row(table[0])) if "章节范围" in cell), None)
|
|
242
|
-
if column is None:
|
|
243
|
-
continue
|
|
244
|
-
hits = []
|
|
245
|
-
for row in table[2:]:
|
|
246
|
-
cells = split_row(row)
|
|
247
|
-
spans = parse_span_cell(cells[column]) if column < len(cells) else []
|
|
248
|
-
if any(a <= last and b >= first for a, b in spans):
|
|
249
|
-
hits.append(row)
|
|
250
|
-
if hits:
|
|
251
|
-
out += [f"来源:`{project.name}/大纲/{volume.name}`", "", *table[:2], *hits, ""]
|
|
217
|
+
lines, sections = parse_volume(volume.read_text(encoding="utf-8-sig"))
|
|
218
|
+
for section in sections:
|
|
219
|
+
if section.kind != "单元级" or "剧情单元" not in section.title or section.status == "已退役":
|
|
220
|
+
continue
|
|
221
|
+
span = unit_chapter_range([section], section.unit)
|
|
222
|
+
if span is None or span[0] > last or span[1] < first:
|
|
223
|
+
continue
|
|
224
|
+
end = next((other.start for other in sections
|
|
225
|
+
if other.start > section.start and other.level <= section.level), len(lines))
|
|
226
|
+
out += [f"来源:`{project.name}/大纲/{volume.name}`", "", *lines[section.start:end], ""]
|
|
252
227
|
if not out:
|
|
253
|
-
raise SystemExit(f"ERROR:
|
|
228
|
+
raise SystemExit(f"ERROR: 卷纲里找不到章节范围覆盖第{first}-{last}章的剧情单元卡(卡标题下一行写"
|
|
229
|
+
"「> 作用域:单元级 {单元ID}」,卡里写「- 章节范围:第A-B章」),先补卷纲,"
|
|
230
|
+
"再用 outline_view.py --check --strict 核对")
|
|
254
231
|
return out
|
|
255
232
|
|
|
256
233
|
|
|
@@ -265,7 +242,7 @@ def render(project: Path, first: int, last: int, blocks: list[str]) -> str:
|
|
|
265
242
|
"证据不足标了 [待补充] 的要点(没有写「无」)。\n\n"
|
|
266
243
|
"包里提到的检查由主会话在你交付后跑,你不执行命令;需要的测量结果已放进包里。")
|
|
267
244
|
parts = [head, f"\n## 本批章节\n\n路径相对项目根(`{project.parent}`)。\n\n" + "\n\n".join(blocks),
|
|
268
|
-
"\n## 卷纲剧情单元(覆盖本批)\n\n" + "\n".join(
|
|
245
|
+
"\n## 卷纲剧情单元(覆盖本批)\n\n" + "\n".join(unit_cards(project, first, last)).rstrip(),
|
|
269
246
|
"\n---\n\n<!-- 资料:outline-reverse-rules.md -->\n\n" + RULES.read_text(encoding="utf-8").lstrip("").strip()]
|
|
270
247
|
return "\n".join(parts) + "\n"
|
|
271
248
|
|
|
@@ -273,13 +250,13 @@ def render(project: Path, first: int, last: int, blocks: list[str]) -> str:
|
|
|
273
250
|
def build(project: Path, analysis: Path, first: int, last: int) -> dict:
|
|
274
251
|
if not RULES.is_file():
|
|
275
252
|
raise SystemExit(f"ERROR: 缺少 reference:{RULES}")
|
|
276
|
-
fixed = weight(render(project, first, last, [])) #
|
|
253
|
+
fixed = weight(render(project, first, last, [])) # 包头、剧情单元卡与规则:章数减少只会更少
|
|
277
254
|
blocks: list[str] = []
|
|
278
255
|
lengths: dict[int, int] = {}
|
|
279
256
|
missing: list[int] = []
|
|
280
257
|
load, extra_reading = fixed, 0
|
|
281
258
|
for chapter in range(first, last + 1):
|
|
282
|
-
block, actual, extra, absent = chapter_block(project, analysis, chapter)
|
|
259
|
+
block, actual, extra, absent = chapter_block(project, analysis, chapter, first)
|
|
283
260
|
cost = weight(block) + extra
|
|
284
261
|
if blocks and load + cost > LOAD_LIMIT:
|
|
285
262
|
break # 包已够大:本章留给下一批
|
|
@@ -111,6 +111,10 @@ function readUtf8(file) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
+
// 回报里的模板出处只列本 skill 带着的文件:导入的副本没有 workflow-outline.md,细纲写法在 outline-reverse-rules.md
|
|
115
|
+
const TEMPLATE_REFERENCES = ['references/workflow-outline.md', 'references/outline-reverse-rules.md']
|
|
116
|
+
.filter((rel) => fs.existsSync(path.join(__dirname, '..', rel)))
|
|
117
|
+
|
|
114
118
|
function makeCheck(id, ok, file, evidence, expected, repair, severity = 'blocking') {
|
|
115
119
|
return {
|
|
116
120
|
id,
|
|
@@ -119,7 +123,7 @@ function makeCheck(id, ok, file, evidence, expected, repair, severity = 'blockin
|
|
|
119
123
|
file,
|
|
120
124
|
evidence,
|
|
121
125
|
expected,
|
|
122
|
-
references:
|
|
126
|
+
references: TEMPLATE_REFERENCES,
|
|
123
127
|
repair,
|
|
124
128
|
}
|
|
125
129
|
}
|