@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,247 @@
|
|
|
1
|
+
|
|
2
|
+
# 网文质量检查清单
|
|
3
|
+
|
|
4
|
+
## 目录
|
|
5
|
+
|
|
6
|
+
- [一、通用检查](#一通用检查)
|
|
7
|
+
- [二、长篇专项](#二长篇专项)
|
|
8
|
+
- [三、短篇专项](#三短篇专项)
|
|
9
|
+
|
|
10
|
+
## 一、通用检查
|
|
11
|
+
|
|
12
|
+
### 章节结构
|
|
13
|
+
- [ ] 开头有钩子(不是天气/风景/日常开场)
|
|
14
|
+
- [ ] 中段有推进(快节奏题材要有可见事件;慢热题材状态变化即可)
|
|
15
|
+
- [ ] 局势有变化(读完这章,世界跟之前不一样了)
|
|
16
|
+
- [ ] 结尾落在变化上(不是总结)
|
|
17
|
+
|
|
18
|
+
### 开篇检查(前 300-500 字)
|
|
19
|
+
- [ ] 有钩子,能抓住注意力
|
|
20
|
+
- [ ] 不从天气/风景/日常开始
|
|
21
|
+
- [ ] 主角快速出场
|
|
22
|
+
- [ ] 卖点或危机可见
|
|
23
|
+
|
|
24
|
+
### 章节推进
|
|
25
|
+
- [ ] 本章至少改变目标 / 风险 / 信息 / 关系 / 资源 / 身份 / 情绪立场七类状态之一;快节奏(番茄/爽文)应有可见事件或爽点,慢热/情感文才可只靠低压小变化达标,不强求每章高潮
|
|
26
|
+
- [ ] 不是水字数(删掉这章会损失哪项状态变化?答不出才需压缩)
|
|
27
|
+
- [ ] 任务卡点有用:卡住之后是否带来上述状态变化?
|
|
28
|
+
- [ ] 推进强弱是否符合本书已建立的题材、兑现节奏与对标,而非套固定通用字数
|
|
29
|
+
|
|
30
|
+
### 信息传递
|
|
31
|
+
- [ ] 没有大段设定说明文
|
|
32
|
+
- [ ] 信息跟着冲突走(通过事件传递设定)
|
|
33
|
+
- [ ] 设定量可控(一章不超 3 个新概念)
|
|
34
|
+
|
|
35
|
+
### 场景检查
|
|
36
|
+
- [ ] 场景有目标(人物要什么)
|
|
37
|
+
- [ ] 场景有阻碍(什么挡着)
|
|
38
|
+
- [ ] 场景有变化(结束后跟之前不同)
|
|
39
|
+
- [ ] 人物在做事情,不是在感觉事情
|
|
40
|
+
- [ ] 没有可删除的段落
|
|
41
|
+
|
|
42
|
+
### 章尾
|
|
43
|
+
- [ ] 结尾落在变化上
|
|
44
|
+
- [ ] 有危机/决定/发现/反转中的至少一个
|
|
45
|
+
- [ ] 不是总结式结尾
|
|
46
|
+
- [ ] 拉住读者翻下一页
|
|
47
|
+
|
|
48
|
+
### 语言
|
|
49
|
+
- [ ] 没有空洞的抒情段落
|
|
50
|
+
- [ ] 没有连续多段同一情绪
|
|
51
|
+
- [ ] 对话符合人物身份(不同人说话方式不同)
|
|
52
|
+
- [ ] 情绪通过动作落地(不是直接说"他很难过")
|
|
53
|
+
- [ ] 标题行以外没有章节/写作元信息:不得出现 `第[一二三四五六七八九十百千万两0-9]+章|上一章|上章|前一章|本章|这一章|前文|后文|伏笔|细纲|读者` 这类词;需要承接前文时改成角色能感知的事件锚点或相对时间;故事内真实阅读/讨论“第X章”或真实读者身份语境除外
|
|
54
|
+
|
|
55
|
+
### 连载连续性
|
|
56
|
+
- [ ] 没有遗忘之前的承诺/伏笔
|
|
57
|
+
- [ ] 没有突然塞入大量新设定
|
|
58
|
+
- [ ] 伏笔有推进
|
|
59
|
+
- [ ] 故事引擎还在运转
|
|
60
|
+
|
|
61
|
+
### 水(filler)检测
|
|
62
|
+
以下信号出现 = 可能水了:
|
|
63
|
+
- 全章对话没有任何新信息
|
|
64
|
+
- 同一个情绪写了 3 段以上
|
|
65
|
+
- 场景描写超过 500 字但不推进剧情
|
|
66
|
+
- 角色回忆之前发生的事但没有任何新视角
|
|
67
|
+
- 连续 2 章以上没有冲突
|
|
68
|
+
- 删掉无损的流程细节 / 任务卡点 = 水;压缩或删除
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 二、长篇专项
|
|
73
|
+
|
|
74
|
+
### 黄金三章检查
|
|
75
|
+
- [ ] 第一章前 500 字有钩子?
|
|
76
|
+
- [ ] 主角第一章就出场?
|
|
77
|
+
- [ ] 第一章有事件(不是纯铺垫)
|
|
78
|
+
- [ ] 第二章有升级(矛盾加深)
|
|
79
|
+
- [ ] 第三章有追读理由(给出继续看的动力)
|
|
80
|
+
- [ ] 前三章有至少 2 个爽点?
|
|
81
|
+
- [ ] 世界观没有大段说明文?
|
|
82
|
+
- [ ] 每章结尾有往下看的理由?(低压/过场章弱钩子或阶段目标即可,不强求强悬念)
|
|
83
|
+
|
|
84
|
+
### 节奏检查
|
|
85
|
+
- [ ] 最近 5 章是否有明确进展?
|
|
86
|
+
- [ ] 爽点间隔是否超过 5000 字?(按章节定位:高压/推进章查间隔;低压/关系/信息整理章不计入)
|
|
87
|
+
- [ ] 有没有连续 2 章以上没有冲突?(呼吸章正常;红线是连续两章压力级≤1 或相邻章情绪趋同)
|
|
88
|
+
- [ ] 一卷是否有章节定位高低层次,没有全程同一力度?低压+过场是否克制(合计不超约 15%)?
|
|
89
|
+
|
|
90
|
+
### 人物检查
|
|
91
|
+
- [ ] 主角行为符合人设?
|
|
92
|
+
- [ ] 配角是否有存在感?
|
|
93
|
+
- [ ] 反派逼格是否匹配当前阶段?
|
|
94
|
+
|
|
95
|
+
### 五维评分标准
|
|
96
|
+
|
|
97
|
+
每个维度 0-100 分,根据评分结果选择精修策略。
|
|
98
|
+
|
|
99
|
+
### 维度 1:核心一致度
|
|
100
|
+
检查:关键冲突、关键行动、人物动机是否前后一致。
|
|
101
|
+
|
|
102
|
+
| 问题 | 严重度 | 修复 |
|
|
103
|
+
|------|--------|------|
|
|
104
|
+
| 人物动机突然改变无铺垫 | critical | 补充动机转变的触发事件 |
|
|
105
|
+
| 核心冲突前后不一致 | high | 回溯修改冲突设定 |
|
|
106
|
+
| 关键行动与人物性格矛盾 | high | 调整行动或补充解释 |
|
|
107
|
+
| 次要矛盾遗忘 | medium | 回收或弱化 |
|
|
108
|
+
|
|
109
|
+
### 维度 2:表层重写度
|
|
110
|
+
检查:句式与措辞是否足够原创,避免套路化表达。
|
|
111
|
+
|
|
112
|
+
| 问题 | 严重度 | 修复 |
|
|
113
|
+
|------|--------|------|
|
|
114
|
+
| 照搬原句导致语气不自然 | medium | 只在确有 AI 腔时改写,正常原句可保留 |
|
|
115
|
+
| 大量使用 AI 标志词 | high | 替换为具体描述 |
|
|
116
|
+
| 同一句式重复出现 | medium | 变换表达方式 |
|
|
117
|
+
| 描写过于文学化(辞藻堆砌、书面腔、比喻成串) | medium | 改为口语化/动作化;动作化不是切成三五字短句串,改写后叙述仍以逗号长句为主 |
|
|
118
|
+
|
|
119
|
+
### 维度 3:格式一致度
|
|
120
|
+
检查:段落是否按戏剧单元/镜头自然断开,主语/角色名节奏是否自然,开头结尾格式是否统一。
|
|
121
|
+
|
|
122
|
+
| 问题 | 严重度 | 修复 |
|
|
123
|
+
|------|--------|------|
|
|
124
|
+
| 机械按字数切段或主语过密 | medium | 按戏剧单元重排段落,段首点名、段中代词/省略、关键转折再点名 |
|
|
125
|
+
| 章节字数偏离目标 | **high** | 写作/大纲修复时先回到细纲补足计划内情节点,再展开;去AI味已有正文时不得新增剧情 |
|
|
126
|
+
| 格式混乱(对话/描写不统一)| low | 统一格式 |
|
|
127
|
+
|
|
128
|
+
### 维度 4:可读性
|
|
129
|
+
检查:是否有啰嗦、AI 腔、空泛总结、套路修辞。
|
|
130
|
+
|
|
131
|
+
| AI 腔特征 | 如何识别 | 如何修复 |
|
|
132
|
+
|-----------|----------|----------|
|
|
133
|
+
| 空泛总结 | 「他终于明白了」「一切尽在不言中」 | 删掉,用行动代替 |
|
|
134
|
+
| 套路修辞 | 「命运仿佛在和他开玩笑」 | 删掉或换成具体描述 |
|
|
135
|
+
| 情绪标签 | 「他感到一阵悲伤」 | 改为行为表现 |
|
|
136
|
+
| 心理描写空转 | 内心独白无新信息、重复同一情绪或复述读者已知 | 只压缩空转部分;带新信息、决断或情绪转折的独白不按句数压缩 |
|
|
137
|
+
|
|
138
|
+
### 维度 5:逻辑连贯
|
|
139
|
+
检查:句间/段间是否通顺,有无设定冲突。
|
|
140
|
+
|
|
141
|
+
| 问题 | 严重度 | 修复 |
|
|
142
|
+
|------|--------|------|
|
|
143
|
+
| 设定前后矛盾 | critical | 查找并统一设定 |
|
|
144
|
+
| 时间线错误 | high | 标记时间线并修正 |
|
|
145
|
+
| 角色信息不一致 | high | 建立角色档案对照 |
|
|
146
|
+
| 因果链断裂 | medium | 补充过渡 |
|
|
147
|
+
|
|
148
|
+
### 精修策略
|
|
149
|
+
|
|
150
|
+
根据五维评分结果,选择精修策略:
|
|
151
|
+
|
|
152
|
+
| 主要问题 | 策略 | 说明 |
|
|
153
|
+
|----------|------|------|
|
|
154
|
+
| 核心一致度低 | rewrite | 围绕核心冲突重写相关段落 |
|
|
155
|
+
| 字数超标 | compress | 删减不推动剧情的内容 |
|
|
156
|
+
| 无意义卡点 | compress | 保留卡出的变化,压掉流程 |
|
|
157
|
+
| AI 腔重 | de_ai | 替换禁用词、改写句式 |
|
|
158
|
+
| 小问题多 | polish | 打磨语言细节 |
|
|
159
|
+
|
|
160
|
+
### 读者契约与终局储备双向审查
|
|
161
|
+
|
|
162
|
+
审查先问“无毒吗”,再问“好看吗”:**无毒不等于好看**,没有 契约破坏 只代表不踩雷,还要确认情绪兑现足够强。风险标记三档:契约安全(与开篇承诺一致、主角保有关键选择、收益归属清楚)/ 需补强(可能稀释高光或推进过快,但能靠铺垫、交换、代价修复)/ 契约破坏(核心卖点被没收或无关角色夺走期待所有权,需修纲)。
|
|
163
|
+
|
|
164
|
+
- [ ] 读者契约:本章/本卷是否兑现开篇承诺,还是把核心卖点交给机构、配角或偶然性?风险标记:契约安全 / 需补强 / 契约破坏。
|
|
165
|
+
- [ ] 主角代理权:按因果权 + 结算权审查,而非按出场时长;关键节点核对四问——谁决定事情为什么发生、谁作出不可替代的选择、谁承担或选择关键后果、核心收益/认可/权力结算给谁。配角可执行局部动作,但不能无声夺走期待所有权。
|
|
166
|
+
- [ ] 期待债:承诺是否被偿还、延期并支付利息,还是被解释/流程/设定吞掉?
|
|
167
|
+
- [ ] 终局储备:本单元是否动用了本阶段还不该解锁的终局底牌(宿敌/真相/身份/金手指上限)?是否让某条升级线逼近天花板、后面没台阶接?两问皆否即放行——单章一战多得(多线齐涨)是好设计,不算超速。
|
|
168
|
+
- [ ] 兑现归属:期待所有权是否按承诺结算;自愿让渡只有在“长期净收益为负 + 控制/因果权下降”同时出现时亮红灯,战略性让步的更大控制/未来收益/权力/信息交换是否可见?
|
|
169
|
+
- [ ] 节奏续接:高潮/兑现后是否允许短暂低压和小而可见的收益/奖励,而非机械立即加危机?新元素是否支付换书债、没有逃避旧承诺?
|
|
170
|
+
- [ ] 题材特定风险:履约爽文/能力幻想中,主角是否反复以愚蠢或可避免的无能制造灾难并由他人收拾,损害因果权与结算信任?
|
|
171
|
+
- [ ] 反向审查:若删除“安全解释”,情绪是否更强?若保留风险情节,是否带来更强期待、代价或爽点?
|
|
172
|
+
- [ ] 综合线:契约、主角代理权、期待债、终局储备是否互相支撑,而不是只做到“无毒”。
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 三、短篇专项
|
|
177
|
+
|
|
178
|
+
### 虐爽节奏检查
|
|
179
|
+
|
|
180
|
+
短篇特有的检查项——虐点和爽点的分布是否合理:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
理想分布:虐1 → 虐2 → 虐3 → 爽1(小) → 虐4 → 爽2(大)
|
|
184
|
+
禁忌分布:虐1 → 虐2 → 虐3 → 虐4 → 虐5(无爽点,读者流失)
|
|
185
|
+
禁忌分布:爽1 → 爽2 → 爽3 → 爽4(无铺垫,爽感疲劳)
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
检查规则:
|
|
189
|
+
- 每 300 字至少 1 个小冲突
|
|
190
|
+
- 虐点间隔不超过全文的 30%
|
|
191
|
+
- 最大爽点必须出现在全文的 70-85% 位置
|
|
192
|
+
- 结尾必须有情绪落点
|
|
193
|
+
|
|
194
|
+
### 对话密度检查
|
|
195
|
+
|
|
196
|
+
| 指标 | 合格标准 | 警戒线 |
|
|
197
|
+
|------|----------|--------|
|
|
198
|
+
| 对话占全文比 | 45-65% | <30%(太干)或>75%(太水) |
|
|
199
|
+
| 每章对话条数 | 12-18条/千字 | <8条(缺交互)或>25条(碎片化) |
|
|
200
|
+
| 伤人性对话占比 | 35-45%(虐文)/ 20-30%(爽文) | 虐文<20%(不够痛)/ 爽文>40%(太压抑) |
|
|
201
|
+
|
|
202
|
+
### 主角冷静度检查(打脸/复仇文专用)
|
|
203
|
+
|
|
204
|
+
| 检查项 | 标准 |
|
|
205
|
+
|--------|------|
|
|
206
|
+
| 主角是否有标志性冷静动作? | 必须有(端水杯/整理西装/转笔等) |
|
|
207
|
+
| 主角是否有情绪失控场面? | 复仇文最多1次,且必须在前30% |
|
|
208
|
+
| 反派是否比主角更歇斯底里? | 必须是——反差是爽感来源 |
|
|
209
|
+
| 主角台词是否短于反派? | 平均短30-50%——越短越有力 |
|
|
210
|
+
| 是否有"审判式对话"? | 至少2处(主角提问→对方自爆) |
|
|
211
|
+
|
|
212
|
+
### 证据链完整性检查(复仇/打脸文专用)
|
|
213
|
+
|
|
214
|
+
| 检查项 | 标准 |
|
|
215
|
+
|--------|------|
|
|
216
|
+
| 证据是否分章释放? | 至少分3次揭露,不能一次全给 |
|
|
217
|
+
| 每个证据是否有铺垫? | 前文必须埋过线索 |
|
|
218
|
+
| 反派是否每次都先得意再被打脸? | 必须是——先扬后抑 |
|
|
219
|
+
| 最终证据是否最致命? | 最后一个证据要改变全局认知 |
|
|
220
|
+
| 是否有"定时炸弹"证据? | 至少1个主角提前布局的证据 |
|
|
221
|
+
|
|
222
|
+
### 毒点/代入感/震惊/开头/结尾/情绪/期待感速查
|
|
223
|
+
|
|
224
|
+
> 详细的毒点分类、识别方法和修复方案见 `anti-ai-writing.md`。
|
|
225
|
+
|
|
226
|
+
| 检查项 | 标准 |
|
|
227
|
+
|--------|------|
|
|
228
|
+
| 爽文不爽 | 金手指效果必须展示清楚 |
|
|
229
|
+
| 压制无目的 | 每次压制必须服务于后续爆发 |
|
|
230
|
+
| 反派结局与主角无关 | 反派之死必须因主角行动导致 |
|
|
231
|
+
| 经济/战力崩坏 | 设定前后一致,以普通人为锚点 |
|
|
232
|
+
| 女主/女配降智 | 人设正常可写,老套路别写 |
|
|
233
|
+
| 读者期待长时间不满足 | 适时满足或引入新期待 |
|
|
234
|
+
| 主角行为不可理解 | 必须能理解、能共鸣 |
|
|
235
|
+
| 氛围被突兀梗破坏 | 氛围 > 突兀梗(乐子文除外) |
|
|
236
|
+
| 钩子不回收 | 钩子不回收 = 烂尾 |
|
|
237
|
+
| 震惊分层 | 点→网→深度,不能只写点震惊 |
|
|
238
|
+
| 震惊阶梯递进 | 阶梯式上升,非直线 |
|
|
239
|
+
| 震惊有广度 | 关系网都要有反应 |
|
|
240
|
+
| 前50字有冲突/异常 | 不能是背景铺垫 |
|
|
241
|
+
| 前100字知核心矛盾 | 必须知道 |
|
|
242
|
+
| 开头情绪强度 | ≥7(1-10) |
|
|
243
|
+
| 结尾是具体的 | 动作/对话/画面,禁止总结/反思 |
|
|
244
|
+
| 结尾有余韵 | 读者还想往下看 |
|
|
245
|
+
| 结尾情绪强度 | 虐≥8,爽≥7,治愈≥6 |
|
|
246
|
+
| 情绪对等释放 | 虐多少补多少,反派结局关联主角 |
|
|
247
|
+
| 期待管理 | 两长一短不断,核心卖点贯穿 |
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
# 反转设计工具箱
|
|
2
|
+
> 操作手册:反转类型、嵌套反转、误导技巧、打脸节奏。按决策路由选用,按设置/揭示步骤执行,用自检清单验收。
|
|
3
|
+
> 反转类型枚举与拆文 `_meta.json.reversal_type` 字段一致:视角/身份/动机/时间线/信息/认知/无反转。
|
|
4
|
+
|
|
5
|
+
## 决策路由
|
|
6
|
+
|
|
7
|
+
| 你要设计什么 | 用哪种反转 | 关键操作 |
|
|
8
|
+
|-------------|-----------|---------|
|
|
9
|
+
| 角色不是你以为的人 | 身份反转 | 埋3处行为细节暗示 |
|
|
10
|
+
| 真相从另一个角度完全不同 | 视角反转 | 引入另一角色视角打破认知 |
|
|
11
|
+
| 角色做某事的原因不是你以为的 | 动机反转 | 高压场景中二选一暴露真动机 |
|
|
12
|
+
| 时间顺序跟读者理解不同 | 时间线反转 | 不撒谎只调叙述顺序 |
|
|
13
|
+
| 读者掌握了错误信息 | 信息反转 | 新证据直接否定旧"事实" |
|
|
14
|
+
| 读者对整个角色/关系的理解被颠覆 | 认知反转 | 全程铺感情色彩,结尾翻转色彩 |
|
|
15
|
+
| 甜宠/喜剧/报应型,本就没有反转 | 无反转 | 走报应兑现或甜度递进,不硬塞反转 |
|
|
16
|
+
| 要叠多层反转 | 嵌套反转 | 主次分明,间隔递减 |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 反转类型
|
|
21
|
+
|
|
22
|
+
### 1. 身份反转
|
|
23
|
+
|
|
24
|
+
**触发条件**:角色真实身份与读者认知不同。
|
|
25
|
+
|
|
26
|
+
**设置步骤**:
|
|
27
|
+
1. 确定表面身份和隐藏身份
|
|
28
|
+
2. 通过行为细节泄露(禁止用叙述者直接说明)
|
|
29
|
+
3. 回看至少埋3处暗示
|
|
30
|
+
|
|
31
|
+
**揭示步骤**:
|
|
32
|
+
1. 用场景同时揭示身份和动机
|
|
33
|
+
2. 禁止让角色自说"其实我是XX"
|
|
34
|
+
3. 选在读者最不期待揭示的时机
|
|
35
|
+
|
|
36
|
+
| 表面身份 | 隐藏身份 | 铺垫线索 |
|
|
37
|
+
|----------|----------|----------|
|
|
38
|
+
| 乖巧继女 | 幕后操控者 | 总在关键时刻「恰好」不在场 |
|
|
39
|
+
| 热心邻居 | 伤害主角的人 | 对主角家里的布局太熟悉了 |
|
|
40
|
+
| 死去的恋人 | 还活着 | 「遗物」里有一件不该存在的东西 |
|
|
41
|
+
| 陌生人 | 主角失忆前的至亲 | 叫出了主角只有至亲才知道的小名 |
|
|
42
|
+
|
|
43
|
+
示例铺排:
|
|
44
|
+
```
|
|
45
|
+
铺垫1(5%):邻居帮修水管,对水管走向异常熟悉
|
|
46
|
+
铺垫2(25%):邻居「随口」提到主角家灯每天几点关
|
|
47
|
+
铺垫3(50%):梦到有人站床前,醒来闻到烟味——邻居抽烟
|
|
48
|
+
揭示(75%):监控里,每晚站床前的人穿邻居那件灰色外套
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. 视角反转
|
|
52
|
+
|
|
53
|
+
**触发条件**:叙事者视角是片面的,真相从另一个角度完全不同。
|
|
54
|
+
|
|
55
|
+
**设置步骤**:
|
|
56
|
+
1. 确保所有叙述都是事实,但不是全部事实
|
|
57
|
+
2. 叙述者解读引导读者走错方向
|
|
58
|
+
3. 关键信息被「合理地」跳过或淡化
|
|
59
|
+
4. 叙述者自己也真诚地相信这套叙事——他不是在骗读者,他自己也被骗了
|
|
60
|
+
|
|
61
|
+
**揭示步骤**:
|
|
62
|
+
1. 引入另一角色视角/证词
|
|
63
|
+
2. 展示主角「没看到」的场景
|
|
64
|
+
3. 用证据打破认知
|
|
65
|
+
|
|
66
|
+
| 主角视角 | 真实视角 | 关键差异 |
|
|
67
|
+
|----------|----------|----------|
|
|
68
|
+
| 丈夫出轨对不起我 | 我才是被蒙在鼓里的第三者 | 时间线上的空白 |
|
|
69
|
+
| 同事在排挤我 | 我的「好心」一直在伤害别人 | 别人视角下我的行为 |
|
|
70
|
+
| 我在拯救这段关系 | 我在控制对方 | 对方的反应其实是在自保 |
|
|
71
|
+
| 我是受害者 | 我是施害者 | 记忆被叙述者篡改了 |
|
|
72
|
+
|
|
73
|
+
**铁律**:叙述者必须真诚地相信自己的视角,禁止叙述者明知真相而故意误导读者。
|
|
74
|
+
|
|
75
|
+
### 3. 动机反转
|
|
76
|
+
|
|
77
|
+
**触发条件**:角色做某事的真正原因与读者以为的不同。
|
|
78
|
+
|
|
79
|
+
**设置步骤**:
|
|
80
|
+
1. 给角色一个「表面动机」让读者觉得合理
|
|
81
|
+
2. 真正动机藏在表面之下
|
|
82
|
+
3. 埋下行为细节与表面动机的微小矛盾(矛盾不要太大)
|
|
83
|
+
|
|
84
|
+
**揭示步骤**:
|
|
85
|
+
1. 制造高压场景迫使角色二选一
|
|
86
|
+
2. 表面动机指向选A,但角色选了B
|
|
87
|
+
3. 选择行为直接暴露真正动机
|
|
88
|
+
|
|
89
|
+
| 表面动机 | 真正动机 | 行为矛盾线索 |
|
|
90
|
+
|----------|----------|-------------|
|
|
91
|
+
| 想和前夫复婚 | 想拿回藏在婚房里的东西 | 从不关心他的生活,只关心那套房子 |
|
|
92
|
+
| 保护妹妹 | 嫉妒妹妹,想控制她 | 每次「保护」都让妹妹更孤立 |
|
|
93
|
+
| 追求公平正义 | 报个人私仇 | 目标人物恰好和当年的事有关 |
|
|
94
|
+
| 害怕失去朋友 | 害怕朋友发现自己背叛了她 | 每次朋友接近真相就制造新危机 |
|
|
95
|
+
|
|
96
|
+
### 4. 时间线反转
|
|
97
|
+
|
|
98
|
+
**触发条件**:故事的实际时间顺序与读者理解的顺序不同。
|
|
99
|
+
|
|
100
|
+
**设置步骤**:
|
|
101
|
+
1. 确定真实时间顺序和读者理解的顺序
|
|
102
|
+
2. 用叙述技巧让读者以为A在B之前,实际B在A之前
|
|
103
|
+
3. 不撒谎,只调整叙述顺序
|
|
104
|
+
4. 用时态、季节、物品新旧作为天然时间线索
|
|
105
|
+
|
|
106
|
+
**揭示步骤**:
|
|
107
|
+
1. 找一个不可能存在的时间矛盾
|
|
108
|
+
2. 或让角色提到「还没发生」的事
|
|
109
|
+
3. 或展示物品状态与时间线不符
|
|
110
|
+
|
|
111
|
+
| 读者以为的时间线 | 真实时间线 | 揭示方式 |
|
|
112
|
+
|------------------|-----------|----------|
|
|
113
|
+
| 丈夫丧妻后变质 | 妻子「死后」还活着 | 时间戳对不上的消息 |
|
|
114
|
+
| 姐姐在弟弟出事后崩溃 | 弟弟出事因姐姐先做了某事 | 医院记录上的时间 |
|
|
115
|
+
| 两人正在恋爱 | 这是一段回忆,已分开 | 「我当时不知道那是最后一次」 |
|
|
116
|
+
| 重生后第二天 | 重生前的最后一天循环 | 镜子里倒影和之前不一样 |
|
|
117
|
+
|
|
118
|
+
**铁律**:写完必须画时间线图自查。
|
|
119
|
+
|
|
120
|
+
### 5. 信息反转
|
|
121
|
+
|
|
122
|
+
**触发条件**:读者(和主角)掌握了错误的关键信息。
|
|
123
|
+
|
|
124
|
+
**设置步骤**:
|
|
125
|
+
1. 给读者一个来自可靠来源的「事实」
|
|
126
|
+
2. 所有人物基于此「事实」行动
|
|
127
|
+
3. 在后果中埋下矛盾证据
|
|
128
|
+
|
|
129
|
+
**揭示步骤**:
|
|
130
|
+
1. 新证据直接否定旧「事实」
|
|
131
|
+
2. 读者和主角同时发现被骗
|
|
132
|
+
3. 前面所有剧情获得新解读
|
|
133
|
+
|
|
134
|
+
| 错误信息 | 真实信息 | 揭示的连锁反应 |
|
|
135
|
+
|----------|----------|---------------|
|
|
136
|
+
| 遗嘱遗产给长子 | 遗嘱被调包,本给次子 | 长子所有「孝心」都是演戏 |
|
|
137
|
+
| 医生说孩子亲生 | DNA报告被篡改 | 配偶从受害者变加害者 |
|
|
138
|
+
| 朋友说看到他出轨 | 朋友在撒谎 | 朋友的「安慰」其实是操控 |
|
|
139
|
+
| 老板说提拔我 | 岗位已取消 | 老板画饼为让我多干活 |
|
|
140
|
+
|
|
141
|
+
**核心区别**:信息反转是认知层面的——你以为世界是A,其实是B。核心是「一条假信息」。
|
|
142
|
+
|
|
143
|
+
### 6. 认知反转
|
|
144
|
+
|
|
145
|
+
**触发条件**:读者对某个角色/关系的整体理解被颠覆;重点在整段感情色彩翻转,而非单条信息纠错。
|
|
146
|
+
|
|
147
|
+
**与信息反转的区别**:信息反转翻一条事实(遗嘱归属、亲子关系真伪);认知反转翻读者对整个角色/关系的感情判断(恨了全程的妈其实一直在护着她)。信息反转改事实答案,认知反转改"我对他的感觉"。
|
|
148
|
+
|
|
149
|
+
**设置步骤**:
|
|
150
|
+
1. 全程让读者积累一种感情色彩(这个妈狠心/这个丈夫凉薄/这个对手纯坏)
|
|
151
|
+
2. 每个负面场景都埋一个被忽略的反向细节(狠话之后多塞了钱、转身擦了眼泪)
|
|
152
|
+
3. 细节要小到读者当时不在意,回看才发现处处都是
|
|
153
|
+
|
|
154
|
+
**揭示步骤**:
|
|
155
|
+
1. 用一个场景或一件遗物,让所有负面行为同时获得反向解读
|
|
156
|
+
2. 不解释,让读者自己把全程重新过一遍
|
|
157
|
+
3. 揭示后情绪从"恨/怨"翻成"亏欠/意难平"
|
|
158
|
+
|
|
159
|
+
| 全程认知 | 翻转后认知 | 反向细节铺垫 |
|
|
160
|
+
|----------|-----------|-------------|
|
|
161
|
+
| 后妈刻薄赶我走 | 她赶我走是怕她仇家牵连我 | 每次骂完都往我包里塞钱 |
|
|
162
|
+
| 丈夫冷漠不管家 | 他在外面替我扛了所有债 | 深夜接的"应酬"电话都是催债 |
|
|
163
|
+
| 师父偏心打压我 | 他压我是知道我会被盯上 | 每次罚我都安排在别人看得见的地方 |
|
|
164
|
+
|
|
165
|
+
**追妻/世情主力反转**:这是追妻火葬场、世情最常用的反转——男主/婆婆/亲人全程被恨,结尾翻成"原来一直在爱/在护",意难平拉满。
|
|
166
|
+
|
|
167
|
+
### 7. 无反转
|
|
168
|
+
|
|
169
|
+
**触发条件**:甜宠、喜剧、反差萌、报应型复仇/重生——这类故事本就没有传统反转,硬塞反转反而毁节奏。
|
|
170
|
+
|
|
171
|
+
**爽感来源(替代反转)**:
|
|
172
|
+
- **报应兑现型**(复仇/重生爽文):爽点不在"真相翻转",在反派一步步走向毁灭、每条恶行精确对应一条报应(以彼之道还施彼身)。用报应设计表:恶行→报应→爽感来源。
|
|
173
|
+
- **甜度递进型**(甜宠/青春):爽点在关系一步步升温,反差萌反复"装失败"。全程正向情绪阶梯上升,不经历反转的负向回落。
|
|
174
|
+
|
|
175
|
+
**写法要点**:
|
|
176
|
+
1. 不为"显得有设计感"硬加反转
|
|
177
|
+
2. 报应型:每个报应要让读者等过、铺过,兑现时才解气
|
|
178
|
+
3. 甜宠型:升温节拍密集,每节给一个甜点/反差点
|
|
179
|
+
|
|
180
|
+
> 拆文时遇到此类,`reversal_type` 填「无反转」,`setup_clues`(反转铺垫)一项跳过阈值(见 analyze output-contract 的「structure_counts 数值校验」)。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 嵌套反转
|
|
185
|
+
|
|
186
|
+
一篇短篇可叠 2-3 层反转,必须主次分明。
|
|
187
|
+
|
|
188
|
+
### 双层嵌套
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
读者以为:A(铺垫阶段)
|
|
192
|
+
第一层反转:其实是 B!(70%处)
|
|
193
|
+
第二层反转:B 也是假的,其实是 C!(90%处)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
**执行要求**:
|
|
197
|
+
- 第一层反转必须足够有说服力,让读者接受B就是真相
|
|
198
|
+
- 第一层后给1-2段「消化时间」
|
|
199
|
+
- 第二层要能同时解释A和B,比第一层更震撼
|
|
200
|
+
|
|
201
|
+
示例:
|
|
202
|
+
```
|
|
203
|
+
铺垫:丈夫出轨了,妻子收集证据准备离婚
|
|
204
|
+
第一层(70%):丈夫没出轨,那女人是他线人——他在调查妻子的公司
|
|
205
|
+
第二层(90%):妻子公司确实有问题;举报人换成妻子自己,丈夫只是被引导发现
|
|
206
|
+
——她故意让丈夫发现,只有丈夫「不经意」揭发她才能拿到保险赔偿
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 三层嵌套(慎用)
|
|
210
|
+
|
|
211
|
+
**使用条件**:只有15000字以上能装下三层。
|
|
212
|
+
|
|
213
|
+
**执行要求**:
|
|
214
|
+
- 间隔递减:第一层50-60%,第二层75-80%,第三层90-95%
|
|
215
|
+
- 第三层必须最短最狠——一句话就够
|
|
216
|
+
- 最后一层必须回答前面所有疑问
|
|
217
|
+
- 每层都要有情感冲击,不只是信息冲击
|
|
218
|
+
- 题材限制:只适合高智商悬疑、精心设计的复仇
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 反转时机
|
|
223
|
+
|
|
224
|
+
### 最佳揭示位置
|
|
225
|
+
|
|
226
|
+
| 反转类型 | 最佳位置 | 原因 |
|
|
227
|
+
|----------|----------|------|
|
|
228
|
+
| 身份反转 | 65-75% | 留够时间展示身份变化后的新冲突 |
|
|
229
|
+
| 视角反转 | 70-80% | 需要足够篇幅建立错误认知 |
|
|
230
|
+
| 动机反转 | 75-85% | 动机要在角色做出关键选择前揭示 |
|
|
231
|
+
| 时间线反转 | 80-90% | 时间线需要最长铺垫 |
|
|
232
|
+
| 信息反转 | 70-80% | 揭示后需要展示连锁反应 |
|
|
233
|
+
| 认知反转 | 75-90% | 感情色彩要全程积累够才翻得动 |
|
|
234
|
+
|
|
235
|
+
### 时机铁律
|
|
236
|
+
|
|
237
|
+
- 禁止在50%之前揭示——铺垫不够,反转没力度
|
|
238
|
+
- 禁止在95%之后揭示——揭示后没有展开空间
|
|
239
|
+
- 最优区间:70-85%
|
|
240
|
+
- 双反转:第一个在55-65%,第二个在80-90%
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 误导技巧
|
|
245
|
+
|
|
246
|
+
误导要引导读者自己走向错误结论,不能欺骗读者。
|
|
247
|
+
|
|
248
|
+
### 两大底层路径
|
|
249
|
+
|
|
250
|
+
- **加法路径(分层法)**:在真实信息上叠加假信息。线索既可用逻辑线A解释为A',也可用B解释为B'。A'是误导方向(常见故事),B'是真相(不常见故事)。误导读者以为是A'时,必须同时暗埋与B'相关的线索。
|
|
251
|
+
- **减法路径(信息残缺法)**:不添加假信息,隐藏关键信息的一部分。只让主角得知成功的部分。导致下行的最好不是主角主动行动获得的,可以让配角获得那半信息后交给主角时发生意外。
|
|
252
|
+
|
|
253
|
+
### 五种技巧速查
|
|
254
|
+
|
|
255
|
+
| 技巧 | 操作方法 | 示例 |
|
|
256
|
+
|------|---------|------|
|
|
257
|
+
| 选择性叙述 | 主角只关注某些信息,读者跟着走 | 主角在意丈夫和女同事暧昧,忽略「客户」的奇怪电话 |
|
|
258
|
+
| 情绪引导 | 用情绪场景引导判断 | 暖的父女戏→其实是愧疚,他做了对不起女儿的事 |
|
|
259
|
+
| 假线索(红鲱鱼) | 给可疑角色/事件吸引注意力 | 诡异邻居和主线无关,真正威胁是一直正常的人 |
|
|
260
|
+
| 刻板印象利用 | 利用社会认知偏见 | 强势婆婆其实是保护儿媳,她知道一些儿媳不知道的事 |
|
|
261
|
+
| 信息分层 | 真相同假信息混在一起 | 丈夫确实秘密联系人(真)→前女友(假)→亲妹妹(真) |
|
|
262
|
+
|
|
263
|
+
**红鲱鱼铁律**:红鲱鱼必须在故事里有自己的功能(推进情节/增加趣味),只是不是反转的答案。
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## 反转自检清单
|
|
268
|
+
|
|
269
|
+
### 合理性
|
|
270
|
+
- [ ] 回看铺垫至少有3处暗示指向反转
|
|
271
|
+
- [ ] 反转不依赖巧合——角色选择推动了反转
|
|
272
|
+
- [ ] 没有引入前面完全没提过的新信息
|
|
273
|
+
|
|
274
|
+
### 冲击力
|
|
275
|
+
- [ ] 反转后情绪强度高于反转前
|
|
276
|
+
- [ ] 反转改变了读者对前面所有剧情的理解
|
|
277
|
+
- [ ] 反转让读者想翻回开头重看
|
|
278
|
+
|
|
279
|
+
### 公平性
|
|
280
|
+
- [ ] 读者有可能在反转前猜到(不是必须,但有可能)
|
|
281
|
+
- [ ] 没有对读者撒谎——只是没说出全部真相
|
|
282
|
+
- [ ] 揭示方式自然,不靠角色大段独白解释
|
|
283
|
+
|
|
284
|
+
### 节奏
|
|
285
|
+
- [ ] 反转揭示不超过300字(快速、干脆)
|
|
286
|
+
- [ ] 揭示后有足够篇幅展示反转影响
|
|
287
|
+
- [ ] 反转后结尾在反转产生的情绪上收束
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## 常见反转错误
|
|
292
|
+
|
|
293
|
+
| 错误 | 问题 | 修正 |
|
|
294
|
+
|------|------|------|
|
|
295
|
+
| 天降反转 | 前面完全没铺垫 | 至少埋3条线索 |
|
|
296
|
+
| 解释过多 | 大段文字解释反转 | 用行动/场景让读者自己明白 |
|
|
297
|
+
| 反转太弱 | 读者早就猜到了 | 加误导或换反转类型 |
|
|
298
|
+
| 反转太多 | 3个以上反转堆在一起 | 砍到1-2个做到极致 |
|
|
299
|
+
| 反转无感 | 只改变信息没改变情绪 | 反转必须同时改变读者情感判断 |
|
|
300
|
+
| 反转作弊 | 引入前面不存在的信息 | 所有反转要素必须在前文中出现过 |
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## 特殊反转技法
|
|
305
|
+
|
|
306
|
+
### 虚晃一枪反转法
|
|
307
|
+
|
|
308
|
+
先给出"应该不会发生"的预期让读者放松,然后意外以反转形式发生。类似鬼片推开门什么都没有->松口气->回头撞鬼。
|
|
309
|
+
|
|
310
|
+
### 超额收获反转
|
|
311
|
+
|
|
312
|
+
反转后收获超出预期,产生二次惊喜:
|
|
313
|
+
- 短篇:主角以为只解决一个问题,结果连带解决了隐藏的更大问题
|
|
314
|
+
- 网游文模式:Boss爆三样——立刻能用的 / 送人拉关系的 / 暂时用不到但一看很厉害的
|
|
315
|
+
|
|
316
|
+
### 情绪拉扯反转标准流程
|
|
317
|
+
|
|
318
|
+
1. 展示物品/能力强大,读者期待+1
|
|
319
|
+
2. 配角因信息差认为鸡肋,读者期待打脸+1
|
|
320
|
+
3. 展示反派特性恰好克制,读者期待+1
|
|
321
|
+
4. 配角拿更强装备打反派失败,期待+1
|
|
322
|
+
5. 众人看衰主角,期待继续+1
|
|
323
|
+
6. 主角秒杀,期待满足
|
|
324
|
+
7. 众人震惊,配角马后炮分析,期待满足
|
|
325
|
+
8. 新一轮收获,满足+新期待产生
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 打脸的深层节奏
|
|
330
|
+
|
|
331
|
+
### 三种打脸方式
|
|
332
|
+
|
|
333
|
+
| 方式 | 特点 | 适用场景 |
|
|
334
|
+
|------|------|----------|
|
|
335
|
+
| 主动挑衅->打脸 | 简单粗暴 | 小白文最常见 |
|
|
336
|
+
| 对手挑衅->被打脸 | 压主角同时给读者安全感和反击暗示 | 需要积蓄仇恨时 |
|
|
337
|
+
| 借他人之手打脸 | 支持者代为回击,无损主角形象 | 保持主角高逼格时 |
|
|
338
|
+
|
|
339
|
+
### 打脸节奏铁律
|
|
340
|
+
|
|
341
|
+
- 压抑不能太长——连输8场写3万字不行,改成连输4场+略写
|
|
342
|
+
- 压的同时必须给读者信心暗示(主角自信到自大:"我们还是联赛前四!")
|
|
343
|
+
- 比起主角被欺负,读者更厌恶主角自暴自弃
|
|
344
|
+
- 高潮部分要拉长,最大化利用(球迷反应、解说员、赛后跟进)
|
|
345
|
+
- 大高潮不要险胜——充分铺垫后要尽情碾压,干净利落的大胜
|
|
346
|
+
|
|
347
|
+
### 高潮间过渡
|
|
348
|
+
|
|
349
|
+
升级练功也有爽点,但大爽点落在升级后打脸,读者期待升级后的兑现。
|