@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
package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 长篇单元情绪引擎(通用正向框架)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
每个剧情单元先设计能制造情绪与兑现的**正向发动机**,再按契约四问检查:
|
|
10
10
|
|
|
11
11
|
> **核心情绪命题 → 承载对象/情绪缺口 → 受阻或缺口维持原因 → 本轮触发 → 主角不可替代的点火/转化动作 → 意义变化或可见兑现 → 题材/契约兑现**
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
### 正向发动机与负向护栏的顺序
|
|
16
16
|
|
|
17
17
|
1. **先设计正向发动机**:明确读者会为什么投入,本轮如何让这份投入改变意义并得到可见兑现。
|
|
18
|
-
2.
|
|
18
|
+
2. **后用项目读者契约做负向护栏诊断**:按契约四问排查契约/推进失败——主角是否靠自己的选择挣到结果,收益有没有被无交换地拿走,有没有提前动用终局底牌或把升级线顶到天花板,旧期待付了利息没。“安全”只代表没踩红线,不代表好看;护栏不能代替情绪发动机。
|
|
19
19
|
|
|
20
20
|
### 合理性五问
|
|
21
21
|
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
**断期待的判断**:某章既无期待点也无爽点,前一爽点已结束,本身没拉起新期待→读者觉得书失去了"灵魂"开始弃书。
|
|
80
80
|
|
|
81
81
|
**两种运转模式**:
|
|
82
|
-
-
|
|
82
|
+
- 不断循环型:每个剧情单元运行一次,变奏场景/对象/条件
|
|
83
83
|
- 只运行一次型:围绕一个核心情绪分阶段推进
|
|
84
84
|
|
|
85
85
|
### 检验清单
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
| 误区 | 表现 |
|
|
96
96
|
|------|------|
|
|
97
97
|
| 核心梗太多 | 什么都想写=没有核心梗 |
|
|
98
|
-
| 立意不明确 |
|
|
98
|
+
| 立意不明确 | 没有目标情绪,文字干巴巴 |
|
|
99
99
|
| 纯装逼打脸无主题 | 剧情没有意义 |
|
|
100
100
|
| 核心梗用完不升级 | 生硬重复,审美疲劳 |
|
|
101
101
|
| 挂羊头卖狗肉 | 书名暗示与实际内容不符 |
|
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
- **关系拉扯**:推进和拉开交替,不能只拉近。扯开可用心有芥蒂/暂时冷静/误会,避免直接分手
|
|
298
298
|
- **英雄救美**:男主事业线行为无意间救女主→女主倒追(非白给)
|
|
299
299
|
- **误会**:制造隔阂延缓推进,也是装逼打脸工具
|
|
300
|
-
-
|
|
300
|
+
- **窗户纸事件**:好感度质变→关系阶段变化,事业线为主的放在剧情单元小高潮
|
|
301
301
|
|
|
302
302
|
### 狗粮文循环
|
|
303
303
|
|
|
@@ -19,14 +19,16 @@
|
|
|
19
19
|
- [ ] 短期、中期、远期期待都有人维护;回收旧期待前已建立下一层期待。
|
|
20
20
|
- [ ] 单章反转改变下一步行动,卷级反转改变对阶段机制的理解,全书真相没有被提前透支。
|
|
21
21
|
|
|
22
|
-
##
|
|
22
|
+
## 读者契约与终局储备:契约四问
|
|
23
23
|
|
|
24
|
-
- [ ]
|
|
25
|
-
- [ ]
|
|
26
|
-
- [ ]
|
|
27
|
-
- [ ]
|
|
24
|
+
- [ ] ①主角靠自己的选择挣到结果:保有因果权与结算权;配角可以执行局部动作,但不能无声夺走关键选择和结算。
|
|
25
|
+
- [ ] ②核心卖点按开篇承诺兑现,收益和高光没有被配角、机构或巧合无交换地拿走。
|
|
26
|
+
- [ ] ③本卷没有动用后续阶段才该解锁的宿敌、身份、真相或能力上限,升级线没有顶到天花板。
|
|
27
|
+
- [ ] ④延期的期待支付了利息,而不是被流程、解释或新设定吞掉;旧期待回收时留下新期待。
|
|
28
28
|
- [ ] 高潮后允许短暂低压和可见奖励,不机械立即追加更大危机。
|
|
29
29
|
|
|
30
|
+
四问都过=契约安全;能靠补交换、铺垫或成本补上=需补强;补不上=契约破坏,先修纲再写。
|
|
31
|
+
|
|
30
32
|
## 长篇反向检查
|
|
31
33
|
|
|
32
34
|
- 删除“安全解释”后情绪是否更强、因果仍成立?
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
| 出场 3 个以上主要角色 | 信息过载 |
|
|
57
57
|
| 序章/楔子/引 | 除非以叙事为主、足够简短且与第一章逻辑紧密 |
|
|
58
58
|
| 插叙/切视角/回忆梦境 | 正叙为主 |
|
|
59
|
-
| 世界观详细解说 |
|
|
59
|
+
| 世界观详细解说 | 至少等到第一个剧情单元结束 |
|
|
60
60
|
|
|
61
61
|
### 冲突节奏
|
|
62
62
|
|
|
63
63
|
- 背景融入冲突(如用旁人议论同时完成背景和冲突)
|
|
64
64
|
- 两个紧张场景间要有缓和,但缓和 ≠ 无冲突
|
|
65
|
-
- 背景信息分批释放(信息团排版),优先级:危机感 > 人设 > 金手指暗示 >
|
|
65
|
+
- 背景信息分批释放(信息团排版),优先级:危机感 > 人设 > 金手指暗示 > 世界观,每次释放服务于当前目标情绪
|
|
66
66
|
|
|
67
67
|
### 开篇结构范例(鬼灭之刃)
|
|
68
68
|
|
|
@@ -150,7 +150,7 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
|
|
|
150
150
|
|
|
151
151
|
#### 矛盾和冲突的区别
|
|
152
152
|
|
|
153
|
-
- "矛盾"
|
|
153
|
+
- "矛盾"在全书/全卷层面,"冲突"在具体场景层面。
|
|
154
154
|
- 矛盾决定主线方向,冲突是具体表现。
|
|
155
155
|
|
|
156
156
|
#### 第一幕陷阱
|
|
@@ -309,11 +309,11 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
|
|
|
309
309
|
|
|
310
310
|
| 类型 | 运行方式 | 适用 |
|
|
311
311
|
|------|----------|------|
|
|
312
|
-
| 可重复型 |
|
|
312
|
+
| 可重复型 | 每个剧情单元中重复运行 | 升级文、系统文、文抄娱乐 |
|
|
313
313
|
| 不可重复型 | 贯穿全文但只在最高潮爆发一次 | 追妻、掉马、禁忌之恋 |
|
|
314
314
|
| 长期铺垫型 | 以期待点形式贯穿 | 悬疑、复仇、解谜 |
|
|
315
315
|
|
|
316
|
-
|
|
316
|
+
运行节奏:第一个剧情单元中必须运行一次或完成首次铺垫。连续多个剧情单元不运行 = 读者弃书。
|
|
317
317
|
|
|
318
318
|
双线构思法:布两条线--一条重复运行核心梗,另一条不重复,交替推进。
|
|
319
319
|
|
|
@@ -450,7 +450,7 @@ Phase 3 设计矛盾与主线结构时加载。包含矛盾设计、主线支线
|
|
|
450
450
|
- [ ] 感情线(如有)是否按四阶段推进,试探阶段占30-50%
|
|
451
451
|
- [ ] 金手指是否通过合格五问,能力是否碎片化融入剧情
|
|
452
452
|
- [ ] 显性身份/隐性身份/显性金手指/隐性金手指四点是否统一
|
|
453
|
-
- [ ]
|
|
453
|
+
- [ ] 核心梗是否在第一个剧情单元中运行一次或完成首次铺垫
|
|
454
454
|
- [ ] 循环核心是否匹配题材,是否偏离核心卖点
|
|
455
455
|
- [ ] 每个事件是否有至少一个价值改变,能推进主线
|
|
456
456
|
- [ ] 信息传达顺序是否匹配场景类型(基础/铺垫/反转/高潮)
|
|
@@ -16,8 +16,8 @@ Phase 3 建大纲时加载。包含大纲创建法、结构分级、节点设计
|
|
|
16
16
|
|
|
17
17
|
| 级别 | 特征 | 适用 |
|
|
18
18
|
|------|------|------|
|
|
19
|
-
| 一级 |
|
|
20
|
-
| 1.5 级 |
|
|
19
|
+
| 一级 | 剧情单元松散连接,靠时间串联,最后大高潮 | 入门 |
|
|
20
|
+
| 1.5 级 | 剧情单元间有逻辑线索串联,指向核心目标 | 进阶 |
|
|
21
21
|
| 二级 | 小高潮→意外下行→上行转折→大高潮链 | 高阶 |
|
|
22
22
|
|
|
23
23
|
## 五步大纲创建法
|
|
@@ -32,14 +32,14 @@ Phase 3 建大纲时加载。包含大纲创建法、结构分级、节点设计
|
|
|
32
32
|
- [ ] 是否与阶段目标高度一致?
|
|
33
33
|
- [ ] 读者情绪波动是否最大?
|
|
34
34
|
|
|
35
|
-
### 第2
|
|
35
|
+
### 第2步:确定剧情单元
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
每个剧情单元 = 主角用金手指优势获得爽点。同类型重复 = 剧情套路,有逻辑关系的成组出现 = 剧情套路链路。
|
|
38
38
|
|
|
39
39
|
操作要求:
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
40
|
+
- 每个剧情单元必须展示金手指不同用法
|
|
41
|
+
- 相邻剧情单元禁止使用相同金手指逻辑
|
|
42
|
+
- 剧情单元之间必须建立因果关系
|
|
43
43
|
|
|
44
44
|
### 第3步:故事线组织与信息点预埋
|
|
45
45
|
|
|
@@ -246,7 +246,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
|
|
|
246
246
|
|
|
247
247
|
### 开头精简法
|
|
248
248
|
|
|
249
|
-
1.
|
|
249
|
+
1. 整理开头第一个剧情单元的矛盾
|
|
250
250
|
2. 把介绍性、抒情性文字逐条向上连——尝试与矛盾直接关联
|
|
251
251
|
3. 隔了好几层逻辑才能连上的 → **无效信息,删除**
|
|
252
252
|
4. 后文没戏份的配角不给名字
|
|
@@ -257,7 +257,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
|
|
|
257
257
|
|------|------|
|
|
258
258
|
| 爽点/期待点出现 | 1000字内必须看到 |
|
|
259
259
|
| 打斗 | 第一章不能上来就打 |
|
|
260
|
-
| 爱情线对象 |
|
|
260
|
+
| 爱情线对象 | 第一个剧情单元内必须出场 |
|
|
261
261
|
| 金手指展示 | 第一个冲突由金手指解决,主角主动选择使用 |
|
|
262
262
|
|
|
263
263
|
---
|
|
@@ -353,7 +353,7 @@ Phase 3-4 节奏把控时加载。包含升级感设计、情绪模块公式、
|
|
|
353
353
|
|
|
354
354
|
1. 确定目标矛盾类型,在剧情原型库中检索
|
|
355
355
|
2. 将匹配剧情拆为细纲放左边,自己的情况放右边,逐点改编
|
|
356
|
-
3.
|
|
356
|
+
3. 验证改编后是否满足目标情绪、与主线衔接、无逻辑漏洞
|
|
357
357
|
|
|
358
358
|
### 同人衍生型大纲法
|
|
359
359
|
|
package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md
CHANGED
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
| **太赶** | 重大转折只用了 1 节铺垫 | 给转折至少 3 节铺垫 |
|
|
153
153
|
| **假虐** | 读者不心疼,只是看着难受 | 检查羁绊铺设是否具体 |
|
|
154
154
|
| **割裂** | 前半部分和后半部分像两篇不同的故事 | 用伏笔/物件/主题贯穿 |
|
|
155
|
-
| **烂尾** |
|
|
155
|
+
| **烂尾** | 反转后还在补交代、新开事件 | 篇幅按小节大纲分配;反转后只写兑现与余韵 |
|
|
156
156
|
| **人设崩** | 角色在关键时刻的行为不符合前面的人设 | 回顾人设,确保行为逻辑一致 |
|
|
157
157
|
|
|
158
158
|
---
|
|
@@ -415,18 +415,3 @@
|
|
|
415
415
|
| 情感/虐心 | 中强 | 情感、反差、余韵 |
|
|
416
416
|
| 古言/宫斗 | 中强 | 底牌、打脸、代价 |
|
|
417
417
|
| 年代/亲情 | 中 | 情感、反差、余韵 |
|
|
418
|
-
|
|
419
|
-
---
|
|
420
|
-
|
|
421
|
-
## 质量检查清单
|
|
422
|
-
|
|
423
|
-
> 写完每个公式后逐项核对。全部通过才算合格。
|
|
424
|
-
|
|
425
|
-
- [ ] **公式对位**:所用公式与题材标签匹配,没有混用不相关公式
|
|
426
|
-
- [ ] **情绪节拍完整**:情绪曲线与公式要求的节拍一致,没有跳过或乱序
|
|
427
|
-
- [ ] **必选场景齐全**:每个"必选场景"都在文中出现,没有遗漏
|
|
428
|
-
- [ ] **核心规则遵守**:公式"规则"部分的每一条都已落实
|
|
429
|
-
- [ ] **篇幅合规**:章/节数量在公式规定范围内
|
|
430
|
-
- [ ] **女频/男频区分**:如果是复仇打脸类,已按公式十四的核心差异调整写法
|
|
431
|
-
- [ ] **牵引不断线**:钩子落在预期、行动方向或关系判断变化处,没有连续多个小节只提问不兑现
|
|
432
|
-
- [ ] **开头3秒抓人**:第一段/第一句已建立核心冲突或信息炸弹,没有慢热铺垫
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 装逼打脸与爽点释放
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> 写装逼打脸与战斗场景用。规则都是必须执行的操作规范:爽点释放法则 > 装逼框架 > 具体描写技巧;该爽不爽,比毒点还毒。
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -13,18 +13,11 @@
|
|
|
13
13
|
| 设计战斗/打斗场景 | 打斗/智斗写作 -> 战斗描写三板斧 |
|
|
14
14
|
| 写无敌文主角 | 无敌文核心要领 |
|
|
15
15
|
| 设计打脸节奏和情绪调动 | 打脸节奏与脑洞创意 -> 情绪调动三阶法 |
|
|
16
|
-
| 设计后宫/爱情线 | 后宫文女主人设设计法 / 男频极简爱情线构型 |
|
|
17
16
|
| 写新媒体/短平快装逼 | 新媒体写作与题材套路 |
|
|
18
17
|
| 搭建装逼舞台 | 舞台搭建法 |
|
|
19
18
|
| 打脸写了但不爽 | 检查:爽点释放到位法则 + 前置小无敌准备了吗 + 对手层级够不够 |
|
|
20
19
|
| 战斗场景枯燥/流水账 | 检查:战斗描写三板斧 + 情绪调动三阶法 + 攻防选择、伤势和动作后果是否清楚 |
|
|
21
20
|
|
|
22
|
-
## 指令语气
|
|
23
|
-
|
|
24
|
-
本文件以"战术指令"语气书写。装逼打脸和战斗描写是网文核心商业价值所在,所有规则都是**必须执行**的操作规范。爽点释放法则 > 装逼框架 > 具体描写技巧。核心铁律:**该爽不爽,比毒点还毒**。
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
21
|
## 爽点释放到位法则
|
|
29
22
|
|
|
30
23
|
### 核心问题
|
|
@@ -130,56 +123,6 @@
|
|
|
130
123
|
|
|
131
124
|
---
|
|
132
125
|
|
|
133
|
-
## 后宫文女主人设设计法
|
|
134
|
-
|
|
135
|
-
### 核心思路
|
|
136
|
-
后宫文的关键是弱化男主"主动渣"的感觉,让女主自身设定成为推动后宫的主力。
|
|
137
|
-
|
|
138
|
-
### 设计原则
|
|
139
|
-
1. **女主人设要预设方向**:开书前就设计好每个女主的核心特质
|
|
140
|
-
2. **差异化设计**:不同女主有完全不同的价值观和背景
|
|
141
|
-
3. **同居培养感情**:开局让女主们同住一个屋檐下,彼此成为朋友
|
|
142
|
-
|
|
143
|
-
### 温水煮青蛙法
|
|
144
|
-
以三个女主为例:
|
|
145
|
-
|
|
146
|
-
| 角色 | 人设设计 | 在后宫中的作用 |
|
|
147
|
-
|------|----------|---------------|
|
|
148
|
-
| 青梅(正宫) | 传统价值观,占据防守位 | 从小一起长大,天然正宫 |
|
|
149
|
-
| 女主B | 家庭圆满家教开明,理性看待感情 | 不在意名分,只在意快乐 |
|
|
150
|
-
| 女主C | 缺少父爱和社交,爱情观模糊 | 不存在一夫一妻制思想束缚 |
|
|
151
|
-
|
|
152
|
-
核心逻辑:
|
|
153
|
-
- 青梅占据正宫与防守位
|
|
154
|
-
- 另两个女主不在意后宫,只在意跟主角在一起
|
|
155
|
-
- 把"主角脚踏多条船"的问题转化为"青梅防守 vs 另两人共享"的问题
|
|
156
|
-
- 一点一点突破青梅的防守底线,等反应过来时已经是既成事实
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 男频极简爱情线构型
|
|
161
|
-
|
|
162
|
-
### 核心原则
|
|
163
|
-
男频爱情线不需要复杂的情感博弈,核心是"英雄救美 + 事业舞台 + 对手衬托"三要素。
|
|
164
|
-
|
|
165
|
-
### 极简构型
|
|
166
|
-
1. **英雄救美**:女主陷入困境 -> 主角用金手指/实力解决 -> 建立初始好感
|
|
167
|
-
2. **事业舞台**:主角在事业上展示金手指 -> 女主在场作为重要观众 -> 好感随事业成就升级
|
|
168
|
-
3. **对手衬托**:情敌/对手同时是事业对手 -> 打败对手既是事业胜利也是感情胜利
|
|
169
|
-
|
|
170
|
-
### 关键操作
|
|
171
|
-
- 女主的每一次好感升级都绑定在主角的事业成就上,不单独写纯感情戏
|
|
172
|
-
- 女主有自己的事业线/目标,不是花瓶——她的事业目标与主角有交叉但独立
|
|
173
|
-
- 情敌的价值在于他同时威胁主角的事业和感情,打脸时有双重爽感
|
|
174
|
-
- 感情节奏跟着事业节奏走:事业低谷时感情拉扯,事业高峰时感情升温
|
|
175
|
-
|
|
176
|
-
### 爱情线与事业线融合检查
|
|
177
|
-
- 删掉所有爱情线段落,事业线是否还成立?如果不行 = 爱情线拖后腿了
|
|
178
|
-
- 删掉所有事业线段落,爱情线是否还有看点?如果不行 = 爱情线太弱
|
|
179
|
-
- 理想状态:两条线互相增强,拆开各自能看,合在一起更好看
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
126
|
## 打斗/智斗写作
|
|
184
127
|
|
|
185
128
|
### 打斗的本质
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
|
|
38
38
|
### 题材正文提示卡模板
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
项目在写第 1 章前生成 `设定/题材正文提示卡.md`。没有该文件时,Phase 4 写前先用 `设定/题材定位.md` 匹配 `genre-prose-cards.md` 索引并读取 `genre-prose-cards/{题材}.md` 单卡;仍无匹配再从本文件即时抽取一张轻量卡。卡片保持短,给 `narrative-writer` 传摘要,不把参考文件整段复制进 prompt。
|
|
41
41
|
|
|
42
42
|
```markdown
|
|
43
43
|
## 题材正文提示卡
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
## 加载与传递
|
|
14
14
|
|
|
15
|
-
1. 从本次正文路径确定书目录(长篇为 `正文/` 的父目录,短篇为 `正文.md` 所在目录)。读该书 `设定/文风.md`;短篇同时读 `设定.md`
|
|
16
|
-
2. `_文风摘要.md`
|
|
17
|
-
3.
|
|
18
|
-
4. 在现有 prompt 填 `style_resolution`:本次生效的表达要求及来源、被覆盖的默认条款、必须保留的事实/信息边界;只列与任务有关的冲突,无冲突可写“按本书文风”。原样传给正文、去味和文字 reviewer
|
|
15
|
+
1. 从本次正文路径确定书目录(长篇为 `正文/` 的父目录,短篇为 `正文.md` 所在目录)。读该书 `设定/文风.md`;短篇同时读 `设定.md` 的文风约定。无文件就继续,不建占位文件、不猜其他书。文风无最低字数限制,一句可执行的偏好也有效;空白、纯标题、待补充不算。
|
|
16
|
+
2. `_文风摘要.md` 只辅助定位,不替代全文。当前会话已读全文时无需反复读;摘要与全文不一致用全文,不让旧摘要压过作者的新修改。
|
|
17
|
+
3. 有作者记忆时 query,显式传当前书名、已知题材和流程以及需要的 kind,避免只取到 global;没有就跳过。只用 active;同一维度窄范围覆盖宽范围,不拼成同时满足的清单。无法判定的同范围冲突才问作者,已能按优先级解决的不询问。
|
|
18
|
+
4. 在现有 prompt 填 `style_resolution`:本次生效的表达要求及来源、被覆盖的默认条款、必须保留的事实/信息边界;只列与任务有关的冲突,无冲突可写“按本书文风”。原样传给正文、去味和文字 reviewer,并传文风全文路径。同批复用,当前请求或文风变动时更新。单独调用去味/审稿也执行本步骤,不靠上次会话的记忆。
|
|
19
19
|
|
|
20
20
|
## 检测器如何服从裁决
|
|
21
21
|
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
# 写作技法:可执行指令集
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
**本文件职责**(其他内容去哪看):
|
|
8
|
-
- 本文件只管「贯穿道具的三次出现编排规则」;情绪功能按任务 profile 读取 long-emotional-methods.md 或 short-emotional-methods.md
|
|
9
|
-
- 对话相关(含权力博弈的规则/模式/示例/操作指令)一律见 dialogue-mastery.md,本文件不重复
|
|
10
|
-
- 本文件只管「开头事件密度指令」,不管「开头设计」(开头设计见 opening-design.md)
|
|
11
|
-
- 长篇题材声线走 genre-prose-cards.md,短篇结构走 short-genre-formulas.md;本文件的「贯穿道具系统」提供可执行设计模板
|
|
12
|
-
- 本文件第 8 节「场景写法(三维度揉进)」是 Phase 3 的写作方法,format-and-structure.md 的「小节结构」是结构规范
|
|
13
|
-
- 本文件「贯穿道具系统」只规定物件的跨场景编排和意义翻转;初始情感含义由当前 long/short profile 的情绪方法负责
|
|
14
|
-
- 本文件第 10 节「在场者的账」只管**谁能上镜、他的动机要不要露出来、分量由谁标价**;具体的对话怎么写(长度、权力反转、句式)仍见 dialogue-mastery.md,本文件不重复
|
|
3
|
+
> 写作全程参考。对话怎么写见 dialogue-mastery.md,开篇设计见 opening-design.md,章节格式按长篇 long-format.md 或短篇 format-and-structure.md。
|
|
15
4
|
|
|
16
5
|
---
|
|
17
6
|
|
|
@@ -44,7 +33,7 @@
|
|
|
44
33
|
| 紧张妨碍正在做的事 | 可以写笔尖划坏签名、钥匙插错锁孔等具体后果 |
|
|
45
34
|
| 身体细节只是在句尾标注情绪 | 删除;不要换一套部位或同义动作 |
|
|
46
35
|
|
|
47
|
-
###
|
|
36
|
+
### 套式反应删除测试
|
|
48
37
|
|
|
49
38
|
逐章检查重点情绪段,并指出对应原句;不是要求每段补一种反应:
|
|
50
39
|
|
|
@@ -80,10 +69,7 @@
|
|
|
80
69
|
第3次出现:第{N}节 | {场景} | 含义:{结尾意义}
|
|
81
70
|
```
|
|
82
71
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
| 类型 | 特征 | 代表 |
|
|
86
|
-
|------|------|------|
|
|
72
|
+
------|------|------|
|
|
87
73
|
| 信物型 | 承载关系的象征物 | 金锁(姐夫捎路)、木头小马(皇弟) |
|
|
88
74
|
| 工具型 | 日常使用的功能性物件 | 打分本(准儿媳)、账本(迟来二十年) |
|
|
89
75
|
| 痕迹型 | 残留的身体/环境痕迹 | 手腕旧疤、墙上身高刻度 |
|
|
@@ -210,7 +196,7 @@
|
|
|
210
196
|
| 关键子事件读得懂吗? | 现场、因果或角色下一步缺了必要信息 | 只补真正缺失的维度;不为凑齐三项补感官或身体动作(见第8节) |
|
|
211
197
|
| 对话只有 1-2 轮? | 缺少对话交锋 | 加一轮权力博弈对话(见第3节) |
|
|
212
198
|
| 情绪信息落地了吗? | 只贴标签,或又用无功能微动作重复解释 | 优先落到选择、台词、物件和后果;必要时直写,身体细节须有功能(见第1节) |
|
|
213
|
-
|
|
|
199
|
+
| 仍偏短且关键情节点写薄? | 冲突、选择、代价或关系变化没有演到位 | 回到细纲内已有事件补交锋与后果;没有内容就补纲,不拿感官/回忆注水 |
|
|
214
200
|
|
|
215
201
|
### 子事件不够时怎么扩
|
|
216
202
|
|
|
@@ -265,10 +251,8 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
265
251
|
- 同一约束如果在「核心事件 / 内容概括 / 情节安排 / 情节点」里重复出现,生成前只合并成**一个语义点**;重复字段不是强调,更不是四次复述额度。正文不得沿用提纲里反复出现的同一措辞逐项交代。
|
|
266
252
|
- 五段式(起因/发展/转折/高潮/结尾)是给细纲作者的功能拆解,不是正文的五个自然段;正文不必逐段顺叙,也不必一段对一格。
|
|
267
253
|
- "谁做了什么"的概括句、"A→B→C"箭头链、"收束到什么状态"是规划口径,不要原样搬进叙述。
|
|
268
|
-
-
|
|
269
|
-
|
|
270
|
-
- 例:一场饭局里「主角当众被驳了一次」「邻座起哄」「同伴趁空要回垫付的钱」「同伴顺口说出一个关键消息」四个点,全落在同一顿饭的那段时间里——该让它们互相打断(要钱插在两次举筷之间、消息垫在被驳之后),而不是吃完了再让人开口;「消息」也不必非等在「要钱」后面,被驳那阵就可以先露半句头,散场再说全。
|
|
271
|
-
- 章尾落在最后一个具体的动作、画面、台词或悬念上;细纲「结尾设定/收束状态」是规划口径,不要在正文里写成"就这样……""他终于明白……"式的状态总结句(结尾去升华见 anti-ai-writing.md)。
|
|
254
|
+
- 同一场戏里的几个点可以合并、互相打断,不必排成逐点清单;因果依赖或刻意的停顿分隔才串行。只改顺序不会让正文变好看(交错与否的对照实验测不出差别),密点展开、疏点带过更要紧(见「疏密分配」)。
|
|
255
|
+
- 章尾落在最后一个具体的动作、画面、台词或悬念上;细纲「结尾设定」是规划口径,不要在正文里写成"就这样……""他终于明白……"式的状态总结句(结尾去升华见 anti-ai-writing.md)。
|
|
272
256
|
|
|
273
257
|
### 视角姿态:深度限知(贴地沉浸)
|
|
274
258
|
|
|
@@ -325,29 +309,6 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
325
309
|
|
|
326
310
|
→ 这里的身体反应改变了落笔结果,承担信息;不是为了证明人物紧张而另加微动作
|
|
327
311
|
|
|
328
|
-
### 自检方法
|
|
329
|
-
|
|
330
|
-
**(一)三维遮盖法(逐段)**
|
|
331
|
-
|
|
332
|
-
对详写的关键场景用“三维遮盖法”:分别遮住发生、感知、反应,判断现有内容是否各自提供了不同信息。某维缺失不等于要补;只有读者因此看不懂现场、因果或角色下一步时,才把缺失信息织回同一镜头。若遮住一处身体/语气细节后什么也没损失,删掉它。逐章再做第 1 节“反套话四问”,指出原句处理,不用“已遵守”代替检查。
|
|
333
|
-
|
|
334
|
-
**(二)质检八问(按本次检查范围选用)**
|
|
335
|
-
|
|
336
|
-
以下供质检侧定位已有问题,不要求写手另交八项验收说明。只报告实际删改与保留理由;没有相应问题时跳过。
|
|
337
|
-
|
|
338
|
-
⚠ **八问是删除测试,不是补写清单。** 只许指出正文里**已有**的那一处;没有就答"无"并说明本章为什么不需要,**不许为了让某一问有答案回头补内容**。答"无"不扣分。
|
|
339
|
-
|
|
340
|
-
| # | 自问 | 不合格的样子 | 见 |
|
|
341
|
-
|---|---|---|---|
|
|
342
|
-
| 1 | 本章最大的那次状态变化,读者看见了几个中间态? | 只给了"起点"和"终点";或同一状态换十种说法说十遍 | 本节「从细纲到正文」 |
|
|
343
|
-
| 2 | 有没有一组同类并列项被平均分配了笔墨? | 三样物件、四拨人马各给同样的分辨率 | 本节「疏密分配」 |
|
|
344
|
-
| 3 | 本章的设定/能力/威胁,是被说出来的,还是被谁付了代价试出来的? | 旁白直接给出结论,读者没有自己发现的机会 | 第 1 节 |
|
|
345
|
-
| 4 | "厉害/难得/要命"这些判断,是谁给出的?他有什么立场? | 叙述者自己下的判断;结论由旁白先说出来、在场的人只负责吃惊;或标价人就在场却没标价 | 第 10 节「标价人」 |
|
|
346
|
-
| 5 | 每个给了镜头的人,此刻在为自己争取什么? | 遮住名字认不出是谁说的;所有人同向配合主角;用手部/喉部微动作代替立场;或把他的算计写成一段旁白独白 | 第 10 节「镜头准入」 |
|
|
347
|
-
| 6 | 该说出口的话,是写出来了还是被概括了? | "他吼了一声""他说了句什么""三言两语解释了缘由";本该来回几轮的交锋压成一次说完 | 第 3 节 |
|
|
348
|
-
| 7 | 本章最重的那一句,是不是最短的那一段? | 最重的一拍写成了全章最长的段落 | 本节「画面分段」 |
|
|
349
|
-
| 8 | 判为"密"的段落里,有没有量词加概括? | "一连七八下""半晌""众人纷纷"出现在密处 | 本节「疏密分配」 |
|
|
350
|
-
|
|
351
312
|
### 画面分段(防止一段到底)
|
|
352
313
|
|
|
353
314
|
三维度揉进不是把一个子事件塞进一个长段。揉进解决"同一瞬间被拆成发生/感知/反应三段"的问题;断段解决"手机阅读时一段过密"的问题。
|
|
@@ -365,7 +326,7 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
365
326
|
判定规则:
|
|
366
327
|
|
|
367
328
|
- 一段只承载一个镜头拍点/一个动作单元,或一条尚未结束的连续推理、氛围、情绪链。
|
|
368
|
-
-
|
|
329
|
+
- 常规叙事段可短,但句子内部不碎——叙述句不要一个动作一句号、句句断开,也不要用逗号罗列动作——用虚词把前后接成一口气(见本节「句子怎么连」);细密描写、推理判断、氛围压迫、情绪沉淀可以稍长,前提是仍在讲同一件事。
|
|
369
330
|
- 长度只是诊断,不是强制阈值:读起来拥挤、包含多个动作/信息/视线切换时才拆;完整戏剧单元未结束时不要为凑短而硬拆。
|
|
370
331
|
- 常规正文保持短段、稍长段、对话、动作段交替;高压冲突、打脸、反转段可以更碎更短。
|
|
371
332
|
- 不要连续多段同长度,也不要把一个完整推理链切成机械碎片。
|
|
@@ -394,36 +355,29 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
394
355
|
|
|
395
356
|
### 疏密分配(详略不均)
|
|
396
357
|
|
|
397
|
-
|
|
358
|
+
不要每个情节点一样长、一样细——平均用力是 AI 腔的根源,也是读起来"哪都写得满、哪都不出彩"的原因。按情节权重分配笔墨:
|
|
398
359
|
|
|
399
|
-
|
|
|
360
|
+
| 情节点类型 | 笔墨 | 写法 |
|
|
400
361
|
|---|---|---|
|
|
401
362
|
| 爽点/打脸/反转/情绪高潮 | 密(详写) | 感知、动作、对话交锋铺满,慢镜头逐拍展开 |
|
|
402
363
|
| 过场/赶路/信息交代/时间跳转 | 疏(略写) | 1-2 句带过,甚至一句概括,不展开三维度 |
|
|
403
364
|
| 铺垫/日常/关系升温 | 中 | 挑一两个有代入感的细节写实,其余略 |
|
|
404
365
|
|
|
405
|
-
|
|
366
|
+
原则:一章里详写的情节点集中在情绪节点,过场坚决压缩。读者记住的是密处的画面,疏处只是把他们快速送到下一个爽点。密度有起伏,节奏才有呼吸。
|
|
406
367
|
|
|
407
368
|
**同类并列项要递减,不要平均。** 三样物件、四拨人马、五次出手——第一个写足,第二个减半,后面的一句带过或只给一个区别点。**递减不是省略**:被压缩的那几个仍要各有一个不重复的记号,否则是漏写。
|
|
408
369
|
|
|
409
370
|
**判为"密"的地方禁止量词加概括。** "一连七八下""斗了半晌""众人纷纷点头""交手数十回合"(把过程折叠成一个数字,是疏处的手法)。密处只有一种写法:挑出其中**具体的几下**,逐拍写。
|
|
410
371
|
|
|
411
|
-
###
|
|
412
|
-
|
|
413
|
-
子事件之间按真实关系连接:因果推进、对话接招、新信息、空间移动或角色下一步都可以;不规定必须插入身体动作,也不规定连接句长度。
|
|
372
|
+
### 句子怎么连
|
|
414
373
|
|
|
415
|
-
|
|
416
|
-
- ✅ “最后一笔支出没有收据,下一页却夹着他的签名。”(新信息直接推动下一拍)
|
|
374
|
+
子事件之间按真实关系连接(因果、接招、新信息、空间移动、角色下一步),不为过渡另补身体动作。句子内部同样要连,不要罗列:
|
|
417
375
|
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
| 对话场景 | 对方表情变化、语气停顿、空气里的沉默 |
|
|
424
|
-
| 回忆场景 | 画面中的某个细节突然清晰(气味/声音/触感) |
|
|
425
|
-
| 室内场景 | 光线变化、物品的位置、温度 |
|
|
426
|
-
| 移动场景 | 脚步声、地面的触感、风的方向 |
|
|
376
|
+
- **动作串分主次、带虚词**:一句里超过三个动作,用「就、才、又、便、却、倒、还、再、先……才」接出先后和因果,别写成逗号清单。❌「坛子挪到墙角,床板拿袖子擦了一遍,铺盖摊开。」✅「她先把坛子挪到墙角,拿袖子把床板擦了一遍,这才把铺盖摊开。」
|
|
377
|
+
- **少写没做的事**:「没A,也没B」「不A,也不B」一章至多一两处,写人物做了什么。❌「他没说让她住,也没说不让。」✅「他掀着帘子站了一会儿,一句话不说,进里间去了。」
|
|
378
|
+
- **对话带口气**:人物说话按身份、年纪、地方带「吧、呢、啊、嘛、哎」和口头的停顿,全章对话不能一个语气词都没有。
|
|
379
|
+
- **碎句留给重拍**:单独成行的短句只给章尾、反转、情绪峰值;盘算、过渡写成连贯的一句。
|
|
380
|
+
- **比喻用中文现成的说法**,不造「嗓门比香味还亮」这类跨感官新搭配。
|
|
427
381
|
|
|
428
382
|
### 三维度的边界
|
|
429
383
|
|
|
@@ -438,7 +392,7 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
438
392
|
|
|
439
393
|
### 规则
|
|
440
394
|
|
|
441
|
-
|
|
395
|
+
标点承担语气、权力关系和情绪起落,不能当装饰。写正文时先判断“这句话在场景里做什么”,再决定用句号、逗号、问号、感叹号、冒号或换行/动作;不再用省略号和破折号制造停顿。
|
|
442
396
|
|
|
443
397
|
### 标点谱系
|
|
444
398
|
|
|
@@ -453,7 +407,7 @@ IF 主事件是一连串动作 → 加「递进」:动作引发的连锁反应
|
|
|
453
407
|
|
|
454
408
|
### 执行步骤
|
|
455
409
|
|
|
456
|
-
1.
|
|
410
|
+
1. 读本场景目标情绪和角色声线,给每个关键对话回合标一类语气(压迫/试探/爆发/迟疑/被打断)。
|
|
457
411
|
2. 精修时扫一遍句尾:如果一整段只剩句号,检查是否把质问、迟疑、爆点压平;如果满屏 `?`/`!`,删到只保留有功能的位置。
|
|
458
412
|
3. 正文(含对话)里的 `……`、`——`、`—`、`--` 都改成句号、逗号、短句、换行或动作断句。知乎盐言 `「」` 只是引号风格,不影响问号、感叹号的合法使用。
|
|
459
413
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 仅检查写作环境
|
|
2
2
|
|
|
3
|
-
用于 `story-setup check` 或「检查写作环境」「为什么 agent 不可用」等诊断请求。默认只读,完成报告后结束;不复制文件、修改配置、创建部署标记,也不运行部署、迁移或提交命令。用户已要求修复时,先列出发现,再按 `story-setup/SKILL.md`
|
|
3
|
+
用于 `story-setup check` 或「检查写作环境」「为什么 agent 不可用」等诊断请求。默认只读,完成报告后结束;不复制文件、修改配置、创建部署标记,也不运行部署、迁移或提交命令。用户已要求修复时,先列出发现,再按 `story-setup/SKILL.md` 的原有部署流程与对应宿主的 `references/deploy-*.md` 处理。
|
|
4
4
|
|
|
5
5
|
## 1. 确定检查对象
|
|
6
6
|
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
## 2. 复用部署验证
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
以每个目标端对应的 `references/deploy-{target_cli}.md` 里的「部署清单」与「验证」为准(只读目标端那几份),加上 `story-setup/SKILL.md` Phase 3 的部署标记检查,逐项读取目标文件并执行只读校验。不要维护另一份 skill 名称、数量、agent 路径或 hooks 事件清单。
|
|
14
14
|
|
|
15
15
|
- 区分安装的 skill 包和项目部署副本:Claude Code、Codex、OpenCode 的项目路径主要保存 agent、hooks 和参考资料,不要求在那里出现整套 `SKILL.md`。其他端按各自部署清单检查;skills-only 端没有原生 agents/hooks 是预期行为。
|
|
16
16
|
- 参考资料按源目录的相对文件列表逐一核对,包含子目录;只看目录非空或文件数量相同不足以证明完整。源包不可用或源与目标是同一份时,说明无法独立验证完整性,不把它判为通过。
|
|
17
|
-
- 检查 hooks
|
|
17
|
+
- 检查 hooks 的配置注册与脚本依赖,不仅检查文件存在;采用各部署文件「验证」中的语法、解析和注册校验,不主动运行可能写入项目的 hook。
|
|
18
18
|
- 文件存在只能说明部署文件就绪。当前会话是否加载了 custom agents、hooks 是否已信任,结合宿主实际暴露的能力和可见状态判断;无法确认时记为「未验证」,不要仅因文件存在就宣称可调用,也不要为体检启动写作任务。
|
|
19
19
|
|
|
20
20
|
## 3. 运行环境与追踪
|
|
@@ -33,6 +33,6 @@
|
|
|
33
33
|
|
|
34
34
|
## 4. 报告与后续
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
读者是不懂编程的作者。报告先用写书的话写两段:「现在能用什么」(正常可用的写作能力,一句话概括)和「需要你做什么」(逐条可照做,如「新开一个会话」「在 Codex 里打开 /hooks 信任一下」;没有就写「无需操作」),这两段不出现脚本名、字段名、状态名或文件路径。之后才按「发现的问题」「未验证项」汇总技术明细,每项给出目标端或书目、文件路径/命令结果、具体影响和下一步;正常结果合并概述,skills-only 的预期限制不渲染成安装失败。结论限定为本次实际检查的范围,不承诺所有写作能力都已验证。
|
|
37
37
|
|
|
38
38
|
需要补部署文件时建议重跑 `story-setup`;源包本身缺失或比项目旧时先更新源包,再部署;当前会话未加载能力时提示新开会话或完成该 CLI 的信任步骤。仅检查请求到此结束,不为了消除告警自行执行修复。
|