@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,242 @@
1
+
2
+ # 网文质量检查清单
3
+
4
+ > **定位**:story-short-analyze(短篇拆书)的质量自检清单,评估**拆解对象(源文)**的成文质量时逐项核对。
5
+ > 拆书管道本身的质量检查见 output-templates.md「质量检查必填字段」;所有数值阈值的唯一权威定义见 material-decomposition.md「质量标准」与「节奏分析」,本清单不自定义数值。
6
+ >
7
+ > **三类质量的分工(别混用)**:
8
+ >
9
+ > 1. **拆书管道质量检查**(执行过程中)→ [output-templates.md「质量检查必填字段」](output-templates.md)。每条带 `[BLOCK]` / `[WARN]` 标注;`[BLOCK]` 缺失 → 「BLOCK 项扫描」阻断。
10
+ > 2. **评估对象(源文)质量**(拆什么样的料)→ 本文件。回答"这篇源文写得好不好"。
11
+ > 3. **拆文报告本身质量**(写什么样的报告)→ [anti-ai-writing.md](anti-ai-writing.md) + [banned-words.md](banned-words.md)。**报告自己**不能写成 AI 腔,由「拆文报告 AI 腔自检」守门,扫描 `拆文报告.md` 全文。注意:扫的是「我们写的拆文报告」,不是源文滤镜。
12
+
13
+ ## 目录
14
+
15
+ - [一、通用检查](#一通用检查)
16
+ - [二、长篇专项](#二长篇专项)
17
+ - [三、短篇专项](#三短篇专项)
18
+
19
+ ## 一、通用检查
20
+
21
+ ### 章节结构
22
+ - [ ] 开头有钩子(不是天气/风景/日常开场)
23
+ - [ ] 中段有推进(有事件发生)
24
+ - [ ] 局势有变化(读完这章,世界跟之前不一样了)
25
+ - [ ] 结尾落在变化上(不是总结)
26
+
27
+ ### 开篇检查(前 300-500 字)
28
+ - [ ] 有钩子,能抓住注意力
29
+ - [ ] 不从天气/风景/日常开始
30
+ - [ ] 主角快速出场
31
+ - [ ] 卖点或危机可见
32
+
33
+ ### 章节推进
34
+ - [ ] 有核心事件
35
+ - [ ] 局势有变化
36
+ - [ ] 不是水字数(删掉这章会影响理解吗?不会 = 水了)
37
+ - [ ] 推进了主线/关系/设定中的至少一项
38
+
39
+ ### 信息传递
40
+ - [ ] 没有大段设定说明文
41
+ - [ ] 信息跟着冲突走(通过事件传递设定)
42
+ - [ ] 设定量可控(一章不超 3 个新概念)
43
+
44
+ ### 场景检查
45
+ - [ ] 场景有目标(人物要什么)
46
+ - [ ] 场景有阻碍(什么挡着)
47
+ - [ ] 场景有变化(结束后跟之前不同)
48
+ - [ ] 人物在做事情,不是在感觉事情
49
+ - [ ] 没有可删除的段落
50
+
51
+ ### 章尾
52
+ - [ ] 结尾落在变化上
53
+ - [ ] 有危机/决定/发现/反转中的至少一个
54
+ - [ ] 不是总结式结尾
55
+ - [ ] 拉住读者翻下一页
56
+
57
+ ### 语言
58
+ - [ ] 没有空洞的抒情段落
59
+ - [ ] 没有连续多段同一情绪
60
+ - [ ] 对话符合人物身份(不同人说话方式不同)
61
+ - [ ] 情绪通过动作落地(不是直接说"他很难过")
62
+
63
+ ### 连载连续性
64
+ - [ ] 没有遗忘之前的承诺/伏笔
65
+ - [ ] 没有突然塞入大量新设定
66
+ - [ ] 伏笔有推进
67
+ - [ ] 故事引擎还在运转
68
+
69
+ ### 水(filler)检测
70
+ 以下信号出现 = 可能水了:
71
+ - 全章对话没有任何新信息
72
+ - 同一个情绪写了 3 段以上
73
+ - 场景描写超过 500 字但不推进剧情
74
+ - 角色回忆之前发生的事但没有任何新视角
75
+ - 连续 2 章以上没有冲突
76
+
77
+ ---
78
+
79
+ ## 二、长篇专项
80
+
81
+ ### 黄金三章检查
82
+ - [ ] 第一章前 500 字有钩子?
83
+ - [ ] 主角第一章就出场?
84
+ - [ ] 第一章有事件(不是纯铺垫)
85
+ - [ ] 第二章有升级(矛盾加深)
86
+ - [ ] 第三章有追读理由(给出继续看的动力)
87
+ - [ ] 前三章有至少 2 个爽点?
88
+ - [ ] 世界观没有大段说明文?
89
+ - [ ] 每章结尾有悬念?
90
+
91
+ ### 节奏检查
92
+ - [ ] 最近 5 章是否有明确进展?
93
+ - [ ] 爽点间隔是否超过 5000 字?
94
+ - [ ] 有没有连续 2 章以上没有冲突?
95
+
96
+ ### 人物检查
97
+ - [ ] 主角行为符合人设?
98
+ - [ ] 配角是否有存在感?
99
+ - [ ] 反派逼格是否匹配当前阶段?
100
+
101
+ ### 五维评分标准
102
+
103
+ 每个维度 0-100 分,根据评分结果选择精修策略。
104
+
105
+ ### 维度 1:核心一致度
106
+ 检查:关键冲突、关键行动、人物动机是否前后一致。
107
+
108
+ | 问题 | 严重度 | 修复 |
109
+ |------|--------|------|
110
+ | 人物动机突然改变无铺垫 | critical | 补充动机转变的触发事件 |
111
+ | 核心冲突前后不一致 | high | 回溯修改冲突设定 |
112
+ | 关键行动与人物性格矛盾 | high | 调整行动或补充解释 |
113
+ | 次要矛盾遗忘 | medium | 回收或弱化 |
114
+
115
+ ### 维度 2:表层重写度
116
+ 检查:句式与措辞是否足够原创,避免套路化表达。
117
+
118
+ | 问题 | 严重度 | 修复 |
119
+ |------|--------|------|
120
+ | 照搬原句导致语气不自然 | medium | 只在确有 AI 腔时改写,正常原句可保留 |
121
+ | 大量使用 AI 标志词 | high | 替换为具体描述 |
122
+ | 同一句式重复出现 | medium | 变换表达方式 |
123
+ | 描写过于文学化(辞藻堆砌、书面腔、比喻成串) | medium | 改为口语化/动作化;动作化不是切成三五字短句串,改写后叙述仍以逗号长句为主 |
124
+
125
+ ### 维度 3:格式一致度
126
+ 检查:段落结构、字数分配、开头结尾格式是否统一。
127
+
128
+ | 问题 | 严重度 | 修复 |
129
+ |------|--------|------|
130
+ | 段落长度差异过大 | medium | 调整段落划分 |
131
+ | 章节字数偏离目标 | **high** | 写作/大纲修复时先回到细纲补足计划内情节点,再展开;去AI味已有正文时不得新增剧情 |
132
+ | 格式混乱(对话/描写不统一)| low | 统一格式 |
133
+
134
+ ### 维度 4:可读性
135
+ 检查:是否有啰嗦、AI 腔、空泛总结、套路修辞。
136
+
137
+ | AI 腔特征 | 如何识别 | 如何修复 |
138
+ |-----------|----------|----------|
139
+ | 空泛总结 | 「他终于明白了」「一切尽在不言中」 | 删掉,用行动代替 |
140
+ | 套路修辞 | 「命运仿佛在和他开玩笑」 | 删掉或换成具体描述 |
141
+ | 情绪标签 | 「他感到一阵悲伤」 | 改为行为表现 |
142
+ | 心理描写空转 | 内心独白无新信息、重复同一情绪或复述读者已知 | 只压缩空转部分;带新信息、决断或情绪转折的独白不按句数压缩 |
143
+
144
+ ### 维度 5:逻辑连贯
145
+ 检查:句间/段间是否通顺,有无设定冲突。
146
+
147
+ | 问题 | 严重度 | 修复 |
148
+ |------|--------|------|
149
+ | 设定前后矛盾 | critical | 查找并统一设定 |
150
+ | 时间线错误 | high | 标记时间线并修正 |
151
+ | 角色信息不一致 | high | 建立角色档案对照 |
152
+ | 因果链断裂 | medium | 补充过渡 |
153
+
154
+ ### 精修策略
155
+
156
+ 根据五维评分结果,选择精修策略:
157
+
158
+ | 主要问题 | 策略 | 说明 |
159
+ |----------|------|------|
160
+ | 核心一致度低 | rewrite | 围绕核心冲突重写相关段落 |
161
+ | 字数超标 | compress | 删减不推动剧情的内容 |
162
+ | AI 腔重 | de_ai | 替换禁用词、改写句式 |
163
+ | 小问题多 | polish | 打磨语言细节 |
164
+
165
+ ---
166
+
167
+ ## 三、短篇专项
168
+
169
+ ### 虐爽节奏检查
170
+
171
+ 短篇特有的检查项——虐点和爽点的分布是否合理:
172
+
173
+ ```
174
+ 理想分布:虐1 → 虐2 → 虐3 → 爽1(小) → 虐4 → 爽2(大)
175
+ 禁忌分布:虐1 → 虐2 → 虐3 → 虐4 → 虐5(无爽点,读者流失)
176
+ 禁忌分布:爽1 → 爽2 → 爽3 → 爽4(无铺垫,爽感疲劳)
177
+ ```
178
+
179
+ 检查规则:
180
+ - 每 300 字至少 1 个小冲突
181
+ - 虐点间隔不超过全文的 30%
182
+ - 最大爽点必须出现在全文的 70-85% 位置
183
+ - 结尾必须有情绪落点
184
+
185
+ ### 对话密度检查
186
+
187
+ > 对话占比合格标准见 material-decomposition.md「节奏分析」。
188
+
189
+ | 指标 | 合格标准 | 警戒线 |
190
+ |------|----------|--------|
191
+ | 对话占全文比 | 见 material-decomposition.md「节奏分析」 | <30%(太干)或>75%(太水) |
192
+ | 每章对话条数 | 12-18条/千字 | <8条(缺交互)或>25条(碎片化) |
193
+ | 伤人性对话占比 | 35-45%(虐文)/ 20-30%(爽文) | 虐文<20%(不够痛)/ 爽文>40%(太压抑) |
194
+
195
+ ### 主角冷静度检查(打脸/复仇文专用)
196
+
197
+ | 检查项 | 标准 |
198
+ |--------|------|
199
+ | 主角是否有标志性冷静动作? | 必须有(端水杯/整理西装/转笔等) |
200
+ | 主角是否有情绪失控场面? | 复仇文最多1次,且必须在前30% |
201
+ | 反派是否比主角更歇斯底里? | 必须是——反差是爽感来源 |
202
+ | 主角台词是否短于反派? | 平均短30-50%——越短越有力 |
203
+ | 是否有"审判式对话"? | 至少2处(主角提问→对方自爆) |
204
+
205
+ ### 证据链完整性检查(复仇/打脸文专用)
206
+
207
+ | 检查项 | 标准 |
208
+ |--------|------|
209
+ | 证据是否分章释放? | 至少分3次揭露,不能一次全给 |
210
+ | 每个证据是否有铺垫? | 前文必须埋过线索 |
211
+ | 反派是否每次都先得意再被打脸? | 必须是——先扬后抑 |
212
+ | 最终证据是否最致命? | 最后一个证据要改变全局认知 |
213
+ | 是否有"定时炸弹"证据? | 至少1个主角提前布局的证据 |
214
+
215
+ ### 毒点/代入感/震惊/开头/结尾/情绪/期待感速查
216
+
217
+ > **本表评估的是源文**(拆解对象写得好不好)。详细的毒点分类、识别方法和修复方案见 [anti-ai-writing.md](anti-ai-writing.md)。
218
+ > **不要把本表用来评估拆文报告本身**:拆文报告本身 AI 腔检查走「拆文报告 AI 腔自检」+ [anti-ai-writing.md](anti-ai-writing.md) + [banned-words.md](banned-words.md)。
219
+ > **拆文管道完成度** 走 [output-templates.md「质量检查必填字段」](output-templates.md) 的 `[BLOCK]` / `[WARN]` 清单。
220
+
221
+ | 检查项 | 标准 |
222
+ |--------|------|
223
+ | 爽文不爽 | 金手指效果必须展示清楚 |
224
+ | 压制无目的 | 每次压制必须服务于后续爆发 |
225
+ | 反派结局与主角无关 | 反派之死必须因主角行动导致 |
226
+ | 经济/战力崩坏 | 设定前后一致,以普通人为锚点 |
227
+ | 女主/女配降智 | 人设正常可写,老套路别写 |
228
+ | 读者期待长时间不满足 | 适时满足或引入新期待 |
229
+ | 主角行为不可理解 | 必须能理解、能共鸣 |
230
+ | 氛围被突兀梗破坏 | 氛围 > 突兀梗(乐子文除外) |
231
+ | 钩子不回收 | 钩子不回收 = 烂尾 |
232
+ | 震惊分层 | 点→网→深度,不能只写点震惊 |
233
+ | 震惊阶梯递进 | 阶梯式上升,非直线 |
234
+ | 震惊有广度 | 关系网都要有反应 |
235
+ | 前50字有冲突/异常 | 不能是背景铺垫 |
236
+ | 前100字知核心矛盾 | 必须知道 |
237
+ | 开头情绪强度 | ≥7(1-10) |
238
+ | 结尾是具体的 | 动作/对话/画面,禁止总结/反思 |
239
+ | 结尾有余韵 | 读者还想往下看 |
240
+ | 结尾情绪强度 | 虐≥8,爽≥7,治愈≥6 |
241
+ | 情绪对等释放 | 虐多少补多少,反派结局关联主角 |
242
+ | 期待管理 | 两长一短不断,核心卖点贯穿 |
@@ -0,0 +1,90 @@
1
+ # 短篇网文跨平台写作参考
2
+
3
+ > 选平台/写简介/定题材时加载。先看决策路由选操作区域。
4
+
5
+ ## 决策路由
6
+
7
+ | 你需要什么 | 查看哪个部分 | 核心操作 |
8
+ |------------|-------------|---------|
9
+ | 对比各平台差异 | 跨平台差异对照表 | 按维度横向对比选平台 |
10
+ | 写平台简介/导语 | 各平台简介写作公式 | 套对应平台公式 |
11
+ | 找爆款题材组合 | 题材爆款公式 | 按题材找公式 + 目标平台 |
12
+ | 了解平台独特规则 | 平台独特特征 | 七猫/知乎/点众各有要点 |
13
+
14
+ ---
15
+
16
+ 基于四大平台(七猫、黑岩、知乎、点众)历史热门样本整理。使用前必须用当前 scan 结果校验;未校验时只作为候选规则,不作为当前市场事实。
17
+
18
+ ---
19
+
20
+ ## 跨平台短篇写作差异对照表
21
+
22
+ | 维度 | 七猫 | 黑岩 | 点众 | 知乎 |
23
+ |------|------|------|------|------|
24
+ | 主力字数 | 1-2万字 | 8千-4万字 | 1-2万字(10章x1000字) | 5千-1.5万字(中位1.2万) |
25
+ | 章节数 | 7-19 | 4-14段(或1章4万字) | 5-10(标准10章) | 6-10 |
26
+ | 人称 | 第一人称95%+ | 第一人称85%(女)/50%(男) | 第一人称95%+ | 混合(古言用第三人称) |
27
+ | 章节字数 | 1000-1500 | 2000-5000 | 800-1500 | 800-1500 |
28
+ | 对话占比 | 20-38%(均值27.7%) | 30-50% | 9%平均(功能化) | 20-40%(金句多) |
29
+ | 段落结构 | 1-3句/段 | 1-3句/段 | 1-2句/段(16-37字) | 1-3句/段(30-60字) |
30
+ | 导语/简介 | 必须(100-200字) | 必须(100-363字) | 必须(150-300字) | 简介即作品(200-500字) |
31
+ | 开头模式 | 重生回溯/冲突前置 | 极端冲击/道德踩踏 | 标题即剧情/极端事件 | 一句话炸弹/金句开场 |
32
+ | 结尾模式 | HE为主(50%+新恋情) | HE/BE各半 | HE为主(悔恨/打脸) | 多样化(开放式多) |
33
+ | 独特元素 | 重生、穿书、心声流 | 灵魂视角、虐恋极致 | 弹幕流、读心、系统流 | 专业细节、脑洞、BL |
34
+ | 反转手法 | 态度反转(重生后180度转变) | 道德反转+恐怖反转 | 身份反转+死亡反转 | 信息差+情感深层揭露 |
35
+ | 爽点节奏 | 虐30%->觉醒15%->爽35%->治愈20% | 女:300-500字小反转/男:1000-2000字大爆发 | 每3章小转折/第10章大爆发 | 层层揭露/慢节奏但后劲大 |
36
+ | 情绪密度 | 中-高 | 最高(女频3.23次/千字) | 极高(短句占比33-66%) | 中(克制但有力) |
37
+ | 对话引号 | 「」或"" | 「」或"" | ""为主 | 「」为主 |
38
+ | 核心定位 | 重生幻想 | 极致刺激 | 情绪快餐 | 情感精品 |
39
+
40
+ ---
41
+
42
+ ## 各平台简介写作公式
43
+
44
+ | 平台 | 简介公式 | 字数 | 核心特征 |
45
+ |------|---------|------|---------|
46
+ | 七猫总裁 | 正常生活->伤害事件->最残忍对话->女主反转->悬念钩子 | 133-322字 | 70%含对话,对话选最伤人那句 |
47
+ | 黑岩女频 | 递进式控诉/心声揭穿/绝症倒计时/重生对比/公开羞辱+底牌 | 103-363字 | 核心是"这一次我..." |
48
+ | 黑岩男频 | 极简对白+信息炸弹/前世被害+重生/职场压榨+超自然 | 109-401字 | 第一段直接上最炸裂的场景或对白 |
49
+ | 点众 | 场景设定+信任陷阱+致命真相+反击暗示 | 150-300字 | 简介浓缩前1/3精华 |
50
+ | 知乎 | 人物关系+核心冲突+2-3转折+金句/留白 | 200-500字 | 简介即独立微小说,有金句收尾 |
51
+
52
+ ---
53
+
54
+ ## 题材爆款公式
55
+
56
+ | 题材 | 爆款公式 | 核心情绪 | 目标平台 |
57
+ |------|----------|----------|----------|
58
+ | 总裁豪门 | 契约婚姻+白月光+觉醒离开 | 虐->爽 | 七猫/黑岩 |
59
+ | 现实生活 | 家庭不公+重生/觉醒+反杀 | 愤怒->解气 | 七猫 |
60
+ | 宫闱宅斗 | 被害+隐忍布局+反攻称帝 | 压抑->极致释放 | 七猫 |
61
+ | 年代重生 | 替罪冤屈+重生+选不同路 | 憋屈->痛快 | 七猫 |
62
+ | 现代悬疑 | 超自然设定+犯罪+反转 | 紧张->震撼 | 七猫/知乎 |
63
+ | 玄幻仙侠 | 重生+反常行为+对手自乱 | 爽->更爽 | 七猫 |
64
+ | 灵魂虐文 | 极致虐待+灵魂旁观+悔恨 | 愤怒->意难平 | 点众/黑岩 |
65
+ | 职场逆袭 | 重生/穿越+投资+前夫后悔 | 憋屈->极爽 | 点众 |
66
+ | 架空历史 | 性别反转/身份错位+离开+后悔 | 憋屈->释然 | 七猫 |
67
+ | 家庭复仇 | 出轨/背叛+收集证据+当众打脸 | 愤怒->痛快 | 七猫/黑岩 |
68
+
69
+ ---
70
+
71
+ ## 平台独特特征
72
+
73
+ ### 七猫
74
+
75
+ - 第一人称95%+,女性主角80%+
76
+ - 每章1000-1500字,7-10章为主力区间
77
+ - 几乎都有明确导语(前言概括全文核心冲突)
78
+
79
+ ### 知乎
80
+
81
+ - 专业细节丰富(医疗有医学知识,法律有法律细节)
82
+ - 社会议题导向(婆媳、重男轻女、医疗纠纷)
83
+ - 情绪更克制但后劲更大,对话更真实
84
+ - 简介即作品:200-500字微小说,有金句收尾
85
+
86
+ ### 点众标题公式
87
+
88
+ - `白眼狼妹妹把家产送人,我让她净身出户` = 人物+行为+反杀
89
+ - `愚人节死在棺材里后,三个哥哥都悔疯了` = 事件+后果+情绪
90
+ - `春节返程,老公一家把我女儿挂车外狗笼子里` = 场景+冲突+愤怒
@@ -0,0 +1,54 @@
1
+ # 知乎盐言故事风格参考
2
+
3
+ > 写/拆知乎盐言故事时加载。先确认盐言风格特征,再用检查项逐条对照。
4
+
5
+ ## 决策路由
6
+
7
+ | 你的场景是 | 用这个部分 | 操作 |
8
+ |------------|-----------|------|
9
+ | 写盐言故事 | 盐言核心风格特征 + 类型情绪模式 | 严格限定第一人称、`「」` 对话 |
10
+ | 拆盐言故事 | 拆文时盐言检查项 | 逐条检查视角/格式/句式/反转位置 |
11
+ | 对比平台差异 | 平台风格差异 | 知乎 vs 番茄 vs 小红书三列对比 |
12
+
13
+ ## 盐言核心风格特征
14
+
15
+ | 特征 | 规则 |
16
+ |------|------|
17
+ | 视角 | 第一人称限定,不出现全知描述 |
18
+ | 对话格式 | 使用 `「」`,独立成段,说话人标签简短 |
19
+ | 句式 | 长短句结合,叙述以逗号长句为主,短句只落在情绪节点;句子内部不碎,忌通篇短句的电报体 |
20
+ | 排版 | 段首两个全角空格,段落间无空行,章节间一个空行 |
21
+
22
+ ## 拆文时盐言检查项
23
+
24
+ | 检查项 | 说明 |
25
+ |--------|------|
26
+ | 视角一致性 | 全程第一人称,有无视角跳跃 |
27
+ | 对话格式 | 统一 `「」`,无混用引号 |
28
+ | 句式节奏 | 长短是否交错:叙述以逗号长句为主、短句只落情绪节点,无通篇短句的电报体 |
29
+ | 口语程度 | 有无书面腔/翻译腔残留 |
30
+ | 情绪节奏 | 有无明确情绪曲线(盐言最看重情绪拉扯) |
31
+ | 反转位置 | 是否在 70-85% 位置(盐言标准位置) |
32
+ | 章尾钩子 | 每章结尾是否有钩子 |
33
+
34
+ ## 盐言类型与情绪模式
35
+
36
+ | 类型 | 核心情绪 | 典型反转 |
37
+ |------|----------|----------|
38
+ | 虐恋 | 意难平 | 他其实一直爱她 |
39
+ | 重生 | 爽感释放 | 这一世不再犯同样的错 |
40
+ | 悬疑 | 细思极恐 | 凶手就在身边 |
41
+ | 职场 | 共鸣愤怒 | 反杀成功 |
42
+ | 婚姻 | 共鸣+治愈 | 离开之后更好 |
43
+ | 治愈 | 温暖 | 被忽视的爱被发现 |
44
+
45
+ ## 平台风格差异
46
+
47
+ | 维度 | 知乎盐言 | 番茄短篇 | 小红书故事 |
48
+ |------|----------|----------|------------|
49
+ | 视角 | 第一人称限定 | 不限 | 不限 |
50
+ | 篇幅 | 8000-20000字 | 灵活 | 1000-5000字 |
51
+ | 核心卖点 | 情绪拉扯+反转 | 爽感节奏 | 话题性+共鸣 |
52
+ | 对话风格 | `「」` 盐言引号 | 引号 | 自由 |
53
+ | 读者期待 | 被虐到想哭反转治愈 | 一口气读完很爽 | 有话题想转发 |
54
+ | 付费模式 | 会员/单篇付费 | 免费阅读 | 免费引流 |
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: story-short-scan
3
+ version: 1.0.0
4
+ description: "短篇网文扫榜。分析知乎盐言、七猫、黑岩、点众等平台热门短篇数据,捕捉风口题材。触发方式:/story-short-scan、/短篇扫榜、「短篇什么火」「知乎故事排行」。"
5
+ metadata: {"openclaw":{"source":"https://github.com/worldwonderer/oh-story-claudecode"}}
6
+ ---
7
+ # story-short-scan:短篇网文扫榜
8
+
9
+ 你是短篇网文市场分析师。你的任务是基于榜单样本识别短篇市场格局,并输出可执行的情绪方向、题材候选、风险阈值和验证动作。
10
+
11
+ **核心信念:短篇市场变化快,题材信号有效期短。** 扫榜报告必须标注样本日期、趋势可信度和下次重新扫榜的时间。
12
+
13
+ ---
14
+
15
+ ## 核心哲学
16
+
17
+ ### 原则 1:短篇市场是情绪市场
18
+
19
+ 短篇网文的核心是情绪交付。读者在短时间内完成一次情绪体验;扫榜要提取高频情绪、触发场景、情绪爆发点和读者愿意转发的点,而不是只记录题材名。
20
+
21
+ ### 原则 2:短篇的生命力在传播
22
+
23
+ 短篇不像长篇靠追读赚钱。短篇靠的是单篇完读率和传播(分享、收藏、点赞)。完读率高 = 情绪拉扯到位;传播率高 = 有共鸣或反转让人想转发。
24
+
25
+ ### 原则 3:短篇风口来得快去得快
26
+
27
+ 短篇题材信号可能在数周内失效。输出风口候选时必须给出有效期、饱和风险和下次复扫时间;未复扫前不得当作长期趋势。
28
+
29
+ ---
30
+
31
+ ## 扫榜流程
32
+
33
+ ### Phase 1:确认平台和方向
34
+
35
+ 问用户:**「你想看哪个平台?(知乎盐言/番茄短篇/七猫短篇/其他)有没有想写的类型方向?」**
36
+
37
+ 关键判断:
38
+ - 用户已有方向 → 针对该方向做深度扫榜
39
+ - 用户没有方向 → 做全榜概览 + 找趋势
40
+ - 用户想跨平台比较 → 做平台对比分析
41
+
42
+ ---
43
+
44
+ ### Phase 2:确定数据来源
45
+
46
+ **扫榜需要真实数据支撑。** 根据当前环境选择数据来源:
47
+
48
+ | 优先级 | 模式 | 说明 | 何时用 |
49
+ |--------|------|------|--------|
50
+ | 1 | **browser-cdp 采集** | 直接抓取平台页面,产出结构化文件 | 有 Chrome 环境时(优先) |
51
+ | 2 | **用户提供** | 用户粘贴榜单截图/文字/链接 | 用户已有数据时 |
52
+ | 3 | **内置知识** | 基于知识库中的趋势数据和方法论做分析 | 无法联网、用户无数据时 |
53
+
54
+ #### browser-cdp 采集模式
55
+
56
+ 使用 `/browser-cdp` 启动 Chrome,直接抓取平台页面的结构化数据。适用于需要登录才能看到的数据(知乎个人中心、番茄书架等)。
57
+
58
+ **点众采集目标**:
59
+
60
+ | 页面 | URL | 核心字段 |
61
+ |------|-----|----------|
62
+ | 男频短篇 | ishugui.com/browse | 书名·作者·标签·状态·字数·评分·最新章节 |
63
+ | 女频短篇 | ishugui.com/browse/on3 | 书名·作者·标签·状态·字数·评分·最新章节 |
64
+
65
+ **黑岩采集目标**:
66
+
67
+ | 页面 | URL | 核心字段 |
68
+ |------|-----|----------|
69
+ | 书库列表 | manage.zhangwenpindu.cn/books/booklist | 书名·作者·字数·分类·类型·价格·创建/更新时间·标签(详情模式) |
70
+
71
+ > **黑岩需要登录!** 必须先在 Chrome 中手动登录 `manage.zhangwenpindu.cn`,脚本才能从 Cookie 中提取 Bearer token 调用后端 API。未登录会报错提示。**黑岩采集失败时标记为 SKIP,继续其他平台采集,不中断本轮数据采集。**
72
+
73
+ - 黑岩专用:`--pages N`(每页 20 条)、`--detail`(逐本详情,含标签/简介,速度较慢)、`--channel male/female`
74
+ - 点众专用:`--channel male/female/all`
75
+
76
+ **文件命名**:`{平台}{类型}_{YYYYMMDD}.md`,例:`点众男频短篇_20260501.md`
77
+
78
+ **用户提供操作指引:**
79
+ - 请用户截图或复制粘贴榜单内容
80
+ - 如果用户提供链接,用 WebFetch 抓取页面内容
81
+ - 如果用户只提供故事名列表,直接进入分析
82
+
83
+ **内置知识操作指引:**
84
+ - 加载 `references/real-market-data.md`(跨平台写作差异对照)
85
+ - 明确标注:「以下分析基于历史趋势数据;未完成实时榜单校验前只能作为候选假设。」并列出需要复扫的平台页面。
86
+
87
+ ---
88
+
89
+ ### Phase 3:数据分析
90
+
91
+ #### 知乎盐言故事分析维度
92
+
93
+ | 维度 | 看什么 |
94
+ |---|---|
95
+ | 热门榜单 | 当前最受关注的故事 |
96
+ | 高赞故事 | 口碑最好的作品结构 |
97
+ | 新作者上榜 | 非头部账号的题材选择与开篇模式 |
98
+ | 付费转化率 | 哪些题材读者愿意付费 |
99
+ | 标签分布 | 热门标签的变化趋势 |
100
+
101
+ #### 通用分析维度
102
+
103
+ 对每个平台提取:
104
+
105
+ 1. **情绪类型分布**:当前哪种情绪拉扯最火(虐恋/反转/悬疑/治愈/打脸)
106
+ 2. **题材热点**:具体什么设定/场景反复出现
107
+ 3. **篇幅分布**:热门短篇集中在多少字
108
+ 4. **开头模式**:热门短篇的第一段/第一句怎么写
109
+ 5. **结尾类型**:HE(好结局)/BE(坏结局)/开放式 的比例
110
+ 6. **标题模式**:热门短篇的命名规律
111
+ 7. **人设模型**:反复出现的主角类型
112
+
113
+ ---
114
+
115
+ ### Phase 4:输出扫榜报告
116
+
117
+ ```
118
+ # 短篇网文扫榜报告:{平台名称}
119
+
120
+ ## 市场概况
121
+ - 扫榜时间:{日期}
122
+ - 核心发现:{一句话总结}
123
+
124
+ ## 情绪热度排行
125
+ | 排名 | 情绪类型 | 榜上数量 | 趋势 | 代表作 |
126
+ |------|----------|----------|------|--------|
127
+ | 1 | {类型} | {N篇} | ↑/→/↓ | {标题} |
128
+
129
+ ## 题材热点
130
+ | 题材 | 热度 | 竞争程度 | 门槛 | 代表作 |
131
+ |------|------|----------|------|--------|
132
+ | {题材} | 高/中/低 | 激烈/一般/蓝海 | 高/中/低 | {标题} |
133
+
134
+ ## 关键数据洞察
135
+ - 篇幅区间:热门短篇集中在 {X}-{Y} 字
136
+ - 开头模式:{高频开头模式}
137
+ - 结尾偏好:{HE/BE/开放式的比例}
138
+ - 标题特征:{命名规律}
139
+ - 人设热词:{高频主角类型}
140
+
141
+ ## 风口预警
142
+ - 🔥 正在爆发:{题材} — {依据}
143
+ - ⚡ 即将起风:{题材} — {依据}
144
+ - ⚠️ 即将饱和:{题材} — {依据}
145
+
146
+ ## 值得写的方向
147
+ 1. {方向 + 情绪拉扯方式 + 可行性}
148
+ 2. {方向 + 情绪拉扯方式 + 可行性}
149
+ 3. {方向 + 情绪拉扯方式 + 可行性}
150
+
151
+ ## 一句话
152
+ {犀利总结}
153
+ ```
154
+
155
+ ---
156
+
157
+ ### Phase 5:选题匹配
158
+
159
+ 根据扫榜结果,结合项目条件输出选题匹配:
160
+
161
+ - 低复杂度候选:反转类、打脸类(结构清晰、验证成本低)
162
+ - 高复杂度候选:悬疑类、虐恋类(技术壁垒高,需要伏笔、反转和情绪控制证据)
163
+ - 优先候选:当前样本强信号 × 项目素材/能力约束可支撑的交叉点
164
+
165
+ **关键判断**:
166
+ - 情绪拉扯力 > 题材创新力(短篇读者更看重情绪体验)
167
+ - 开头 3 句话是留存高风险区,必须建立冲突、身份差或情绪钩子
168
+ - 反转是短篇常见传播引擎;若不使用反转,必须用强共鸣、强话题或强余韵补足传播风险
169
+
170
+ ---
171
+
172
+ ## 平台特性速查
173
+
174
+ | 平台 | 调性 | 核心指标 | 主力读者 | 适合类型 | 短篇主力字数 |
175
+ |------|------|----------|----------|----------|-------------|
176
+ | 知乎盐言故事 | 精品短篇,情绪深度 | 付费转化、收藏 | 20-35 都市人群 | 虐恋、反转、悬疑、现实 | 5千-1.5万字 |
177
+ | 七猫短篇 | 下沉市场,女频为主 | 完读率 | 女性为主(80%+) | 总裁/现实/宅斗/年代/悬疑 | 1-2万字(7-19章) |
178
+ | 黑岩短篇 | 极端情绪,快节奏 | 完读率、付费 | 混合 | 虐恋、复仇、身份反转 | 8千-4万字 |
179
+ | 点众短篇 | 精品快节奏 | 完读率 | 混合 | 家庭复仇、假千金、弹幕流 | 1-2万字(5-10章) |
180
+
181
+ ---
182
+
183
+ ## 流程衔接
184
+
185
+ **流水线:** 短篇
186
+ **位置:** 扫榜(第 1/3 步)
187
+
188
+ | 时机 | 跳转到 | 命令 |
189
+ |---|---|---|
190
+ | 找到方向 | story-short-analyze | `/story-short-analyze` |
191
+ | 直接开写 | story-short-write | `/story-short-write` |
192
+ | 更适合长篇 | story-long-scan | `/story-long-scan` |
193
+
194
+ ---
195
+
196
+ ## 参考资料
197
+
198
+ 按需加载以下文件:
199
+
200
+ | 文件 | 何时加载 |
201
+ |------|----------|
202
+ | [references/real-market-data.md](references/real-market-data.md) | **核心参考**:跨平台写作差异对照表、各平台简介公式速查、题材爆款公式速查表、各平台写作特征 |
203
+ | [scripts/cdp-utils.js](scripts/cdp-utils.js) | CDP 公共工具函数(ab/sleep/evalJSON/safeStr/scrollLoad/getArg),各采集脚本共用 |
204
+ | [scripts/dz-browse-scraper.js](scripts/dz-browse-scraper.js) | 点众短篇采集(男频/女频),按 bookId 聚合 anchor 解出书名/评分/简介/作品页(避免把 UI 文字或简介误当书名),带连通性自检+书名解析率质量门,配合 browser-cdp 使用 |
205
+ | [scripts/heiyan-booklist-scraper.js](scripts/heiyan-booklist-scraper.js) | 黑岩书库列表采集,后端 API 模式(Bearer token),含字数/标签/价格/时间,支持 --detail 获取标签简介;区分 CDP 未连/未登录/超时/接口错误并带书名命中率质量门 |
206
+
207
+ ---
208
+
209
+ ## 语言
210
+
211
+ - 跟随用户的语言回复,用户用什么语言就用什么语言回复
212
+ - 中文回复遵循《中文文案排版指北》