@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,561 @@
1
+ # 短篇拆文输出模板
2
+
3
+ > 拆文输出时加载。先看决策路由选 Stage,再按模板填写。方法论细节见 material-decomposition.md。
4
+ >
5
+ > **输出契约 SSOT**:Stage→文件映射、`_meta.json` 字段(含 `structure_counts`)、
6
+ > 下游消费规范、验收检查均在 [output-contract.md](output-contract.md) 中权威定义。
7
+ > 本文件填的模板内容最终落到 `拆文报告.md` 等 markdown 文件,对应去向见每个 Stage
8
+ > 末尾的 HTML 注释标注。质量检查必填字段段末加注 `[BLOCK]` / `[WARN]`:BLOCK
9
+ > 不通过 → 「BLOCK 项扫描」阻断;WARN 不通过 → 写入「待补」清单不阻断。
10
+
11
+ ## 决策路由
12
+
13
+ | 你在执行哪个 Stage | 加载哪个模板 | 必填字段 |
14
+ |---------------|-------------|---------|
15
+ | Phase 1 确认对象 | 无模板(用户交互,见 SKILL.md) | 用户已提供文本+拆解方向 |
16
+ | Stage 2 结构+情节节点 | Stage 2 全篇结构 + Stage 2B 情节节点 | 故事核 + 至少 4 段结构 + 节点覆盖全文 |
17
+ | Stage 3 情感线+爆点 | Stage 3 情感曲线 + 爆点分析 | 至少 5 节点 + 爆点 6 维度 |
18
+ | Stage 4 反转+写作手法 | Stage 4 反转分析 + 写作手法 | 前置反转检查 + 铺垫线索 ≥2 + 手法 ≥5 项 |
19
+ | Stage 5 人物+开头结尾 | Stage 5 人物 + 开头/结尾 | 所有有名人物 + 前 3 句引用 + 结尾类型 |
20
+ | Stage 6 评估报告 | Stage 6 综合评估 | 五维评分 + 爆点性 + 共鸣 ≥3 层 + 可借鉴结构 ≥3 条 |
21
+ | 同类对比(可选) | 同类对比 | 差异化亮点 |
22
+ | 平台适配(可选) | 平台适配评估 | 三平台适配度 |
23
+ | 详细节奏(可选) | 详细节奏分析 | 节奏指标 + 异常检测 |
24
+
25
+ ## 目录
26
+
27
+ 1. [Stage 2 全篇结构](#stage-2-全篇结构)
28
+ 2. [Stage 2B 情节节点提取](#stage-2b-情节节点提取)
29
+ 3. [Stage 3 情感线+爆点](#stage-3-情感线爆点)
30
+ 4. [Stage 4 反转+写作手法](#stage-4-反转写作手法)
31
+ 5. [Stage 5 人物+开头结尾](#stage-5-人物开头结尾)
32
+ 6. [Stage 6 综合评估](#stage-6-综合评估)
33
+ 7. [详细节奏分析](#详细节奏分析)
34
+ 8. [短篇结构速查库](#短篇结构速查库)
35
+ 9. [质量检查必填字段](#质量检查必填字段)
36
+
37
+ ---
38
+
39
+ ## Stage 2 全篇结构
40
+
41
+ <!-- output to: 拆文报告.md(故事核 + 故事梗概 + 结构划分 + 叙事时间线 各段) -->
42
+
43
+ 字数{X}字 | 节数{N} | 平台{平台} | 类型{题材/情绪类型} | 结局{HE/BE/开放式} | POV{第一/第三人称}
44
+
45
+ ### 故事核
46
+
47
+ **设定**:{故事前提/触发条件,如"重生三次被母弟杀害"}
48
+ **主题**:{核心矛盾/价值观冲突,如"极端重男轻女"}
49
+ **核心行动**:{主角做了什么,如"放任母弟自毁"}
50
+ **一句话**:{合并,如"重生三次被母弟杀害的女孩,第四世放任她们自毁"}
51
+
52
+ ### 故事梗概
53
+
54
+ {200-500字概括全文}
55
+
56
+ ### 结构划分(4-6段,必须含开端/发展/高潮/结局)
57
+
58
+ | 段落 | 字数范围 | 占比 | 功能 | 对应节 |
59
+ |------|----------|------|------|--------|
60
+ | 开端 | {X}-{Y} | {Z%} | {功能} | {节号} |
61
+ | 发展 | {X}-{Y} | {Z%} | {功能} | {节号} |
62
+ | {转折/过渡(可选)} | {X}-{Y} | {Z%} | {功能} | {节号} |
63
+ | 高潮 | {X}-{Y} | {Z%} | {功能} | {节号} |
64
+ | 结局 | {X}-{Y} | {Z%} | {功能} | {节号} |
65
+
66
+ ### 叙事时间线
67
+
68
+ | 特征 | 描述 |
69
+ |------|------|
70
+ | 时间线类型 | {线性/插叙/倒叙/双线交叉} |
71
+ | 时间跨度 | {故事内时间跨度} |
72
+ | 关键时间跳跃 | {如有,标注位置和跨度} |
73
+ | 时间操控目的 | {制造信息差/压缩无聊/制造对比} |
74
+
75
+ ---
76
+
77
+ ## Stage 2B 情节节点提取
78
+
79
+ <!-- output to: 情节节点.md(独立成文)+ 拆文报告.md(情节节点清单段镜像) -->
80
+
81
+ > 方法论与节点数量字数分档表详见 material-decomposition.md「情节节点提取规则」(唯一权威)。
82
+
83
+ ### 节点模板
84
+
85
+ ```markdown
86
+ N{序号} **{事件概括}**:类型{情绪/信息/冲突/转折/对话/氛围} | 情绪{类型}{强度-9~+9} | 涉及{全名} | 手法{如有时}
87
+
88
+ 原文引用(≤300字)
89
+ ```
90
+
91
+ ### 输出示例
92
+
93
+ ```markdown
94
+ ## 情节节点清单
95
+
96
+ N1 **偷听到对话**:类型{信息} | 情绪{震惊}{-7} | 涉及{沈暮月} | 手法{信息差}
97
+
98
+ > "霍总还不打算让沈暮月母子进门吗?"
99
+ > "没必要,私生子而已。"
100
+ > 我正准备推门而入,听到这话,手停在了半空。
101
+
102
+ N2 **自我认知**:类型{转折} | 情绪{心酸}{-5} | 涉及{沈暮月}
103
+
104
+ > 我是沈家的私生女,生了个儿子,也是私生子。
105
+ > 霍庭煜对我没有爱。
106
+ > 我默然抽回了手。
107
+ ```
108
+
109
+ ### 质量自检
110
+
111
+ - [ ] 节点数量在密度指引范围内
112
+ - [ ] 每个节点有客观白描(无叙事框架词、无主观评价)
113
+ - [ ] 每个节点有情绪标记(类型 + 强度值)
114
+ - [ ] 节点严格按时序排列
115
+ - [ ] 原文引用 ≤300 字且连续
116
+
117
+ ---
118
+
119
+ ## Stage 3 情感线+爆点
120
+
121
+ <!-- output to: 拆文报告.md(情感曲线 + 爆点分析 + 期待感分析 各段) -->
122
+
123
+ ### A. 情感曲线
124
+
125
+ 至少 max(5, 节数) 个节点,含字数位置,每个节点标注钩子类型:
126
+
127
+ | 位置 | 字数 | 节点序号 | 情绪 | 强度与方向 | 触发事件 | 钩子类型 |
128
+ |------|------|----------|------|------------|----------|----------|
129
+ | 开头 | {X} | N{N} | {好奇/心酸/震惊} | {虐-9~爽+9} | {事件} | {悬念/冲突/反差/代入/信息差/无} |
130
+ | 低谷 | {X} | N{N} | {心疼/绝望/愤怒} | {虐-9~爽+9} | {事件} | {钩子类型} |
131
+ | 反转点 | {X} | N{N} | {震惊/心疼} | {虐-9~爽+9} | {事件} | {钩子类型} |
132
+ | 高潮 | {X} | N{N} | {情绪} | {虐-9~爽+9} | {事件} | {钩子类型} |
133
+ | 结尾 | {X} | N{N} | {满足/意难平/治愈} | {虐-9~爽+9} | {事件} | {钩子类型} |
134
+
135
+ 钩子类型速查:悬念(想知道后续)、冲突(矛盾激化)、反差(认知颠覆)、代入(感同身受)、信息差(读者知道角色不知道)
136
+
137
+ 曲线特征:起始{...} | 走向{上行/下行/波浪/V形/倒V/阶梯/断崖/压缩弹簧} | 极值{最高%X 最低%Y} | 方向差{从X到Y} | 翻转次数{N}
138
+
139
+ ### B. 爆点分析
140
+
141
+ | 维度 | 分析 |
142
+ |------|------|
143
+ | 铺垫 | {什么让读者开始在意},前{X}字完成 |
144
+ | 积累 | {什么在积累情绪势能},积累{X}字 |
145
+ | 延迟 | {延迟释放机制:信息差/误解/悬念} |
146
+ | 爆发点 | {哪个瞬间释放全部情绪},精确到句子:"{引用}" |
147
+ | 余波 | {释放后的余震:角色反应} |
148
+ | 印象 | {情绪释放后留下什么,读者记住什么} |
149
+
150
+ **叠加爆点**(如适用):表层爆点{X}→深层爆点{Y}→叠加效果{1+1>2在哪}
151
+
152
+ **多爆点串联**(如适用):爆点①{事件+位置} | 爆点②{事件+位置} | 爆点③{事件+位置} → 串联方式{递进/并列}
153
+
154
+ ### C. 期待感分析
155
+
156
+ 逐节追踪读者的期待状态:
157
+
158
+ | 节 | 制造的期待 | 满足/升级/悬置 | 剩余期待 |
159
+ |----|-----------|---------------|---------|
160
+ | 1 | {期待A} | {制造} | {A} |
161
+ | 2 | {期待B} | {升级A} | {A+, B} |
162
+ | ... | | | |
163
+
164
+ 期待规则:不超过两节不制造新期待,不超过一节不推进核心期待。
165
+
166
+ ---
167
+
168
+ ## Stage 4 反转+写作手法
169
+
170
+ <!-- output to: 拆文报告.md(反转分析段) + 写作手法.md(独立成文:POV/对话/时间/信息/其他/意象) -->
171
+
172
+ ### A. 反转分析
173
+
174
+ #### 前置反转检查
175
+
176
+ > 是否有在故事时间线之前就已存在的谎言/误判?
177
+
178
+ | 前置反转 | 谁被骗/被蒙蔽 | 何时揭穿 | 揭穿方式 | 对主反转的作用 |
179
+ |----------|--------------|----------|----------|--------------|
180
+ | {如:三年前的"灌醉"事件实为做局} | {霍庭煜} | {第9章} | {沈暮月当面驳斥} | {铺垫:证明判断基于错误前提} |
181
+
182
+ 若不存在前置反转,注明"无"。
183
+
184
+ #### 报应设计(无反转/报应型故事适用)
185
+
186
+ > 当故事无传统反转时,跳过反转机制拆解,改为分析报应设计。
187
+
188
+ | 阶段 | 反派的恶行 | 报应结果 | 爽感来源 |
189
+ |------|-----------|----------|----------|
190
+ | {如:虐待妻女} | {具体行为} | {对应惩罚} | {以彼之道还施彼身/自食恶果} |
191
+
192
+ 报应链效果:{递进/一一对应/连锁反应}
193
+
194
+ #### 反转链(多反转故事适用)
195
+
196
+ > 如故事包含多个连续反转(舆论反转文、套娃反转文),按顺序列出:
197
+
198
+ | 序号 | 反转类型 | 触发事件 | 读者认知变化 | 与前层因果关系 |
199
+ |------|----------|----------|-------------|---------------|
200
+ | 1 | {类型} | {事件} | {从A认知变为B认知} | — |
201
+ | 2 | {类型} | {事件} | {从B认知变为C认知} | {反转1如何解释/加深反转2} |
202
+
203
+ 反转链效果:{递进/叠加/出其不意}
204
+ 因果链强度:{强/中/弱——删除任一层反转,其他是否仍成立?}
205
+
206
+ **伏笔式反转**:如有开头语句在真相揭示后含义完全改变,标注:
207
+ - 回看语句原文 + 位置
208
+ - 初读理解 vs 回看理解
209
+ - 触发认知升级的事件
210
+
211
+ 单一反转的故事跳过此表,直接用下方主/副反转分析。
212
+
213
+ #### 主/副反转分析(单反转故事适用)
214
+
215
+ **反转类型**:{视角反转/身份反转/动机反转/时间线反转/信息反转/认知反转}
216
+
217
+ > **认知反转**:读者对某个角色/关系的整体理解被颠覆(如"母亲其实一直爱她")。不同于信息反转(单条信息),认知反转改变的是读者对整个角色/关系的感情色彩。
218
+
219
+ **反转机制**:
220
+ - 铺垫线索:{文本埋了哪些线索,含位置}
221
+ - 误导方向:{文本把读者往哪个方向引}
222
+ - 真相揭示:{反转怎么揭开的}
223
+ - 合理性:{反转是否经得起回看}
224
+
225
+ **时机**:全文{X}%位置 | 铺垫:释放 = {X:1}
226
+
227
+ **效果**:惊喜度{1-5} | 合理性{1-5} | 情绪冲击{1-5}
228
+
229
+ ### B. 写作手法
230
+
231
+ > 方法论详见 material-decomposition.md「写作手法分析」。
232
+
233
+ #### POV 策略
234
+
235
+ | 维度 | 分析 |
236
+ |------|------|
237
+ | POV 类型 | {第一/第三人称/全知/其他} |
238
+ | 选择效果 | {亲密感/信息控制/距离感} |
239
+ | 信息操控 | {不可靠叙述者/选择性回忆/隐瞒} |
240
+ | POV 切换 | {如有:切换位置、切换方式、效果评价。如无:填"无"} |
241
+ | POV 代价 | {丧失了什么视角/信息} |
242
+
243
+ #### 对话手法
244
+
245
+ > 对话占比的标准范围见 material-decomposition.md「节奏分析」,据此判断偏高/偏低。
246
+
247
+ | 指标 | 数值 | 评价 |
248
+ |------|------|------|
249
+ | 对话占比 | {X%} | {标准/偏高/偏低} |
250
+ | 潜台词率 | {X%} | {高手>60%/中等/偏低} |
251
+ | 对话模式 | {审判式/压制式/信息差式/推拉式/称呼变化} | {具体说明} |
252
+
253
+ #### 时间操控
254
+
255
+ | 手法 | 位置 | 效果 |
256
+ |------|------|------|
257
+ | {时间跳跃/场景压缩/倒叙/闪回/实时展开} | {节N} | {具体效果} |
258
+
259
+ #### 信息控制
260
+
261
+ | 时刻 | 读者知道的 | 主角知道的 | 对手知道的 | 信息差 |
262
+ |------|-----------|-----------|-----------|--------|
263
+ | 开头 | | | | |
264
+ | 中段 | | | | |
265
+ | 结尾 | | | | |
266
+
267
+ #### 其他手法
268
+
269
+ | 手法 | 位置 | 效果 | 可复用度 |
270
+ |------|------|------|----------|
271
+ | {感官锚定/句式节奏/对比设计/意象物件/留白/首尾呼应} | {节N} | {具体效果} | {高/中/低} |
272
+
273
+ #### 意象/物件追踪
274
+
275
+ | 物件/意象 | 出现位置 | 每次承载的含义 | 演变轨迹 |
276
+ |-----------|---------|---------------|---------|
277
+ | {物件名} | {节1, 节5, 节9} | {含义变化} | {从A到B} |
278
+
279
+ 如无重复物件/意象,注明"无明显意象重复"。
280
+
281
+ **主题意象群**:如多个物件都指向同一主题,标注共同主题、各物件的角度、整体效果。
282
+
283
+ **手法总计**:{N} 项 | 核心手法{Top3} | 创新手法{如有}
284
+
285
+ ---
286
+
287
+ ## Stage 5 人物+开头结尾
288
+
289
+ <!-- output to: 拆文报告.md(人物分析 + 开头分析 + 结尾分析 + 首尾呼应 + 钩子回收检查 各段) -->
290
+
291
+ ### A. 人物分析
292
+
293
+ > 方法论详见 material-decomposition.md「人物提取规则」。
294
+
295
+ **人物总览**:有名人物{N}人
296
+
297
+ | 人物 | 叙事角色 | 行动角色 | 功能标签 | 内在矛盾 | 弧线 | 关键台词 |
298
+ |------|----------|----------|----------|----------|------|----------|
299
+ | {主角名} | {主人公/重要配角} | {主动型/被动型/转变型} | {情绪承载者/...} | {核心心理冲突} | {始→转→终} | "{最具代表性的台词}" |
300
+ | {配角名} | {重要配角/功能人物} | {主动型/被动型} | {压迫源/...} | {矛盾} | {弧线/扁平} | "{台词}" |
301
+
302
+ > 若识别到双主人公结构,人物总览表中两人均标注为"主人公",并在表下方注明各自主驱动的章节范围。
303
+
304
+ **人物功能评估**:
305
+
306
+ | 人物 | 出场效率 | 功能密度 | 可删除性 | 对话贡献 |
307
+ |------|----------|----------|----------|----------|
308
+ | {名} | {高/中/低} | {承担N项功能} | {不可删/可删} | {每句都推动/部分推动} |
309
+
310
+ **人物关系**:
311
+
312
+ | 关系对 | 关系本质 | 演变轨迹 | 对情感线的贡献 |
313
+ |--------|----------|----------|---------------|
314
+ | A ↔ B | {如:单向依附→对等拒绝} | {节N:状态A → 节M:状态B} | {制造了什么情绪} |
315
+
316
+ ### B. 开头分析
317
+
318
+ **前 3 句**:{原文引用}
319
+
320
+ | 维度 | 分析 |
321
+ |------|------|
322
+ | 钩子类型 | {悬念/冲突/反差/代入/信息差} |
323
+ | 前50字 | {有无冲突/异常?有/无} |
324
+ | 前100字 | {读者是否知道核心矛盾?是/否} |
325
+ | 信息密度 | {高/中/低} |
326
+ | 代入感 | {强/中/弱} |
327
+ | 声音辨识度 | {强/中/弱} |
328
+ | 开头情绪强度 | {1-10,绝对强度量表,非情感曲线的-9~+9} |
329
+
330
+ ### C. 结尾分析
331
+
332
+ **最后一段**:{原文引用或概括}
333
+
334
+ | 维度 | 分析 |
335
+ |------|------|
336
+ | 结尾类型 | {HE满足/BE遗憾/开放式/反转余韵/留白} |
337
+ | 情绪落点 | {读者离开时在想什么} |
338
+ | 余韵设计 | {有/无,具体描述} |
339
+ | 传播欲 | {读者是否会推荐,为什么} |
340
+ | 收束完整性 | {所有钩子是否回收,未回收的列出} |
341
+ | 价值观传达 | {这篇故事最终想说什么?} |
342
+ | 结尾情绪强度 | {1-10,绝对强度量表(非情感曲线的-9~+9)。参考标准:虐≥8/爽≥7/治愈≥6/通透满足≥5/震惊反转≥7/BE意难平≥8} |
343
+
344
+ ### D. 首尾呼应分析
345
+
346
+ | 呼应元素 | 开头位置 | 结尾位置 | 呼应方式 | 效果 |
347
+ |----------|----------|----------|----------|------|
348
+ | {元素} | {如:第1节"私生子而已"} | {如:结尾终身未娶} | {对比/反转/升级} | {形成闭环/制造遗憾} |
349
+
350
+ **重读发现**:如有开头语句在真相揭示后含义完全改变,列出:语句原文 + 位置 + 初读理解 vs 知道真相后的理解。
351
+
352
+ ### E. 钩子回收检查
353
+
354
+ | 钩子 | 埋设位置 | 类型 | 回收位置 | 回收方式 | 状态 |
355
+ |------|----------|------|----------|----------|------|
356
+ | {描述} | {节N} | {悬念/冲突/信息差} | {节M} | {如何回收} | {已回收/留白/遗漏} |
357
+
358
+ ---
359
+
360
+ ## Stage 6 综合评估
361
+
362
+ <!-- output to: 拆文报告.md(综合段:五维评分 + 爆点性 + 话题性 + 共鸣 + 核心手法 + 可复用结构 + 同类型写作动作 + 节奏速报)+ _meta.json.structure_counts(数值计入元数据,详见下方「_meta.json.structure_counts 产出模板」) -->
363
+
364
+ **一句话评价**:{成功核心原因——具体指出成功机制,避免泛泛赞美}
365
+
366
+ ### 五维评分
367
+
368
+ | 维度 | 评分 | 说明 |
369
+ |------|------|------|
370
+ | 开头吸引力 | 1-5 | {具体说明:钩子类型+效果+改进空间} |
371
+ | 情感拉扯力 | 1-5 | {具体说明:曲线形态+极值+翻转} |
372
+ | 反转设计 | 1-5 | {具体说明:反转类型+铺垫质量+合理性} |
373
+ | 节奏控制 | 1-5 | {具体说明:密度分布+异常检测+节奏匹配} |
374
+ | 结尾余韵 | 1-5 | {具体说明:结尾类型+落点+传播欲} |
375
+
376
+ ### 爆点性
377
+
378
+ {核心爆点是什么?铺垫是否充分?释放是否到位?传播性如何?}
379
+
380
+ ### 话题性
381
+
382
+ {读者会讨论什么?争议点?代入式自省?"如果是我会怎样"的讨论空间?}
383
+
384
+ ### 共鸣分析
385
+
386
+ | 共鸣层次 | 强度 | 触发点 |
387
+ |----------|------|--------|
388
+ | 情感共鸣 | {强/中/弱/无} | {具体触发点} |
389
+ | 价值观共鸣 | {强/中/弱/无} | {具体触发点} |
390
+ | 经历共鸣 | {强/中/弱/无} | {具体触发点} |
391
+ | 社会现象共鸣 | {强/中/弱/无} | {具体触发点} |
392
+ | 文化共鸣 | {强/中/弱/无} | {具体触发点} |
393
+ | 普世价值共鸣 | {强/中/弱/无} | {具体触发点} |
394
+ | 哲学思考共鸣 | {强/中/弱/无} | {具体触发点} |
395
+ | 情感深度共鸣 | {强/中/弱/无} | {具体触发点} |
396
+ | 人物深度共鸣 | {强/中/弱/无} | {具体触发点} |
397
+
398
+ ### 核心手法
399
+
400
+ 反转类型{...} | 情感曲线形态{...} | 关键钩子{...} | 核心手法Top3{...}
401
+
402
+ ### 可复用结构
403
+
404
+ 1. **{手法名}**:{用法} — 适用场景:{什么类型的短篇}
405
+ 2. **{手法名}**:{用法} — 适用场景:{...}
406
+ 3. **{手法名}**:{用法} — 适用场景:{...}
407
+
408
+ ### 同类型写作动作
409
+
410
+ {具体行动——可直接进入下一份 artifact 的操作,避免只写"多练习"}
411
+
412
+ ### 节奏速报
413
+
414
+ | 指标 | 数值 | 判断 |
415
+ |------|------|------|
416
+ | 事件密度 | {X个/千字} | {标准/偏高/偏低} |
417
+ | 对话密度 | {Y%} | {标准/偏高/偏低} |
418
+ | 冲突密度 | {Z%} | {标准/偏高/偏低} |
419
+
420
+ ### _meta.json.structure_counts 产出模板
421
+
422
+ > Stage 6 完成时,把这一节的结构计数写入 `_meta.json.structure_counts`,作为「structure_counts 数值校验」
423
+ > 数值检查的依据。分析叙事正文写到 `拆文报告.md` 的对应段,不要重复在 JSON 里再讲一遍。
424
+ > 字段定义与阈值见 [output-contract.md](output-contract.md)。
425
+
426
+ ```jsonc
427
+ "structure_counts": {
428
+ "beats": 5, // 来自 Stage 2 结构段数(开端/发展/高潮/结局,≥4)
429
+ "hooks": 4, // 来自 Stage 3 钩子数(≥3)
430
+ "setup_clues": 3, // 来自 Stage 4 反转铺垫数(≥3;无反转题材填 0 并跳过该阈值)
431
+ "character_archetypes": 3, // 来自 Stage 5 有反差人物数(≥2)
432
+ "reusable_structures": 3, // 来自 Stage 6 可复用条数(≥3)
433
+ "reversal_type": "视角反转" // 枚举: 视角/身份/动机/时间线/信息/认知/无反转
434
+ }
435
+ ```
436
+
437
+ ---
438
+
439
+ ## 可选模块:同类对比
440
+
441
+ > 方法论详见 material-decomposition.md「可选模块:同类对比」。
442
+
443
+ | 维度 | 本文 | 对标作品A | 对标作品B |
444
+ |------|------|----------|----------|
445
+ | 情感曲线形态 | {如:压缩弹簧} | {如:V形} | {如:波浪} |
446
+ | 核心手法 | {如:假死+信息差} | {如:时间线反转} | {如:套娃反转} |
447
+ | 开头钩子强度 | {1-5} | {1-5} | {1-5} |
448
+ | 反转惊喜度 | {1-5} | {1-5} | {1-5} |
449
+ | 结尾余韵 | {1-5} | {1-5} | {1-5} |
450
+
451
+ **差异化亮点**:{本文与同类作品的关键差异,是优势还是劣势}
452
+
453
+ ---
454
+
455
+ ## 可选模块:平台适配评估
456
+
457
+ > 方法论详见 material-decomposition.md「可选模块:平台适配评估」。
458
+
459
+ | 平台 | 适配度 | 原因 | 调整动作 |
460
+ |------|--------|------|----------|
461
+ | 知乎盐言 | {高/中/低} | {原因} | {如有} |
462
+ | 番茄短篇 | {高/中/低} | {原因} | {如有} |
463
+ | 七猫短篇 | {高/中/低} | {原因} | {如有} |
464
+
465
+ ---
466
+
467
+ ## 详细节奏分析
468
+
469
+ > 可选模块。方法论详见 material-decomposition.md「节奏分析」。
470
+
471
+ ### 节奏指标
472
+
473
+ > 各维度「标准范围」的权威数值见 material-decomposition.md「节奏分析」节奏指标表,填表时据此判断。
474
+
475
+ | 维度 | 数值 | 判断 |
476
+ |------|------|------|
477
+ | 事件密度 | {N}个/千字 | {标准/偏高/偏低} |
478
+ | 对话密度 | {X%} | {标准/偏高/偏低} |
479
+ | 冲突密度 | {X%} | {标准/偏高/偏低} |
480
+ | 信息密度 | {X%} | {标准/偏高/偏低} |
481
+
482
+ ### 逐节节奏分布
483
+
484
+ | 节 | 字数 | 事件密度 | 对话占比 | 冲突占比 | 节奏判断 |
485
+ |----|------|----------|----------|----------|----------|
486
+ | 1 | {N} | {X/千字} | {Y%} | {Z%} | {快/中/慢/过渡} |
487
+
488
+ ### 节奏异常
489
+
490
+ | 异常类型 | 位置 | 说明 |
491
+ |----------|------|------|
492
+ | {节奏塌陷/冲突过载/信息洪峰/对话荒漠/对话泛滥} | {节N} | {具体说明} |
493
+
494
+ 如无异常,注明"节奏无明显异常"。
495
+
496
+ ---
497
+
498
+ ## 短篇结构速查库
499
+
500
+ > 完整版见 material-decomposition.md「结构类型速查」(含匹配分析要点)。
501
+
502
+ ---
503
+
504
+ ## 质量检查必填字段
505
+
506
+ Stage 完成前逐项检查,缺一即不完整。**数值阈值(节点密度、对话占比等)的唯一权威定义见 material-decomposition.md「质量标准」,本表只列检查项不复述数值。**
507
+
508
+ **标注约定**:
509
+
510
+ - `[BLOCK]`:量化或必备产物,缺失 → 「BLOCK 项扫描」阻断,不写 `_meta.json.stages_completed[6]`,提示用户回到对应 Stage 补足。
511
+ - `[WARN]`:质性或辅助项,缺失 → 写入 `拆文报告.md` 末尾「待补」清单,**不阻断**进入下一阶段。
512
+
513
+ **Stage 2(结构+情节节点)**:
514
+ - [ ] 故事核已提取(一句话核心梗) `[BLOCK]`
515
+ - [ ] 结构划分 4-6 段(必须含开端/发展/高潮/结局),每段有字数范围、占比和功能 `[BLOCK]`
516
+ - [ ] 结局类型已标注 `[WARN]`
517
+ - [ ] POV 已识别 `[WARN]`
518
+ - [ ] 叙事时间线已标注 `[WARN]`
519
+ - [ ] 情节节点数量在密度指引范围内(按字数分档,见 material-decomposition.md「情节节点提取规则」) `[BLOCK]`
520
+ - [ ] 每个节点有情绪标记(类型 + 强度值) `[BLOCK]`
521
+
522
+ **Stage 3(情感线+爆点)**:
523
+ - [ ] 至少 max(5, 节数) 个情感节点,每个有字数位置、强度值和方向(虐-9~爽+9) `[BLOCK]`
524
+ - [ ] 每个节点标注了钩子类型(含"无") `[WARN]`
525
+ - [ ] 曲线特征 5 项齐全(起始/走向/极值/方向差/翻转次数) `[BLOCK]`
526
+ - [ ] 爆点分析 6 维度齐全(铺垫/积累/延迟/爆发点/余波/印象) `[BLOCK]`
527
+ - [ ] 期待感表已完成 `[WARN]`
528
+
529
+ **Stage 4(反转+写作手法)**:
530
+ - [ ] 前置反转检查已执行(存在/不存在) `[WARN]`
531
+ - [ ] 反转类型已识别 `[BLOCK]`
532
+ - [ ] 铺垫线索至少 2 条,含原文位置 `[BLOCK]`
533
+ - [ ] 误导方向已说明 `[WARN]`
534
+ - [ ] 写作手法分析 ≥5 项维度 `[BLOCK]`
535
+ - [ ] POV 策略已分析(选择效果+代价+切换) `[WARN]`
536
+ - [ ] 对话指标已量化(占比+潜台词率) `[WARN]`
537
+
538
+ **Stage 5(人物+开头结尾)**:
539
+ - [ ] 所有有名人物已提取,有二维分类(叙事角色:主人公/重要配角/功能人物 + 行动角色:主动型/被动型/转变型) `[BLOCK]`
540
+ - [ ] 人物功能评估已完成 `[BLOCK]`
541
+ - [ ] 人物关系已标注演变轨迹 `[WARN]`
542
+ - [ ] 前 3 句话原文引用 `[BLOCK]`
543
+ - [ ] 前50字/前100字检查已完成 `[WARN]`
544
+ - [ ] 开头情绪强度已标注(1-10) `[WARN]`
545
+ - [ ] 结尾类型和情绪落点已说明 `[WARN]`
546
+ - [ ] 钩子回收检查已完成 `[WARN]`
547
+ - [ ] 首尾呼应分析已完成 `[WARN]`
548
+ - [ ] 所有钩子已标注回收状态(已回收/留白/遗漏) `[WARN]`
549
+
550
+ **Stage 6(综合评估)**:
551
+ - [ ] 一句话评价是具体机制(非泛泛赞美) `[WARN]`
552
+ - [ ] 五维评分每项有具体说明(非泛泛而谈) `[BLOCK]`
553
+ - [ ] 爆点性已分析 `[BLOCK]`
554
+ - [ ] 话题性已分析 `[BLOCK]`
555
+ - [ ] 共鸣分析至少 3 层 `[BLOCK]`
556
+ - [ ] 至少 3 条可复用结构,每条含适用场景 `[BLOCK]`
557
+ - [ ] 同类型写作动作是具体行动 `[WARN]`
558
+ - [ ] `_meta.json.structure_counts` 已写入且各字段达「structure_counts 数值校验」阈值(详见 [output-contract.md](output-contract.md) 同名表) `[BLOCK]`
559
+
560
+ **验收接入**:以上 `[BLOCK]` 项与 [output-contract.md](output-contract.md) 「字段最小计数」表共同构成「BLOCK 项扫描」的检查清单。SKILL.md「验收」段在 Stage 6 内容写完后、`stages_completed[6]` append 前调用本节。
561
+ - [ ] 节奏速报已包含