@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.
Files changed (488) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/cordis.patch.yml +3 -0
  4. package/lib/client.js +1201 -0
  5. package/lib/client.js.map +7 -0
  6. package/lib/drama/LICENSE.upstream +21 -0
  7. package/lib/drama/manifest.json +1012 -0
  8. package/lib/drama/skills/short-drama/SKILL.md +153 -0
  9. package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
  10. package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
  11. package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
  12. package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
  13. package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
  14. package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
  15. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
  16. package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
  17. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
  18. 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
  19. 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
  20. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
  21. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
  22. 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
  23. package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
  24. package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
  25. package/lib/drama/skills/short-drama/references/look-development.md +52 -0
  26. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
  27. package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
  28. package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
  29. package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
  30. package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
  31. package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
  32. package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
  33. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
  34. package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
  35. package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
  36. package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
  37. package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
  38. package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
  39. package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
  40. package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
  41. package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
  42. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
  43. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
  44. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
  45. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
  46. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
  47. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
  48. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
  49. package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
  50. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
  51. package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
  52. package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
  53. package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
  54. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
  55. package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
  56. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
  57. package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
  58. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
  59. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
  60. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
  61. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
  62. package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
  63. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
  72. 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
  73. 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
  74. 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
  75. 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
  76. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
  77. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
  78. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
  79. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
  80. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
  81. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
  82. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
  83. package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
  84. package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
  85. package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
  86. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
  87. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
  88. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
  89. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
  90. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
  91. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
  92. package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
  93. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
  94. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
  95. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
  96. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
  97. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
  98. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
  99. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
  100. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
  101. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
  102. package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
  103. package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
  104. package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
  105. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
  106. package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
  107. package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
  108. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
  109. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
  110. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
  111. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
  112. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
  113. package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
  114. package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
  115. package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
  116. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
  117. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
  118. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
  119. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
  120. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
  121. package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
  122. package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
  123. package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
  124. package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
  125. package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
  126. package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
  127. package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
  128. package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
  129. package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
  130. package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
  131. package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
  132. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
  133. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
  134. package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
  135. package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
  136. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
  137. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
  138. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
  139. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
  140. package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
  141. package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
  142. package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
  143. package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
  144. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
  145. package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
  146. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
  147. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
  148. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
  149. package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
  150. package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
  151. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
  152. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
  153. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
  154. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
  155. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
  156. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
  157. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
  158. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
  159. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
  160. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
  161. package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
  162. package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
  163. package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
  164. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
  165. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
  166. package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
  167. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
  168. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
  169. package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
  170. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
  171. package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
  172. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
  173. package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
  174. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
  175. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
  176. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
  177. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
  178. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
  179. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
  180. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
  181. package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
  182. package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
  183. package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
  184. package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
  185. package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
  186. package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
  187. package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
  188. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
  189. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
  190. package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
  191. package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
  192. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
  193. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
  194. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
  195. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
  196. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
  197. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
  198. package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
  199. package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
  200. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
  201. package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
  202. package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
  203. package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
  204. package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
  205. package/lib/index.js +756 -0
  206. package/lib/index.js.map +7 -0
  207. package/lib/oh-story/LICENSE.upstream +21 -0
  208. package/lib/oh-story/manifest.json +1351 -0
  209. package/lib/oh-story/roles/chapter-extractor.md +314 -0
  210. package/lib/oh-story/roles/character-designer.md +169 -0
  211. package/lib/oh-story/roles/consistency-checker.md +190 -0
  212. package/lib/oh-story/roles/narrative-writer.md +294 -0
  213. package/lib/oh-story/roles/story-architect.md +195 -0
  214. package/lib/oh-story/roles/story-explorer.md +364 -0
  215. package/lib/oh-story/roles/story-researcher.md +304 -0
  216. package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
  217. package/lib/oh-story/skills/story/SKILL.md +116 -0
  218. package/lib/oh-story/skills/story/VERSION +1 -0
  219. package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
  220. package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
  221. package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
  222. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
  223. package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
  224. package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
  225. package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
  226. package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
  227. package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
  228. package/lib/oh-story/skills/story-import/SKILL.md +634 -0
  229. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
  230. package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
  231. package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
  232. package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
  233. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
  234. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
  235. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
  236. package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
  237. package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
  238. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
  239. package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
  240. package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
  241. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
  242. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
  243. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
  244. package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
  245. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
  246. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
  247. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
  248. package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
  249. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
  250. package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
  251. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
  252. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
  253. package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
  254. package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
  255. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
  256. package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
  257. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
  258. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
  259. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
  260. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
  261. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
  262. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
  263. package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
  264. package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
  265. package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
  266. 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
  267. 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
  268. 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
  269. 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
  270. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
  271. 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
  272. 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
  273. 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
  274. 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
  275. 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
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  277. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  278. 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
  279. 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
  280. 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
  281. 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
  282. 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
  283. 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
  284. 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
  285. 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
  286. 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
  287. 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
  288. 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
  289. 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
  290. 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
  291. 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
  292. 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
  293. 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
  294. 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
  295. 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
  296. 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
  297. 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
  298. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
  299. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
  300. package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
  301. package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
  302. package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
  303. package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
  304. package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
  305. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
  306. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
  307. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
  308. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
  309. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
  310. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
  311. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
  312. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
  313. package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
  314. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
  315. package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
  316. package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
  317. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
  318. package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
  319. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
  320. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
  321. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
  322. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
  323. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
  324. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
  325. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
  326. package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
  327. package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
  328. package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
  329. package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
  330. package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
  331. package/lib/oh-story/skills/story-review/SKILL.md +483 -0
  332. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
  333. package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
  334. package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
  335. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
  336. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
  337. package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
  338. package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
  339. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
  340. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
  341. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
  342. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
  343. package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
  344. package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
  345. package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
  346. package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
  347. package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
  348. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
  349. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
  350. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
  351. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
  352. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
  353. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
  354. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
  355. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
  356. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
  357. package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
  358. package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
  370. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. 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
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. 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
  387. 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
  388. 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
  389. 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
  390. 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
  391. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
  392. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
  393. package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
  394. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
  395. package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
  396. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
  397. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
  398. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
  399. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
  400. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
  401. package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
  402. package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
  403. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
  404. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
  405. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
  406. package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
  407. package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
  408. package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
  409. package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
  410. package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
  411. package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
  412. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
  413. package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
  414. package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
  415. package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
  416. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
  417. package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
  418. package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
  419. package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
  420. package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
  421. package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
  422. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
  423. package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
  424. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
  425. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
  426. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
  427. package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
  428. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
  429. package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
  430. package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
  431. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
  432. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
  433. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -0
  434. 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
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
  436. 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
  437. 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
  438. 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
  439. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
  440. 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
  441. 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
  442. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
  443. 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
  444. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
  445. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
  446. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
  447. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
  448. package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
  449. package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
  450. package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
  451. package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
  452. package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
  453. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
  454. package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
  455. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
  456. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
  457. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
  458. package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
  459. package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
  460. package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
  461. package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
  462. package/lib/types/client/file-activity.d.ts +30 -0
  463. package/lib/types/client/file-activity.d.ts.map +1 -0
  464. package/lib/types/client/file-tree.d.ts +20 -0
  465. package/lib/types/client/file-tree.d.ts.map +1 -0
  466. package/lib/types/client/index.d.ts +12 -0
  467. package/lib/types/client/index.d.ts.map +1 -0
  468. package/lib/types/client/jsonl-preview.d.ts +15 -0
  469. package/lib/types/client/jsonl-preview.d.ts.map +1 -0
  470. package/lib/types/client/markdown-preview.d.ts +38 -0
  471. package/lib/types/client/markdown-preview.d.ts.map +1 -0
  472. package/lib/types/index.d.ts +25 -0
  473. package/lib/types/index.d.ts.map +1 -0
  474. package/lib/types/native-hooks.d.ts +16 -0
  475. package/lib/types/native-hooks.d.ts.map +1 -0
  476. package/lib/types/role-provider.d.ts +6 -0
  477. package/lib/types/role-provider.d.ts.map +1 -0
  478. package/lib/types/role-tool.d.ts +10 -0
  479. package/lib/types/role-tool.d.ts.map +1 -0
  480. package/lib/types/skill-provider.d.ts +15 -0
  481. package/lib/types/skill-provider.d.ts.map +1 -0
  482. package/lib/types/workspace-request-trust.d.ts +13 -0
  483. package/lib/types/workspace-request-trust.d.ts.map +1 -0
  484. package/lib/types/workspace-route.d.ts +10 -0
  485. package/lib/types/workspace-route.d.ts.map +1 -0
  486. package/lib/types/workspace-security.d.ts +9 -0
  487. package/lib/types/workspace-security.d.ts.map +1 -0
  488. package/package.json +107 -0
@@ -0,0 +1,395 @@
1
+ # 角色关系与感情线操作手册
2
+
3
+ ## 用作拆文标尺时
4
+
5
+ 本文件原本是写作侧 playbook,写法是「怎么写」。`story-short-analyze` 在拆文时把它当
6
+ **对照标尺**用 —— 拆文动作是把源文与本文件描述的标准模式做对比,找出该篇用了哪一种、
7
+ 做得有多到位,**不是**按本文件去写新作品。
8
+
9
+ 读者视角的判断:本文件描述的是 番茄小说短篇 / 故事会 / 追妻 / 世情 / 重生 / 虐渣
10
+ 等通俗短篇圈的工业标准模板,是拆文报告里「可复用结构 / 反转设计 / 题材公式」等段的
11
+ 对照来源。
12
+
13
+ ## 决策路由
14
+
15
+ | 你在设计什么 | 使用本章方法 |
16
+ |-------------|-------------|
17
+ | 角色间关系类型 | 人物关系类型表 |
18
+ | 感情线核心人设 | 感情流人设核心法 |
19
+ | 爱情线底层逻辑 | 男频/女频爱情线差异 |
20
+ | 穿书/穿游戏角色选择 | 穿书角色选择法则 |
21
+ | 多角关系/修罗场 | 修罗场收场策略 |
22
+ | 好感度推进节奏 | 好感度体系 + 男频恋爱文攻略 |
23
+ | 配角态度变化 | 配角攻略缓冲区 |
24
+ | 角色共情写作 | 角色行为自洽检查 |
25
+ | 角色目标与关系线 | 角色目标独立性 + 关系线设计 |
26
+
27
+ ---
28
+
29
+ ## 人物关系类型
30
+
31
+ 查表确定角色间的关系类型,然后按原则执行。
32
+
33
+ | 关系类型 | 定义 | 功能 | 示例 |
34
+ |---------|------|------|------|
35
+ | 冲突型 | 双方利益/理念对立 | 制造张力,推动情节 | 宿敌、竞争对手 |
36
+ | 联盟型 | 双方有共同目标 | 提供助力,制造羁绊 | 战友、师徒 |
37
+ | 亲密型 | 情感纽带连接 | 制造软肋,提供情感支点 | 恋人、家人、兄弟 |
38
+ | 权威型 | 上下级/支配关系 | 制造压力,限制主角行动 | 师父、老板、监管者 |
39
+
40
+ **执行规则**:
41
+ - 每个重要关系至少安排一次考验(背叛/牺牲/误解)
42
+ - 关系必须有变化弧线(敌人变盟友、盟友变对手)
43
+ - 禁止所有关系都是"你好我好"的铁板一块
44
+ - 关系的功能必须服务于情节,不能只为甜/虐而存在
45
+
46
+ ---
47
+
48
+ ## 感情流人设核心法
49
+
50
+ 感情流中剧情为人设服务——每次剧情都要丰满人物或推动感情发展,否则就是无效剧情。
51
+
52
+ ### 构建步骤
53
+
54
+ 1. **确定人设核心**:写下最初出现在脑海里的角色特征(如"想登上皇位的皇子""病弱皇子")
55
+ 2. **围绕核心发散**:回答——为什么有这个核心?过去经历?环境影响?性格成因?
56
+ 3. **延伸剧情线**:核心自带的剧情必须写(有目标→目标线;有伤痛→治愈线)
57
+
58
+ ### 执行规则
59
+
60
+ - 俗套剧情配上丰满人设也能脱离套路感
61
+ - 两个主角都必须有闪光点和独立变化路线,不能一个人出彩另一个人黯淡
62
+ - 高光不等于装逼——所有让读者对角色印象深刻的时刻都是高光,包括痛彻心扉的时刻
63
+ - 生命不止恋爱——角色心里希望恋爱,但生命里不能只有恋爱,只有恋爱的角色立不住、很单薄
64
+
65
+ ---
66
+
67
+ ## 男频与女频爱情线底层逻辑差异
68
+
69
+ **先确定目标读者群,再选择对应逻辑。两者不可混淆,否则读者会觉得"不对味"。**
70
+
71
+ ### 男频爱情线逻辑
72
+
73
+ | 维度 | 说明 |
74
+ |------|------|
75
+ | 核心 | "外在因素展示"——主角和对象在一起体现两人的外在因素多优秀 |
76
+ | 三种核心逻辑 | "她要是我的该多好" → "这么优秀的人是我的了" → "这么优秀的人都喜欢我,我更优秀" |
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
+ - 可以用原世界知识卡bug获取超额收益
109
+
110
+ ---
111
+
112
+ ## 修罗场收场策略
113
+
114
+ 修罗场本质是一种矛盾,控制对抗烈度,不能让爱情线对象之间出现不可调和的矛盾。
115
+
116
+ | 收场方法 | 操作 |
117
+ |---------|------|
118
+ | 关联回事业线 | 让爱情线对象们把争风吃醋转化为"比谁对主角事业线贡献更大" |
119
+ | 插入事业线突发事件 | 对抗进入白热化时,用突发事件让所有人从内斗切换成一致对外 |
120
+ | 一笔带过 | 最多两人互相看不惯、说两句嘲讽话就过去,非常克制 |
121
+
122
+ ---
123
+
124
+ ## 傻白甜角色塑造避坑
125
+
126
+ ### 六个必避之坑
127
+
128
+ 1. 女主犯错不能是故意的,不能明知不能做偏要做
129
+ 2. 女主犯错不能违反道德——傻白甜最重要的是天真小孩子般的高道德感
130
+ 3. 不能站在道德高地指责他人(道德婊行为),自己却做不好
131
+ 4. 不能因为道德婊行为和队友发生矛盾后还让队友认错赞美她
132
+ 5. 正确做法:有更高道德标准 → 所作所为符合 → 为此显得与众不同和有点傻气
133
+ 6. 可以写成长线:坐到被她指责的人的位置上后,发现原来那个做法已是最好的选择
134
+
135
+ ### 反向用法
136
+
137
+ 塑造傻白甜反派时,把以上六点全加在她身上,让读者一见就厌恶。
138
+
139
+ ---
140
+
141
+ ## 人设改变的双向翻转法
142
+
143
+ 爱情线中关系发生变化时的人设调整方法。
144
+
145
+ ### 核心思路
146
+
147
+ - 最好的改变是两个人都改变,且改变后恰好与之前两人之间的对应关系相反
148
+ - 改变要基于原人设做局部调整,和原人设保持密切联系,避免随意改造
149
+
150
+ ### 执行规则
151
+
152
+ - 人设变化发生在爱隔山海阶段之后(尤其是面对最大阻碍之后),不要再设计新的矛盾,只要发糖
153
+ - 真正的阻碍已在前面解决,此时读者最迫切的渴望是多吃糖
154
+ - 发糖要用实在的CP行为和悉心照顾表达爱意,不是"我爱你"式的工业糖精
155
+
156
+ ---
157
+
158
+ ## 角色行为自洽检查
159
+
160
+ ### 第一步:排除外部强推
161
+
162
+ 检查角色行为是否只是为了让剧情往某方向发展。如果角色"恰好"做了推进剧情的事但没有自身动机,标记为"人设偏移",必须为该行为补充角色层面的合理理由。
163
+
164
+ ### 第二步:情绪目标确认
165
+
166
+ 写每段前明确三个要素:
167
+ 1. 本段目标情绪:这段剧情要让读者产生什么情绪?
168
+ 2. 角色性格特征是否支持该情绪:角色的设定属性是否自然导向此情绪方向?
169
+ 3. 角色行为是否符合使命定位:角色在本段的行为是否与其在故事中的功能定位一致?
170
+
171
+ ### 第三步:人设行为推导
172
+
173
+ 从角色已设定属性(经历/性格/目标/当前状态)推导其在场景中的行为:
174
+ - 列出该角色在此场景下的2-3种可能反应
175
+ - 评估每种反应与角色已有行为模式的一致性
176
+ - 选择最符合人设且最有戏剧张力的那一种
177
+
178
+ ### 第四步:情绪一致性校验
179
+
180
+ 检查角色表达的情绪核心与场景目标情绪是否一致。不一致则调整角色行为或场景目标情绪,确保输出内容在情绪维度上自洽。
181
+
182
+ **两种执行路径**:
183
+ - 路径A:先定目标情绪 → 按人设推导角色行为 → 校验一致性
184
+ - 路径B:先按人设推导角色行为 → 反推场景目标情绪 → 校验一致性
185
+
186
+ ---
187
+
188
+ ## 配角攻略缓冲区
189
+
190
+ 配角对主角态度的变化过程 = 主角攻略配角的过程,伴随巨大的期待感和爽点。
191
+
192
+ ### 缓冲区类型
193
+
194
+ 线上线下、背后议论、异地相处、地位差距、亲密度差距、信任程度、信息差等。
195
+
196
+ ### 操作步骤
197
+
198
+ 1. 始终保持缓冲区存在
199
+ 2. 在卷纲中挑出事件拐点(5~7个)
200
+ 3. 在每个拐点处标注配角状态和对主角的态度变化
201
+ 4. 每次攻略到关键点位时,配角的态度变化必须写清楚
202
+ 5. 态度变化本身就产生情绪波动和期待感
203
+
204
+ ### 执行规则
205
+
206
+ - 配角不能像NPC一样站着等主角触发
207
+ - 配角要有自己的行动,由配角观点引出事件
208
+ - 正面角色也一样:和主角立场相同的人也应有自己的行动和动机
209
+
210
+ ---
211
+
212
+ ## 利用角色身份认知差制造冲突
213
+
214
+ 同一个角色在不同人眼中的"声望"是动态变化的,不是恒定值。
215
+
216
+ | 视角 | 看重什么 | 对男主的评价 |
217
+ |------|----------|-------------|
218
+ | 世俗视角 | 家境对等,抗风险能力 | 综合条件匹配度 |
219
+ | 男主自身 | 赚钱养家+感情 | 相对门当户对 |
220
+ | 女主视角 | 感情+专一+爱 | 只要在乎的就门当户对 |
221
+ | 富二代 | 外貌家世匹配度 | 我才更门当户对 |
222
+ | 路人 | 综合条件对比 | 女主该嫁富二代 |
223
+
224
+ **操作要点**:
225
+ - 不同人对同一个角色的评价差异 = 天然的矛盾冲突来源
226
+ - 恋爱文的核心爽点之一:不同维度的评价差
227
+
228
+ ---
229
+
230
+ ## 亦敌亦友关系
231
+
232
+ 最有魅力的人物关系类型。
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
+ - 当前男频读者普遍反感"舔狗"人设
286
+ - 推动好感靠男主自身优秀品质吸引,不是主动追求
287
+ - 男主帮女主是举手之劳不经意为之 → 女主因此记住他
288
+
289
+ ### 感情升级的不对称性
290
+
291
+ - 两条进度线:表面社会关系(路人→朋友→情侣)+ 实际情感好感度
292
+ - 两条线不应齐头并进 → 一条快一条慢 → 带来丰富的矛盾冲突
293
+ - 情感线快于社会线 → 辉夜大小姐模式(双方好感拉满但嘴硬不表白)
294
+ - 社会线快于情感线 → 赘婿/择天记模式(表面夫妻实际好感为零)
295
+
296
+ ### 写女主对主角好
297
+
298
+ | 女主类型 | 付出方式 |
299
+ |---------|---------|
300
+ | 自卑社恐 | 偷偷帮忙塞东西但害怕被发现 |
301
+ | 傲娇型 | 用心做便当但嘴硬"做多了顺便带的" |
302
+ | 直率泼辣 | 大大方方送礼物或直球表白 |
303
+
304
+ ### 善用对比
305
+
306
+ | 对比类型 | 操作 |
307
+ |---------|------|
308
+ | 时间线对比 | 女主刚认识主角时 vs 熟悉后的态度变化 |
309
+ | 双标 | 不允许别人摸头但主角可以 → 凸显特殊地位 |
310
+ | 信息差 | 男女主双重身份(网上vs现实)→ 期待揭穿时反应 |
311
+
312
+ ---
313
+
314
+ ## 好感度体系(通用框架)
315
+
316
+ ### 四阶段
317
+
318
+ 萍水相逢 → 爱情喜剧 → 爱隔山海 → 大结局
319
+
320
+ ### 好感度 × 关系阶段对照表
321
+
322
+ 好感度(负/零/半/满) x 关系阶段(熟悉/试探/暧昧/确认)
323
+
324
+ 阶段匹配原则:**按低的一方计算**。好感度到了但关系阶段没到 = 行为突兀。
325
+
326
+ ### CP行为三类门槛
327
+
328
+ | 行为类型 | 门槛 | 说明 |
329
+ |---------|------|------|
330
+ | 需容忍行为 | 半好感+ | 主动亲密、妥协,必须给补偿否则变舔狗 |
331
+ | 特殊对待行为 | 半好感+ | 主权、信赖、牺牲、特殊待遇、安抚 |
332
+ | 关联行为 | 双方半好感+ | 默契、分享、陪伴 |
333
+
334
+ 好感度不足时写需容忍行为 = 油腻/性骚扰感。
335
+
336
+ ### 5套感情线结构模板
337
+
338
+ | 模板 | 核心 |
339
+ |------|------|
340
+ | 好感度变化 | 可能升/降/已降 → 各自处理路径 → 余韵 |
341
+ | 受益 | 享受伴侣带来的好处 = 爱情线装逼核心 |
342
+ | 争风吃醋 | 多角色为主角争风,不是主角吃别人醋 |
343
+ | 发展受阻 | 阻碍→试图解决→解决→余韵 |
344
+ | 狗粮 | CP日常互动 |
345
+
346
+ ---
347
+
348
+ ## 角色目标的独立性与关系线设计
349
+
350
+ ### 主角目标独立性原则
351
+
352
+ - 主角的目标必须属于自己的 → 不能是"帮别人实现目标" → 否则主角变成配角/工具人
353
+ - 正确做法:把别人的目标转化为主角自己的(平叛=保护自己的利益/获得认可/获取资源)
354
+ - 自检方法:随机看一章 → 主角在主动追求什么 → 如果没有 → 主角沦为别人的棋子
355
+
356
+ ### 感情线的层次设计
357
+
358
+ - 感情推进不是线性的,应该有升级节点,每个节点对应一个剧情高潮
359
+ - 社会关系线 vs 实质情感线的错位制造张力
360
+ - 最佳节奏:感情先慢后快 → 前期铺垫积累好感 → 后期集中爆发 → 匹配盛大仪式
361
+
362
+ ### 配角的功能性定位
363
+
364
+ | 类型 | 功能 | 使用时机 |
365
+ |------|------|---------|
366
+ | 竞争者(鲶鱼型) | 制造压力推动主角行动 | 高潮节点前 |
367
+ | 助力型亲友 | 提供资源/情感支持 | 高潮前发挥 |
368
+ | 阻力型亲友 | 不认可→设置条件→主角克服→获得认可 | 节点前后都能用 |
369
+
370
+ ---
371
+
372
+ ## 绿茶/负面角色
373
+
374
+ - 可以推动剧情但要谨慎使用
375
+ - 确认该角色是否有不可替代性
376
+ - 主角强势时任何角色都能变正反馈
377
+ - 主角弱势时负面角色会被读者恨
378
+
379
+ ---
380
+
381
+ ## 质量检查清单
382
+
383
+ 每次完成角色关系/感情线设计后,逐项核查:
384
+
385
+ - [ ] **关系类型明确**:每个重要关系已归类为冲突/联盟/亲密/权威之一
386
+ - [ ] **关系有弧线**:每个重要关系至少经历一次考验或变化
387
+ - [ ] **人设有核心**:主角人设有明确的核心特征和发散依据
388
+ - [ ] **目标独立性**:主角的目标属于自己的,不是帮别人实现目标
389
+ - [ ] **好感度匹配**:CP行为与当前好感度阶段匹配(按低的一方计算)
390
+ - [ ] **读者群对味**:男频围绕"展示优秀"设计事件,女频围绕"深化连接"设计事件
391
+ - [ ] **配角有行动**:配角不是NPC式站桩等待触发,有自己的行动和动机
392
+ - [ ] **缓冲区存在**:配角攻略过程中始终保持缓冲区,拐点处标注态度变化
393
+ - [ ] **修罗场可控**:多角关系中对象之间无不可调和的矛盾
394
+ - [ ] **发糖时机正确**:爱隔山海之后不再设计新矛盾,只发实在的CP行为糖
395
+ - [ ] **角色不止恋爱**:角色生命中有恋爱之外的内容,不是单薄的情感工具人
@@ -0,0 +1,79 @@
1
+ # 拆文实例(3 个完整案例)
2
+
3
+ > 拆文时参考结构范例。先用决策路由选相近类型,再对照案例检查自己的拆文。
4
+
5
+ ## 决策路由
6
+
7
+ | 你在拆什么类型的故事 | 参考案例 | 重点看 |
8
+ |---------------|---------|--------|
9
+ | 现代虐恋/反转 | 案例 1(盲女保镖 x 霸总) | 假盲设定 + 双关 + 日记揭露 |
10
+ | 古代虐恋/身份反转 | 案例 2(庶女 x 将军) | 信物转赠 + 底层翻身 |
11
+ | 权谋/多角关系 | 案例 3(长公主 x 四位青梅) | 主动布局 + 信息差设计 |
12
+
13
+ ## 案例 1:现代虐恋(盲女保镖 x 霸总)
14
+
15
+ **导语**
16
+ - 背景:女主是盲人保镖,救过男主,男主承诺照顾她一辈子
17
+ - 虐点:女主发现男主和女配出轨,为报恩忍耐
18
+ - 反转:女主其实是假盲,她看得见一切背叛
19
+ - 钩子:女主能看见但没人知道 | 她只给自己 7 天时间离开
20
+
21
+ **起**:女主在厨房听到男主打电话约女配 -> 假装不知道端汤出去 -> 男主手机弹出女配消息,女主"碰巧"看到屏幕 -> 虐点:男主在她面前毫无顾忌
22
+
23
+ **承+转1**:女主发现怀孕想告诉男主 -> 撞见男主给女配庆生 -> 看到项链是当年自己送的定情物 -> 虐点升级:信物被转赠
24
+
25
+ **承**:女主沉默回家收拾行李 -> 男主回来问眼睛 -> 她说"好多了,什么都能看见了"(双关,男主没听懂)
26
+
27
+ **承+转2**:男主生日宴会,女配以女伴身份出席,女主作为"保镖"在角落站着 -> 女主当众宣布离婚递协议 -> 爽点:全场震惊
28
+
29
+ **合**:女主离开后男主发现她留下的日记 -> 日记记录了她"看见"的每一次背叛 -> 男主崩溃但女主已消失 -> 爽点+悬念
30
+
31
+ ---
32
+
33
+ ## 案例 2:古代虐恋(庶女 x 将军)
34
+
35
+ **导语**
36
+ - 背景:庶女与将军秘密相恋三年,将军承诺战后娶她
37
+ - 虐点:将军凯旋带回正妻——是嫡姐
38
+ - 反转:庶女发现自己只是嫡姐的"练手工具"
39
+ - 钩子:庶女能否从贱籍翻身到龙床 | 将军会后悔到什么程度
40
+
41
+ **起**:庶女在后院刺绣听到将军回城 -> 满心期待准备嫁衣 -> 门口传来嫡姐声音:"夫君,你回来了"
42
+
43
+ **承+转1**:庶女被迫给嫡姐敬茶 -> 偷听到"不过是拿她练练手,你别介意" -> 虐点:三年感情只是工具
44
+
45
+ **承**:庶女表面顺从暗中接近太子宴席 -> 用才艺引起太子注意 -> 虐中蓄力
46
+
47
+ **承+转2**:将军发现庶女被太子纳入府中震惊 -> 庶女当众揭穿将军靠嫡姐上位 -> 爽点:身份反转将军颜面尽失
48
+
49
+ **合**:庶女成为太子侧妃后成正妃 -> 将军在战场被追杀无人救援 -> 临死前看到庶女画像终于后悔 -> 爽点:迟来的后悔比死更难受
50
+
51
+ ---
52
+
53
+ ## 案例 3:权谋公主(长公主 x 四位青梅竹马)
54
+
55
+ **导语**
56
+ - 背景:长公主有四位青梅竹马未婚夫,但她心里只有那个不爱她的将军
57
+ - 虐点:她选了最没权势的那个,放弃了一直默默守护的将军
58
+ - 反转:她选的那个才是害她母后的人
59
+ - 钩子:公主放弃真爱会怎样 | 被放弃的人如何反击
60
+
61
+ **起**:抽签决定婚姻,公主表面顺从 -> 暗中做了手脚让最弱的那个中签 -> 读者知道她在保护将军
62
+
63
+ **承+转1**:被选中的驸马展露野心 -> 发现驸马与敌国通信 -> 虐点:公主以为在保护人实际养虎为患
64
+
65
+ **承**:公主被软禁,将军在外征战不知情 -> 公主利用暗线传递消息反击 -> 虐中蓄力
66
+
67
+ **承+转2**:将军回朝发现公主被囚 -> 公主早已安排好反击计划,等的是时机,救援只是掩护 -> 爽点:公主从来不弱
68
+
69
+ **合**:驸马叛变被镇压公主亲临城楼 -> 将军问为何当年不选自己 -> "因为只有你不在我身边,你才能成为最强的那把刀" -> 爽点+余韵
70
+
71
+ ---
72
+
73
+ ## 拆文检查清单
74
+
75
+ 1. **标记情绪**:每段标注虐/爽/蓄力,检查分布是否合理
76
+ 2. **找钩子**:每篇至少 2 个钩子,至少 1 个信息差钩子
77
+ 3. **查结构**:起承转合是否完整,转折是否合理
78
+ 4. **看铺垫**:每个反转前是否至少 2 个铺垫线索
79
+ 5. **评估爽度**:最大爽点是否在全文 70-85% 位置