@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,185 @@
1
+ # 短篇写作通用底座
2
+
3
+ > 短篇网文正文写作的公共父类。服务番茄 / 七猫 / 黑岩 / 盐选通俗短篇(1-2 万字),不是传统文学。
4
+ > 题材风格包(`genre-styles/`)在此基础上做覆盖加味;本文件管所有题材共通的原生写法。
5
+ > **总原则:情绪宁烈不温。短篇是情绪产品,靠直白共鸣留人,不靠克制留白。**
6
+
7
+ ---
8
+
9
+ ## 1. 人称与腔调:第一人称受害者,双轨切换
10
+
11
+ - **默认第一人称「我」全程主导**。受害者亲历视角,读者直接钻进主角身体和脑子里。他人视角(渣男 / 白月光 / 反派)只作**追悔 / 得意的补刀短插**,不平分篇幅。极少数男频自救文用男「我」。
12
+ - **腔调是双轨,靠「心死」开关切换**:
13
+
14
+ | 阶段 | 声线 | 怎么写 |
15
+ |------|------|--------|
16
+ | 受虐段 | 直白宣泄 | 喊疼、喊委屈,眼泪不争气,心如死灰。成段内心独白和连环反问 |
17
+ | 反击 / 反转段 | 冷静审判 | 抽离、反讽、居高临下。见血、不铺陈,「呵」「我纯粹觉得你比较可笑」 |
18
+
19
+ - 「心死定格句」是切换枢纽:撞破真相后用一句独立成段的心死宣告(「那一刻,我的心彻底死了」),把情节从委屈隐忍切到冷静决裂,后续行为逻辑全由它翻转。
20
+
21
+ ---
22
+
23
+ ## 2. 情绪外化:直接写情绪词,后面接一个场景里的具体动作(替代机械替换表)
24
+
25
+ 短篇最核心的写法,也是和长篇审美冲突最大的一条。
26
+
27
+ 真实番茄里,情绪词(心如死灰、心如刀绞、几欲作呕、眼泪不争气)就是直接写出来的,而且用得很密——这是卖点,不是 AI 味。关键在后面一句:**情绪词后面要接一个这个场景里此刻特有的具体动作或物件,不能让情绪词单独飘着。**
28
+
29
+ 照真实小说写(以下都是原文,照这个语感):
30
+
31
+ - 《为给白月光出气,男友群发我私密照》我心如死灰,泪水早已模糊了视线。
32
+ - 《为给白月光出气,男友群发我私密照》我紧紧抿着嘴唇,直到尝到血腥味,才勉强找回一丝清明。
33
+ - 《被凌辱后,我把他们送上法庭》我在一旁看得心如刀绞,几欲作呕。
34
+ - 《闻笙有两意》摸到那碗凉掉的排骨汤时,我的心更冰冷了。上面还浮着凝固的油,根本喝不了。
35
+ - 《和闺蜜死遁后,文武状元悔疯了》怒火和心痛在胸腔翻涌。我鼻头一酸,将玉佩摔得支离破碎。
36
+ - 《为讨真千金欢心》我紧紧攥着衣角,颤抖着问。
37
+
38
+ 看这些原文的共同点:情绪词后面接的是「此刻手里、眼前那个具体的东西」——凉掉的排骨汤、摔碎的玉佩、攥着的衣角、抿出血腥味的嘴唇。不是哪篇都能套的通用生理反应(单写「指甲掐进掌心」「心猛地一沉」「鼻头一酸」就空)。
39
+
40
+ 情绪后面接的不一定只是物件,也可以是任务卡点:主角要办一件眼下必须办成的事,却在这一步被卡住。短篇里的任务卡点必须短、狠、贴情绪:卡住救命钱、卡住证据、卡住离场、卡住求救、卡住反击。目的不是写流程,也不是为了显得自然,而是让读者立刻感到“更难堪 / 更绝望 / 更该反击”。
41
+
42
+ **要删的两种:**
43
+
44
+ 1. 后面接不上任何具体东西、单独出现的情绪总结句(「一丝悲伤涌上心头」「感到深深的绝望」「仿佛整个世界失去了颜色」)。
45
+ 2. 同一个情绪反复写、写完再补一句解释它多疼。一个情绪写一次、接一个具体动作,就往下走。
46
+
47
+ ---
48
+
49
+ ## 3. 叙述姿态:在场叙述者(区别于长篇深度限知)
50
+
51
+ 短篇叙述者**高度在场**:可以跳出当下替读者定性、剧透、下判词、预告火葬场。这是爽感引擎,不是 AI 味。
52
+
53
+ - 留:第一人称主角的**主观审判句**(「原来我以为的爱只是一场笑话」)、**复仇者剧透勾子**(「他们不知道,我已经是西域摄政王」)、**火葬场前瞻预告**(「我还不知道,他正发疯似的找我」「可后来他后悔了」)。
54
+ - 删:真·中立全知摄像机腔——和角色情绪无关、纯交代背景的作者解说。
55
+
56
+ 判据:这句跳出当下,是**带主角主观偏色的审判 / 勾追读**,还是**中立无情绪的作者讲解**?前者留,后者删。
57
+
58
+ ---
59
+
60
+ ## 4. 小节结构:超短章节制,一节一炸点
61
+
62
+ 按平台两套节奏:
63
+
64
+ | 平台 | 小节标记 | 段落 | 单节字数 |
65
+ |------|----------|------|----------|
66
+ | 黑岩 | `###` + 数字(`###1.`) | 段落短、多换行留白 | 800-1200 |
67
+ | 番茄 / 七猫 | `###第N章` 或 `###1.` | 短段为底色,允许多句回溯叙述段交织对话 | 1000-2000(古言 2000-4000) |
68
+
69
+ - 每个小节:**一个背叛升级 / 一次态度反转 + 一句更狠的台词 + 一条读者新获知信息**。
70
+ - 章尾**不收束情绪、必留钩**。
71
+ - **疏密**:背叛 / 打脸 / 反转 / 决裂处详写慢放,逐拍展开;过场 / 赶路 / 信息交代一句带过,把字数预算让给情绪节点。
72
+ - 任务卡点必须服务“一次背叛升级 / 一次态度反转 / 一条新信息”,不能单独变成生活流程;没有情绪或证据收益就不写。
73
+
74
+ ---
75
+
76
+ ## 5. 钩子:极高密度,阶梯式背叛
77
+
78
+ - 导语 50-300 字塞 3-5 个事件 / 反转;正文几乎每节一个新爆料或一次态度反转;黑岩密到每 3-5 句一拐。
79
+ - **阶梯式升级**:道德踩踏 → 经济 → 生命,越揭越大。一页里敢叠多重雷(绝症骗局 + 当众拥吻 + 孩子药引…),别单点反复抒情。
80
+ - **爽点章章前推**:每章必须推进一个反打 / 行动 / 亮牌(扇耳光、取消婚礼、删 B 超单转身走、当众揭穿、亮身份),不要停在情绪闭环;章尾留反杀预告(「已联系律师」「已查到他的致命把柄」),制造追读缺口。读者要的是「下一章想看她怎么打脸」。
81
+ - **当众围观放大羞辱**:把背叛 / 打脸放在有外人见证的场合(宴席、股东会、群聊截图、请安),用众人的起哄 / 鄙夷 / 沉默放大屈辱与出气感;独角戏起不来「丢脸感」。
82
+ - 共通钩子母题(题材包细化):白月光 / 小青梅触发背叛、偷听 / 撞破真相一次性砸、灾难期求救反被辱、朋友圈 / 物证坐实、数字 / 年限承重再清零、身份反差底牌、当众羞辱 + 反转倒计时。
83
+
84
+ ---
85
+
86
+ ## 6. 对话:占比高,三类台词撑全篇
87
+
88
+ - 占比约 40-60%(盐言 / 黑岩打脸篇可到 60%;抒情虐 / 心死篇可低到 30-40%)。**按情绪驱动还是事件驱动浮动,不设死线。**
89
+ - 三类台词:① 施害者道德踩踏 / PUA 狠话(钩子本体,越理直气壮越好);② 白月光「娇弱委屈」软刀(对不起 / 我不是故意的 / 都怪我);③ 主角心死后冷静审判金句。
90
+ - 权力博弈靠对话长度反转标记:施害方前期长篇 PUA,主角后期一句话冷怼。详见 `dialogue-mastery.md`。
91
+
92
+ ---
93
+
94
+ ## 7. 收尾:火葬场预告 / 审判金句 / 漠视离场
95
+
96
+ 短篇收口都不是文学升华:
97
+
98
+ | 收口式 | 例 |
99
+ |--------|-----|
100
+ | 火葬场反转 | 主角走后施害者悔疯 / 悬赏寻找,主角已无波澜或冷拒(「敦宜,你不要我了吗?」) |
101
+ | 审判 / 反讽金句盖棺 | 「迟来的深情比草还贱」「在他们眼里我是锦绣上的破洞」「晏家,咱们的账慢慢算」 |
102
+ | 转身离场 / 净身出户 | 签离婚协议、改嫁、带孩子一去不归、亮身份碾压 |
103
+ | 漠视收尾 | 「那是他们的故事了,与我再无瓜葛」——比报复更狠 |
104
+
105
+ - 删:空洞哲理升华(「人生就是这样」「她终于明白了」)。
106
+ - 留:第一人称复仇预告 / 审判金句 / 心死余韵——这是读者截图传播的高光。
107
+
108
+ ---
109
+
110
+ ## 8. 节奏与标点
111
+
112
+ - 段短、勤换行,手机流式:叙述用逗号长句,但短篇整句偏短、多单句成段,一句 20 字上下就落句号,别把逗号一路拖成冗长的流水句。短句是偶发的情绪重拍,落在峰值,不是通篇底色。
113
+ - 标点跟语气走:质问用问号,爆发峰值少量感叹;犹豫 / 未尽 / 被打断用短句、动作或换行断句。
114
+ - 三连排比是抒情堆苦难的手法(「在暴雨夜、在手术室门口、在我父亲的葬礼上」):**有功能的递进 / 枚举保留**,只砍无信息量的纯修辞凑数。
115
+ - **标点硬约束**:本仓库正文输出统一不出现 `……` / `——` / `—` / `--`(去 AI 脚本与 hook 强制收口)。停顿、哽咽、未尽、留白一律用短句、句号、逗号、动作 beat 或换行实现。题材包范例中若保留 `……`,只为示意手法,落到正文要按本条改写。
116
+
117
+ ---
118
+
119
+ ## 9. 与长篇的根本区别
120
+
121
+ | 维度 | 长篇规则 | 短篇底座 |
122
+ |------|----------|----------|
123
+ | 视角 | 深度限知、不剧透 | 第一人称在场、主动剧透火葬场 |
124
+ | 情绪 | 身体动作替代情绪词 | 情绪词直接写 + 后接具体反应 |
125
+ | 章尾 | 禁总结 / 升华 / 预告 | 审判金句 / 火葬场预告是卖点 |
126
+ | 结构 | 贯穿道具三次 / 数字阶梯 | 偷听 / 底牌 / 回旋镖 / 次数累积 |
127
+ | 内心 | 独白 ≤ 2 段 | 成段宣泄独白 + 连环反问是主引擎 |
128
+ | 排比 | 砍到一条 | 抒情堆苦难有功能则留 |
129
+
130
+ ---
131
+
132
+ ## 10. 场景写法:三维度揉进
133
+
134
+ 每个子事件不是一句话就完,包含三个维度,**织进同一段连续正文,不按维度分段**:
135
+
136
+ | 维度 | 内容 | 要点 |
137
+ |------|------|------|
138
+ | 发生 | 事情出现了 | 1-2 句,含一个具体细节 |
139
+ | 感知 | 主角注意到什么 | 至少 1 个感官细节,聚焦一个物件或身体部位 |
140
+ | 反应 | 身体如何回应 | 具体身体动作(手 / 眼 / 呼吸 / 姿势),可含一句极短心理定格 |
141
+
142
+ 任务卡点也按三维度揉进:发生 = 事情办不下去;感知 = 主角看到、摸到或听到卡住的具体证据;反应 = 当场更冷、更怒、更心死,或立刻改用下一步反击。不要把流程单独写成说明段,也不要在场景末尾补动作尾巴解释意义。
143
+
144
+ 反模式(绝对禁止):把三维度拆成三段依次写完,同一件事掰开写三遍。
145
+
146
+ - 正确(揉进式,《闻笙有两意》原文):我以为陆池是真心跟我道歉,但摸到那碗凉掉的排骨汤时,我的心更冰冷了。上面还浮着凝固的油,根本喝不了。(摸汤、凝固的油、心冰冷揉在一段里)
147
+ - 错误(把上面这段拆成三段堆叠):我摸到那碗排骨汤。/ 汤是凉的,浮着凝固的油。/ 我的心更冰冷了。(同一件事掰成三句,读者看三遍)
148
+
149
+ **画面分段**:揉进不等于一段到底。按新动作 / 新物件 / 新信息 / 新对话 / 视线转移断段,不按维度断段。一段承载一个镜头拍点或一条连续推理 / 氛围 / 情绪链。
150
+
151
+ ---
152
+
153
+ ## 11. 疏密分配 + 一动一静
154
+
155
+ **疏密**:不要每个 beat 一样长一样细(平均用力是 AI 腔的根)。
156
+
157
+ | beat 类型 | 笔墨 |
158
+ |---|---|
159
+ | 爽点 / 打脸 / 反转 / 情绪高潮 | 密(详写,感知动作对话铺满,慢镜头逐拍) |
160
+ | 过场 / 赶路 / 信息交代 / 时间跳转 | 疏(1-2 句带过,不展开三维度) |
161
+ | 铺垫 / 日常 / 关系升温 | 中(挑一两个有代入感的细节写实,其余略) |
162
+
163
+ **一动一静**:动作冲击段后接安静感知段。情绪最高点(打脸 / 反转)用「动」,最低点(心死 / 余韵)用「静」。不连续 2 节全动(暴力疲劳),不连续 2 节全静(拖沓)。
164
+
165
+ **主语节奏**:段首 / 场景切换 / 多人同场用主角名建立主语;同一动作链内用代词 / 省略流动;关键转折再点名。避免连续多句都以同一主角名开头。
166
+
167
+ ---
168
+
169
+ ## 12. 开头事件密度
170
+
171
+ 前 100 字 ≥ 3 个事件。删掉所有背景介绍(「她是 XX 的女孩」「在古代 XX 年间」),第 1 句就是事件 / 对话 / 信息炸弹,不是描述。
172
+
173
+ **开篇第一段必须砸下一个可量化、能截图的「命级 / 羞辱级」赌注**——救命钱、被打掉的孩子、当众社死的实锤——三秒内把命 / 钱 / 孩子砸到脸上,不要慢热内心铺垫、不要单点反复抒情。赌注与细节要有**不可替换的辨识度**(具体到独特的数字 / 物件),别写谁都能套、换个名字就通用的桥段。
174
+
175
+ - 高密度(《闻笙有两意》原文开头):老公怕我打搅他跟小秘书看演唱会,将我锁在家里。突发火灾,我打电话给他求救,只换来他一句:「能不能大度点,不就是拿你两张演唱会门票吗?」——三句砸下锁人、火灾、冷漠拒绝三件事。
176
+ - 低密度(要避免):把开头花在「她是谁、家世如何、那天天气怎样」上慢慢铺。
177
+
178
+ ---
179
+
180
+ ## 配套通用技法(这些文件保留,按需取用)
181
+
182
+ - 对话权力博弈、潜台词、弹幕递进:见 `dialogue-mastery.md`。
183
+ - 反转类型、嵌套反转、打脸节奏:见 `reversal-toolkit.md`。
184
+ - 章首 / 章尾钩子模板:见 `hooks-chapter.md` / `hooks-paragraph.md` / `hooks-suspense.md`。
185
+ - 情感三板斧(羁绊铺设 / 情感撕裂 / 余韵钝痛):见 `emotional-methods.md`。
@@ -0,0 +1,133 @@
1
+ # 短篇去 AI 味
2
+
3
+ > 短篇专属去 AI 味规则。服务番茄 / 七猫 / 黑岩 / 盐选通俗短篇,不是传统文学,更不是长篇。
4
+ > 长篇那套去 AI 规则会误删短篇的卖点,别拿长篇 anti-ai 来删短篇。本文件是短篇的口径。
5
+
6
+ ---
7
+
8
+ ## 根本立场:短篇是情绪产品
9
+
10
+ 短篇靠直白共鸣留人,不靠克制留白。短篇去 AI 味只做一件事:**删空泛的情绪总结句,留有具体反应支撑的情绪。**
11
+
12
+ 长篇会禁、短篇要留的三类(删了就废掉卖点):
13
+
14
+ | 长篇禁 | 短篇留 | 短篇只删 |
15
+ |---|---|---|
16
+ | 直接写情绪词(心如死灰 / 眼泪不争气) | 留:这是招牌句 | 删:后面没有任何具体反应的情绪总结句(一丝悲伤涌上心头) |
17
+ | 第一人称审判句 / 剧透 / 火葬场预告 | 留:在场叙述是爽感来源 | 删:和角色情绪无关、纯交代的作者讲解 |
18
+ | 审判金句 / 心死式章尾 | 留:读者会截图传播 | 删:空洞哲理升华(人生就是这样 / 她终于明白了) |
19
+
20
+ 判据都一样:**这句带不带主角此刻的主观情绪?** 带就留,中立客观就删。
21
+
22
+ ---
23
+
24
+ ## 一、情绪怎么写:直写可以,但后面要接一个场景里的具体动作
25
+
26
+ 短篇不禁直接写情绪词(心如死灰、心如刀绞、几欲作呕、眼泪不争气都行,真实番茄用得很密)。**正面怎么写、真实原文范例,见 `short-craft.md` 第 2 节。** 这里只管删什么。
27
+
28
+ 删两种:
29
+
30
+ 1. 后面接不上任何具体东西、单独出现的情绪总结句:「一丝悲伤涌上心头」「感到深深的绝望」「仿佛整个世界失去了颜色」。
31
+ 2. 通用生理反应单独凑数:「指甲掐进掌心」「心猛地一沉」「鼻头一酸」这类哪篇都能套,单写就空——要么接到这个场景此刻的具体物件 / 动作上(凉掉的排骨汤、摔碎的玉佩),要么删。
32
+
33
+ 一个情绪写一次就往下走,不要写完再补一句解释它多疼。
34
+
35
+ ---
36
+
37
+ ## 二、别写成有套路、太工整、太漂亮的
38
+
39
+ 句子里不写空话之后,还有一层:整篇别写得像套了模板、收得太整齐。这一层最容易在「写得很干净」的稿子上露馅。三点:
40
+
41
+ - **题材包的招式是可选项,不是固定流程。** 写多篇时,每篇用不同的招式、不同的开头和结尾;不要把上一篇的写法换个人名再写一遍。
42
+ - **章节结尾不要为了工整去收口。** 不要凑对仗、凑排比、凑一句押韵或抖机灵的总结。结尾留一个具体的悬念或情绪就行,不整齐没关系。
43
+ - **情绪该强就强,可以直白、可以不均匀、可以稍微啰嗦。** 通篇都很克制、每段都收得整整齐齐漂漂亮亮,读起来反而假。该炸的地方就放开写。
44
+
45
+ ---
46
+
47
+ ## 三、叙述姿态:在场叙述不是 AI 味
48
+
49
+ 短篇叙述者可以跳出当下替读者定性、剧透、预告火葬场。这是爽感来源。长篇 anti-ai 那套「删上帝视角 / 删剧透 / 删替读者下结论」对短篇不适用。
50
+
51
+ | 留(带主角主观情绪) | 删(中立、和角色情绪无关的作者讲解) |
52
+ |---|---|
53
+ | 主观审判句:原来我以为的爱只是一场笑话 | 纯交代背景的作者解说 |
54
+ | 复仇者剧透:他们不知道,我已经是西域摄政王 | 客观描述无关人物的行动 |
55
+ | 火葬场预告:我还不知道,他正发疯似的找我 / 可后来他后悔了 | 论文式因果讲解:之所以…是因为… |
56
+
57
+ 判据:这句跳出当下,是带主角主观情绪的审判 / 预告,还是中立的作者讲解?前者留,后者删。
58
+
59
+ **短篇去 AI 边界补充**:
60
+ - 短篇也要处理“作者解释总结 / 意义尾巴”,但只删**中立、无情绪、无卖点**的讲解;带第一人称主观审判、火葬场预告或心死判词的句子,按题材卖点保留或压短。
61
+ - “白话但不注水”同样适用:不要连续堆精致戏剧反应(头皮发紧、眼皮一跳、心口一沉、胃里翻涌)来替代剧情推进;能写普通动作、普通感觉和具体处境,就别把每个反应都写成漂亮短语。
62
+ - 已有手机、聊天记录、公告、账单、病历、证据截图等信息,优先保留为主角看见/保存/读错/转发的场内载体;不要改成叙述者替读者解释规则。
63
+ - 任务卡点只在本来就有“要办的事”时使用,并且必须加重羞辱、证据、反击或误会;不要为了自然感或字数硬加流程。
64
+
65
+ ---
66
+
67
+ ## 四、章尾:审判金句 / 火葬场预告是卖点
68
+
69
+ 短篇收尾不做文学升华,但审判金句、心死余韵、火葬场预告要留——读者会截图传播。
70
+
71
+ | 留 | 删 |
72
+ |---|---|
73
+ | 审判 / 反讽金句:迟来的深情比草还贱 / 晏家,咱们的账慢慢算 | 空洞哲理升华:人生就是这样 / 她终于明白了 |
74
+ | 火葬场预告:他后悔疯了,可我已经无所谓 | 总结性感悟:这一夜,注定无人入眠 |
75
+ | 漠视收尾:那是他们的故事了,与我再无瓜葛 | 和剧情无关、只为点题的对仗金句 |
76
+ | 心死定格:那一刻,我的心彻底死了 | 升华式空感叹:从此她的人生翻开了崭新一页 |
77
+
78
+ 区分:句子里有没有指向「这一件具体的事 / 这个人」?有就是审判 / 预告,留;只剩谁都能套的人生道理,删。
79
+
80
+ ---
81
+
82
+ ## 五、三连排比:有内容留,凑数砍
83
+
84
+ 短篇堆苦难常用三连(「在暴雨夜、在手术室门口、在我父亲的葬礼上」)。
85
+
86
+ - 留:每一条都带新信息、堆出苦难分量。
87
+ - 删:三句说的是同一件事,只为凑「三个一组」显完整。
88
+
89
+ 判据:删掉其中一条,信息会不会少?会就留,不会就砍到最狠那条。
90
+
91
+ ---
92
+
93
+ ## 六、真·AI 腔黑名单(短篇也照删)
94
+
95
+ 这些和情绪烈度无关,是纯粹的 AI 套话,短篇也删:
96
+
97
+ | 类别 | 词 / 句 | 处理 |
98
+ |---|---|---|
99
+ | 套话动作 | 映入眼帘 / 只见 / 此时此刻 | 删 |
100
+ | 心理标签 | 心中暗道 / 不由自主 | 删,或用动作展示 |
101
+ | 对话标签腔 | 沉声道 / 淡淡地说 / 嘴角微扬 / 目光如炬 | 换成具体动作或表情 |
102
+ | 论文体 | 不难看出 / 由此可见 / 综上所述 / 事实上 | 删 |
103
+ | 书面连词泛滥 | 于是乎 / 与此同时 / 诚然 / 从而 / 因而 | 口语化或删 |
104
+ | 弱化副词扎堆 | 微微 / 淡淡 / 缓缓 / 轻轻(每千字超过 3 个) | 删到 3 个以内 |
105
+ | 万能比喻 | 像潮水般 / 如闪电般 / 仿佛春风 | 删,或换生活化比喻 |
106
+ | 空泛情绪总结 | 一丝 X 涌上心头 / 感到深深的 X / 一股 X 笼罩全身 | 删,或按第一节补一个具体反应 |
107
+
108
+ > 注意:删的是没有具体反应的套话。情绪词本身(心如死灰)不在黑名单里——后面接了具体反应就是卖点,别误删。
109
+
110
+ ---
111
+
112
+ ## 七、标点
113
+
114
+ 正文统一**不出现** `……` / `——` / `—` / `--`(去 AI 脚本与 hook 强制)。停顿、哽咽、没说完、留白,一律用短句、句号、逗号、动作、换行。题材包范例里若出现 `……`,只是示意,落到正文按本条改写。
115
+
116
+ ---
117
+
118
+ ## 短篇去 AI 自检清单(写完每节逐项扫)
119
+
120
+ - [ ] **每个情绪词后面都接了具体反应**(身体反应 / 动作物件 / 处境判断),没有就是空话,补一个或删
121
+ - [ ] **没有空泛情绪总结句**(一丝 X 涌上心头 / 感到深深的 X / 仿佛世界失去颜色)
122
+ - [ ] **一个情绪只写一次**,没有写完再补一句解释它多疼
123
+ - [ ] **在场叙述保留**:第一人称审判句 / 剧透 / 火葬场预告在,没误删
124
+ - [ ] **没有中立的作者讲解**(和角色情绪无关、纯交代的句子)
125
+ - [ ] **章尾有钩或有判**:审判金句 / 火葬场预告 / 心死余韵在;没有空洞哲理升华
126
+ - [ ] **章尾没为工整收口**:没凑对仗 / 排比 / 押韵 / 抖机灵的总结
127
+ - [ ] **每篇写法不雷同**:招式、开头、结尾和上一篇不一样
128
+ - [ ] **三连排比有内容**:每条带新信息;凑数的砍掉
129
+ - [ ] **AI 套话清零**:无映入眼帘 / 心中暗道 / 沉声道 / 淡淡地说 / 嘴角微扬 / 不由自主 / 目光如炬
130
+ - [ ] **无论文体 / 书面连词泛滥**:无不难看出 / 由此可见 / 综上所述 / 于是乎 / 与此同时 / 诚然
131
+ - [ ] **弱化副词 ≤ 3/千字**:微微 / 淡淡 / 缓缓 / 轻轻
132
+ - [ ] **正文无禁用标点**:无 `……` / `——` / `—` / `--`
133
+ - [ ] **对话口语化**:无书面腔,不同角色语气可区分
@@ -0,0 +1,167 @@
1
+ # 短篇正文格式
2
+
3
+ > 写正文前必读。只管交付排版:章节标记、段落形态、对话、标点、元信息禁令。
4
+ > 写法(情绪外化、钩子密度、反转、收尾)见 `short-craft.md` 与题材包,不在此重复。
5
+ > 这是当前仓库默认交付格式;用户或目标平台另有明确要求时,以用户 / 平台要求覆盖。
6
+
7
+ ---
8
+
9
+ ## 章节标记
10
+
11
+ 全文统一一种,不混用。
12
+
13
+ | 格式 | 平台适用 | 示例 |
14
+ |------|----------|------|
15
+ | `###1.` | 短篇默认 | `###1.` `###2.` `###3.` |
16
+ | `###第N章` | 番茄 / 七猫 / 古言 | `###第一章` `###第二章` |
17
+ | `1.`(纯数字,无 `###`) | 知乎盐言 | `1.` `2.` `3.` |
18
+
19
+ 短篇推荐 `###1.` 或纯数字,简洁。番茄系长一点的章用 `###第N章`。
20
+
21
+ ---
22
+
23
+ ## 段落:两套平台模板
24
+
25
+ 短篇正文形态按平台分两套。**不设统一的「每段 ≤ 3 句」「800-1500 字 / 节」硬线**,那是长篇迁移过来的产物,会把短篇切成一样长的提纲。先认平台底色,再按 `short-craft.md` 的疏密原则分配字数。
26
+
27
+ ### 黑岩:一句一段,留白快读
28
+
29
+ - 一句一段为主,多换行制造下坠和停顿感。
30
+ - 节奏密,每节体量小,节尾必留钩。
31
+ - 单句成段是常态,不要为了「凑够字数」把句子焊回长段。
32
+
33
+ 模板示意:
34
+
35
+ ```
36
+ ###1.
37
+
38
+ 我们家有个规矩,每年清明节都要拜"福祸盘"。
39
+
40
+ 一个盘子,一半装着山珍海味,一半盛着清汤寡水。
41
+
42
+ 哥哥抽中了肉,爸妈奖励他一个大红包。
43
+
44
+ 轮到我,我再次抽中了那碗清汤。
45
+ ```
46
+
47
+ ### 番茄 / 七猫:短段为底色,叙述交织对话
48
+
49
+ - 短段仍是手机阅读的底色,但**允许多句回溯叙述段和对话交织**:一段里可以有内心独白、回忆补刀、动作,再接对话。
50
+ - 古言 / 世情可写更长的叙述段,承载完整的情绪链和场景铺陈。
51
+ - 爽点、打脸、反转处压短(可单句成段);过场、信息交代一句带过。
52
+
53
+ 模板示意:
54
+
55
+ ```
56
+ ###第一章
57
+
58
+ 我把热汤端到他面前的时候,他正低头看手机,屏幕亮着白月光的名字。三年了,我以为熬过了最难的日子,原来熬的只是我自己。
59
+
60
+ "以后这种事不用你做。"他头也没抬,"她不喜欢闻油烟味。"
61
+
62
+ 我端着碗的手顿了一下。
63
+ ```
64
+
65
+ ### 两套共同的硬约束(所有平台)
66
+
67
+ - 正文相邻段落之间**只允许一个换行符 `\n`**,不得出现空行或连续换行 `\n\n`(紧密排列)。章节标记前后另算。
68
+ - **无缩进**:不用 `  `(全角空格)或半角空格缩进,平台渲染器自行处理。
69
+ - **禁正文段落 Markdown**:除统一的小节 / 章节标记(如 `###1.`),正文段落里不用加粗 `**`、斜体 `*`、标题 `#`、分隔线 `---` 等。
70
+ - 长短交错,忌通篇同长度。把每段切成同一字数,正是 AI 腔来源。
71
+
72
+ ---
73
+
74
+ ## 对话
75
+
76
+ ### 引号
77
+
78
+ | 优先级 | 格式 | 适用 |
79
+ |--------|------|------|
80
+ | 首选 | `"说话内容"`(半角) | 短篇默认、番茄、红果、黑岩 |
81
+ | 平台 / 项目指定 | `「说话内容」` | 知乎盐言、部分古言、用户指定 |
82
+
83
+ **默认用 `""`**;用户或平台指定盐言风格时用 `「」`,不要把 `「」` 当错误改掉。
84
+
85
+ ### 规则
86
+
87
+ 1. 对话**独立成行**,不嵌在叙述段落里。
88
+ 2. 用动作代替对话标签:少用「他说」「她道」「他笑了笑说」,改成动作 beat + 对话;普通的「说」按语境可留。
89
+ 3. 两人连续对话省略标签,靠内容区分说话人。
90
+
91
+ 正确:
92
+
93
+ ```
94
+ 她把杯子放下。
95
+ "你走吧。"
96
+ 他没有动。
97
+ "我说,你走吧。"
98
+ ```
99
+
100
+ 错误:
101
+
102
+ ```
103
+ 她把杯子放下,说道:"你走吧。"他没有动,她又说:"我说,你走吧。"
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 标点硬约束
109
+
110
+ **本仓库正文统一不出现 `……` / `——` / `—` / `--`**(去 AI 脚本与 hook 强制收口,项目级红线)。叙述、对话、心理描写一律适用,无对话例外。
111
+
112
+ 停顿、哽咽、未尽、被打断、留白,一律用以下手段实现:
113
+
114
+ - 短句、句号、逗号断开。
115
+ - 动作 beat(「她顿了一下」「他攥紧了拳」)。
116
+ - 换行 / 单句成段。
117
+
118
+ 其余标点跟语气走:
119
+
120
+ | 语气 / 功能 | 标点 | 防线 |
121
+ |---|---|---|
122
+ | 压迫 / 冷静 / 克制 | 短句、逗号、句号,必要时冒号压判断落点 | 不人工加感叹号,也不通篇句号化 |
123
+ | 质问 / 反问 | 问号 + 短促追问 | 别每句都以 `?` 结尾 |
124
+ | 爆发 / 打脸 | 真爆点用 1 个感叹号,连续爆发最多 1-2 处 | 禁 `!!!`、禁整段喊叫式感叹 |
125
+ | 信息揭示 / 判断落点 | 冒号、单句成段制造落点 | 别写论文式分号串 |
126
+
127
+ 题材包范例里若出现 `……`,只为示意手法,落到正文按本条改写。
128
+
129
+ ---
130
+
131
+ ## 禁正文混入章节元信息
132
+
133
+ 章节号、写作工程词只允许出现在标题 / 小节标记 / 文件名 / 追踪记录里。正文叙述、对话、心理描写中**不得出现**:
134
+
135
+ ```
136
+ 第[一二三四五六七八九十百千万两0-9]+章 | 上一章 | 上章 | 前一章 | 本章 | 这一章 | 前文 | 后文 | 伏笔 | 细纲 | 读者
137
+ ```
138
+
139
+ 要改成角色能感知的事件锚点或相对时间。例:「比第一章那三秒开火更疼」改成「比那三秒开火更疼」。
140
+
141
+ 例外:角色在故事世界内真实阅读 / 讨论「第 X 章」文本,或角色真实身为作者 / 读者并谈论读者身份时,可保留。
142
+
143
+ ---
144
+
145
+ ## 平台覆盖表
146
+
147
+ | 平台 | 章节标记 | 对话格式 | 段落底色 | 特殊要求 |
148
+ |------|----------|----------|----------|----------|
149
+ | 知乎盐言 | `1.`(纯数字) | `「」` | 短段 + 叙述交织 | 导语需单独标注 |
150
+ | 番茄 | `###第N章` | `""` | 短段为底色,允许叙述交织对话 | 首段需有吸引力 |
151
+ | 红果 | `###1.` | `""` | 短段为底色 | 无 |
152
+ | 黑岩 | `###1.` | `""` | 一句一段,多换行留白 | 节尾必留钩 |
153
+
154
+ 用户未指定平台时,默认短篇通用格式:`###1.` + `""` + 番茄系短段底色。
155
+
156
+ ---
157
+
158
+ ## 写完每段快速检查
159
+
160
+ - [ ] 段落形态符合目标平台模板(黑岩一句一段 / 番茄系短段交织叙述)?没把它切成同一字数的提纲?
161
+ - [ ] 相邻段落之间只有一个 `\n`,没有空行 / `\n\n`?
162
+ - [ ] 无缩进(没有 `  ` 或空格)?
163
+ - [ ] 标题 / 小节标记之外,正文段落没用 `**` `*` `#` `---` 等 Markdown?
164
+ - [ ] 对话独立成行,引号风格符合平台(盐言 `「」` 合法),对话标签没机械化?
165
+ - [ ] 正文(含对话)里没有 `……` / `——` / `—` / `--`,停顿改用短句 / 动作 / 换行?
166
+ - [ ] 标点跟语气走:没通篇句号化,没乱撒 `?` / `!`?
167
+ - [ ] 正文没混入 `第N章` / `上一章` / `本章` / `前文` / `后文` / `伏笔` / `细纲` / `读者` 这类元信息词(故事内真实阅读 / 真实读者身份语境除外)?
@@ -0,0 +1,35 @@
1
+ # 投稿范式:平台基调 · 导语 · 付费点
2
+
3
+ > 短篇是投出去过稿的,不是写完就算。这份文件管三件投稿层的事:按平台定基调、单独打磨导语、把付费点卡在断点上。题材招式仍按 `genre-styles/{题材}.md`,本文只叠加"投稿怎么写才收得掉"这一层。
4
+
5
+ ## 一、先定平台基调
6
+
7
+ 动笔前先确认投稿平台,正文的视角、矛盾烈度、章末钩子、结局质感随之切换。三大主流基调:
8
+
9
+ | 平台 | 视角 | 矛盾演进 | 章末钩子 | 结局质感 |
10
+ |---|---|---|---|---|
11
+ | 知乎盐选 | 第一人称沉浸,生活化违和感切入("老公副驾驶有根红头发") | 心理战、信息差,靠细节拼图"细思极恐",情绪层层剥洋葱 | 发现一个颠覆前文认知的炸裂细节,悬念内敛后劲大 | 极致反转 / 因果轮回 / 高智商收尾,留白多、重余韵 |
12
+ | 小程序 | 上帝视角或强情绪第一人称,开局即地狱 | 冲突全外化到对白和动作,走"被羞辱→亮底牌→当众打脸→夺实利"快循环 | 卡脖子断点(巴掌将落、协议撕一半、话说一半) | 直白粗暴的爽,反派付实质代价(破产/入狱/众叛亲离),主角高位不留遗憾 |
13
+ | 番茄短篇 | 流畅第一/第三人称,目标清晰、金手指直白 | 顺滑无毒点,反派挑衅一两节内转成主角升级/发财的垫脚石 | 开新地图 / 拿到新底牌 / 新人物带资源登场 | 圆满畅快,事业感情双收,坏人受罚 |
14
+
15
+ - 小程序收稿量最大,打脸爽文是主力盘;同一个脑洞可以分别按知乎/小程序/番茄各跑一版,挑最顺的投。
16
+ - 基调只调"声音和落点",不覆盖题材招式和本篇情绪目标。基调是投放渠道的声音,与 `short-format.md` 的排版模板是两个轴——小程序基调的稿,排版仍按 short-format 选一套 app 模板。
17
+ - **调基调不松去 AI 底线**:强情绪靠具体动作和对白落地,别把话硬拆成三字碎句成片排列;前情背景靠场景带出,别整段插叙成"来龙去脉"说明书;对仗句式("上辈子…这辈子…")别高频复用。去 AI 味仍按本套件既有规则。
18
+
19
+ ## 二、导语(投稿门面,单独打磨)
20
+
21
+ 导语是正文最前面的引子,也是编辑第一眼看的东西。编辑一天审几百篇,**导语不行,正文再好也被一眼刷掉**。所以导语要单独当一件作品来打磨,别指望编辑往下翻。
22
+
23
+ - **长度与形态**:约 150-220 字(题材包如写 150-300,投稿时按此收紧),就是正文开头那几段。一句一段指完整句各自独立成段,不是把整句拆成三字碎句;这是黑岩/盐言导语的形态,番茄导语按 `short-format.md` 该平台的短段叙织即可。导语写完即接正文(内容本身就是第一章开头,不重写)。
24
+ - **四维骨架**:起因(悲剧源头或荒诞开端)+ 核心冲突(被凝视、被剥削、被算计的绝境)+ 人设底色(清醒、有底牌,不是纯惨)+ 情绪反转(钩子卡在最后半句,戛然而止)。
25
+ - **黄金三角**:一个有冲击力的具体物件(撕碎的 B 超单、代持协议、落灰的旧相机)+ 一个信息差(主角藏在暗处的底牌,读者知道、施害者不知道)+ 一个留白的致命钩子。
26
+ - **反面**:别用导语平铺背景或抒情;别把底牌全亮完(留给正文兑现);别只写惨不写"她有后手"。
27
+
28
+ ## 三、付费点(投稿结构)
29
+
30
+ 短篇按"免费试读 + 付费点 + 付费正文"投稿(投稿语境的"章"即本 skill 的"节")。付费点是免费段和付费段的分界,卡不好读者不付费,卡对了转化高。
31
+
32
+ - **断点位置**:付费点卡在一个章末的卡脖子断点上——一个即将揭晓、读者必须付费才能看到的反转或对决瞬间(亲子鉴定撕开一半、底牌刚要拍上桌、名字念到一半)。别把核心大爽点在免费段全放完。
33
+ - **剧情点密度**:付费点前每章 2-3 个剧情点(快速立处境、埋钩、层层加压);付费点后每章比之前多 1-2 个(集中兑现打脸/反转/爽点)。剧情点适度加,太多会乱。
34
+ - **反推法排细纲**:先定付费点卡在第几节章末,先把那一节的剧情想透(如复仇虐爽:前几节情绪递进越来越虐,付费点节章末预示反击),再倒推安排前面各节"情绪冲突逐渐递进",最后排付费点之后的兑现段。
35
+ - **投稿成品形态**:标题 + 导语(不写"导语"二字,只留那几句)+ 数字分节的正文(含付费点断点)。投稿建议区间比 SKILL 框架(8000-20000)更收敛:整篇约 8000-12000 字,每章约 1000-1300 字,章数据此约 7-12 章。