@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,558 @@
1
+ # 中文短剧剧本方法
2
+
3
+ ## 目录
4
+
5
+ 1. 剧本的任务与规则分级
6
+ 2. 从单集契约到场景
7
+ 3. 场景发动机:目标、反对、转向、退出
8
+ 4. 把内在意义写成可表演行动
9
+ 5. 用空间、物件与反应组织冲突
10
+ 6. 节奏来自压力变化
11
+ 7. 写动作段落与生产事实
12
+ 8. 开场、收束与集间交接
13
+ 9. 修订方法
14
+ 10. 现有剧本的最小规范化
15
+ 11. 合成示例
16
+ 12. 失败征兆与审查问题
17
+
18
+ ## 1. 剧本的任务与规则分级
19
+
20
+ 剧本不是故事说明书,也不是镜头提示词。它要让演员、导演和后续制作从同一份创作者文本中读出:谁在争取什么,采取什么可见行动,局面在哪里改变,哪些生产事实不能遗漏。
21
+
22
+ 四类规则:
23
+
24
+ | 分类 | 本层例子 | 执行方式 |
25
+ |---|---|---|
26
+ | `structural_invariant` | 场景 ID、来源引用、生产标签、明确连续性矛盾 | 本地校验器可阻断 |
27
+ | `reviewed_invariant` | 场景是否真正转向、内心是否可表演、因果是否可信 | 审查者引用剧本证据 |
28
+ | `craft_default` | 晚进早出、用选择和后果推进、动作经济 | 创作者可说明理由覆盖 |
29
+ | `taste_option` | 静场、旁白、沉默、现实/风格化程度 | 保留创作者选择 |
30
+
31
+ 长度、场景数量、对白比例和转折位置不属于质量证明。
32
+
33
+ ## 2. 从单集契约到场景
34
+
35
+ ### 2.1 先锁定不可丢失的事实
36
+
37
+ 从单集卡与因果节拍提取:
38
+
39
+ - 进入时人物知道/误信什么;
40
+ - 当前目标和阻挡者;
41
+ - 必须发生的选择与后果;
42
+ - 当集承诺的兑现;
43
+ - 结尾需要交给下一集的知识、关系、物理和行动状态;
44
+ - 必须可读的文字、画外声音、关键音效、转场或连续性变化。
45
+
46
+ 这些是写作边界,不是要求照抄卡片措辞。
47
+
48
+ ### 2.2 选择场景,而不是给节拍配房间
49
+
50
+ 一个场景值得存在,通常因为它能让人物在同一时间与空间里完成至少一项不可替代工作:
51
+
52
+ - 目标遭遇有筹码的反对;
53
+ - 证据被获取、验证、争夺或毁坏;
54
+ - 关系通过行动改变;
55
+ - 人物作出带代价的选择;
56
+ - 先前后果抵达并封住旧路径;
57
+ - 必要的生产事实在剧情中自然显现。
58
+
59
+ 若场景只把卡片内容说一遍,尝试把信息放进一个正在发生的争夺,或合并到真正会转向的场景。
60
+
61
+ **`craft_default · SCR-02`**:主要转向优先由人物选择及其后果推动;同时选择冲突最有表达力的场域——人物必须做事、空间会限制策略、物件能成为筹码的地方,而非默认坐下聊天。偶然事件可以开启问题,但不应替人物解决核心困境。
62
+
63
+ **`taste_option`**:单一场景也可承载整集;多场景也不自动更有节奏。形式由故事运动与制作边界决定。
64
+
65
+ ### 2.3 场景依赖检查
66
+
67
+ 排序前问:
68
+
69
+ - 人物是否已经获得本场使用的知识、道具和权限?
70
+ - 前场结果是否让本场目标发生变化?
71
+ - 如果对调两场,因果会不会毫无损失?
72
+ - 场景退出状态是否能成为下一场进入状态?
73
+ - 跳时、换地或主观段落是否有明确意图?
74
+
75
+ **`structural_invariant`**:显式来源、场景与连续性引用必须解析;明确声明的前后状态不能无理由矛盾。
76
+
77
+ **`reviewed_invariant`**:即使字段可解析,场景仍可能只是时间相邻。审查者要引用前后行动说明是否存在真实因果。
78
+
79
+ ## 3. 场景发动机:目标、反对、转向、退出
80
+
81
+ 写正文前,为场景写一张临时工作卡(不必成为永久文件):
82
+
83
+ ```text
84
+ 场景必要性:删掉后会损失哪项选择/证据/关系变化?
85
+ 进入状态:人物带着什么事实、行动和压力进来?
86
+ 焦点人物目标:他想让谁在本场作出什么改变?
87
+ 反对议程:另一方要什么,用什么筹码阻止?
88
+ 行动场域:空间、任务或物件怎样让冲突必须通过行动发生?
89
+ 策略变化:人物先怎样做,受阻后怎样改策?
90
+ 方向性转向:哪项事实、权力或决定使原计划失效?
91
+ 退出状态:谁取得/失去什么,下一场为何现在必须发生?
92
+ ```
93
+
94
+ ### 3.1 目标要能作用于现场
95
+
96
+ “想获得尊重”“想弄清人生”太宽。把它落成可执行动作:
97
+
98
+ - 让对方在众人面前承认记录被改过;
99
+ - 在门关闭前拿到钥匙;
100
+ - 阻止妹妹读出遗嘱附页;
101
+ - 迫使合伙人选择签字或公开反对。
102
+
103
+ 目标可在场景中失败,但人物必须有可表演的尝试。
104
+
105
+ ### 3.2 反对不是说“不”
106
+
107
+ 反对方可以:
108
+
109
+ - 重新定义问题;
110
+ - 交换条件;
111
+ - 拿走行动所需资源;
112
+ - 质疑证据来源;
113
+ - 让公开代价高于私下妥协;
114
+ - 与第三人结盟;
115
+ - 表面答应但改变执行条件。
116
+
117
+ 有效反对会迫使焦点人物更换策略,而不是延长同一轮喊话。
118
+
119
+ ### 3.3 转向要改变下一动作
120
+
121
+ 可用测试:转向前人物准备做什么?转向后为什么不能照做?
122
+
123
+ 如果答案只是“更生气”,还缺少新的事实、筹码、关系或决定。一次极小的转向也可有效,例如某人把钥匙放到桌子另一边,公开表明不再替同伴保管秘密。
124
+
125
+ **`reviewed_invariant · SCR-01`**:每个场景应有当前议程、对抗力量、方向性转向和退出状态。审查者必须引用场景中的行动证据,不能仅检查是否填写了场景卡。
126
+
127
+ **`craft_default`**:在压力已活跃时进入,在有意义的变化后离开。若例行准备本身承载关系或危险,可有意保留。
128
+
129
+ **`taste_option`**:静场、犹豫和沉默可以成立,只要压力与变化仍可感知。
130
+
131
+ ### 3.4 巧合与误会:什么时候可以用
132
+
133
+ `SCR-02` 说重大转向优先用选择和后果,而不是巧合。这不等于巧合和误会不能用——短剧里
134
+ 两者都是高频且有效的手段,问题从来不是"用没用",而是**用在哪一侧**。
135
+
136
+ **巧合有方向性**。 制造问题的巧合是古老且成立的(碰见不该碰见的人、快递送错门);
137
+ 解决问题的巧合是欺骗,因为观众投入的是人物怎么应对,而不是世界怎么补偿他。判据四条:
138
+
139
+ 1. **位置**:把人推进麻烦可以,把人从麻烦里捞出来不可以。困境靠巧合解除时,前面所有
140
+ 挣扎都被追认为无关紧要。
141
+ 2. **代价**:巧合送来的必须是负担,不是礼物。捡到关键证据本身不成立;捡到关键证据、
142
+ 而拿着它就意味着必须解释自己为什么在那里,成立。
143
+ 3. **世界是否建立过**:同一栋楼、同一条通勤线、同一个熟人圈里的偶遇是**设定**,前面
144
+ 建立过就不算巧合;毫无铺垫的偶遇是作者伸手。
145
+ 4. **只用一次**:同一条线上第二次巧合就成了模式,观众会停止相信这个世界的因果。
146
+
147
+ **误会的失效点几乎总在解除的那一刻**。 最常见的写法是:误会产生 → 拖了几场 →
148
+ 解释清楚 → 一切照旧。这样的误会整段可删,因为它没有留下任何东西。四条判据:
149
+
150
+ 1. **人物有理由不解释**。一句话就能澄清而谁都没理由不说时,那是拖延不是戏。理由可以是
151
+ 保护别人、承认代价太大、根本没有机会开口,但必须写出来。
152
+ 2. **观众的位置要选定**。观众知道真相 → 悬念(看着人物走向错误);观众不知道 → 惊讶
153
+ (和人物一起被翻盘)。两种都成立,但要**选一种**并贯彻,摇摆的结果是两种效果都没有。
154
+ 3. **误会必须产生行动**。只让人物"心里难过"的误会撑不起场次;它要让某人做出在真相下
155
+ 绝不会做的选择。
156
+ 4. **解除时必须有残余**。澄清之后关系回不到原点:有人看见了对方在压力下的选择,有人
157
+ 欠下了道歉,有人失去了本可以不失去的东西。没有残余就说明这条线没有兑现。
158
+
159
+ **`craft_default`**:优先用选择和后果承担重大转向;巧合与误会用在制造压力的一侧,
160
+ 并带着代价和残余。
161
+
162
+ **`taste_option`**:喜剧、闹剧与仪式性重复可以刻意堆叠巧合,只要堆叠本身是被看见的
163
+ 风格选择,而不是因果链的替代品。
164
+
165
+ ## 4. 把内在意义写成可表演行动
166
+
167
+ ### 4.1 区分意义与载体
168
+
169
+ 作者意图:
170
+
171
+ > 她终于意识到父亲一直不相信她。
172
+
173
+ 这不是不能写的意义,而是需要为剧本找到载体。可选:
174
+
175
+ - **行为选择**:她停止解释,把准备交出的证件收回;
176
+ - **证据反应**:父亲先核对陌生人的签名,却把她的证词推到一边;
177
+ - **空间动作**:她从父亲身旁移到被质疑者一侧;
178
+ - **关系动作**:她把一直替父亲保管的钥匙放下;
179
+ - **明确声音**:有意使用 `[VO]`,让主观声音成为叙事选择。
180
+
181
+ 载体不必把意义解释完。演员可执行、观众有依据推断即可。
182
+
183
+ **`reviewed_invariant · SCR-03`**:关键内在事实应通过行为、证据、空间后果或有意标记的声音表达。审查者引用具体句子并说明为何无法表演;禁止仅凭心理词匹配下结论。
184
+
185
+ **`taste_option · SCR-06`**:主观旁白、梦、记忆、直视镜头都可使用,只需清楚标出并服务创作者风格。
186
+
187
+ ### 4.2 用可表演动词
188
+
189
+ 动作段落优先描述人物能做的事:压住、抽回、避开、递出、擦掉、停下、拆开、锁上、挡住、对齐、撕下、重新摆放。
190
+
191
+ 不要为了“可见”堆满微表情。动作的价值在于改变空间、物件、注意力或关系,而不是记录每次眨眼。
192
+
193
+ **如果项目声明由生成模型承担画面**,动作还要多过一道:日常影像里罕见的精细动作
194
+ (在运动中截住某物、以厘米计的位移、三步以上的双手编排)在实拍里完全成立,在生成
195
+ 管线里往往整镜不可用。此时优先让常见动作的**组合与时机**承担同一份戏剧信息。实拍
196
+ 项目不受此限;形态未声明时不要预先裁剪。判据与改写方法由视频提示词环节拥有,本环节
197
+ 只需知道这条约束存在,不必在剧本里提前降级。
198
+
199
+ 弱:
200
+
201
+ > 他很心虚,眼神复杂,内心充满挣扎。
202
+
203
+ 更可执行:
204
+
205
+ > 他把盖章页翻过去,只递出没有签名的那一面。门外的人伸手时,他仍按着纸角。
206
+
207
+ 后者没有命名全部情绪,却给演员目标、阻力和持物状态。
208
+
209
+ ### 4.3 让反应承担后果
210
+
211
+ 反应不是每句台词后的表情。值得写的反应至少完成一项:
212
+
213
+ - 证明话语击中了对方;
214
+ - 暴露对方早已知道;
215
+ - 改变下一步策略;
216
+ - 转移现场权力或注意;
217
+ - 造成连续性事实。
218
+
219
+ **`craft_default`**:重大信息或关系动作后,给受影响者一个有后果的反应;普通往返不需要逐句配动作。
220
+
221
+ ## 5. 用空间、物件与反应组织冲突
222
+
223
+ ### 5.1 空间是可用关系
224
+
225
+ 写清对剧情有用的地理:
226
+
227
+ - 谁挡住出口或控制柜门;
228
+ - 关键物件在谁可触达范围;
229
+ - 谁能看见文字,谁只听到声音;
230
+ - 公开与私密边界在哪里;
231
+ - 人物改变站位后,联盟或威胁怎样显形。
232
+
233
+ 不要在剧本中写镜头清单。空间事实让分镜有依据,但画面方案由后续技能决定。
234
+
235
+ ### 5.2 物件要进入行动链
236
+
237
+ 道具不是装饰名词。问:
238
+
239
+ - 谁拥有、持有、看见或误认它?
240
+ - 它能证明、阻止、交换、隐藏或迫使什么?
241
+ - 状态变化是什么——封口、破损、转交、露出文字、失效?
242
+ - 变化后谁必须作新决定?
243
+
244
+ **`craft_default`**:重要物件第一次出现时,让人物对它做事;后续状态变化以可见动作记录。
245
+
246
+ **`structural_invariant · SCR-05`**:剧情要求观众读清的文字、明确画外音/画外对白、关键声音、转场与易丢失连续性,必须使用支持的边界标签。校验器检查标签与字段,不判断台词好坏。
247
+
248
+ ### 5.3 人多的场次:先解决"谁是谁"
249
+
250
+ 一场里出现七八个人时,最先崩掉的不是冲突,是**辨识**。观众分不清谁在说话、谁站哪边,
251
+ 后面写得再有力也接收不到。竖屏与快节奏会放大这个问题:观众没有回看的习惯,错过一次
252
+ 就一路错下去。
253
+
254
+ 四种可组合的办法,按代价从低到高:
255
+
256
+ 1. **减人**。与本场议程无关的人直接不出现。人物在场不等于有戏份,写进来却没有可执行
257
+ 动作的人,只会分走注意。
258
+ 2. **让人陆续进场**。不要一开场就把所有人摆好。先让一组产生冲突,冲突到某个位置时下
259
+ 一组才进来。每次进场都是一次自然的介绍,也是一次压力升级。
260
+ 3. **轮换本场主对手**。人确实必须同时在场时,把一场切成前后段,每段只让一个人真正与
261
+ 焦点人物交手,其他人退为反应。观众每次只需要跟住一组关系。
262
+ 4. **让人物互相递交**。切换注意力之前,先由当前说话者点名或看向下一个人,再把戏交过去。
263
+ 没有交接的切换,读起来就是一群人轮流发言。
264
+
265
+ **`craft_default · SCR-12`**:多人场次先保证观众能分清谁在与谁交手——用减人、陆续进场、
266
+ 分段轮换主对手或人物之间的明确递交完成,而不是靠动作段落逐一点名在场者。
267
+
268
+ 仪式、群体压迫、闹剧式围攻这类场面本身就以"人多且乱"为效果时,可以有意违反本条;
269
+ 此时要让混乱是被看见的选择,并至少保留一条观众能跟住的线索。
270
+
271
+ ### 5.4 主角不在场的场次
272
+
273
+ 镜头可以整场不给主角,甚至整集不给。条件是这一场的**情绪、推进、戏剧性与期待**仍然
274
+ 挂在主角身上:观众看反派上钩,看的是主角上一场埋的那一手;观众看旁人震惊,震惊的
275
+ 对象是主角做过的事。
276
+
277
+ 反过来说,如果一场戏删掉之后,主角的处境、观众对主角的期待都没有变化,那么它多半
278
+ 是在替配角讲他们自己的故事——这在长篇里是支线,在短剧的篇幅里通常是失血。
279
+
280
+ **`craft_default`**:主角缺席的场次,要能说清它替主角推进了哪一项——已埋下的布置被
281
+ 触发、观众对主角的期待被抬高、主角将要面对的威胁被具体化,或主角刚造成的后果落地。
282
+
283
+ ## 6. 节奏来自压力变化
284
+
285
+ 节奏不是统一缩短句子或持续提高声量。它来自观众处理的任务变化:
286
+
287
+ - 等待一个人决定;
288
+ - 追踪谁知道什么;
289
+ - 看一项动作能否完成;
290
+ - 接收证据并重估旧事实;
291
+ - 承受关系动作后的停顿;
292
+ - 预见一个代价即将落地。
293
+
294
+ ### 6.1 加速
295
+
296
+ - 删除人物都知道的重复说明;
297
+ - 让台词与动作同时争取目标;
298
+ - 在前一后果还未消散时触发反制;
299
+ - 把例行进入压缩到压力已经发生的位置;
300
+ - 用清楚的物理任务替代抽象争论。
301
+
302
+ ### 6.2 留出呼吸
303
+
304
+ - 重大选择后让受影响者真正改变行为;
305
+ - 让观众看清证据、位置或持物变化;
306
+ - 在情绪转向时保留一个有内容的停顿;
307
+ - 让人物承担胜利的代价,而不是立即转下一个事件。
308
+
309
+ **`craft_default`**:快慢应由信息密度、行动难度与情绪后果变化,不要让所有段落同样紧绷。
310
+
311
+ **`taste_option`**:作品可以高压、克制、荒诞、仪式化或生活流;节奏目标随风格改变。
312
+
313
+ ## 7. 写动作段落与生产事实
314
+
315
+ ### 7.1 动作段落
316
+
317
+ - 使用现在时;
318
+ - 一个段落聚焦一个行动单位或注意力变化;
319
+ - 写必要的空间与物件结果;
320
+ - 不替演员规定每块肌肉;
321
+ - 不写摄影参数与后续提示词;
322
+ - 只有故事需要时才写精确文字、颜色、左右手或方向。
323
+
324
+ “短”不是硬规则。完整的证据获取或动作链可以稍长;混入多个焦点时再分段。
325
+
326
+ ### 7.2 表演提示
327
+
328
+ `角色(提示):台词` 中的提示最好描述一个可执行策略或变化:
329
+
330
+ - 把威胁说成提醒;
331
+ - 不让第三人听见;
332
+ - 改口前先确认对方是否知道;
333
+ - 放弃解释;
334
+ - 第一次直呼对方名字。
335
+
336
+ 少用同义情绪词堆叠,如“愤怒、激动、崩溃地”。台词与前后动作已经清楚时,可不写提示。
337
+
338
+ ### 7.3 生产标签
339
+
340
+ 仅在故事确实需要时使用:
341
+
342
+ - `[VO]`:不由现场可见说话者发出的主观/叙述声音;
343
+ - `[OS]`:同场景中画外人物的对白;
344
+ - `[SFX]`:会改变注意、行动或信息的关键声音;
345
+ - `[画面文字]`:观众必须读清的载体与精确内容;
346
+ - `[转场]`:有叙事意义的转场要求;
347
+ - `[连续性]`:很容易在后续丢失、且影响故事的明确状态变化。
348
+
349
+ **`structural_invariant`**:生产关键事实不能只藏在作者注释或模糊形容里。标签内容应有明确边界,并与普通动作/对白区分。
350
+
351
+ **`craft_default`**:能通过自然动作清楚表达的事实,不要重复成标签。
352
+
353
+ ## 8. 开场、收束与集间交接
354
+
355
+ ### 8.1 开场接住进入状态
356
+
357
+ 开场优先让观众看见:
358
+
359
+ - 正在继续的行动;
360
+ - 已落地的后果;
361
+ - 当下必须处理的矛盾;
362
+ - 与既有认知冲突的可见事实。
363
+
364
+ 若环境本身携带威胁、限制或信息,它可以成为开场主体;不要无条件禁止氛围。
365
+
366
+ **`craft_default`**:在压力活跃处进入,并用具体行动证明进入状态,而非先由人物复述上集。
367
+
368
+ **`taste_option`**:冷开场、缓慢观察、先果后因、平静日常都可以选择;它们必须服务作品的观看契约。
369
+
370
+ ### 8.2 收束完成两个动作
371
+
372
+ 1. 让当集的局部结果被看见:取得、失去、承认、拒绝、关系变化或证据意义;
373
+ 2. 把新压力变成下一集可执行的决定、后果或未稳定状态。
374
+
375
+ 结尾不必总靠打断一句台词。人物完成一次行动后形成的新局面,也能有持续力。
376
+
377
+ ### 8.3 写精确出去状态
378
+
379
+ 检查:
380
+
381
+ - 谁在哪里,正要做什么;
382
+ - 谁知道/不知道什么;
383
+ - 谁持有什么,状态如何;
384
+ - 关系与权力怎样变化;
385
+ - 伤势、服装、光线、天气、时间是否延续;
386
+ - 哪项动作已经不可撤回。
387
+
388
+ **`structural_invariant`**:剧本明确写出的出去事实必须与单集卡指向的
389
+ 权威交接一致。若使用 development projection,“更好的结果”先路由给 develop
390
+ owner 修订 episode map;若使用 `write_standalone`,才由 write 修订自有契约。
391
+ 不可让两份权威并存。
392
+
393
+ ## 9. 修订方法
394
+
395
+ 不要一遍同时改所有问题。每一遍只解决一种失败,并保护已接受选择。
396
+
397
+ ### 9.1 因果遍
398
+
399
+ 在每个主要动作旁写:
400
+
401
+ - 它因何发生?
402
+ - 人物为何此刻选择它?
403
+ - 对手如何回应?
404
+ - 它改变了什么?
405
+ - 下一动作为何由此被迫发生?
406
+
407
+ 删除可互换顺序且无后果的重复。
408
+
409
+ ### 9.2 场景遍
410
+
411
+ 标出每场目标、反对、策略变化、转向和退出。没有变化的场景:
412
+
413
+ - 与相邻场合并;
414
+ - 让证据/关系/决定在此真正改变;
415
+ - 或删去,把必要信息移到正在发生的冲突。
416
+
417
+ ### 9.3 可表演遍
418
+
419
+ 圈出只存在于作者说明中的认知和情绪。为关键项选择行为、证据、空间、关系动作或有意声音;不要为每个形容词补微表情。
420
+
421
+ ### 9.4 具体性遍
422
+
423
+ 替换不产生行动的泛词:
424
+
425
+ - “资料”究竟是登记页、录音还是钥匙卡?
426
+ - “威胁”具体让谁失去什么?
427
+ - “关系破裂”通过哪项承诺、称呼、持物或站位变化出现?
428
+
429
+ 只补对识别、因果、表演或连续性有用的细节。
430
+
431
+ ### 9.5 生产事实遍
432
+
433
+ 检查可读文字、声音、画外对白、转场和连续性标签。去掉模型、镜头和资产说明,把它们留给各自所有者。
434
+
435
+ ### 9.6 声音与潜台词遍
436
+
437
+ 使用 [dialogue-craft.md](dialogue-craft.md)。朗读角色台词,检查删掉角色名后是否仍能凭策略、关系和措辞辨认,而不是靠口癖标签。
438
+
439
+ ### 9.7 扫读遍
440
+
441
+ 前面几遍都是慢读——逐条检查因果、可表演性、具体性。这一遍相反:**用比正常阅读快得多
442
+ 的速度把本集扫一遍**,尽量不停顿、不回看,然后只回答两个问题:
443
+
444
+ 1. 有没有需要停下来才能想明白的地方?谁说的这句、刚才那个人做了什么、这个东西是哪来的;
445
+ 2. 扫完之后,情绪上有没有起伏?还是只知道发生了一串事?
446
+
447
+ 任何一处需要停顿,都记下位置——那通常意味着信息挤在一起、指代不清、或者一句台词同时
448
+ 承担了太多任务。第二问答不上来,说明这一集可能每一场都成立,但合起来没有形成运动。
449
+
450
+ 这一遍模拟的是真实观看条件:观众不会重看,不会推敲,注意力还被别的事分走。慢读能证明
451
+ 剧本**讲得通**,扫读才能证明它**接收得到**。
452
+
453
+ **`craft_default`**:交付前至少做一遍扫读,把需要停顿的位置和"没有情绪起伏"的段落
454
+ 记下来,再决定改不改。它是自检手段,不是质量门槛——刻意要求观众停下来思考的段落,
455
+ 可以在说明理由后保留。
456
+
457
+ ### 9.8 所有权遍
458
+
459
+ 列出语义变化、未改部分与受影响下游。创作者接受后发布;所有者不能给自己签发终审通过。
460
+
461
+ ## 10. 现有剧本的最小规范化
462
+
463
+ 创作者带来非规范文本时,目标是**建立可追踪入口,不是重写**。
464
+
465
+ 流程:
466
+
467
+ 1. 原始文件按字节保存到 `输入/`,记录编码与来源说明;
468
+ 2. 识别明确的场景、动作、对白与生产要求;
469
+ 3. 只补提议中的场景标题、块边界和必要标签;
470
+ 4. 输出并列预览;
471
+ 5. 分别列出语义新增、删除、改写、未映射段落和低置信映射;
472
+ 6. 让创作者接受、修订或取消;
473
+ 7. 只有接受后才发布 `screenplay.md` 与派生索引。
474
+
475
+ **`structural_invariant`**:拒绝或取消不得改变现有规范剧本;未映射的生产关键内容不得静默丢失。
476
+
477
+ **`reviewed_invariant`**:所谓“仅格式变化”若改变说话者、先后、因果、态度或事实,就必须作为语义改写展示。
478
+
479
+ **`craft_default`**:保留作者原句和段落边界,只有可追踪/生产需要时才提议重排。
480
+
481
+ ## 11. 合成示例
482
+
483
+ 以下情境为新写示例:社区打印店闭店前,姐姐岑予要拿回母亲留下的合同附页,弟弟岑放负责看店并已答应把文件交给房东。
484
+
485
+ ### 11.1 只有说明,没有场景运动
486
+
487
+ > 岑予来到打印店。她和弟弟关系一直不好。两人谈起合同,都很生气。弟弟告诉她合同已经交给房东,她非常震惊。
488
+
489
+ 问题:目标与筹码未进入行动,关系由作者宣布,信息没有争夺,转向只靠一句告知。
490
+
491
+ ### 11.2 把意义放进动作
492
+
493
+ ```md
494
+ ## EP001-SC002 内 · 社区打印店 · 夜
495
+
496
+ 岑放把碎纸箱推到取件台下。最上面露着半枚蓝色骑缝章。
497
+
498
+ 岑予没有去抢。她把卷帘门遥控器装进口袋,门停在离地半米的位置。
499
+
500
+ 岑予:附页给我,门就开。
501
+
502
+ 岑放把手机翻过来。屏幕上是房东发来的收件确认。
503
+
504
+ 岑放(把解释说成通知):你晚了十分钟。
505
+
506
+ 岑予抽出碎纸箱里那一角。背面没有母亲的手写日期。
507
+
508
+ 岑予:你交出去的是复印件。
509
+
510
+ 岑放第一次看向上锁的纸柜。
511
+
512
+ [SFX] 卷帘门电机重新启动。
513
+ ```
514
+
515
+ 场景发动机:
516
+
517
+ - 岑予要用关门权换回附页;
518
+ - 岑放用“已经交出”封住路径;
519
+ - 骑缝章与手写日期让证据可见;
520
+ - 转向是两人发现原件仍在店里,目标从追房东变成争纸柜;
521
+ - 岑放的视线与门启动形成下一动作,不需要解释“他心虚”。
522
+
523
+ 例子不规定后续真相或结局,只展示目标、反对、证据与状态变化怎样进入可拍文本。
524
+
525
+ ## 12. 失败征兆与审查问题
526
+
527
+ ### 失败征兆
528
+
529
+ - 场景只传递信息,没有任何议程受阻或策略变化;
530
+ - 角色轮流说出作者想让观众知道的内容;
531
+ - 内心状态没有行为、证据、空间或声音载体;
532
+ - 对手只会拒绝,主角只会重复要求;
533
+ - 动作段落堆微表情,却没有改变物件、位置或选择;
534
+ - 重大台词后人物行为完全不变;
535
+ - 场景结尾恢复到进入状态;
536
+ - 重要文字、声音或持物变化没有明确生产边界;
537
+ - 剧本混入镜头、资产全集或媒体提示词;
538
+ - 规范化时悄悄润色、补剧情或改变说话者;
539
+ - 所有场景使用同一紧张度与句式;
540
+ - 多人场次靠动作段落逐一点名在场者,观众仍分不清谁在与谁交手;
541
+ - 主角缺席的场次替配角讲了他们自己的故事,主角的处境与观众的期待都没有变化;
542
+ - 扫读时反复需要停下来确认谁说了什么、某样东西是哪来的;
543
+ - 用篇幅或数量替代场景必要性判断。
544
+
545
+ ### 审查问题
546
+
547
+ 审查者引用场景标题、动作或对白回答:
548
+
549
+ 1. 本场谁想让什么发生,反对者用什么筹码阻止?
550
+ 2. 哪个动作/事实改变方向,转向后下一动作为何不同?
551
+ 3. 哪些关键内在意义没有可表演载体?
552
+ 4. 空间和物件是否参与冲突,而非只作装饰?
553
+ 5. 重大信息之后,受影响者的行为怎样改变?
554
+ 6. 生产关键事实是否有正确边界,是否混入其他层内容?
555
+ 7. 本集的进入与出去状态能否精确交接?
556
+ 8. 修订是否保护了创作者的风格选择与未改部分?
557
+
558
+ 写作所有者依据证据修订;审查动作负责记录结论,不能把修订产物本身冒充 verdict。
@@ -0,0 +1,94 @@
1
+ # 剧本阶段契约
2
+
3
+ ## 目录
4
+
5
+ - [独立运行与项目集成](#独立运行与项目集成)
6
+ - [所有权边界](#所有权边界)
7
+ - [单集契约与题材边界](#单集契约与题材边界上游输入)
8
+ - [本阶段规则](#本阶段规则)
9
+
10
+ 本文件是本技能的自包含契约:预检、所有权、形态输入与规则表都在这里,
11
+ 不需要读取其他技能的文件。
12
+
13
+ ## 独立运行与项目集成
14
+
15
+ 本技能可以单独安装并运行;下面几条说明项目工具存在时怎样集成。
16
+
17
+ 1. **读取直接输入**:只读取用户明确提供或当前任务实际需要的文件,不批量加载整个项目。
18
+ 2. **可选项目集成**:若存在 `short-drama.json` 且 core 项目工具可用,可以运行
19
+ `python3 <core>/scripts/project_tool.py status <project>`,使用返回的目录布局和语言设置;
20
+ core 不可用时,直接基于已提供输入产出本阶段文件。
21
+ 3. **可选发布生命周期**:项目工具可用时,用 `publish` 原子发布并用 `--input <path>`
22
+ 声明直接输入;`accept`、`review` 与 `package` 继续承担确认、复核与交付。
23
+ 4. **保持职责分离**:创作者确认、内容修订和复核是不同动作;reviewer 提修改要求,负责人改文件。
24
+
25
+ ## 所有权边界
26
+
27
+ - **本阶段拥有**:场景执行计划、节拍、剧本正文;场景/动作/对白/生产标签;已实现的
28
+ 知识、信念、目标、关系与情绪变化;块 ID、类型与跨度。
29
+ - **本阶段继承**:已接受的单集契约与已接受事实。开发环节拥有已规划契约时,本阶段只投影
30
+ 它、不复制它;没有开发环节记录时,本阶段可拥有独立单集契约,后续若引入开发记录须显式
31
+ 迁移权威。
32
+ - **本阶段不越权**:不决定景别、机位与镜头时长,不建立或改写资产身份与变体,不指定提示词
33
+ 构成。需要这些变化时发修订请求。
34
+
35
+ ## 单集契约与题材边界(上游输入)
36
+
37
+ 本阶段执行的是**已接受的单集契约**,不重新设计分集,也不给项目归类题材。下面写清这两样
38
+ 东西进入本阶段时必须包含什么、缺失时怎么办——写作时按这份清单核对即可,不去读开发环节
39
+ 的文件。
40
+
41
+ ### 单集契约必须提供的字段
42
+
43
+ | 字段 | 本阶段拿它做什么 | 缺失时 |
44
+ |---|---|---|
45
+ | 进入状态 | 首场从哪个已经成立的处境开始 | 向 develop owner 发修订请求 |
46
+ | 当集追求与阻力 | 每场的议程与反对力量从哪来 | 同上;不自行发明动机 |
47
+ | 因果升级 | 哪几步必须在本集内被看见 | 同上 |
48
+ | 方向性转折 | 哪一次选择改变了局面 | 同上 |
49
+ | 当集兑现 | 集尾钩子之前必须落地的局部结果 | 同上 |
50
+ | 出去的压力与交接事实 | 末场留下什么、下一集要继承什么 | 同上 |
51
+ | 信息权限 | 谁知道什么、观众知道什么 | 同上 |
52
+
53
+ 本阶段只把这些字段**落实成可表演的场景**:补场景发动机、节拍顺序、对白策略与生产标签。
54
+ 不得在剧本里改写契约字段——需要改就发修订请求,不在执行层偷改。
55
+
56
+ ### `write_standalone`:没有开发记录时
57
+
58
+ 项目没有 develop 拥有的单集契约时,本阶段可以自己拥有一份独立契约,但它必须包含上表
59
+ 同样的字段,并明确标为 standalone。后续若引入 develop 记录,先做语义 diff,让创作者明确
60
+ 选择权威迁移,把 standalone 契约标记 superseded,再换成指针;同一集不得同时激活两种模式。
61
+
62
+ ### 题材:本阶段执行,不分类
63
+
64
+ 题材机制会影响压力来源、可用证据、场面颗粒与集尾取向,但**选择哪个题材、用哪套钩子取向
65
+ 属于开发阶段**。本阶段的做法是:
66
+
67
+ - 已有已接受的题材与钩子取向时,按它执行,并以单集契约为准;
68
+ - 没有已接受取向时(例如从想法直接写作),**不要贴题材标签给自己造公式**。改为向创作者
69
+ 确认本集要兑现什么承诺、观众该获得什么回报,然后按第 5 节的叙事工艺决策规则写;
70
+ - 任何情况下都不把题材词直接当成剧情答案,也不因为"这个题材通常这样"就新增契约里没有的
71
+ 事件、人物或代价。
72
+
73
+ ## 本阶段规则
74
+
75
+ ### `SCR`
76
+
77
+ | ID | Class | Knowledge |
78
+ |---|---|---|
79
+ | SCR-01 | reviewed_invariant | Every scene has a current agenda, opposing force, directional turn, and exit state. |
80
+ | SCR-02 | craft_default | Prefer choices and consequences over coincidence for major turns. |
81
+ | SCR-03 | reviewed_invariant | Private thought is expressed through behavior, evidence, or deliberate VO/OS. |
82
+ | SCR-04 | craft_default | Dialogue carries agenda, relationship, subtext, and a change—not only information. |
83
+ | SCR-05 | structural_invariant | Existing production tags use supported, closed syntax and resolvable references. |
84
+ | SCR-06 | taste_option | Silence, slang, interruption, narration, and sentence rhythm remain character/style choices. |
85
+ | SCR-07 | reviewed_invariant | Story-critical text, VO/OS, SFX, transition, and continuity requirements are not left indistinguishable from ordinary prose. |
86
+ | SCR-08 | craft_default | When abstract emotion obscures performance, translate it into character-specific behavior, object handling, distance, silence, or delivery. Dialogue turn length and tactic follow the scene agenda rather than a universal attack-defense cadence. |
87
+ | SCR-09 | craft_default | Break a long speech with a visible action beat that changes the speaker's tactic, giving downstream a sourced cut point and the performance a breath; a speech with no internal turn is shortened rather than split. |
88
+ | SCR-10 | reviewed_invariant | When the creator marks a beat's realization as replaceable under later pressure, the record separates the dramatic function from the current depiction and names a fallback depiction that delivers the same function: same person proven or changed, downstream payoff refs and next-episode entry state still satisfied, cost not erased, no new setup required. Deleting the beat is never a fallback. An unmarked beat leaves the rule inactive—the suite carries no platform standard, predicts no outcome, and pre-emptive sanding is the more expensive mistake. |
89
+ | SCR-11 | craft_default | When sound carries story information, spatial pressure, off-screen presence, a deliberate silence, or a scene bridge, the screenplay identifies the necessary source/event and its dramatic target; it does not prescribe per-shot mixing, add decorative sound to every scene, or use music to replace performance. |
90
+ | SCR-12 | craft_default | A crowded scene first makes clear who is contending with whom—by cutting non-essential presence, staggering entrances, splitting the scene so one opponent holds the focus at a time, or handing attention from one character to the next—rather than naming every present character in action paragraphs. Deliberately chaotic ritual, siege, or farce may override this once the disorder is a visible choice and one followable thread remains. |
91
+
92
+ 规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
93
+ `reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
94
+ `taste_option`(创作者选择,不作缺陷)。创作者已接受的事实优先于本表。