@oh-story/dsh 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/cordis.patch.yml +3 -0
- package/lib/client.js +1201 -0
- package/lib/client.js.map +7 -0
- package/lib/drama/LICENSE.upstream +21 -0
- package/lib/drama/manifest.json +1012 -0
- package/lib/drama/skills/short-drama/SKILL.md +153 -0
- package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
- package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
- package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- 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 +74 -0
- 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 +79 -0
- package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- 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 +72 -0
- package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
- package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
- package/lib/drama/skills/short-drama/references/look-development.md +52 -0
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
- package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
- package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
- package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
- package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
- package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
- package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
- package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
- package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
- package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
- package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
- package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
- package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
- package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
- package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
- package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
- package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
- package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
- package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
- package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
- package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
- package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
- package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
- package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
- package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
- package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
- package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
- package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
- package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
- package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
- package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
- package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
- package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/lib/index.js +756 -0
- package/lib/index.js.map +7 -0
- package/lib/oh-story/LICENSE.upstream +21 -0
- package/lib/oh-story/manifest.json +1351 -0
- package/lib/oh-story/roles/chapter-extractor.md +314 -0
- package/lib/oh-story/roles/character-designer.md +169 -0
- package/lib/oh-story/roles/consistency-checker.md +190 -0
- package/lib/oh-story/roles/narrative-writer.md +294 -0
- package/lib/oh-story/roles/story-architect.md +195 -0
- package/lib/oh-story/roles/story-explorer.md +364 -0
- package/lib/oh-story/roles/story-researcher.md +304 -0
- package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
- package/lib/oh-story/skills/story/SKILL.md +116 -0
- package/lib/oh-story/skills/story/VERSION +1 -0
- package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
- package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
- package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-import/SKILL.md +634 -0
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
- package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
- package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
- package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
- package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
- package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
- package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
- package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
- package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +53 -0
- 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 +53 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
- package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
- package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
- package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-review/SKILL.md +483 -0
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +53 -0
- 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 +51 -0
- 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 +53 -0
- 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 +53 -0
- 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 +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
- package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
- package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
- package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
- package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -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 +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
- 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 +210 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
- package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
- package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
- package/lib/types/client/file-activity.d.ts +30 -0
- package/lib/types/client/file-activity.d.ts.map +1 -0
- package/lib/types/client/file-tree.d.ts +20 -0
- package/lib/types/client/file-tree.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +12 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/jsonl-preview.d.ts +15 -0
- package/lib/types/client/jsonl-preview.d.ts.map +1 -0
- package/lib/types/client/markdown-preview.d.ts +38 -0
- package/lib/types/client/markdown-preview.d.ts.map +1 -0
- package/lib/types/index.d.ts +25 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/native-hooks.d.ts +16 -0
- package/lib/types/native-hooks.d.ts.map +1 -0
- package/lib/types/role-provider.d.ts +6 -0
- package/lib/types/role-provider.d.ts.map +1 -0
- package/lib/types/role-tool.d.ts +10 -0
- package/lib/types/role-tool.d.ts.map +1 -0
- package/lib/types/skill-provider.d.ts +15 -0
- package/lib/types/skill-provider.d.ts.map +1 -0
- package/lib/types/workspace-request-trust.d.ts +13 -0
- package/lib/types/workspace-request-trust.d.ts.map +1 -0
- package/lib/types/workspace-route.d.ts +10 -0
- package/lib/types/workspace-route.d.ts.map +1 -0
- package/lib/types/workspace-security.d.ts +9 -0
- package/lib/types/workspace-security.d.ts.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
# 情绪弧线操作手册
|
|
2
|
+
> 写故事时选弧线、控制节奏、调动情绪的速查操作手册。
|
|
3
|
+
|
|
4
|
+
## 决策路由表
|
|
5
|
+
|
|
6
|
+
| 你想写的情绪效果 | 选哪个弧线 | 关键要点 |
|
|
7
|
+
|------------------|-----------|----------|
|
|
8
|
+
| 虐完翻盘 | V 形 | 谷底 60-70%,治愈急速回升 |
|
|
9
|
+
| 甜完刀死(BE) | 倒 V 形 | 高点 40-50%,坠落比上升快 |
|
|
10
|
+
| 多反转猜不到 | W 形 | 每峰比前高,上限 3 起伏 |
|
|
11
|
+
| 层层打脸升级 | 递进形 | 无回落,像台阶往上 |
|
|
12
|
+
| 隐忍后大爆发 | 延迟满足 | 前 70-80% 铺垫,最后集中爆发 |
|
|
13
|
+
| 结尾颠覆 | 急转形 | 70-80% 处急转弯,前面线索要能回看说通 |
|
|
14
|
+
|
|
15
|
+
可叠加两种弧线(如"延迟满足 + 急转"),不超过两种。
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 六种弧线速查
|
|
20
|
+
|
|
21
|
+
### 一、V 形弧线(虐 -> 治愈)
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
情绪
|
|
25
|
+
10 | *
|
|
26
|
+
9 | / \
|
|
27
|
+
7 | / \
|
|
28
|
+
6 | / * 治愈高点
|
|
29
|
+
1 | * 虐谷底
|
|
30
|
+
+------------------> 进度
|
|
31
|
+
0% 40% 70% 100%
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
操作要点:
|
|
35
|
+
- 谷底放在 60-70%,治愈急速回升,结尾情绪必须高于起点
|
|
36
|
+
- 谷底要够深,转折要突然,治愈不拖,谷底停留 1-2 场景即转折
|
|
37
|
+
|
|
38
|
+
| 题材 | 虐的部分 | 治愈的部分 |
|
|
39
|
+
|------|----------|------------|
|
|
40
|
+
| 重生复仇 | 前世被虐 | 重来后翻盘 |
|
|
41
|
+
| 破镜重圆 | 分开的痛苦 | 重新在一起 |
|
|
42
|
+
| 亲情催泪 | 误解/亏欠 | 和解/明白真相 |
|
|
43
|
+
| 成长治愈 | 低谷遭遇 | 重新站起来 |
|
|
44
|
+
|
|
45
|
+
字数分配(12000 字):起始 10% -> 下沉 30% -> 谷底 15% -> 转折 10% -> 治愈上升 25% -> 高点收束 10%
|
|
46
|
+
|
|
47
|
+
### 二、倒 V 形弧线(爽 -> 反转 -> 低谷)
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
情绪
|
|
51
|
+
10 | *
|
|
52
|
+
5 | * \
|
|
53
|
+
1 | * BE 落点
|
|
54
|
+
+------------------> 进度
|
|
55
|
+
0% 30% 60% 100%
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
操作要点:
|
|
59
|
+
- 高点放在 40-50%,反转后急速下坠
|
|
60
|
+
- 坠落速度必须快于上升,BE 结尾不加糖
|
|
61
|
+
|
|
62
|
+
| 题材 | 爽的部分 | 坠落的部分 |
|
|
63
|
+
|------|----------|------------|
|
|
64
|
+
| BE 虐恋 | 甜蜜/幸福 | 真相/分离 |
|
|
65
|
+
| 职场翻车 | 升职/成功 | 发现是陷阱 |
|
|
66
|
+
| 友情背叛 | 亲密无间 | 背后的算计 |
|
|
67
|
+
| 信任崩塌 | 深信不疑 | 被欺骗的真相 |
|
|
68
|
+
|
|
69
|
+
字数分配(12000 字):起步 10% -> 上升 35% -> 顶点 10% -> 反转 5% -> 坠落 30% -> 低谷收束 10%
|
|
70
|
+
|
|
71
|
+
### 三、W 形弧线(多起伏)
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
情绪
|
|
75
|
+
10 | * *
|
|
76
|
+
5 | * \ /
|
|
77
|
+
4 | *
|
|
78
|
+
+--------------------> 进度
|
|
79
|
+
0% 20% 40% 60% 80% 100%
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
操作要点:
|
|
83
|
+
- 至少两个波峰一个波谷,通常三个起伏
|
|
84
|
+
- 每个峰必须比前一个高,最终峰在 80-90%
|
|
85
|
+
- 起伏之间必须有喘息空间,上限 3 个起伏
|
|
86
|
+
|
|
87
|
+
| 题材 | 说明 |
|
|
88
|
+
|------|------|
|
|
89
|
+
| 多反转悬疑 | 每次以为猜到了就再来一个反转 |
|
|
90
|
+
| 追妻火葬场 | 反复拉扯,每次以为和好了又出问题 |
|
|
91
|
+
| 商战博弈 | 你来我往,每次以为赢了又翻盘 |
|
|
92
|
+
|
|
93
|
+
字数分配(15000 字,3 起伏):起步+第1峰 25% -> 第1谷 10% -> 第2峰 25% -> 第2谷 10% -> 第3峰 20% -> 收束 10%
|
|
94
|
+
|
|
95
|
+
### 四、递进弧线(逐步升级)
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
情绪
|
|
99
|
+
10 | *
|
|
100
|
+
7 | * /
|
|
101
|
+
5 | * /
|
|
102
|
+
3 | * /
|
|
103
|
+
+--------------------> 进度
|
|
104
|
+
0% 25% 50% 75% 100%
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
操作要点:
|
|
108
|
+
- 不能有回落,像台阶一阶一阶往上
|
|
109
|
+
- 最高点在 85-95%,中间只给小胜利,不提前释放
|
|
110
|
+
|
|
111
|
+
| 题材 | 递进方式 |
|
|
112
|
+
|------|----------|
|
|
113
|
+
| 打脸爽文 | 一个一个打,每个比上一个狠 |
|
|
114
|
+
| 层层揭秘 | 真相一层比一层震撼 |
|
|
115
|
+
| 逆袭翻盘 | 每一步翻盘都比上一步大 |
|
|
116
|
+
|
|
117
|
+
字数分配(10000 字):压迫 20% -> 第1阶反击 20% -> 第2阶反击 25% -> 第3阶反击 25% -> 收束 10%
|
|
118
|
+
|
|
119
|
+
### 五、延迟满足弧线(长铺垫 -> 爆发)
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
情绪
|
|
123
|
+
10 | *
|
|
124
|
+
5 | *--------|
|
|
125
|
+
3 | *------ |
|
|
126
|
+
1 | *------ |
|
|
127
|
+
+-------------------------> 进度
|
|
128
|
+
0% 20% 40% 60% 80% 100%
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
操作要点:
|
|
132
|
+
- 前 70-80% 压制/铺垫,最后 20-30% 集中爆发
|
|
133
|
+
- 铺垫阶段每段必须有信息量和张力,不能无聊
|
|
134
|
+
- 压的方式要多样,爆发要密集,爆发后快收
|
|
135
|
+
|
|
136
|
+
| 题材 | 压的部分 | 爆发的部分 |
|
|
137
|
+
|------|----------|------------|
|
|
138
|
+
| 复仇爽文 | 隐忍、装弱、被欺压 | 一朝翻盘、全面清算 |
|
|
139
|
+
| 身份揭秘 | 隐藏实力/身份 | 真实身份曝光,全场震惊 |
|
|
140
|
+
| 长线布局 | 主角暗中操作 | 所有棋子同时落位 |
|
|
141
|
+
|
|
142
|
+
字数分配(12000 字):初始压制 20% -> 深层铺垫 25% -> 压力最大 15% -> 爆发触发 5% -> 集中爆发 25% -> 收束 10%
|
|
143
|
+
|
|
144
|
+
### 六、急转弧线(70-80% 处急转弯)
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
情绪
|
|
148
|
+
10 | * 急转后的新高/低点
|
|
149
|
+
8 | *--/
|
|
150
|
+
3 | /
|
|
151
|
+
+-------------------------> 进度
|
|
152
|
+
0% 30% 70% 80% 100%
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
操作要点:
|
|
156
|
+
- 前 70-80% 正常弧线,70-80% 处突然转向
|
|
157
|
+
- 急转只占 1-2 段,前面埋的线索回看时必须说得通
|
|
158
|
+
|
|
159
|
+
| 题材 | 前半段 | 急转后 |
|
|
160
|
+
|------|--------|--------|
|
|
161
|
+
| 细思极恐 | 温馨日常 | 恐怖真相浮现 |
|
|
162
|
+
| 身份错位 | A 视角叙事 | 其实是 B |
|
|
163
|
+
| 动机反转 | 以为是爱 | 其实是恨/利用 |
|
|
164
|
+
|
|
165
|
+
字数分配(10000 字):建立假象 35% -> 推高假象 30% -> 假象高点 10% -> 急转 5% -> 真相展开 15% -> 新情绪收束 5%
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 中段加压四手段
|
|
170
|
+
|
|
171
|
+
1. **公开升级**:把私下伤害搬到公开场合(家宴、公司会议、直播、典礼)
|
|
172
|
+
2. **双重背叛**:已知一层背叛后再加一层(经济背叛、名誉背叛、立场反转、证据篡改)
|
|
173
|
+
3. **代价加速**:不行动的代价不断升高(失去机会、当众羞辱、连累他人)
|
|
174
|
+
4. **战略性沉默**:主角暂不反击,沉默本身持续加压(他人误读、反派更放肆)
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 题材赛道策略
|
|
179
|
+
|
|
180
|
+
| 赛道 | 最佳爽点 | 中段重点 | 结尾偏好 |
|
|
181
|
+
|------|----------|----------|----------|
|
|
182
|
+
| 婚恋/追妻火葬场 | 开篇羞辱->公开反杀->渣男后悔->身份翻盘 | 公开/私下反差、代价升级、至少一个 mini-payoff | 静默优越、社会地位反转 |
|
|
183
|
+
| 家庭伦理/亲情 | 高压现实场景、家人背叛断裂感 | 层层施压、道德绑架、一次拒绝兜底 | 边界清晰、脱离旧结构 |
|
|
184
|
+
| 都市逆袭/职场 | 被轻视->展现实力->身份揭露 | 能力被低估但持续展示、关键场合意外表现 | 身份真相大白、对手代价可视 |
|
|
185
|
+
| 悬疑反转 | 反常事实->层层剥开->颠覆认知 | 每层揭露引发新问题、至少一次"以为找到了但不是" | 真相一击(最后一句话重构全篇) |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 期待感管理六法则
|
|
190
|
+
|
|
191
|
+
1. **期待最大化定律**:爽点到来前那一刻是全篇张力最高位置。将满足而未满足时,读者需求最大。
|
|
192
|
+
2. **信息顺序操纵**:先植入什么信息,读者就先入为主往哪个方向想。控制信息顺序 = 控制读者预期。
|
|
193
|
+
3. **期待递增法**:在基底期待上不断添加细节,注入更具体化的需求缺口。添加的细节必须与核心梗一致。
|
|
194
|
+
4. **断期待禁止**:下一个期待立起来之前,绝不能结束当前期待。旧期待即将兑现时,新期待的种子必须已种下。
|
|
195
|
+
5. **下行情节安全原则**:写情绪下行时,锅都是别人的,功都是主角的。下行中必须给读者安全感(可能的解法/潜在收获)。
|
|
196
|
+
6. **爽点递增对比**:连续爽点逐级递增。维度:影响范围(个人->群体->社会)、揭示深度(表象->本质->颠覆)、身份落差(路人->大佬->全场震惊)。
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 情绪核心公式
|
|
201
|
+
|
|
202
|
+
写每个场景时分离三层情绪:
|
|
203
|
+
1. 角色自己的情绪(角色感受到的)
|
|
204
|
+
2. 文本传递的情绪(文本要让读者感受的)
|
|
205
|
+
3. 读者实际感受的情绪(读者真正的体验)
|
|
206
|
+
|
|
207
|
+
同一场景三层可以完全不同:角色在哭,文本在撩,读者在爽。
|
|
208
|
+
|
|
209
|
+
例:女主当众被退婚,强忍着没掉泪——角色:屈辱;文本写她嘴角还挂着笑(角色:撑);读者替她憋着、等后面打脸(读者:爽前蓄力)。
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 前反应-复现-后反应情绪结构
|
|
214
|
+
|
|
215
|
+
用于虐/悲壮/遗憾类场景。按顺序执行三步:
|
|
216
|
+
|
|
217
|
+
1. **前反应**:让读者提前知道坏结果,然后描写美好事物(读者预知法)
|
|
218
|
+
2. **复现**:让坏结果真的发生
|
|
219
|
+
3. **后反应**:主角真情流露,作出改变(愤怒/拼命/振作)
|
|
220
|
+
|
|
221
|
+
操作示例:知道某人一天后要死 -> 让她经历美好(逛街、看烟花) -> 她真的死了 -> 主角愤怒拼命
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 以小搏大情绪结构
|
|
226
|
+
|
|
227
|
+
用于热血/逆袭类场景。按顺序执行四步:
|
|
228
|
+
|
|
229
|
+
1. **前反应**:铺垫弱者的苦,用对比强化(现在的弱 vs 以前的强)
|
|
230
|
+
2. **复现**:强者到来,"我知道你们苦,我来了"
|
|
231
|
+
3. **后反应**:弱势方被拯救
|
|
232
|
+
4. **士气如虹**:整体气势转变
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## 冲突中的情绪层次与死亡赌注
|
|
237
|
+
|
|
238
|
+
### 选择死亡赌注
|
|
239
|
+
|
|
240
|
+
| 赌注类型 | 适用场景 | 操作要点 |
|
|
241
|
+
|----------|----------|----------|
|
|
242
|
+
| 肉体死亡 | 恐怖诡异文 | 主角过强时赌注必须转为事业死亡,否则全书崩溃 |
|
|
243
|
+
| 事业死亡 | 职场竞争、修仙门派争斗 | 失败 = 一切归零 |
|
|
244
|
+
| 心理死亡 | 感情崩塌、信念毁灭 | 情绪冲击最深,优先用于感情线 |
|
|
245
|
+
|
|
246
|
+
选一种作为主要赌注贯穿全书,其他辅助推动情节。
|
|
247
|
+
|
|
248
|
+
### 用黏结剂维持张力
|
|
249
|
+
|
|
250
|
+
对立双方必须无法轻易脱身。四种黏结剂:杀人理由(序列唯一性必然冲突)、工作职责、道德责任(亲人遇险)、实体场所(副本密室)。
|
|
251
|
+
|
|
252
|
+
### 长线维护规则
|
|
253
|
+
|
|
254
|
+
- 第一卷结局不能太圆满——完美解决会杀死后续追读动力
|
|
255
|
+
- 解决一个麻烦的同时必须埋下下一个麻烦
|
|
256
|
+
- 越到后期,情绪张力必须越大
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## 基于不该如此的情绪驱动
|
|
261
|
+
|
|
262
|
+
- "不该如此"是最根本的情绪驱动力——写诬告、不公、恃强凌弱,读者天生生出"不该如此"的念头
|
|
263
|
+
- 核心情绪逻辑:想要爽,必先不爽;想要公平,必先不公平;想要强大,必先不强大
|
|
264
|
+
- "悬而未决"也是强驱动力
|
|
265
|
+
- 好的题材必须具备勾起人们惋惜、渴望改变的特质
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## 理念矛盾的情感爆发力
|
|
270
|
+
|
|
271
|
+
- 理念之争比利益之争更能引发读者深层共鸣
|
|
272
|
+
- 少量关键场景即可,不需要大量笔墨
|
|
273
|
+
- 理想主义与现实的冲突是塑造配角封神级人设的手法
|
|
274
|
+
- 理念认同 = 人设认同 = 读者情感投入
|
|
275
|
+
- 在主线中穿插理念型角色,用他们的追求和牺牲拔高全书情绪上限
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 情绪调动的三层方法
|
|
280
|
+
|
|
281
|
+
三层:**长期感情投入**、**短期事件冲突**、**场景描绘**。三者可叠加,核心是前两层。
|
|
282
|
+
|
|
283
|
+
### 长期引导三步骤
|
|
284
|
+
|
|
285
|
+
1. **抛出共鸣炸弹**:找到角色最易引发共鸣的情感锚点(梦想、仇恨、恐惧)
|
|
286
|
+
2. **让读者变见证者**:展示角色付出和挣扎,每一步伴随收获
|
|
287
|
+
3. **让读者变参与者**:通过足够铺垫和细节,产生命运共同体感
|
|
288
|
+
|
|
289
|
+
### 短期情绪引导
|
|
290
|
+
|
|
291
|
+
短期靠独立事件冲突。**直白冲突比繁杂情节更容易引起共鸣**。
|
|
292
|
+
|
|
293
|
+
两种事件类型:
|
|
294
|
+
- **推动情节发展的事件**:让读者对角色处境产生认同
|
|
295
|
+
- **塑造人物性格的事件**:让读者对角色思想性格产生认同
|
|
296
|
+
|
|
297
|
+
开篇必须选择塑造人物性格的事件——先认同角色这个人才关心角色的事。
|
|
298
|
+
|
|
299
|
+
### 情绪代入的陷阱
|
|
300
|
+
|
|
301
|
+
读者未代入主角前:主角弱势可以引起同情,但**敌人弱势也同样引起同情**。读者还没建立认同时,不要把对手写得可怜。
|
|
302
|
+
|
|
303
|
+
### 情绪文笔技法
|
|
304
|
+
|
|
305
|
+
- **句长跟着情绪和节奏走**:紧张、决断处用短句提速,铺垫、沉淀处用长句蓄势;短句是提速工具,不是默认底色,别通篇拆短
|
|
306
|
+
- **情绪词**:骤然、猛然、刺眼——制造紧迫感
|
|
307
|
+
- **动作词**:抽、划、留下——画面感强,情绪外化
|
|
308
|
+
- **修饰词**:精准克制地使用形容词,不堆砌
|
|
309
|
+
- **进阶规则**:优先通过角色行为暗示情绪,而非直接描写(非硬性,必要的内心可以直写,别为外化堆无功能的小动作)。**以乐写悲**:角色在最悲伤时表现开心,情绪张力更强(赴死的人很开心,往往比哭更悲)
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 男频恋爱文情绪设计
|
|
314
|
+
|
|
315
|
+
### 两大核心需求
|
|
316
|
+
|
|
317
|
+
- **情绪价值**:读者缺爱,小说中漂亮优秀女生欣赏自己,填补情感空缺
|
|
318
|
+
- **自尊价值**:带校花/女总裁出场,旁人羡慕嫉妒恨
|
|
319
|
+
|
|
320
|
+
### 恋爱当升级文写
|
|
321
|
+
|
|
322
|
+
- 设定"好感度进度条"(路人->好人->朋友->喜欢不自知->...)
|
|
323
|
+
- 暧昧拉扯的过程通常比在一起的结果更吸引读者
|
|
324
|
+
- 制造内外部阻碍阻拦两人走到一起,通过克服阻碍加深感情
|
|
325
|
+
|
|
326
|
+
### 感情升级的不对称性
|
|
327
|
+
|
|
328
|
+
两条进度线不能齐头并进:
|
|
329
|
+
- **情感快于社会关系**:双方好感早已拉满但嘴硬不表白
|
|
330
|
+
- **社会关系快于情感**:穿越自带老婆/未婚妻,好感为零需逐步提升
|
|
331
|
+
|
|
332
|
+
### 关键禁忌与技巧
|
|
333
|
+
|
|
334
|
+
- 男主不要主动追求,不要舔狗——用自身优秀品质吸引女主注意
|
|
335
|
+
- 事业线不可或缺,女主对主角事业起积极作用
|
|
336
|
+
- 要写女主对主角好,根据人设设计付出方式(自卑型偷偷塞丹药、傲娇型嘴硬做便当、直率型大方送礼物)
|
|
337
|
+
- **对比法**:时间线对比(前后态度变化)+ 双标(对别人 vs 对主角)
|
|
338
|
+
- **信息差拉期待**:双重身份(网络身份 vs 现实身份),读者期待揭穿马甲时的反应
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 情绪调动统一视角
|
|
343
|
+
|
|
344
|
+
> 写完一段觉得不到位 / 读者反馈平淡时使用。
|
|
345
|
+
|
|
346
|
+
### 终极公式
|
|
347
|
+
|
|
348
|
+
**平静 -> 调动 -> 释放 -> 爽**
|
|
349
|
+
|
|
350
|
+
| 技法 | 调动 | 释放 | 结果 |
|
|
351
|
+
|------|------|------|------|
|
|
352
|
+
| 装逼打脸 | 反派嚣张 | 主角碾压 | 爽 |
|
|
353
|
+
| 拉仇恨 | 负面情绪 | 恶人受罚 | 爽 |
|
|
354
|
+
| 先抑后扬 | 打压 | 爆发 | 爽 |
|
|
355
|
+
| 期待感 | 制造鸿沟 | 弥合鸿沟 | 爽 |
|
|
356
|
+
|
|
357
|
+
### 实操要点
|
|
358
|
+
|
|
359
|
+
- 每个场景标注:读者当前情绪在哪个阶段;下一步是调动还是释放。
|
|
360
|
+
- 只有调动没有释放 = 读者憋屈弃书
|
|
361
|
+
- 只有释放没有调动 = 爽感平淡无力
|
|
362
|
+
- 调动程度决定释放爽度:仇恨拉多满,打脸就多爽
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## 期待感维持的底层机制
|
|
367
|
+
|
|
368
|
+
> 写了目标但读者不关心 / 六法则用了但效果不好时使用。
|
|
369
|
+
|
|
370
|
+
### 期待感 vs 目标
|
|
371
|
+
|
|
372
|
+
- **目标** = 角色要做什么(找到宝物、打败魔王)
|
|
373
|
+
- **期待感** = 读者对目标达成后会怎样的预期
|
|
374
|
+
- 有目标无期待 = 读者不在乎结果,必须把目标转化为期待
|
|
375
|
+
|
|
376
|
+
### 确定型 vs 不确定型期待
|
|
377
|
+
|
|
378
|
+
- **确定型**(爽文):读者知道主角会赢,写"怎么赢"(过程创意 > 结果悬念)
|
|
379
|
+
- **不确定型**(悬疑):读者不知道结果(结果悬念 > 过程体验)
|
|
380
|
+
- 爽文不怕"剧透"——因为期待在过程不在结果
|
|
381
|
+
|
|
382
|
+
### 悬念的开环与闭环
|
|
383
|
+
|
|
384
|
+
- **开环** = 制造鸿沟(提出问题/悬念)
|
|
385
|
+
- **闭环** = 弥合鸿沟(回答问题/揭晓)
|
|
386
|
+
- **嵌套开环** = 闭环一个期待的同时开启新的(维持阅读连续性)
|
|
387
|
+
- 规则:闭环一个期待时,必须已有下一个开环在运行
|
|
388
|
+
|
|
389
|
+
### 感情线的鸿沟
|
|
390
|
+
|
|
391
|
+
感情线没有阻碍 = 没有期待 = 白给 = 无意义。必须设置鸿沟。
|
|
392
|
+
|
|
393
|
+
鸿沟来源:身份差距、家族反对、误会、使命冲突。
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
397
|
+
## 质量检查清单
|
|
398
|
+
|
|
399
|
+
写完情绪弧线后逐项检查:
|
|
400
|
+
|
|
401
|
+
### 弧线选择与节奏
|
|
402
|
+
- [ ] 弧线类型是否匹配你想写的情绪效果?(对照决策路由表)
|
|
403
|
+
- [ ] 关键转折点是否在正确的进度位置?(V形谷底60-70%、倒V高点40-50%、急转70-80%)
|
|
404
|
+
- [ ] 字数分配是否符合所选弧线的比例要求?
|
|
405
|
+
|
|
406
|
+
### 调动与释放
|
|
407
|
+
- [ ] 每个场景是否清楚当前是"调动"还是"释放"阶段?
|
|
408
|
+
- [ ] 是否存在只有调动没有释放的段落?(会憋屈弃书)
|
|
409
|
+
- [ ] 是否存在只有释放没有调动的段落?(爽感平淡)
|
|
410
|
+
- [ ] 连续爽点是否逐级递增?(影响范围/揭示深度/身份落差)
|
|
411
|
+
|
|
412
|
+
### 期待感
|
|
413
|
+
- [ ] 每个目标是否已转化为读者期待?
|
|
414
|
+
- [ ] 闭环一个期待时,下一个开环是否已在运行?(断期待禁止)
|
|
415
|
+
- [ ] 感情线是否设置了阻碍?(无阻碍 = 无期待)
|
|
416
|
+
|
|
417
|
+
### 情绪代入
|
|
418
|
+
- [ ] 开篇是否用了塑造人物性格的事件?(先认同人,再关心事)
|
|
419
|
+
- [ ] 读者未代入主角前,是否避免了把对手写得可怜?
|
|
420
|
+
- [ ] 下行情节中是否给了读者安全感?(锅是别人的,功是主角的)
|
|
421
|
+
|
|
422
|
+
### 长线维护
|
|
423
|
+
- [ ] 解决一个麻烦时是否同时埋下了下一个麻烦?
|
|
424
|
+
- [ ] 越到后期情绪张力是否越大?
|
|
425
|
+
- [ ] 死亡赌注是否选了一种贯穿全书?
|
|
426
|
+
- [ ] 对立双方是否有黏结剂无法轻易脱身?
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# 情感设计方法:三板斧 + 拉扯节奏 + 失败模式
|
|
2
|
+
|
|
3
|
+
> 设计情感桥段时加载。先用下方通用长篇单元情绪引擎规划因果链;三板斧只在适用场景中作为可选技法。
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 长篇单元情绪引擎(通用正向框架)
|
|
8
|
+
|
|
9
|
+
每个剧情单元先设计能制造情绪与兑现的**正向发动机**,再做安全审查:
|
|
10
|
+
|
|
11
|
+
> **核心情绪命题 → 承载对象/情绪缺口 → 受阻或缺口维持原因 → 本轮触发 → 主角不可替代的点火/转化动作 → 意义变化或可见兑现 → 题材/契约兑现**
|
|
12
|
+
|
|
13
|
+
这条因果链适用于爽、燃、甜、虐、恐、治愈等不同核心情绪。承载对象可以是人物、关系、目标、规则或场景;不适用的环节可写“无/即时”,但必须保持因果闭合。它不要求每个题材都有长期受阻、最终画面或克制反应,也不规定单一机制:误解、物件、反转、死亡等都不是必备项。下文“情感虐心三板斧”是适合部分情感题材的**可选技法**,不是通用引擎的硬模板。
|
|
14
|
+
|
|
15
|
+
### 正向发动机与负向护栏的顺序
|
|
16
|
+
|
|
17
|
+
1. **先设计正向发动机**:明确读者会为什么投入,本轮如何让这份投入改变意义并得到可见兑现。
|
|
18
|
+
2. **后用主角代理权/成长负向护栏诊断**:以 `reader-contract-and-progression.md` 的因果权 + 结算权、期待所有权与终局储备排查契约/推进失败。“安全”只代表没踩红线,不代表好看;护栏不能代替情绪发动机。
|
|
19
|
+
|
|
20
|
+
### 合理性五问
|
|
21
|
+
|
|
22
|
+
1. 为何是该承载对象?
|
|
23
|
+
2. 为何是现在?
|
|
24
|
+
3. 为什么没有被直接解决 / 为何此前仍悬置?
|
|
25
|
+
4. 主角凭什么介入/转化?
|
|
26
|
+
5. 现实/设定边界如何约束?
|
|
27
|
+
|
|
28
|
+
五问用来截住巧合式工具人、为推情节而突然变蠢的机构,以及事后补一段说明的解释补丁。
|
|
29
|
+
|
|
30
|
+
### 强度原则
|
|
31
|
+
|
|
32
|
+
强情绪来自**具体投入、受阻/延迟、意义变化、可信反应等机制按题材组合**,不要求全部出现,也不来自堆叠死亡、疾病和哭喊。克制反应只是部分情绪的可选放大器。物件、对话、动作、身份、规则、关系都可作为可选锚点;锚点频率随篇幅和读者记忆需求调整,从不强制重复三次。集体或价值抬升也是可选的;只在题材需要时,才由个体兑现扩展到题材核心情绪。
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 决策路由
|
|
37
|
+
|
|
38
|
+
| 你的情感设计场景是 | 用这个策略 | 跳转到 |
|
|
39
|
+
|---------------|-----------|----------|
|
|
40
|
+
| 规划长篇剧情单元的情绪引擎 | 通用长篇单元情绪引擎 | 长篇单元情绪引擎 |
|
|
41
|
+
| 建立角色羁绊(让读者相信关系) | 羁绊铺设(第一斧) | 三板斧 §1 |
|
|
42
|
+
| 制造情感撕裂(反差/错位/背叛) | 情感撕裂(第二斧) | 三板斧 §2 |
|
|
43
|
+
| 写结尾余韵(安静细节击穿读者) | 余韵钝痛(第三斧) | 三板斧 §3 |
|
|
44
|
+
| 规划整体情感节奏曲线 | 拉扯节奏设计 | 拉扯节奏 |
|
|
45
|
+
| 不同题材的情感策略选择 | 题材策略差异 | 按题材 |
|
|
46
|
+
| 检查情感设计是否有效 | 失败模式排查 + 快速自查 | 底部清单 |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 情感虐心三板斧
|
|
51
|
+
|
|
52
|
+
### 第一斧:羁绊铺设(前 1/3)
|
|
53
|
+
|
|
54
|
+
**目标**:用具体物件/数字/细节建立关系质感,让读者相信这段关系是真实的。
|
|
55
|
+
|
|
56
|
+
**方法**:
|
|
57
|
+
- 用具体数字建立时间感:「相恋八年」「昏迷五年」「七年光景」
|
|
58
|
+
- 用具体物件承载感情:金锁(姐姐的生日礼物)、账本数字(还债记录)、木头小马(父王磨的)
|
|
59
|
+
- 用重复动作建立习惯:每天一碗粥、每两周来看一次、每年冬天冻得睡不着
|
|
60
|
+
|
|
61
|
+
**案例**:
|
|
62
|
+
- 《迟来二十年》:用二十年的账本数字(八万块)建立母女关系的重量
|
|
63
|
+
- 《我在佛前求你》:昏迷五年、求神拜佛的细节、从初中开始的暗恋
|
|
64
|
+
- 《皇弟欺负幼子》:七年质子生涯的具体苦难(跪雪地、挨巴掌、吃馊饭)
|
|
65
|
+
|
|
66
|
+
**核心**:羁绊越具体,后面的撕裂越痛。不要用「他们很相爱」这种抽象描述。
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### 第二斧:情感撕裂(中后段)
|
|
71
|
+
|
|
72
|
+
**目标**:制造反差,让读者以为恨对了 → 发现恨错了(或反过来)。
|
|
73
|
+
|
|
74
|
+
**方法**:
|
|
75
|
+
- **反差法**:先展示温暖一面,再用残酷真相击碎
|
|
76
|
+
- **错位法**:角色 A 以为在保护角色 B,实际上在伤害
|
|
77
|
+
- **延迟真相法**:关键信息在读者最不期待的时候揭示
|
|
78
|
+
|
|
79
|
+
**案例**:
|
|
80
|
+
- 《姐夫捎路要奶粉钱》:妈妈表面软弱可怜,实际一直操控姐姐索取钱财 → 金锁是假的(金包铜)→ 反差撕裂
|
|
81
|
+
- 《皇弟欺负幼子》:王氏表面温柔(送手炉、煎汤药)→ 实际下药逼疯先皇后 → 用诛心话逼死
|
|
82
|
+
- 《重生弟弟》:弟弟深爱女友 → 女友是诈骗犯 → 怀孕是假的 → 被骗到电诈园区
|
|
83
|
+
|
|
84
|
+
**核心**:撕裂的力度取决于铺垫的厚度。没有好的羁绊铺设,撕裂就是无根之木。
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
### 第三斧:余韵钝痛(结尾)
|
|
89
|
+
|
|
90
|
+
**目标**:不用大哭大闹,用安静细节击穿读者防线。
|
|
91
|
+
|
|
92
|
+
**方法**:
|
|
93
|
+
- 用日常动作承载巨大情感:继续喂粥、把衣服叠好、不回头
|
|
94
|
+
- 用物件细节制造余韵:坏掉的金锁、木头小马、沾血的戒指
|
|
95
|
+
- 用「不」制造留白:不解释、不回头、不流泪
|
|
96
|
+
|
|
97
|
+
**案例**:
|
|
98
|
+
- 《皇弟欺负幼子》:「他拿着那匹被我磨得很光滑的木头小马……他握着正好。」
|
|
99
|
+
- 《姐夫捎路要奶粉钱》:「我的手机清净了不少。那些困扰我很久的麻烦,在一瞬间变得很小很小。」
|
|
100
|
+
- 《准儿媳打分》:「办了收养手续后,她第一次踏进这个陌生的家……我知道,这一次我没选错。」
|
|
101
|
+
|
|
102
|
+
**核心**:最好的余韵不靠大哭,靠「看完之后很久都忘不掉」。
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 情感拉扯节奏设计
|
|
107
|
+
|
|
108
|
+
### 基本节奏曲线
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
温暖 → 残忍 → 善意 → 真相 → 原谅 → 来不及 → 释然 → 细节暴击
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
不是所有故事都走完整曲线。按题材选择子集:
|
|
115
|
+
|
|
116
|
+
| 题材 | 典型节奏 | 核心拉扯 |
|
|
117
|
+
|------|----------|----------|
|
|
118
|
+
| 世情/爽文 | 欺压 → 忍耐 → 爆发 → 打脸 | 情绪反弹快、打脸密度高 |
|
|
119
|
+
| 情感/虐心 | 甜蜜 → 破碎 → 挽回 → 错过 | 慢铺垫、后劲大 |
|
|
120
|
+
| 古言/复仇 | 隐忍 → 布局 → 揭穿 → 报应 | 设定简洁、暴力美学 |
|
|
121
|
+
| 悬疑/推理 | 平静 → 不安 → 真相 → 震惊 | 信息差制造不安 |
|
|
122
|
+
| 年代/亲情 | 误解 → 冲突 → 真相 → 和解 | 代际冲突、时代质感 |
|
|
123
|
+
|
|
124
|
+
### 拉扯原则
|
|
125
|
+
|
|
126
|
+
1. **情绪转向频率是题材与篇幅经验法则**:结合题材、篇幅和既有兑现节奏调整,不固定要求每 3-5 个小节转向
|
|
127
|
+
2. **每次转向都要有触发事件**(不能无理由地改变情绪)
|
|
128
|
+
3. **最后一次转向决定结尾余韵的基调**
|
|
129
|
+
4. **爽文允许快速反弹,虐文需要更长铺垫**
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 按题材的情感策略差异
|
|
134
|
+
|
|
135
|
+
### 世情/爽文
|
|
136
|
+
|
|
137
|
+
- 情绪反弹速度:快(受辱后 2-3 节内打脸)
|
|
138
|
+
- 打脸密度:每 3-5 节一次
|
|
139
|
+
- 反派嚣张度:递增(第一次小嚣张,最后一次大嚣张)
|
|
140
|
+
- 结尾基调:痛快、解气
|
|
141
|
+
- 案例:《准儿媳打分》— 打分制反制、铁盒零分、断绝关系
|
|
142
|
+
|
|
143
|
+
### 情感/虐心
|
|
144
|
+
|
|
145
|
+
- 羁绊细节密度:高(前 1/3 必须建立深厚羁绊)
|
|
146
|
+
- 反差设计:先暖后冷,先甜后苦
|
|
147
|
+
- 余韵技法:安静结尾 + 物件细节
|
|
148
|
+
- 结尾基调:意难平、释然
|
|
149
|
+
- 案例:《姐夫捎路要奶粉钱》— 金锁真相 → 假爱 → 独立
|
|
150
|
+
|
|
151
|
+
### 古言/复仇
|
|
152
|
+
|
|
153
|
+
- 设定简洁原则:人物关系清晰,不搞复杂世界观
|
|
154
|
+
- 暴力美学写法:打脸要直接,不拖泥带水
|
|
155
|
+
- 底牌时机:最后 1/4 揭示最大底牌
|
|
156
|
+
- 结尾基调:大快人心、因果报应
|
|
157
|
+
- 案例:《皇弟欺负幼子》— 一声令下打二十棍 → 查出真相 → 废后
|
|
158
|
+
|
|
159
|
+
### 悬疑/推理
|
|
160
|
+
|
|
161
|
+
- 信息差布局:读者知道角色不知道,或反过来
|
|
162
|
+
- 排除法结构:逐步排除可能性,最后只剩真相
|
|
163
|
+
- 动机揭示节奏:先揭示做了什么,再揭示为什么做
|
|
164
|
+
- 结尾基调:细思极恐、原来如此
|
|
165
|
+
- 案例:《重生弟弟》— 重生设定 + 诈骗犯身份 + 电诈园区
|
|
166
|
+
|
|
167
|
+
### 年代/亲情
|
|
168
|
+
|
|
169
|
+
- 代际冲突处理:不站队,展示双方的苦
|
|
170
|
+
- 时代细节质感:用时代特有的物件/习俗建立质感
|
|
171
|
+
- 和解节奏:不急和解,先让双方充分受伤
|
|
172
|
+
- 结尾基调:温暖中带着遗憾
|
|
173
|
+
- 案例:《姐夫捎路要奶粉钱》— 亲子关系 → 金锁真相 → 断裂
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## 常见失败模式
|
|
178
|
+
|
|
179
|
+
| 失败模式 | 识别方法 | 修正方向 |
|
|
180
|
+
|----------|----------|----------|
|
|
181
|
+
| **太平** | 连续 5+ 节没有情绪转折 | 插入意外事件或新信息 |
|
|
182
|
+
| **太赶** | 重大转折缺少可辨认的铺垫 | 按转折重量与篇幅给予足够且可辨认的铺垫,不固定三节 |
|
|
183
|
+
| **假虐** | 读者不心疼,只是看着难受 | 检查羁绊铺设是否具体 |
|
|
184
|
+
| **割裂** | 前半部分和后半部分像两篇不同的故事 | 用伏笔/物件/主题贯穿 |
|
|
185
|
+
| **烂尾** | 反转后仍长时间重复交代 | 按题材与篇幅适配的速度收束或冷却,不固定五百字 |
|
|
186
|
+
| **人设崩** | 角色在关键时刻的行为不符合前面的人设 | 回顾人设,确保行为逻辑一致 |
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 快速自查
|
|
191
|
+
|
|
192
|
+
设计情感时,用这个清单:
|
|
193
|
+
|
|
194
|
+
- [ ] 前 1/3 有具体羁绊细节(不是抽象描述)?
|
|
195
|
+
- [ ] 中段有反差/撕裂(读者以为 A → 实际是 B)?
|
|
196
|
+
- [ ] 结尾有安静细节(不是大段抒情)?
|
|
197
|
+
- [ ] 情绪转向频率是否按题材、篇幅和既有兑现节奏调整,而非固定密度?
|
|
198
|
+
- [ ] 反派行为符合其人设逻辑?
|
|
199
|
+
- [ ] 不存在上述 6 种失败模式?
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 三板斧与 SKILL.md 五段结构映射
|
|
204
|
+
|
|
205
|
+
| 三板斧 | 对应 SKILL.md 五段 | 说明 |
|
|
206
|
+
|--------|-------------------|------|
|
|
207
|
+
| 第一斧:羁绊铺设(前 1/3) | 铺垫段(第二段,占 30-40%) | 用物件/数字/习惯建立关系质感 |
|
|
208
|
+
| 第二斧:情感撕裂(中后段) | 升级段(第三段)+ 反转段(第四段) | 反差/错位/延迟真相制造撕裂 |
|
|
209
|
+
| 第三斧:余韵钝痛(结尾) | 结尾段(第五段,占 5-10%) | 安静细节收尾,不写大段抒情 |
|