@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,685 @@
1
+ # 短篇小说拆解方法论
2
+
3
+ ## 目录
4
+
5
+ 1. [短篇 vs 长篇:核心差异](#短篇-vs-长篇核心差异)
6
+ 2. [拆解思路](#拆解思路)
7
+ 3. [拆解流程 5 阶段](#拆解流程-5-阶段)
8
+ 4. [情节节点提取规则](#情节节点提取规则)
9
+ 5. [写作手法分析](#写作手法分析)
10
+ 6. [情感线分析](#情感线分析)
11
+ 7. [节奏分析](#节奏分析)
12
+ 8. [人物提取规则](#人物提取规则)
13
+ 9. [共鸣分析](#共鸣分析)
14
+ 10. [结构类型速查](#结构类型速查)
15
+ 11. [质量标准](#质量标准)
16
+ 12. [references 协作关系](#references-协作关系)
17
+
18
+ ---
19
+
20
+ ## 短篇 vs 长篇:核心差异
21
+
22
+ | 维度 | 长篇 | 短篇 |
23
+ |------|------|------|
24
+ | 篇幅 | 数十万字、数百章 | 5000-15000字、6-12节 |
25
+ | 弧线 | 多线交织、多卷结构 | 单弧线、压缩三幕 |
26
+ | 人物 | 群像、分级体系 | 精简(3-5人)、功能高度浓缩 |
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
+ │ │ │ │ │ └─ 为什么能火
55
+ │ │ │ │ └─ 怎么写出来的
56
+ │ │ │ └─ 读者感受到了什么
57
+ │ │ └─ 谁在推动故事
58
+ │ └─ 怎么布局的
59
+ └─ 写的是什么(锚定一切分析的起点)
60
+ ```
61
+
62
+ ### 每个阶段的核心问题
63
+
64
+ 拆文目标是回答问题,不能机械填表。每个阶段都有一个核心问题:
65
+
66
+ | 阶段 | 核心问题 | 回答不了说明 |
67
+ |------|----------|-------------|
68
+ | 故事核 | 一句话讲清楚这个故事卖什么? | 还没读懂,别急着拆 |
69
+ | 结构 | 文本如何布局?开端/发展/高潮/结局各占多少? | 布局决定了节奏,不知道布局就不知道节奏 |
70
+ | 人物 | 谁是主人公?谁是主动型角色?谁是被动型角色? | 不知道谁在推故事,就不知道故事怎么动的 |
71
+ | 情感线 | 读者的情绪是怎么被一步步拉扯的? | 这是短篇的核心价值,拆不出来等于白拆 |
72
+ | 写作手法 | 文本用了什么手法让读者产生这种体验? | 手法必须被拆成可复用功能位,否则无法迁移 |
73
+ | 共鸣+爆点 | 为什么这篇能火?触发了什么共鸣? | 不回答这个问题,拆文就变成了文学鉴赏 |
74
+ | 综合评估 | 哪些结构可复用?复用条件和风险是什么? | 不能指导下一份 artifact 的拆文没有意义 |
75
+
76
+ ### 拆解约束
77
+
78
+ 1. **禁止主观评价** — 不评价好坏,只拆解机制。输出中不得出现"写得好/写得差"类评价
79
+ 2. **从体验反推手法** — 先定位读者情绪高峰,再反推文本用什么手法制造了这个高峰
80
+ 3. **深度优先于全面** — 核心维度(故事核/爆点/共鸣)必须深入,可选维度按需
81
+ 4. **可复用性导向** — 每个分析点必须输出复用条件、可迁移做法和风险边界
82
+
83
+ ---
84
+
85
+ ## 拆解流程 5 阶段
86
+
87
+ > **编号说明**:Phase 1(确认拆解对象+题材路由)是 SKILL.md 处理的顶层工作流阶段。本文件描述拆解管道的 Stage 2-6。
88
+
89
+ ### Stage 2:结构分析 + 情节节点提取
90
+
91
+ - 识别章节/小节分隔符(###01、第一章、01 等)
92
+ - 提取标题,记录每节字数
93
+ - 提取**故事核**(分三层概括):
94
+ - **设定**:故事的前提/触发条件(如"重生三次被母弟杀害")
95
+ - **主题**:核心矛盾/价值观冲突(如"极端重男轻女")
96
+ - **核心行动**:主角做了什么(如"放任母弟自毁")
97
+ - 合并为一句:如"重生三次被母弟杀害的女孩,第四世放任她们自毁"
98
+ - 写**故事梗概**(200-500字概括)
99
+ - 识别 POV(第一/第三人称、全知视角)
100
+ - 识别叙事时间线(线性/插叙/倒叙/双线交叉)
101
+ - 将全文按功能划分为 4-6 段(必须包含开端/发展/高潮/结局,可酌情增加转折/过渡段),标注每段字数范围和占比
102
+
103
+ > **灵活分节**:部分故事只有2-3章但内含数字编号小节,此时"节"应以叙事功能单元为准,而非物理章节。章节过少时以小节/编号段为分析单位。
104
+
105
+ #### B. 情节节点提取
106
+
107
+ 情节节点 = 推动故事发展的关键事件或信息释放。
108
+
109
+ 密度原则:每 200-300 字一个节点,每节 3-8 个。全文目标节点数按字数分档,以下表为唯一权威:
110
+
111
+ | 全文字数 | 目标节点数 | 说明 |
112
+ |----------|-----------|------|
113
+ | ≤5000 | 15-25 个 | 精短型,每个节点必须有效 |
114
+ | 5000-8000 | 25-40 个 | 标准型 |
115
+ | 8000-12000 | 35-55 个 | 中长型 |
116
+ | >12000 | 45-60 个 | 长短篇(上限) |
117
+
118
+ 每个节点提取:
119
+
120
+ | 字段 | 说明 |
121
+ |------|------|
122
+ | 序号 | 严格时间顺序 |
123
+ | 类型 | 情绪节点/信息节点/冲突节点/转折节点/对话节点/氛围节点 |
124
+ | 描述 | 客观白描,只记录发生了什么(禁止叙事框架词) |
125
+ | 原文引用 | ≤300 字直接引用 |
126
+ | 情绪标记 | 情绪类型 + 强度(-9 到 +9) |
127
+ | 涉及人物 | 全名 |
128
+ | 手法标记 | 使用了什么手法(如有时) |
129
+
130
+ ### Stage 3:情感线 + 爆点分析
131
+
132
+ #### A. 情感曲线
133
+
134
+ 从情节节点数据生成情感曲线。节点数 = 至少 max(5, 节数) 个,确保每节至少一个情绪节点。
135
+
136
+ 曲线特征提取:
137
+ - 起始情绪
138
+ - 走向模式(上行/下行/波浪/V形/倒V/阶梯/断崖/压缩弹簧)
139
+ - 极值(最高点、最低点及其位置百分比)
140
+ - 方向差(起始到结尾的净变化)
141
+ - 翻转次数(正负交替次数)
142
+
143
+ #### B. 爆点分析
144
+
145
+ 分析故事的情感爆发设计:
146
+
147
+ | 维度 | 问题 |
148
+ |------|------|
149
+ | 铺垫 | 什么让读者开始在意?前多少字完成? |
150
+ | 积累 | 什么在积累情绪势能?积累多久? |
151
+ | 延迟 | 有没有延迟释放?信息差/误解/悬念? |
152
+ | 爆发点 | 哪个瞬间释放全部情绪?精确到句子 |
153
+ | 余波 | 释放后有没有余震?多个角色反应? |
154
+ | 印象 | 情绪释放后留下什么?读者记住什么? |
155
+
156
+ **叠加爆点**:有些故事的爆点是分层的——表层爆点(如死亡/分离)刚引爆,深层爆点(如真相揭示/认知颠覆)在前一个余波中二次爆发。分析时需标注:
157
+ - 是否存在叠加爆点?
158
+ - 表层爆点和深层爆点分别是什么?
159
+ - 叠加效果(1+1>2 的增效在哪里?)
160
+
161
+ **多爆点串联**:部分故事(豪门复仇、舆论反转)有多个独立爆点逐个引爆,每个爆点自成一体但互相呼应。分析时需标注:
162
+ - 有几个独立爆点?分别是什么?
163
+ - 爆点之间是递进(一个比一个爽)还是并列(不同维度的满足)?
164
+ - 爆点间隔是否合理(间隔太远=情绪断裂,太近=疲劳)?
165
+
166
+ #### C. 期待感分析
167
+
168
+ 逐节追踪期待状态,表模板见 output-templates.md Stage 3C。
169
+
170
+ 规则:不超过两节不制造新期待,不超过一节不推进核心期待。
171
+
172
+ ### Stage 4:反转设计 + 写作手法
173
+
174
+ #### A. 反转分析
175
+
176
+ **前置反转检查**:是否有在故事时间线之前就已存在的谎言/误判。
177
+
178
+ > **无反转型/报应型**:有些故事(复仇爽文、重生文)没有传统反转,爽感来自看反派因果报应逐步兑现。遇到此类故事,跳过反转机制拆解,改为分析"报应设计"——反派如何一步步走向毁灭,每一步的铺垫和满足感。使用报应设计表:每条恶行→对应的报应→爽感来源。理想情况下每条报应与恶行形成精确对应("以彼之道还施彼身")。
179
+ >
180
+ > **主动报应 vs 反派自毁**:报应设计分两种——①主角设局让反派自爆(如香水复仇、比赛设局);②主角不复仇,反派内部反目自己作死。第二种更真实但爽感较低,分析时标注类型。
181
+
182
+ **反转机制拆解**(存在反转时执行):
183
+ - 铺垫线索(≥2条,含原文位置)
184
+ - 误导方向(文本把读者往哪引)
185
+ - 真相揭示(怎么揭开的)
186
+ - 合理性(回看得不失真)
187
+ - 时机(全文百分之几位置)
188
+ - 铺放比(铺垫字数 : 释放字数)
189
+
190
+ **反转链**:部分故事(舆论反转文、套娃反转文)包含多个连续反转,前一个反转的结论被后一个反转推翻。分析时需按顺序列出每个反转:
191
+ - 每个反转:类型 + 触发事件 + 读者认知变化
192
+ - 反转之间的因果关系(前一个反转如何为后一个反转铺垫)
193
+ - 反转链的整体效果(递进/叠加/出其不意)
194
+
195
+ **套娃反转的质量检验**:套娃反转好不好,看反转之间有没有因果关系——反转A必须解释或加深反转B,避免随手堆砌。检验方法:删掉任意一层反转,其他反转还成立吗?如果成立,说明反转之间没有因果关联,只是堆砌。
196
+
197
+ **伏笔式反转**:部分反转依托开头早就给过的信息,读者知道真相后回头看,含义完全变了。这就是伏笔的经典用法——不铺新线索,只是让读者自己"恍然大悟"。分析时标注:伏笔原文位置、初读时读者的理解、知道真相后的新理解。
198
+
199
+ #### B. 写作手法分析
200
+
201
+ 逐项分析以下维度的使用情况:
202
+
203
+ | 维度 | 分析内容 |
204
+ |------|----------|
205
+ | POV策略 | 人称选择的效果、叙事距离、可靠性 |
206
+ | 对话手法 | 密度比、潜台词率、模式识别 |
207
+ | 时间操控 | 时间跳跃、场景压缩、平行剪辑 |
208
+ | 信息控制 | 读者知道 vs 角色知道、隐瞒/揭示时机 |
209
+ | 感官锚定 | 五感分布、主导感官、感官切换 |
210
+ | 句式节奏 | 长短句交替、节奏加速/减速、关键句位置 |
211
+ | 对比设计 | 角色对比、前后对比、环境对比 |
212
+ | 意象/物件 | 重复出现的物件、意象、象征 |
213
+ | 留白手法 | 不写之写、省略的艺术、暗示 |
214
+ | 专业技能武器化 | 主角用职业特长作为复仇/对抗工具(调香师用香水、AI工程师用AI、律师用法律)。职业技能越专业,手段越可信越有新意 |
215
+ | 倒计时框架 | 用明确时限(10天/5小时/1分钟)制造紧迫感。每一段倒计时都是情感催化剂,读者和主角一起倒数 |
216
+ | 双视角叙事 | 同一事件从两个角色视角分别体验。先跟A感受痛苦,再跟B感受悔恨。读者情感判断被迫修正,无法简单站队 |
217
+ | 弹幕/评论互动 | 故事内的"读者评论"成为角色——提供任务、吐槽、剧情预告。弹幕本身可以有变化弧线(从自信到崩溃) |
218
+ | 反差萌 | 角色想装一种人却总是暴露本性,每次"装失败"都让对方更喜欢。注意识别重复升级的模式 |
219
+
220
+ 每项手法标注:使用位置、效果评价、可复用条件。
221
+
222
+ ### Stage 5:人物分析 + 开头结尾
223
+
224
+ #### A. 人物提取
225
+
226
+ 短篇人物精简(通常 3-5 人),但每个人物承担多重功能。
227
+
228
+ **人物分类**(二维体系):
229
+
230
+ 维度一 — 叙事角色(这人在故事里的位置):
231
+ - **主人公**:故事的第一视角人物或核心焦点人物
232
+ - **重要配角**:戏份重、有独立弧线的人物
233
+ - **功能人物**:承担特定叙事功能(催化剂/对照组等)
234
+
235
+ 维度二 — 行动角色(这人在故事里怎么动):
236
+ - **主动型**:主动推动剧情发展、做出关键选择
237
+ - **被动型**:被剧情推着走、被动承受
238
+ - **转变型**:从被动转为主动(或反过来)
239
+
240
+ > 同一人物可以同时是"主人公"+"被动型"(如前期的乔青),也可以从"被动型"转变为"主动型"。两个维度独立标注。
241
+
242
+ **双主人公结构**:部分故事(BE虐文、双向视角文)存在两个主人公,各自驱动故事的不同阶段。识别标准:①两人都有完整的情感弧线(不是扁平的)②故事分为明显的"A段"和"B段",各自以不同角色为中心③读者对两人都有强烈的共情。标注时两人都标为"主人公",并注明各自主驱动的章节范围。
243
+
244
+ | 字段 | 说明 |
245
+ |------|------|
246
+ | 姓名 | 全名 |
247
+ | 分类 | 叙事角色{主人公/重要配角/功能人物} + 行动角色{主动型/被动型/转变型} |
248
+ | 人物性格 | 从行为归纳,不从标签推导 |
249
+ | 内在矛盾 | 核心心理冲突(不是外部遭遇) |
250
+ | 关键台词 | 最能代表该角色的 1-2 句话 |
251
+ | 弧线 | 始→转→终(标注触发事件和位置)。无明显弧线标注"扁平" |
252
+ | 功能标签 | 在故事中承担什么叙事作用 |
253
+
254
+ **人物功能标签**(7 种):
255
+
256
+ | 标签 | 定义 | 示例 |
257
+ |------|------|------|
258
+ | 情绪承载者 | 承载读者共情的主要载体 | 第一人称主角 |
259
+ | 压迫源 | 制造负面情绪的角色 | 冷漠/控制的男主 |
260
+ | 反转触发器 | 触发关键反转的角色 | 绑架事件中的第三方 |
261
+ | 道德锚点 | 代表正常价值观的角色 | 关心/担忧主角的长辈 |
262
+ | 对照组 | 与主角形成对比的角色 | 温和的配角 vs 冷酷的主角 |
263
+ | 催化剂 | 推动剧情但不直接参与核心冲突 | 连接/温暖型角色 |
264
+ | 自毁型 | 自身行为导致自我毁灭的角色 | 重男轻女的母亲、偏执的家属 |
265
+
266
+ 一个人物可以有多个标签。
267
+
268
+ #### A2. 人物关系
269
+
270
+ 从情节节点中提取人物间的关系和演变:
271
+
272
+ | 字段 | 说明 |
273
+ |------|------|
274
+ | 关系对 | A ↔ B(全名) |
275
+ | 关系本质 | 一句话概括关系核心(如:单向依附→对等拒绝) |
276
+ | 演变轨迹 | 节N:状态A → 节M:状态B,标注触发事件 |
277
+ | 情绪贡献 | 这段关系对情感线的贡献 |
278
+
279
+ 提取策略:
280
+ - 只提取有直接互动或明确情感描述的人物对
281
+ - 同一对人物保留最终状态,历史变化写入演变轨迹
282
+ - 关注关系转折的精确位置和触发原因
283
+
284
+ #### B. 开头分析
285
+
286
+ - 前 3 句原文引用
287
+ - 前 50 字分析:有没有冲突/异常?
288
+ - 前 100 字分析:读者是否知道核心矛盾?
289
+ - 钩子类型:悬念/冲突/反差/代入/信息差
290
+ - 开头情绪强度(1-10)
291
+ - 代入感评估:强(立刻在意主角)/ 中(需几段投入)/ 弱(缺乏共鸣点)
292
+ - 信息密度评估:高/中/低
293
+ - 声音辨识度:强(一句话就能辨认是谁在说话)/ 中(有特征但不够突出)/ 弱(角色声音同质化)
294
+
295
+ #### C. 结尾分析
296
+
297
+ - 最后一段原文引用或概括
298
+ - 结尾类型:HE满足/BE遗憾/开放式/反转余韵/留白
299
+ - 结尾情绪强度(1-10,参考标准:虐文≥8、爽文≥7、治愈文≥6、通透满足≥5、震惊反转≥7、**BE意难平≥8** 为合格)
300
+ - 情绪落点(读者离开时在想什么)
301
+ - 余韵设计
302
+ - 传播欲(读者会不会推荐)
303
+ - 收束完整性(所有钩子是否回收)
304
+ - 价值观传达:这篇故事最终想说什么?(如"爱情只是调味剂,不是必需品")
305
+
306
+ #### D. 首尾呼应
307
+
308
+ 对比开头和结尾的元素呼应:
309
+
310
+ | 呼应元素 | 开头位置 | 结尾位置 | 呼应方式 | 效果 |
311
+ |----------|----------|----------|----------|------|
312
+
313
+ **重读发现**:部分故事的开头包含特殊的伏笔——开头的某句话在初读时是一种含义,读完真相后回头再看含义完全变了。分析时标注:哪些开头语句有这种效果?真相揭示后含义如何变化?
314
+
315
+ #### E. 钩子回收检查
316
+
317
+ 列出全文埋设的所有钩子及其回收状态:
318
+
319
+ | 钩子 | 埋设位置 | 类型 | 回收位置 | 回收方式 | 状态 |
320
+ |------|----------|------|----------|----------|------|
321
+
322
+ 未回收的钩子标注为「留白」或「遗漏」。
323
+
324
+ ### Stage 6:综合评估报告
325
+
326
+ 综合所有阶段数据,输出评估报告:
327
+ - 故事核评价
328
+ - 五维评分(开头吸引力、情感拉扯力、反转设计、节奏控制、结尾余韵)
329
+ > **甜宠/喜剧类替代维度**:当故事类型为甜宠/喜剧/反差萌时,"反转设计"维度天然低分(此类故事通常无反转),可替换为"反差萌浓度","情感拉扯力"替换为"甜度曲线"。替代维度:开头吸引力、甜度曲线、反差萌浓度、节奏控制、结尾余韵
330
+ - 爆点性 + 话题性
331
+ - 共鸣层次分析
332
+ - 可复用结构(至少 3 条,含适用场景)
333
+ - 同类型写作动作
334
+
335
+ ### 可选模块:同类对比
336
+
337
+ 将分析对象与同题材、同结构的其他作品对比:
338
+
339
+ | 维度 | 本文 | 对标作品A | 对标作品B |
340
+ |------|------|----------|----------|
341
+ | 情感曲线形态 | | | |
342
+ | 核心手法 | | | |
343
+ | 开头钩子强度 | 1-5 | 1-5 | 1-5 |
344
+ | 反转惊喜度 | 1-5 | 1-5 | 1-5 |
345
+ | 结尾余韵 | 1-5 | 1-5 | 1-5 |
346
+
347
+ **差异化亮点**:关键差异是优势还是劣势?
348
+
349
+ ### 可选模块:平台适配评估
350
+
351
+ | 平台 | 适配度 | 原因 | 调整动作 |
352
+ |------|--------|------|----------|
353
+ | 知乎盐言 | 高/中/低 | 偏重文笔和情感深度,8000-12000字 | |
354
+ | 番茄短篇 | 高/中/低 | 偏重节奏和爽感,5000-10000字 | |
355
+ | 七猫短篇 | 高/中/低 | 偏重故事完整性和可读性,6000-12000字 | |
356
+
357
+ ### 可选模块:详细节奏分析
358
+
359
+ 逐节标注节奏指标,形成节奏分布图:
360
+
361
+ | 节 | 字数 | 事件密度 | 对话占比 | 冲突占比 | 节奏判断 |
362
+ |----|------|----------|----------|----------|----------|
363
+
364
+ ---
365
+
366
+ ## 情节节点提取规则
367
+
368
+ ### 节点类型(6 种,不得自创)
369
+
370
+ | 类型 | 定义 | 识别特征 |
371
+ |------|------|----------|
372
+ | 情绪节点 | 角色内在情绪发生明显转变 | 情绪词、行为变化、内心独白 |
373
+ | 信息节点 | 新信息被释放(读者或角色获得新认知) | 揭示、发现、被告知 |
374
+ | 冲突节点 | 人物间产生正面对抗 | 直接对抗、拒绝、威胁 |
375
+ | 转折节点 | 故事方向发生偏转 | 剧情方向改变 |
376
+ | 对话节点 | 包含关键信息的对话或潜台词 | 传递新信息或改变关系 |
377
+ | 氛围节点 | 环境/氛围的重大转变 | 场景切换、时间跳跃、季节变化 |
378
+
379
+ ### 质量要求
380
+
381
+ 1. **客观白描**:只记录"发生了什么",禁止主观评价
382
+ - 禁止:「沈暮月心碎地听到了真相」
383
+ - 正确:「沈暮月听到"私生子而已",手停在半空」
384
+ 2. **绝对时序**:严格按文本中事件出现顺序排列
385
+ 3. **情绪标记精确**:每个节点标注情绪类型和强度值
386
+ 4. **信息保真**:不遗漏改变上下文的关键细节
387
+ 5. **高度浓缩**:一个节点一句话概括
388
+ 6. **复合合并**:为同一情绪/叙事目的服务的连续微动作合并为一个节点,共用一个 N 编号;密度校验的「节点数」按最终 N 编号总数计
389
+
390
+ ### 白描 vs 评价
391
+
392
+ - 禁止:「通过这段对话展现了她的坚强」
393
+ - 正确:「她直视霍庭煜说"我没有义务配合你"」
394
+ - 禁止:「气氛变得紧张」
395
+ - 正确:「霍庭煜眼神骤冷,周身散发出威压」
396
+
397
+ ---
398
+
399
+ ## 写作手法分析
400
+
401
+ ### POV 策略
402
+
403
+ | POV 类型 | 效果 | 适用情绪 |
404
+ |----------|------|----------|
405
+ | 第一人称 | 亲密感、代入感强、可操控信息 | 虐恋、自省、内心戏 |
406
+ | 第三人称限制 | 兼顾代入和观察距离 | 通用 |
407
+ | 第三人称全知 | 上帝视角、多线并进 | 群像、悬疑 |
408
+ | 第二人称 | 极度沉浸 | 实验性、心理恐怖 |
409
+ | 非人视角 | 新奇感、陌生化 | 系统/鬼/动物视角 |
410
+
411
+ 分析要点:
412
+ - 选择这个 POV 的好处和代价
413
+ - 有没有 POV 内的信息操控(如不可靠叙述者)
414
+ - POV 切换(如有)的时机和效果
415
+ - **代理人问题**:当POV角色无法直接推动剧情时(如灵魂旁观、昏迷旁观),需依赖"活人代理人"来执行行动。代理人的出场时机和行动力直接影响剧情可信度
416
+
417
+ ### 对话手法
418
+
419
+ | 指标 | 计算方式 | 说明 |
420
+ |------|----------|------|
421
+ | 对话占比 | 对话字数 / 全文字数 | 短篇标准 45-65% |
422
+ | 潜台词率 | 含潜台词对话条数 / 总对话条数 | 高手 > 60% |
423
+ | 审判式对话 | 主角提问→对方自爆的数量 | 至少 2 处 |
424
+ | 信息差对话 | 读者知道但角色不知道的对话 | 虐文/反转文核心 |
425
+
426
+ **对话模式识别**:
427
+ - 审判式:主角提问 → 对方被迫自爆
428
+ - 压制式:台词短促强硬、句句紧逼 → 对方歇斯底里
429
+ - 信息差式:双方信息不对称,读者在中间
430
+ - 推拉式:靠近又推开,反复循环
431
+ - 称呼变化追踪:不同角色对同一人用不同称呼(如"阿虎"vs"林川"),称呼的变化反映了关系和身份认同的变化。分析时追踪称呼变化轨迹,标注转变的触发事件
432
+
433
+ ### 时间操控
434
+
435
+ | 手法 | 定义 | 识别特征 |
436
+ |------|------|----------|
437
+ | 时间跳跃 | 跳过一段时间 | 「三年后」「五年后」 |
438
+ | 场景压缩 | 用几句话概括长时间 | 概述性段落 |
439
+ | 平行剪辑 | 两条时间线交替 | A线/B线交替出现 |
440
+ | 倒叙 | 先说结果再说过程 | 结果先行,回溯原因 |
441
+ | 闪回 | 穿插回忆片段 | 突然插入过去场景 |
442
+ | 实时展开 | 逐秒展开关键时刻 | 关键场景慢动作 |
443
+
444
+ ### 信息控制
445
+
446
+ | 时刻 | 读者知道的 | 角色A知道的 | 角色B知道的 | 信息差 |
447
+ |------|-----------|-----------|-----------|--------|
448
+ | 开头 | | | | |
449
+ | 反转前 | | | | |
450
+ | 反转后 | | | | |
451
+
452
+ ### 意象/物件追踪
453
+
454
+ | 物件/意象 | 出现位置 | 每次承载的含义 | 演变轨迹 |
455
+ |-----------|---------|---------------|---------|
456
+
457
+ 如无重复物件/意象,注明"无明显意象重复"。
458
+
459
+ **主题意象群**:当多个物件/意象都指向同一个主题时,不应单独分析每个物件,而应识别它们的关联。如拳套(身份错位)+纹身(被迫标记)+储物间(精神囚禁)都指向"身份囚禁"这个主题。分析时标注:共同主题、各物件的角度、整体效果。
460
+
461
+ ### 留白手法
462
+
463
+ 识别文本刻意留白的内容:
464
+ - 省略的背景(留给读者想象)
465
+ - 未说出口的话(对话中的停顿/省略号)
466
+ - 跳过的过程(直接给结果)
467
+ - 留白的结尾(不交代后续)
468
+
469
+ ---
470
+
471
+ ## 情感线分析
472
+
473
+ ### 情绪类型
474
+
475
+ | 类型 | 信号词 |
476
+ |------|--------|
477
+ | 心疼 | 行为细节、隐忍描写 |
478
+ | 愤怒 | 反派行为、不公待遇 |
479
+ | 震惊 | 反转、真相揭示 |
480
+ | 满足 | 爽点释放、恶人受罚 |
481
+ | 紧张 | 悬念、危机 |
482
+ | 心酸 | 放手、遗憾、成长 |
483
+ | 治愈 | 关怀、团聚、被理解 |
484
+ | 压抑 | 委曲求全、隐忍 |
485
+
486
+ ### 情绪强度量表
487
+
488
+ | 值 | 对应 | 描述 |
489
+ |----|------|------|
490
+ | +9 | 极致爽感 | 打脸、碾压、终极反转、恶人伏法 |
491
+ | +7 | 强烈满足 | 关键证据揭露、期待满足 |
492
+ | +5 | 明显正面 | 小胜利、温情时刻 |
493
+ | +3 | 轻微正面 | 小进展、日常温馨 |
494
+ | 0 | 中性 | 过渡、铺垫 |
495
+ | -3 | 轻微不适 | 小挫折、小委屈 |
496
+ | -5 | 明显负面 | 被羞辱、被误解、被威胁 |
497
+ | -7 | 强烈虐感 | 被抛弃、被背叛、孩子受委屈 |
498
+ | -9 | 极致虐感 | 生死威胁、灵魂碾压、信仰崩塌 |
499
+
500
+ > **量表说明**:本量表用于情感曲线,区分方向(虐/爽)和强度,范围 -9~+9(仅使用奇数值:±9, ±7, ±5, ±3 和 0)。开头/结尾分析使用独立的 1-10 绝对强度量表(只看强弱,不看正负)。
501
+
502
+ ### 情感曲线形态
503
+
504
+ | 形态 | 特征 | 适用题材 | 典型效果 |
505
+ |------|------|----------|----------|
506
+ | V形 | 先虐后爽 | 打脸/复仇 | 极致反差 |
507
+ | 倒V | 先甜后虐 | BE虐文 | 遗憾意难平 |
508
+ | 波浪 | 正负交替 | 追妻火葬场 | 情绪拉扯 |
509
+ | 阶梯上升 | 逐步升级 | 爽文/打脸 | 节奏感强 |
510
+ | 断崖下跌 | 突然反转 | 死人文学/反转 | 震惊 |
511
+ | 压缩弹簧 | 长期压抑后一次释放 | 隐忍布局 | 极致释放 |
512
+ | 双峰 | 两个高潮 | 复杂短篇 | 层次丰富。两个高潮可以都是虐的(如两次告别),也可以是不同性质的(先解脱后通透) |
513
+ | **混合型** | 上述形态的组合 | 视组合而定 | 需标注主要形态和次要形态。甜宠/喜剧类可能全程正値不经历负值,属于阶梯上升的变体 |
514
+
515
+ ---
516
+
517
+ ## 节奏分析
518
+
519
+ ### 节奏指标
520
+
521
+ | 维度 | 计算方式 | 标准范围 | 说明 |
522
+ |------|----------|----------|------|
523
+ | 事件密度 | 节点数 / 全文字数 × 1000 | 3-6 个/千字 | 太低=水,太高=赶 |
524
+ | 对话密度 | 对话字数 / 全文字数 × 100% | 45-65% | 短篇偏对话驱动 |
525
+ | 冲突密度 | 冲突节点数 / 总节点数 × 100% | 30-50% | 低于20%=太平,高于60%=疲劳 |
526
+ | 信息密度 | 信息节点数 / 总节点数 × 100% | 20-35% | 太低=无聊,太高=消化不及 |
527
+
528
+ ### 节奏异常检测
529
+
530
+ | 异常模式 | 检测条件 | 问题 |
531
+ |----------|----------|------|
532
+ | 节奏塌陷 | 连续2节冲突密度<15% | 读者可能弃文 |
533
+ | 冲突过载 | 连续3节冲突密度>60% | 情绪疲劳 |
534
+ | 信息洪峰 | 单节信息节点>50% | 读者消化不及 |
535
+ | 对话荒漠 | 连续2节对话<20% | 文本偏干 |
536
+ | 对话泛滥 | 单节对话>80% | 碎片化 |
537
+ | 反转密度过载 | 连续2节内出现≥3层反转 | 读者消化不及,震惊感递减(每层反转间隔建议≥800字) |
538
+
539
+ ---
540
+
541
+ ## 人物提取规则
542
+
543
+ ### 提取标准(短篇特化)
544
+
545
+ 短篇人物精简,但必须提取所有有名有姓或有叙事功能的人物。
546
+
547
+ **必须提取**:
548
+ - 有名字(≥2字符)且有台词或推动剧情的人物
549
+ - 虽无明确名字但反复出现(≥2节)且承担叙事功能的人物
550
+
551
+ **不提取**:
552
+ - 群体称呼("旁人""大家")
553
+ - 无名路人("一个中年人""助理"——除非有关键台词)
554
+ - 通用称呼黑名单:同长篇 chapter-extractor 的黑名单(老师、老板、师傅等)
555
+
556
+ ### 人物分类
557
+
558
+ > 分类标准见 Stage 5 人物分类(二维体系):叙事角色{主人公/重要配角/功能人物} + 行动角色{主动型/被动型/转变型}。
559
+
560
+ ### 人物内在矛盾提取
561
+
562
+ 短篇人物的核心在于内在矛盾,不是外部遭遇:
563
+
564
+ | 错误 | 正确 |
565
+ |------|------|
566
+ | 她被霍庭煜抛弃了(外部遭遇) | 她渴望被爱但学会了在不爱中生存(内在矛盾) |
567
+ | 他对她不好(行为描述) | 他习惯了掌控一切却无法掌控自己的感情(内在矛盾) |
568
+
569
+ ### 人物功能评估
570
+
571
+ 短篇每个人物都必须"物尽其用":
572
+
573
+ | 指标 | 问题 |
574
+ |------|------|
575
+ | 出场效率 | 第一次出场就完成定位了吗? |
576
+ | 功能密度 | 承担了多少叙事功能? |
577
+ | 可删除性 | 删掉故事还成立吗?(不成立=好,成立=多余) |
578
+ | 对话贡献 | 每次对话都推动剧情或情绪吗? |
579
+
580
+ ---
581
+
582
+ ## 共鸣分析
583
+
584
+ ### 共鸣层次(9 层)
585
+
586
+ | 层次 | 定义 | 分析要点 |
587
+ |------|------|----------|
588
+ | 情感共鸣 | 读者对角色当下情绪的即时共情(如心疼、愤怒) | 共情点在哪里 |
589
+ | 价值观共鸣 | 对故事传达的具体价值观的认同(如"女性不该被定义") | 传达了什么价值观 |
590
+ | 经历共鸣 | 与读者自身经历的相似性 | 哪些经历容易产生代入 |
591
+ | 社会现象共鸣 | 与社会热点/普遍现象的关联 | 映射了什么社会现象 |
592
+ | 文化共鸣 | 与文化传统的共鸣 | 触发了什么文化记忆 |
593
+ | 普世价值共鸣 | 对人类共同追求的宏观认同(如自由、尊严、爱) | 触及了什么普世主题 |
594
+ | 哲学思考共鸣 | 引发对人生/存在的深层思考 | 触发了什么思考 |
595
+ | 情感深度共鸣 | 情绪体验留下的持久影响(读完几天后还在想) | 情绪是否深入持久 |
596
+ | 人物深度共鸣 | 对人物复杂性的理解和认同 | 人物是否有深度 |
597
+
598
+ 每层共鸣标注强度:极强(读者强烈共情,无法自控)/ 强(读者明确感知)/ 中(需要细品)/ 弱(若有若无)/ 无(未触发)。至少 3 层达到"强"或"中"的短篇才具备传播潜力。
599
+
600
+ > **易混淆区分**:情感共鸣(与角色当下情绪的即时共情)vs 情感深度共鸣(读完几天后还在想的持久影响);价值观共鸣(对故事传达的具体价值观的认同)vs 普世价值共鸣(对自由、尊严、爱等人类共同追求的宏观认同)。
601
+
602
+ ### 爆点性分析
603
+
604
+ 评估故事的爆点(容易引发传播/讨论的关键点):
605
+ - 核心爆点是什么?
606
+ - 爆点的铺垫是否充分?
607
+ - 爆点的释放是否到位?
608
+ - 爆点是否具有传播性?
609
+
610
+ ### 话题性分析
611
+
612
+ 评估故事的话题性:
613
+ - 读者读完会讨论什么?
614
+ - 是否有争议点?
615
+ - 是否有代入式的自省?
616
+ - 是否有"如果是我会怎样"的讨论空间?
617
+
618
+ ---
619
+
620
+ ## 结构类型速查
621
+
622
+ | 结构 | 特点 | 适合情绪 |
623
+ |------|------|----------|
624
+ | 三幕反转式 | 铺垫→升级→反转 | 震惊、意难平 |
625
+ | 双线交叉式 | 明线暗线交替推进 | 悬疑、真相揭晓 |
626
+ | 时间跳跃式 | 过去/现在穿插 | 遗憾、成长 |
627
+ | 套娃反转式 | 多层反转嵌套 | 惊讶、烧脑 |
628
+ | 对话驱动式 | 通过对话推进叙事 | 虐恋、人际冲突 |
629
+ | 独白式 | 第一人称内心独白 | 治愈、自省 |
630
+ | 重生反常式 | 重生后做相反的事→对手自乱 | 爽、解气 |
631
+ | 灵魂旁观式 | 死后灵魂看世界→揭露真相 | 意难平、愤怒 |
632
+ | 双重生博弈式 | 两人都重生→信息战 | 紧张、痛快 |
633
+ | 隐忍布局式 | 表面顺从暗中布局→反攻 | 压抑→极致释放 |
634
+ | 非人视角式 | 鬼/系统/灵魂看人间 | 新奇、恐怖、爽 |
635
+ | 成长救赎式 | 苦难中被人拉一把→自我救赎→与救赎者约定未来 | 温暖、心酸、治愈 |
636
+ | 舆论反转式 | 舆论多次反转→证据反击→最终真相大白 | 爽、解气、震惊 |
637
+ | 冷面复仇式 | 冷静主角收集证据→果断出手→全身而退 | 爽、痛快、满足 |
638
+ | 倒计时告别式 | 明确时限的告别/离开→倒计时推进→最终诀别 | 心酸、意难平、通透 |
639
+
640
+ ### 匹配分析要点
641
+
642
+ 1. **主结构识别**:主要使用了哪种结构?
643
+ 2. **混合结构**:大部分优秀短篇都是混合型。标注方式:主结构(主)+ 副结构(副),如"灵魂旁观式(主)+ 压缩弹簧(副)"。主结构决定叙事框架,副结构决定情绪节奏
644
+ 3. **结构创新**:有没有对标准结构的创新使用?如"AI系统×复仇"的类型嫁接
645
+ 4. **结构适配度**:这个结构是否最适合这个题材和情绪目标?
646
+
647
+ ---
648
+
649
+ ## 质量标准
650
+
651
+ ### 拆解完整性检查
652
+
653
+ | 指标 | 阈值 | 计算 | 不达标处理 |
654
+ |------|------|------|------------|
655
+ | 情节节点覆盖 | ≥90% | 有明确功能的节点数 / 总节点数 | <90% 检查遗漏 |
656
+ | 情感曲线完整度 | 100% | 每个节点都有情绪标记 | 补充缺失标记 |
657
+ | 写作手法识别数 | ≥5项 | 识别出的手法维度的数量 | <5 项深入分析 |
658
+ | 对话分析覆盖 | ≥80% | 已分析的对话条数 / 总对话条数 | <80% 补充分析 |
659
+ | 人物提取完整 | 100% | 有名人物全部提取 | 补充遗漏人物 |
660
+
661
+ ### 拆文报告质量检查
662
+
663
+ | 检查项 | 标准 |
664
+ |--------|------|
665
+ | 故事核概括 | 一句话点明核心梗 |
666
+ | 五维评分 | 每项有具体说明(非"写得很好") |
667
+ | 爆点性+话题性 | 具体指出传播点 |
668
+ | 共鸣层次 | 至少分析 3 层共鸣 |
669
+ | 可复用结构 | 至少 3 条,含手法名+用法+适用场景 |
670
+ | 同类型写作动作 | 具体行动,不是"多练习" |
671
+
672
+ ---
673
+
674
+ ## references 协作关系
675
+
676
+ 短篇拆书由 SKILL.md + 多个 references 文件协同工作:
677
+
678
+ - **SKILL.md** = 路由逻辑 + 管道概要(Phase 1 用户交互 + 字数路由 + Stage 2-6 管道表 + 验收)
679
+ - **本文件(material-decomposition.md)** = 方法论细节(Stage 2-6 操作步骤 + 情节节点 + 写作手法 + 情感线 + 节奏 + 共鸣)+ **质量标准唯一权威**(阈值/数值/计算方式)
680
+ - **output-templates.md** = 具体输出格式模板(每个 Stage 的 markdown 模板 + 质量检查逐项 checklist 含 `[BLOCK]`/`[WARN]` 标注 + Stage 6 `_meta.json.structure_counts` 产出模板,数值引用本文件)
681
+ - **output-contract.md** = 输出契约 SSOT:定义 Stage → 文件映射 + `_meta.json` schema(含 `structure_counts`)+ 下游 `story-short-write` 消费规范 + 验收接入点。与 `story-short-write` 副本字节一致,由 `scripts/check-shared-files.sh` 守护
682
+ - **quality-checklist.md** = 短篇拆书的质量自检清单(评估**源文**质量时用,数值引用本文件)
683
+ - **anti-ai-writing.md + banned-words.md** = 拆文报告**本身**的 AI 腔守门员(「拆文报告 AI 腔自检」调用扫描 `拆文报告.md`,不是源文滤镜)
684
+
685
+ 对照标尺类文件的加载时机见 SKILL.md「参考资料」。