@oh-story/dsh 0.1.15 → 0.1.17

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 (560) hide show
  1. package/README.md +17 -15
  2. package/lib/client.js +26 -15
  3. package/lib/client.js.map +2 -2
  4. package/lib/drama/manifest.json +284 -364
  5. package/lib/drama/package.json +4 -0
  6. package/lib/drama/skills/short-drama/SKILL.md +13 -14
  7. package/lib/drama/skills/short-drama/agents/openai.yaml +1 -1
  8. package/lib/drama/skills/short-drama/references/audience-reveal.md +4 -4
  9. package/lib/drama/skills/short-drama/references/contract-and-ownership.md +2 -2
  10. package/lib/drama/skills/short-drama/references/creator-documents.md +12 -10
  11. package/lib/drama/skills/short-drama/references/creator-workflow.md +6 -5
  12. package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +8 -8
  13. 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 +5 -5
  14. 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 +5 -6
  15. package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +6 -7
  16. package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +2 -3
  17. 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 +6 -7
  18. package/lib/drama/skills/short-drama/references/knowhow-index.md +6 -7
  19. package/lib/drama/skills/short-drama/references/look-development.md +5 -7
  20. package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +6 -3
  21. package/lib/drama/skills/short-drama/references/production-form-profiles.md +14 -16
  22. package/lib/drama/skills/short-drama/references/reference-roles.md +5 -3
  23. package/lib/drama/skills/short-drama/references/runtime-preflight.md +2 -1
  24. package/lib/drama/skills/short-drama-assets/SKILL.md +8 -8
  25. package/lib/drama/skills/short-drama-assets/agents/openai.yaml +1 -1
  26. package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +26 -27
  27. package/lib/drama/skills/short-drama-assets/references/character-and-look.md +22 -22
  28. package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +4 -4
  29. package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +4 -4
  30. package/lib/drama/skills/short-drama-assets/references/era-anchors.md +3 -3
  31. package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +5 -5
  32. package/lib/drama/skills/short-drama-assets/references/location-and-view.md +6 -7
  33. package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -9
  34. package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +8 -11
  35. package/lib/drama/skills/short-drama-assets/references/voice-direction.md +22 -22
  36. package/lib/drama/skills/short-drama-develop/SKILL.md +6 -6
  37. package/lib/drama/skills/short-drama-develop/agents/openai.yaml +1 -1
  38. package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +2 -2
  39. package/lib/drama/skills/short-drama-develop/assets/story-engine.md +2 -2
  40. package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +13 -12
  41. package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +7 -7
  42. package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +7 -8
  43. package/lib/drama/skills/short-drama-develop/references/episode-design.md +20 -24
  44. package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +7 -7
  45. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +4 -5
  46. package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +2 -2
  47. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +1 -1
  48. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +2 -2
  49. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +1 -1
  50. package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +1 -1
  51. package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +1 -1
  52. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +1 -1
  53. package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +4 -5
  54. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +1 -1
  55. package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +1 -1
  56. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/200/206/350/242/255.md +1 -1
  57. package/lib/drama/skills/short-drama-develop/references/genre-cards//351/207/215/347/224/237/347/251/277/350/266/212.md +2 -2
  58. package/lib/drama/skills/short-drama-develop/references/genre-cards.md +4 -4
  59. package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +6 -7
  60. package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +19 -17
  61. package/lib/drama/skills/short-drama-develop/references/premise-devices.md +5 -5
  62. package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +6 -5
  63. package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +3 -4
  64. package/lib/drama/skills/short-drama-develop/references/stage-contract.md +7 -9
  65. package/lib/drama/skills/short-drama-develop/references/story-craft.md +8 -10
  66. package/lib/drama/skills/short-drama-edit/SKILL.md +11 -14
  67. package/lib/drama/skills/short-drama-edit/assets/remotion/README.md +12 -19
  68. package/lib/drama/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +2 -2
  69. package/lib/drama/skills/short-drama-edit/references/cut-craft.md +5 -4
  70. package/lib/drama/skills/short-drama-edit/references/generated-footage.md +1 -1
  71. package/lib/drama/skills/short-drama-edit/references/sound-and-subtitles.md +6 -4
  72. package/lib/drama/skills/short-drama-edit/references/stage-contract.md +5 -5
  73. package/lib/drama/skills/short-drama-edit/references/still-cuts.md +1 -1
  74. package/lib/drama/skills/short-drama-image-prompts/SKILL.md +7 -2
  75. package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +1 -1
  76. package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +4 -5
  77. package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +17 -17
  78. package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +10 -9
  79. package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +11 -12
  80. package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +6 -5
  81. package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +2 -2
  82. package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +6 -6
  83. package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +8 -8
  84. package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +5 -4
  85. package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +17 -24
  86. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +3 -4
  87. package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +5 -10
  88. package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +4 -6
  89. package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +9 -13
  90. package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +3 -7
  91. package/lib/drama/skills/short-drama-produce/SKILL.md +43 -42
  92. package/lib/drama/skills/short-drama-produce/agents/openai.yaml +1 -1
  93. package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +31 -18
  94. package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +1 -1
  95. package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +11 -6
  96. package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +2 -2
  97. package/lib/drama/skills/short-drama-produce/references/providers/minimax-speech.md +7 -5
  98. package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +14 -8
  99. package/lib/drama/skills/short-drama-review/SKILL.md +9 -9
  100. package/lib/drama/skills/short-drama-review/agents/openai.yaml +1 -1
  101. package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -11
  102. package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +24 -23
  103. package/lib/drama/skills/short-drama-review/references/project-calibration.md +17 -16
  104. package/lib/drama/skills/short-drama-review/references/review-method.md +8 -6
  105. package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +7 -6
  106. package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +17 -10
  107. package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +29 -25
  108. package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +11 -11
  109. package/lib/drama/skills/short-drama-review/references/stage-contract.md +3 -2
  110. package/lib/drama/skills/short-drama-storyboard/SKILL.md +8 -10
  111. package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +1 -1
  112. package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +8 -11
  113. package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +11 -12
  114. package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +4 -5
  115. package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +19 -24
  116. package/lib/drama/skills/short-drama-storyboard/references/lighting-craft.md +1 -1
  117. package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +26 -29
  118. package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +6 -5
  119. package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +2 -2
  120. package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +4 -4
  121. package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -8
  122. package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +3 -3
  123. package/lib/drama/skills/short-drama-video-prompts/SKILL.md +10 -7
  124. package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +1 -1
  125. package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +63 -61
  126. package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +20 -18
  127. package/lib/drama/skills/short-drama-video-prompts/references/generability.md +12 -12
  128. package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +4 -3
  129. package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +38 -40
  130. package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +36 -36
  131. package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +17 -21
  132. package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +10 -11
  133. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +1 -1
  134. package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +2 -2
  135. package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +6 -12
  136. package/lib/drama/skills/short-drama-video-prompts/references/wan-3.0.md +2 -1
  137. package/lib/drama/skills/short-drama-write/SKILL.md +15 -15
  138. package/lib/drama/skills/short-drama-write/agents/openai.yaml +1 -1
  139. package/lib/drama/skills/short-drama-write/assets/screenplay.md +3 -4
  140. package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +20 -22
  141. package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +20 -22
  142. package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +10 -10
  143. package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +11 -9
  144. package/lib/drama/skills/short-drama-write/references/screenplay-format.md +11 -10
  145. package/lib/drama/skills/short-drama-write/references/script-craft.md +41 -47
  146. package/lib/drama/skills/short-drama-write/references/stage-contract.md +7 -5
  147. package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +19 -25
  148. package/lib/index.js +120 -31
  149. package/lib/index.js.map +3 -3
  150. package/lib/novel-to-game/README.md +10 -11
  151. package/lib/novel-to-game/README_ZH.md +14 -15
  152. package/lib/novel-to-game/VERSION +1 -1
  153. package/lib/novel-to-game/manifest.json +34 -29
  154. package/lib/novel-to-game/package.json +4 -0
  155. package/lib/novel-to-game/skills/game-art-direction/SKILL.md +2 -2
  156. package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +4 -0
  157. package/lib/novel-to-game/skills/game-build/SKILL.md +9 -1
  158. package/lib/novel-to-game/skills/game-build/references/baked-sprite-workflow.md +19 -0
  159. package/lib/novel-to-game/skills/game-concept/SKILL.md +1 -1
  160. package/lib/novel-to-game/skills/game-concept/references/concept-method.md +4 -1
  161. package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +1 -1
  162. package/lib/novel-to-game/skills/game-world-design/SKILL.md +1 -1
  163. package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +1 -1
  164. package/lib/novel-to-game/skills/novel-to-game/SKILL.md +6 -3
  165. package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +5 -4
  166. package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +13 -2
  167. package/lib/oh-story/manifest.json +628 -803
  168. package/lib/oh-story/package.json +4 -0
  169. package/lib/oh-story/roles/chapter-extractor.md +13 -12
  170. package/lib/oh-story/roles/character-designer.md +20 -101
  171. package/lib/oh-story/roles/consistency-checker.md +7 -9
  172. package/lib/oh-story/roles/narrative-writer.md +22 -22
  173. package/lib/oh-story/roles/story-architect.md +22 -32
  174. package/lib/oh-story/roles/story-explorer.md +11 -14
  175. package/lib/oh-story/roles/story-researcher.md +13 -14
  176. package/lib/oh-story/skills/browser-cdp/SKILL.md +38 -26
  177. package/lib/oh-story/skills/story/SKILL.md +98 -63
  178. package/lib/oh-story/skills/story/VERSION +1 -1
  179. package/lib/oh-story/skills/story-cover/SKILL.md +46 -234
  180. package/lib/oh-story/skills/story-cover/references/api-fallback.md +128 -0
  181. package/lib/oh-story/skills/story-cover/references/cover-styles.md +61 -93
  182. package/lib/oh-story/skills/story-deslop/SKILL.md +75 -212
  183. package/lib/oh-story/skills/story-deslop/references/agent-calls.md +17 -3
  184. package/lib/oh-story/skills/story-deslop/references/banned-words.md +61 -151
  185. package/lib/oh-story/skills/story-deslop/references/deslop-gates.md +23 -160
  186. package/lib/oh-story/skills/story-deslop/references/expression.md +83 -0
  187. package/lib/oh-story/skills/story-deslop/references/narrative-focus.md +63 -0
  188. package/lib/oh-story/skills/story-deslop/references/story-logic.md +65 -0
  189. package/lib/oh-story/skills/story-deslop/references/style-resolution.md +5 -5
  190. package/lib/oh-story/skills/story-import/SKILL.md +18 -22
  191. package/lib/oh-story/skills/story-import/references/benchmark-sync.md +50 -0
  192. package/lib/oh-story/skills/story-import/references/character-state-reverse.md +9 -9
  193. package/lib/oh-story/skills/story-import/references/deep-analysis.md +7 -8
  194. package/lib/oh-story/skills/story-import/references/import-report.md +9 -8
  195. package/lib/oh-story/skills/story-import/references/import-special-cases.md +7 -17
  196. package/lib/oh-story/skills/story-import/references/import-tracking.md +6 -6
  197. package/lib/oh-story/skills/story-import/references/length-routing.md +10 -60
  198. package/lib/oh-story/skills/story-import/references/outline-reverse-rules.md +10 -10
  199. package/lib/oh-story/skills/story-import/references/outline-reverse.md +3 -3
  200. package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +120 -132
  201. package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +77 -92
  202. package/lib/oh-story/skills/story-import/references/tracking-initialization.md +2 -2
  203. package/lib/oh-story/skills/story-import/scripts/build_outline_brief.py +36 -59
  204. package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +5 -1
  205. package/lib/oh-story/skills/story-import/scripts/outline_view.py +286 -0
  206. package/lib/oh-story/skills/story-long-analyze/SKILL.md +41 -78
  207. package/lib/oh-story/skills/story-long-analyze/references/author-facing.md +28 -30
  208. package/lib/oh-story/skills/story-long-analyze/references/final-checks.md +9 -17
  209. package/lib/oh-story/skills/story-long-analyze/references/index-rebuild.md +9 -3
  210. package/lib/oh-story/skills/story-long-analyze/references/inspiration-library.md +23 -10
  211. package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +13 -20
  212. package/lib/oh-story/skills/story-long-analyze/references/stage1-golden-chapters.md +28 -29
  213. package/lib/oh-story/skills/story-long-analyze/references/stage2-extraction.md +74 -162
  214. package/lib/oh-story/skills/story-long-analyze/references/stage3-plot-rhythm.md +124 -309
  215. package/lib/oh-story/skills/story-long-analyze/references/stage4-characters-settings.md +49 -164
  216. package/lib/oh-story/skills/story-long-analyze/references/stage5-report.md +12 -13
  217. package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +114 -35
  218. package/lib/oh-story/skills/story-long-analyze/references/synthesis-inputs.md +16 -6
  219. package/lib/oh-story/skills/story-long-analyze/scripts/inspect_existing_assets.py +3 -1
  220. package/lib/oh-story/skills/story-long-analyze/scripts/manage_analysis_run.py +5 -1
  221. package/lib/oh-story/skills/story-long-scan/SKILL.md +54 -82
  222. package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +47 -181
  223. package/lib/oh-story/skills/story-long-scan/references/platform-ciweimao.md +24 -7
  224. package/lib/oh-story/skills/story-long-scan/references/platform-fanqie.md +24 -22
  225. package/lib/oh-story/skills/story-long-scan/references/platform-jjwxc.md +25 -13
  226. package/lib/oh-story/skills/story-long-scan/references/platform-qidian.md +41 -27
  227. package/lib/oh-story/skills/story-long-scan/references/platform-qimao.md +26 -16
  228. package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +31 -34
  229. package/lib/oh-story/skills/story-long-write/SKILL.md +12 -13
  230. package/lib/oh-story/skills/story-long-write/references/agent-calls.md +2 -2
  231. package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +53 -26
  232. package/lib/oh-story/skills/story-long-write/references/author-memory-maintenance.md +9 -7
  233. package/lib/oh-story/skills/story-long-write/references/author-memory.md +6 -6
  234. package/lib/oh-story/skills/story-long-write/references/banned-words.md +61 -151
  235. package/lib/oh-story/skills/story-long-write/references/benchmark-recall.md +4 -4
  236. package/lib/oh-story/skills/story-long-write/references/character-basics.md +57 -95
  237. package/lib/oh-story/skills/story-long-write/references/character-relations.md +120 -270
  238. package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +3 -3
  239. package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +26 -29
  240. package/lib/oh-story/skills/story-long-write/references/emotion-on-page.md +9 -9
  241. package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +38 -298
  242. package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +33 -73
  243. package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +42 -89
  244. 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 +3 -3
  245. 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 +2 -2
  246. 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 +3 -3
  247. 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 +3 -3
  248. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  249. 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 +3 -3
  250. 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 +3 -3
  251. 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 +3 -3
  252. 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 +3 -3
  253. 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 +3 -3
  254. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  255. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  256. 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 +3 -3
  257. 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 +3 -3
  258. 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 +3 -3
  259. 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 +3 -3
  260. 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 +3 -3
  261. 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 +3 -3
  262. 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 +3 -3
  263. 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 +4 -4
  264. 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 +3 -3
  265. 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 +3 -3
  266. 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 +3 -3
  267. 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 +3 -3
  268. 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 +3 -3
  269. 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 +3 -3
  270. 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 +3 -3
  271. 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 +2 -2
  272. 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 +3 -3
  273. 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 +4 -4
  274. 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 +3 -3
  275. 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 +3 -3
  276. package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +7 -7
  277. package/lib/oh-story/skills/story-long-write/references/genre-readers.md +99 -172
  278. package/lib/oh-story/skills/story-long-write/references/long-chapter-hooks.md +40 -120
  279. package/lib/oh-story/skills/story-long-write/references/long-chapter-quality.md +39 -91
  280. package/lib/oh-story/skills/story-long-write/references/long-format.md +2 -2
  281. package/lib/oh-story/skills/story-long-write/references/long-genre-catalog.md +82 -311
  282. package/lib/oh-story/skills/story-long-write/references/long-genre-mechanics.md +115 -326
  283. package/lib/oh-story/skills/story-long-write/references/long-reversal.md +4 -4
  284. package/lib/oh-story/skills/story-long-write/references/long-suspense.md +11 -13
  285. package/lib/oh-story/skills/story-long-write/references/opening-design.md +38 -334
  286. package/lib/oh-story/skills/story-long-write/references/outline-methods.md +128 -281
  287. package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +58 -499
  288. package/lib/oh-story/skills/story-long-write/references/project-files.md +12 -16
  289. package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +1 -1
  290. package/lib/oh-story/skills/story-long-write/references/reference-index.md +29 -84
  291. package/lib/oh-story/skills/story-long-write/references/revision-diagnosis.md +31 -0
  292. package/lib/oh-story/skills/story-long-write/references/stop-and-fix.md +3 -3
  293. package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +15 -22
  294. package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +4 -172
  295. package/lib/oh-story/skills/story-long-write/references/style-resolution.md +5 -5
  296. package/lib/oh-story/skills/story-long-write/references/tracking-initialization.md +2 -2
  297. package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +2 -2
  298. package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +10 -8
  299. package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +3 -3
  300. package/lib/oh-story/skills/story-long-write/references/workflow-outline.md +47 -47
  301. package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +10 -10
  302. package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +5 -10
  303. package/lib/oh-story/skills/story-long-write/references/workflow-volume.md +72 -98
  304. package/lib/oh-story/skills/story-long-write/references/writer-prompt-fallback.md +1 -1
  305. package/lib/oh-story/skills/story-long-write/references/writing-craft.md +77 -132
  306. package/lib/oh-story/skills/story-long-write/scripts/build_architect_brief.py +38 -18
  307. package/lib/oh-story/skills/story-long-write/scripts/build_writer_prompt.py +23 -11
  308. package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +5 -1
  309. package/lib/oh-story/skills/story-long-write/scripts/outline_view.py +1 -1
  310. package/lib/oh-story/skills/story-review/SKILL.md +41 -54
  311. package/lib/oh-story/skills/story-review/references/agent-prompts.md +20 -18
  312. package/lib/oh-story/skills/story-review/references/banned-words.md +61 -151
  313. package/lib/oh-story/skills/story-review/references/batch-review.md +4 -4
  314. package/lib/oh-story/skills/story-review/references/expression.md +83 -0
  315. package/lib/oh-story/skills/story-review/references/narrative-focus.md +63 -0
  316. package/lib/oh-story/skills/story-review/references/quality-rubric.md +11 -11
  317. package/lib/oh-story/skills/story-review/references/review-tracking.md +6 -5
  318. package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +10 -10
  319. package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +10 -11
  320. package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +12 -12
  321. package/lib/oh-story/skills/story-review/references/solo.md +8 -7
  322. package/lib/oh-story/skills/story-review/references/story-logic.md +65 -0
  323. package/lib/oh-story/skills/story-review/references/style-resolution.md +5 -5
  324. package/lib/oh-story/skills/story-review/references/tracking-initialization.md +2 -2
  325. package/lib/oh-story/skills/story-review/references/tracking-transaction.md +2 -2
  326. package/lib/oh-story/skills/story-setup/SKILL.md +29 -36
  327. package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +3 -3
  328. package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +14 -16
  329. package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +61 -151
  330. package/lib/oh-story/skills/story-setup/references/agent-references/benchmark-style-load.md +10 -10
  331. package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +57 -95
  332. package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +120 -270
  333. package/lib/oh-story/skills/story-setup/references/agent-references/deslop-gates.md +23 -160
  334. package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +26 -29
  335. package/lib/oh-story/skills/story-setup/references/agent-references/emotion-on-page.md +9 -9
  336. package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +38 -298
  337. package/lib/oh-story/skills/story-setup/references/agent-references/expression.md +83 -0
  338. package/lib/oh-story/skills/story-setup/references/agent-references/female-audience-writing.md +141 -0
  339. package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +11 -11
  340. 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 +3 -3
  341. 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 +2 -2
  342. 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 +3 -3
  343. 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 +3 -3
  344. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +3 -3
  345. 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 +3 -3
  346. 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 +3 -3
  347. 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 +3 -3
  348. 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 +3 -3
  349. 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 +3 -3
  350. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +3 -3
  351. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +3 -3
  352. 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 +3 -3
  353. 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 +3 -3
  354. 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 +3 -3
  355. 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 +3 -3
  356. 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 +3 -3
  357. 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 +3 -3
  358. 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 +3 -3
  359. 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 +4 -4
  360. 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 +3 -3
  361. 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 +3 -3
  362. 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 +3 -3
  363. 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 +3 -3
  364. 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 +3 -3
  365. 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 +3 -3
  366. 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 +3 -3
  367. 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 +2 -2
  368. 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 +3 -3
  369. 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 +4 -4
  370. 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 +3 -3
  371. 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 +3 -3
  372. package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +7 -7
  373. package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +99 -172
  374. package/lib/oh-story/skills/story-setup/references/agent-references/long-chapter-hooks.md +40 -120
  375. package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +34 -74
  376. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-catalog.md +82 -311
  377. package/lib/oh-story/skills/story-setup/references/agent-references/long-genre-mechanics.md +115 -326
  378. package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +3 -3
  379. package/lib/oh-story/skills/story-setup/references/agent-references/long-reversal.md +4 -4
  380. package/lib/oh-story/skills/story-setup/references/agent-references/long-suspense.md +11 -13
  381. package/lib/oh-story/skills/story-setup/references/agent-references/narrative-focus.md +63 -0
  382. package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +38 -334
  383. package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +128 -281
  384. package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +58 -499
  385. package/lib/oh-story/skills/story-setup/references/agent-references/short-chapter-hooks.md +64 -192
  386. package/lib/oh-story/skills/story-setup/references/agent-references/short-emotional-methods.md +15 -69
  387. package/lib/oh-story/skills/story-setup/references/agent-references/short-genre-formulas.md +46 -58
  388. package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +6 -4
  389. package/lib/oh-story/skills/story-setup/references/agent-references/short-reversal.md +23 -48
  390. package/lib/oh-story/skills/story-setup/references/agent-references/story-logic.md +65 -0
  391. package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +15 -22
  392. package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +4 -172
  393. package/lib/oh-story/skills/story-setup/references/agent-references/style-resolution.md +5 -5
  394. package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +77 -132
  395. package/lib/oh-story/skills/story-setup/references/diagnostics.md +4 -4
  396. package/lib/oh-story/skills/story-short-analyze/SKILL.md +44 -103
  397. package/lib/oh-story/skills/story-short-analyze/references/analysis-characters.md +66 -0
  398. package/lib/oh-story/skills/story-short-analyze/references/analysis-method.md +7 -7
  399. package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +1 -3
  400. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +22 -21
  401. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +7 -6
  402. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +6 -6
  403. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +2 -2
  404. package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +6 -6
  405. package/lib/oh-story/skills/story-short-analyze/references/analysis-submission.md +52 -0
  406. package/lib/oh-story/skills/story-short-analyze/references/optional-modules.md +23 -73
  407. package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +38 -50
  408. package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +20 -38
  409. package/lib/oh-story/skills/story-short-analyze/references/source-story-quality.md +24 -175
  410. package/lib/oh-story/skills/story-short-analyze/references/stage2-3-structure-emotion.md +53 -38
  411. package/lib/oh-story/skills/story-short-analyze/references/stage4-6-reversal-summary.md +54 -83
  412. package/lib/oh-story/skills/story-short-scan/SKILL.md +56 -73
  413. package/lib/oh-story/skills/story-short-scan/references/manual-rank-input.md +16 -12
  414. package/lib/oh-story/skills/story-short-scan/references/platform-dianzhong.md +10 -4
  415. package/lib/oh-story/skills/story-short-scan/references/platform-heiyan.md +15 -6
  416. package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +36 -75
  417. package/lib/oh-story/skills/story-short-scan/references/topic-match.md +35 -15
  418. package/lib/oh-story/skills/story-short-write/SKILL.md +23 -26
  419. package/lib/oh-story/skills/story-short-write/references/agent-calls.md +4 -4
  420. package/lib/oh-story/skills/story-short-write/references/author-memory-maintenance.md +9 -7
  421. package/lib/oh-story/skills/story-short-write/references/author-memory.md +6 -6
  422. package/lib/oh-story/skills/story-short-write/references/banned-words.md +61 -151
  423. package/lib/oh-story/skills/story-short-write/references/benchmark-recall.md +17 -22
  424. package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +22 -37
  425. package/lib/oh-story/skills/story-short-write/references/deslop-gates.md +34 -0
  426. package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +26 -29
  427. package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +15 -69
  428. package/lib/oh-story/skills/story-short-write/references/expression.md +83 -0
  429. package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +12 -12
  430. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +21 -21
  431. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +17 -17
  432. package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +17 -17
  433. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +19 -19
  434. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +16 -16
  435. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +17 -16
  436. package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +17 -17
  437. package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +11 -11
  438. 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 +22 -22
  439. package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +46 -58
  440. package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +64 -192
  441. package/lib/oh-story/skills/story-short-write/references/narrative-focus.md +63 -0
  442. package/lib/oh-story/skills/story-short-write/references/reference-index.md +14 -16
  443. package/lib/oh-story/skills/story-short-write/references/scene-craft.md +8 -7
  444. package/lib/oh-story/skills/story-short-write/references/short-craft.md +22 -43
  445. package/lib/oh-story/skills/story-short-write/references/short-deslop.md +12 -125
  446. package/lib/oh-story/skills/story-short-write/references/short-format.md +19 -43
  447. package/lib/oh-story/skills/story-short-write/references/short-reversal.md +23 -48
  448. package/lib/oh-story/skills/story-short-write/references/story-logic.md +65 -0
  449. package/lib/oh-story/skills/story-short-write/references/style-resolution.md +5 -5
  450. package/lib/oh-story/skills/story-short-write/references/submission-craft.md +29 -19
  451. package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +23 -30
  452. package/lib/oh-story/skills/story-short-write/references/workflow-design.md +69 -26
  453. package/lib/oh-story/skills/story-short-write/references/workflow-draft.md +19 -20
  454. package/lib/oh-story/skills/story-short-write/references/workflow-revision.md +52 -70
  455. package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +21 -16
  456. package/lib/types/client/file-activity.d.ts +10 -0
  457. package/lib/types/client/file-activity.d.ts.map +1 -1
  458. package/lib/types/client/index.d.ts.map +1 -1
  459. package/lib/types/native-hooks.d.ts.map +1 -1
  460. package/lib/types/role-tool.d.ts +42 -2
  461. package/lib/types/role-tool.d.ts.map +1 -1
  462. package/lib/types/skill-provider.d.ts.map +1 -1
  463. package/lib/types/workspace-route.d.ts.map +1 -1
  464. package/lib/video-recap/CHANGELOG.md +8 -0
  465. package/lib/video-recap/README.en.md +8 -10
  466. package/lib/video-recap/README.md +8 -8
  467. package/lib/video-recap/manifest.json +48 -48
  468. package/lib/video-recap/package.json +4 -0
  469. package/lib/video-recap/skills/video-assemble/SKILL.md +5 -8
  470. package/lib/video-recap/skills/video-assemble/references/audio-modes.md +3 -3
  471. package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +1 -2
  472. package/lib/video-recap/skills/video-assemble/references/packaging.md +1 -2
  473. package/lib/video-recap/skills/video-assemble/references/source-score.md +5 -6
  474. package/lib/video-recap/skills/video-cut/SKILL.md +3 -7
  475. package/lib/video-recap/skills/video-cut/references/shot-review.md +1 -1
  476. package/lib/video-recap/skills/video-recap/SKILL.md +7 -11
  477. package/lib/video-recap/skills/video-recap/references/audio-routing.md +1 -2
  478. package/lib/video-recap/skills/video-recap/references/config-playbook.md +5 -7
  479. package/lib/video-recap/skills/video-recap/references/data-schema.md +8 -8
  480. package/lib/video-recap/skills/video-recap/references/resource-library.md +2 -2
  481. package/lib/video-recap/skills/video-reference/SKILL.md +4 -8
  482. package/lib/video-recap/skills/video-reference/references/reference-schema.md +1 -1
  483. package/lib/video-recap/skills/video-script/SKILL.md +4 -13
  484. package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +2 -2
  485. package/lib/video-recap/skills/video-understanding/SKILL.md +10 -6
  486. package/lib/video-recap/skills/video-understanding/references/data-schema.md +2 -2
  487. package/lib/video-recap/skills/video-voiceover/SKILL.md +3 -11
  488. package/lib/video-recap/skills/video-voiceover/references/index-tts.md +1 -2
  489. package/package.json +25 -24
  490. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +0 -187
  491. package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +0 -42
  492. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +0 -128
  493. package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +0 -34
  494. package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +0 -49
  495. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +0 -36
  496. package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +0 -2
  497. package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +0 -2
  498. package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +0 -101
  499. package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +0 -217
  500. package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +0 -31
  501. package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +0 -67
  502. package/lib/drama/skills/short-drama-write/assets/beats.jsonl +0 -2
  503. package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +0 -120
  504. package/lib/drama/skills/short-drama-write/assets/episode-card.json +0 -55
  505. package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +0 -89
  506. package/lib/oh-story/skills/story/references/author-memory-maintenance.md +0 -75
  507. package/lib/oh-story/skills/story/references/author-memory.md +0 -117
  508. package/lib/oh-story/skills/story/scripts/author_memory_commit.py +0 -1638
  509. package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +0 -556
  510. package/lib/oh-story/skills/story-deslop/references/author-memory-maintenance.md +0 -75
  511. package/lib/oh-story/skills/story-deslop/references/author-memory.md +0 -117
  512. package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +0 -1638
  513. package/lib/oh-story/skills/story-import/references/format-and-structure.md +0 -168
  514. package/lib/oh-story/skills/story-import/references/state-tracking.md +0 -43
  515. package/lib/oh-story/skills/story-import/references/tracking-transaction.md +0 -146
  516. package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +0 -270
  517. package/lib/oh-story/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +0 -84
  518. package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +0 -133
  519. package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +0 -114
  520. package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +0 -105
  521. package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +0 -556
  522. package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +0 -428
  523. package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +0 -502
  524. package/lib/oh-story/skills/story-long-write/references/deslop-gates.md +0 -171
  525. package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +0 -457
  526. package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +0 -389
  527. package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +0 -273
  528. package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +0 -354
  529. package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +0 -711
  530. package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +0 -622
  531. package/lib/oh-story/skills/story-long-write/references/style-craft.md +0 -327
  532. package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +0 -556
  533. package/lib/oh-story/skills/story-review/references/author-memory-maintenance.md +0 -75
  534. package/lib/oh-story/skills/story-review/references/author-memory.md +0 -117
  535. package/lib/oh-story/skills/story-review/references/character-relations.md +0 -433
  536. package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +0 -288
  537. package/lib/oh-story/skills/story-review/references/plot-core-methods.md +0 -522
  538. package/lib/oh-story/skills/story-review/references/review-quality.md +0 -246
  539. package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +0 -1638
  540. package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +0 -556
  541. package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +0 -428
  542. package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +0 -457
  543. package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +0 -389
  544. package/lib/oh-story/skills/story-setup/references/agent-references/short-paragraph-hooks.md +0 -146
  545. package/lib/oh-story/skills/story-setup/references/agent-references/short-suspense.md +0 -352
  546. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-basics.md +0 -453
  547. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-design.md +0 -438
  548. package/lib/oh-story/skills/story-short-analyze/references/analysis-character-relations.md +0 -395
  549. package/lib/oh-story/skills/story-short-analyze/references/analysis-paragraph-hooks.md +0 -146
  550. package/lib/oh-story/skills/story-short-analyze/references/analysis-reader-profile.md +0 -245
  551. package/lib/oh-story/skills/story-short-analyze/references/analysis-writing-techniques.md +0 -477
  552. package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +0 -79
  553. package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +0 -90
  554. package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +0 -54
  555. package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +0 -490
  556. package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +0 -146
  557. package/lib/oh-story/skills/story-short-write/references/output-contract.md +0 -127
  558. package/lib/oh-story/skills/story-short-write/references/short-prose-quality.md +0 -224
  559. package/lib/oh-story/skills/story-short-write/references/short-suspense.md +0 -352
  560. package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +0 -50
@@ -6,25 +6,25 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
6
6
  ---
7
7
  # story-long-scan:长篇网文扫榜
8
8
 
9
- 你是网络小说市场分析师。你的任务是基于榜单样本识别长篇网文市场格局,并输出可执行的题材候选、风险阈值和验证动作。
9
+ 你负责从长篇榜单的重复样本中识别题材候选,结合作者条件给出可行性、失败风险与验证动作。
10
10
 
11
- **核心信念:单本排名只提供线索;跨样本重复模式才算信号。** 排行榜只能证明样本存在;必须通过多榜单、多作品和近期数据判断需求强度。
11
+ **核心信念:单本排名提供线索,近期多榜单、多作品的重复模式才支持趋势判断。**
12
12
 
13
13
  ---
14
14
 
15
- ## 核心哲学
15
+ ## 扫榜原则
16
16
 
17
17
  ### 原则 1:扫榜看模式,别只看排名
18
18
 
19
- 排名会波动,模式必须用重复样本验证。扫榜要提取:反复出现的题材、设定、套路、书名词和开篇卖点。单本上榜只能记为个例;同类样本达到可比数量后,才能标记为趋势候选。
19
+ 提取样本中重复的题材、设定、套路、书名词和简介卖点,判断能否支持趋势候选。
20
20
 
21
- ### 原则 2:流量型平台和付费型平台看的东西不同
21
+ ### 原则 2:各平台的热度口径不同
22
22
 
23
- 番茄看的是流量和完读率,起点看的是订阅和追读,晋江看的是收藏和积分。不同平台的成功标准不同,扫榜方法也不同。
23
+ 番茄看在读,起点看付费榜和总推荐,晋江看收藏、营养液和积分,七猫看热度。完读率、追读、订阅转化是作者后台的数据,采集脚本拿不到,作者没提供就不下结论。
24
24
 
25
25
  ### 原则 3:扫榜的目的是找到你能写的爆款题材
26
26
 
27
- 不按热度直接给结论。每个方向都要做项目可行性判断:素材储备、题材边界、篇幅承载、目标平台样本是否足够。
27
+ 每个方向都结合素材储备、题材边界、计划篇幅和目标平台样本判断可行性,再给选题建议。
28
28
 
29
29
  ---
30
30
 
@@ -32,60 +32,63 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
32
32
 
33
33
  ### Phase 1:确认平台和方向
34
34
 
35
- 问用户:**「你想看哪个平台?(起点/番茄/晋江/七猫/刺猬猫/其他)有没有关注的题材方向?」**
35
+ 沿用作者已给的条件;缺的一次问齐,给选项:
36
36
 
37
- 关键判断:
38
- - 用户已有方向 → 针对该方向做深度扫榜
39
- - 用户没有方向 → 做全榜概览 + 找趋势
40
- - 用户想跨平台比较 → 做平台对比分析
37
+ - 平台:起点 / 番茄 / 晋江 / 七猫 / 刺猬猫 / 多个平台对比
38
+ - 频道(番茄、七猫才分):男频 / 女频 / 都看
39
+ - 看什么:新书里在冒头的(多采新书样本) / 成熟大盘(只采默认榜单)
40
+ - 有没有关注的题材方向(没有就做全榜概览)
41
41
 
42
42
  ---
43
43
 
44
44
  ### Phase 2:确定数据来源
45
45
 
46
- **扫榜需要真实数据支撑。** 根据当前环境选择数据来源:
47
-
48
46
  | 优先级 | 模式 | 说明 | 何时用 |
49
47
  |--------|------|------|--------|
50
- | 1 | **脚本采集** | 直接抓取平台页面/SSR 数据,产出结构化文件 | 优先;起点默认不需要 Chrome |
51
- | 2 | **用户提供** | 用户粘贴榜单截图/文字/链接 | 用户已有数据时 |
52
- | 3 | **内置知识** | 基于知识库趋势数据做分析 | 无法联网、用户无数据时 |
48
+ | 1 | **脚本采集** | 直接抓取平台页面数据,产出结构化榜单文件 | 优先;起点排行榜不需要 Chrome |
49
+ | 2 | **作者提供** | 作者粘贴榜单文字、截图,或给已有的榜单文件 | 作者已有数据,或脚本采不到时 |
50
+ | 3 | **内置知识** | 只用历史题材候选做分析 | 无法联网、作者也没有数据时 |
53
51
 
54
52
  #### 脚本采集模式
55
53
 
56
- 1. 只读所选平台那一份:[起点](references/platform-qidian.md) / [番茄](references/platform-fanqie.md) / [七猫](references/platform-qimao.md) / [晋江](references/platform-jjwxc.md) / [刺猬猫](references/platform-ciweimao.md)。里面有榜单网址、命令、字段、默认组合、故障排查和该平台的分析维度;需要浏览器态的平台先 `/browser-cdp` 启动 Chrome。
57
- 2. 每次扫榜新建输出目录 `扫榜/{YYYYMMDD}/`(同日再扫加 `-2`),存本次榜单,不往旧目录追加(聚合会混进旧榜);文件名 `{平台}{榜单}_{YYYYMMDD}.md`。脚本已做清洗和质量标注。
58
- 3. 聚合:`node scripts/aggregate-rank.js {输出目录} --out {输出目录}/扫榜聚合.md`(小平台加 `--sparse 10`)。**主会话只读这份聚合**,不整份读原始榜单:题材分布、本数占比、热度与字数中位、标签热词、书名常见词、多榜重合、每题材前 3 本代表作。
59
- 4. 看聚合的「采集情况」:标了问题(书名没解出来、没采到、只有书单)的榜单按平台参考排查重采;重采不了就在报告里说明结论不含它。同方向不到 15 本(小平台 10 本)标「少」,等同 `[数据稀疏]`。
60
- 5. 要看原始条目(开篇卖点、新人设、新桥段)时按需抽样:`node scripts/aggregate-rank.js {输出目录} --sample {题材/标签/书名词} --n 5`,一次一个方向。
54
+ 命令里的 `scripts/` 相对本 skill 根目录。
55
+
56
+ 1. 每次扫榜在工作目录新建 `扫榜/{YYYYMMDD}/`(同日再扫加 `-2`),下文 `{outdir}` 指它。不往旧目录追加,聚合会混进旧榜。
57
+ 2. 只读所选平台参考:[起点](references/platform-qidian.md) / [番茄](references/platform-fanqie.md) / [七猫](references/platform-qimao.md) / [晋江](references/platform-jjwxc.md) / [刺猬猫](references/platform-ciweimao.md)。按 Phase 1 的频道和「看什么」运行默认命令;需要 Chrome 的平台先 `/browser-cdp` 启动。
58
+ 3. 聚合:`node scripts/aggregate-rank.js {outdir} --out {outdir}/扫榜聚合.md`。**主会话先只读聚合**:题材分布、去重本数、热度与字数中位、标签、书名词、多榜重合和代表作。
59
+ 4. 看聚合的「采集情况」:标了问题(书名没解出来、没采到、只有书单、详情没取到)的榜单,按平台参考的「采不到时」排查后重采;重采不了,报告里说明结论不含它。
60
+ 5. 分析新人物设定、新切入设定和新桥段时按需抽样:`node scripts/aggregate-rank.js {outdir} --sample {题材/标签/书名词} --n 5`,一次一个方向。命中条数含多榜重复,样本本数按同平台书名+作者去重。
61
61
 
62
- #### 其他数据来源
62
+ #### 作者提供
63
63
 
64
- **用户提供:** 已有扫描结果文件 → 直接聚合;链接 → 用 WebFetch 抓取;粘贴/截图 → 整理成 `# {平台} · {榜单名}` 标题、每本一段 `### #{排名} {书名}` 加一行 `*作者 · 题材 · 连载中 · 120万字 · 3.5万收藏*`(热度写「数字+口径」;有标签再加 `**标签:** a、b`)存进输出目录,再同样聚合。
64
+ 已有榜单文件就放进 `{outdir}` 聚合。作者给链接时,请他把页面内容复制过来或截图(番茄、起点有反爬,直接抓页面常拿不到)。把文字或截图整理成:首行 `# {平台} · {榜单名}`,平台名只用 起点 / 番茄 / 晋江 / 七猫 / 刺猬猫,才能和脚本数据合并;每本一段 `### #{排名} {书名}`,下一行 `*作者 · 题材 · 连载中 · 120万字 · 3.5万收藏*`(热度写「数字+口径」,有标签再加 `**标签:** a、b`)。存进 `{outdir}` 后同样聚合。
65
65
 
66
- **内置知识:** 加载 `references/genre-trends.md`,明确标注「以下分析基于历史趋势数据;未完成实时榜单校验前只能作为候选假设。」并列出需要复扫的榜单。
66
+ #### 内置知识
67
+
68
+ 读 [references/genre-trends.md](references/genre-trends.md),报告开头写明「以下分析基于历史题材候选,没有实时榜单校验,只能作为待验证的假设」,并列出需要复扫的榜单。
67
69
 
68
70
  ---
69
71
 
70
72
  ### Phase 3:数据分析
71
73
 
72
- 以聚合结果为主,按所选平台参考里的「分析维度」看,再提取通用维度:
74
+ 以聚合结果为主,先按所选平台参考的「分析维度」看,再看通用维度:
73
75
 
74
- 1. **题材分布**:题材表的本数、占比与热度中位
75
- 2. **新题材信号**:新书榜列、多榜重合;`扫榜/` 下上一次的日期目录里有 `扫榜聚合.md` 就对比
76
- 3. **经典题材变化**:老牌题材的走势(上升/稳定/下降),没有上期数据就只写现状
77
- 4. **字数**:字数分布与各题材字数中位
78
- 5. **书名模式**:书名常见词 + 代表作书名
79
- 6. **开头卖点**:标签热词 + 代表作简介
80
- 7. **新元素**:对候选方向抽样原始条目,标出新的人物设定、开篇切入点、桥段套路
76
+ 1. **题材分布**:本数、占比与热度中位。番茄按题材等额采样(聚合会注明),本数是采样上限,题材冷热看热度中位和平台 P75。
77
+ 2. **新题材信号**:新书榜、书库新书样本与多榜重合;同时采到新书榜和其他榜时,聚合才显示「新书榜」列。上次日期目录有 `扫榜聚合.md` 时,按相同平台、榜单与筛选范围对比。
78
+ 3. **头部老书**:月票、畅销、阅读榜上字数几百万、连载多年的书,代表这个题材的存量读者,不代表现在开新书能起来;判断新方向以新书榜、书库新书为主。
79
+ 4. **经典题材变化**:老牌题材上升、稳定还是下降;没有上期数据就只写现状。
80
+ 5. **字数**:字数分布与各题材字数中位。
81
+ 6. **书名模式**:书名常见词 + 代表作书名。
82
+ 7. **简介卖点**:标签热词 + 代表作简介。数据只有简介(聚合截到 30 字,采集截到 100 字),开篇怎么写留给拆文验证。
83
+ 8. **新元素**:对候选方向抽样原始条目,标出新的人物设定、切入设定、桥段套路。
81
84
 
82
85
  ---
83
86
 
84
87
  ### Phase 4:输出扫榜报告
85
88
 
86
- 报告写给作者:讲市场结论和能写的方向。脚本名、命令和采集状态码不进报告;某个榜没采到,就说一句「XX 榜这次没拿到(原因),结论不含它」。
89
+ 报告讲本次样本支持的结论和作者能写的方向;无可比上期时,趋势栏写「未比较」,不填涨跌。脚本名、命令和采集状态不进报告;缺榜时说「XX 榜这次没拿到(原因),结论不含它」。题材热度排行按热度中位从高到低排,没有热度数字的平台按本数排;与全平台比较用白话,如「比全平台四分之三的书都热」,不写 P75。
87
90
 
88
- 报告展示给作者,同时写进输出目录的 `选题决策.md`:文件不存在就先按 [references/topic-decision.md](references/topic-decision.md) 的模板写文件头,再把报告作为「扫榜结论」一节写入(已存在同名一节就整节替换)。作者只扫榜不选题,结论也已落盘。
91
+ 报告展示给作者,同时写进 `{outdir}/选题决策.md`:文件不存在就先按 [references/topic-decision.md](references/topic-decision.md) 的模板写文件头,再把报告作为「扫榜结论」一节写入(已有同名一节就整节替换)。作者只扫榜不选题,结论也已落盘。
89
92
 
90
93
  <!-- author-report -->
91
94
  ```md
@@ -96,9 +99,9 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
96
99
  - 核心发现:{一句话总结}
97
100
 
98
101
  ### 题材热度排行
99
- | 排名 | 题材 | 榜上数量 | 趋势 | 代表作 |
100
- |------|------|----------|------|--------|
101
- | 1 | {题材} | {N本} | ↑/→/↓ | {书名} |
102
+ | 排名 | 题材 | 本数 | 热度中位 | 趋势 | 代表作 |
103
+ |------|------|------|----------|------|--------|
104
+ | 1 | {题材} | {N本} | {数字+口径} | ↑/→/↓/未比较 | {书名} |
102
105
 
103
106
  ### 新题材信号
104
107
  - {新出现或正在上升的题材,附依据}
@@ -108,7 +111,7 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
108
111
 
109
112
  ### 新元素提取
110
113
  - 新人物设定:{新模式描述 + 代表作}
111
- - 新开篇切入点:{新切入点描述 + 代表作}
114
+ - 新切入设定:{从简介看到的切入点 + 代表作}
112
115
  - 新桥段/套路:{新桥段描述 + 代表作}
113
116
 
114
117
  ### 关键数据洞察
@@ -117,41 +120,23 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
117
120
  - 标签热词:{高频标签词}
118
121
 
119
122
  ### 值得关注的方向
120
- 1. {方向 + 为什么值得关注 + 可行性评估}
121
- 2. {方向 + 为什么值得关注 + 可行性评估}
122
- 3. {方向 + 为什么值得关注 + 可行性评估}
123
+ 1. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}
124
+ 2. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}
125
+ 3. {方向 + 为什么值得关注 + 同方向几本、新书里有没有}
123
126
 
124
127
  ### 一句话
125
- {犀利的总结}
128
+ {一句话结论}
126
129
  ```
127
130
 
128
131
  ---
129
132
 
130
133
  ### Phase 5:选题决策
131
134
 
132
- 把扫榜结果变成能直接用的选题建议,产出 `选题决策.md`。完整方法(选题四步 + 可行性判断 + 输出模板)见 [references/topic-decision.md](references/topic-decision.md)。
135
+ 按 [references/topic-decision.md](references/topic-decision.md) 的选题四步、可行性规则与模板,在 `{outdir}/选题决策.md` 写 2-3 个推荐选题。
133
136
 
134
137
  **从文件接上:** 先读 `{outdir}/选题决策.md` 的「扫榜结论」和 `扫榜聚合.md`,不靠对话记忆;两者都没有就回 Phase 2。
135
138
 
136
- **如信息不足,向用户补齐项目条件:**「目标平台、已有素材、擅长题材/写作约束、计划篇幅是什么?」
137
-
138
- 按 `topic-decision.md` 的选题四步产出 2-3 个推荐选题(能爆的原因 → 市场验证 → 差异化定位 → 可行性+失败风险+验证动作),写入**本次扫榜输出目录** `{outdir}/选题决策.md` 的「推荐选题」一节,保留「扫榜结论」。
139
-
140
- **硬规则:**
141
- - 可行性上限:背靠榜单标了 `[数据稀疏]`、聚合表标「少」或同方向样本 <15(小平台<10)⇒ 不许给"高",强制降到"中" + 写明先验证;内置知识模式一律给"中"。
142
- - 不输出项目素材无法支撑的题材;不只看热度,必须给可行性和失败风险;不忽略平台调性差异(起点男频和晋江女频审美完全不同)。
143
-
144
- ---
145
-
146
- ## 平台特性速查
147
-
148
- | 平台 | 调性 | 核心指标 | 主力读者 | 适合类型 |
149
- |------|------|----------|----------|----------|
150
- | 起点中文网 | 男频为主,硬核爽文 | 追读率、月票 | 18-35 男性 | 玄幻、都市、科幻、游戏 |
151
- | 番茄小说 | 下沉市场,免费阅读 | 在读数、阅读榜排名 | 大众读者 | 脑洞、快节奏、强爽感 |
152
- | 晋江文学城 | 女频为主,精品路线 | 收藏、营养液、积分 | 16-30 女性 | 言情、纯爱、衍生 |
153
- | 七猫小说 | 下沉市场,免费阅读 | 热度、大热榜排名 | 大众读者 | 快节奏爽文 |
154
- | 刺猬猫 | 二次元、轻小说 | 追读 | 15-25 ACG | 同人、二次元、轻小说 |
139
+ **信息不足时,向作者补齐项目条件:**「目标平台、已有素材、擅长题材或写作限制、计划篇幅是什么?」
155
140
 
156
141
  ---
157
142
 
@@ -162,27 +147,14 @@ metadata: {"openclaw":{"source":"https://github.com/zenstory-ai/oh-story-claudec
162
147
 
163
148
  | 时机 | 跳转到 | 命令 |
164
149
  |---|---|---|
165
- | 找到方向 | story-long-analyze | `/story-long-analyze` |
150
+ | 找到方向,想先拆对标书 | story-long-analyze | `/story-long-analyze` |
166
151
  | 直接开写 | story-long-write | `/story-long-write` |
167
152
  | 更适合短篇 | story-short-scan | `/story-short-scan` |
168
153
 
169
154
  ## 参考资料
170
155
 
171
- 按需加载以下文件:
172
-
173
- | 文件 | 何时加载 |
174
- |------|----------|
175
- | [references/topic-decision.md](references/topic-decision.md) | 「选题决策」:选题四步 + 可行性判断 + 选题决策.md 模板 |
176
- | [references/reader-profiling.md](references/reader-profiling.md) | 需要分析目标读者画像时 |
177
- | [references/genre-trends.md](references/genre-trends.md) | 查看题材趋势候选、切入约束和样本校验规则时 |
178
- | [references/publishing-guide.md](references/publishing-guide.md) | 平台适配+推荐机制校验+数据指标+简介设计 |
179
- | 五份平台参考(链接见「脚本采集模式」第 1 步) | 「确定数据来源」:只读所选平台那份——榜单网址、命令、字段、故障排查、平台分析维度 |
180
- | [scripts/aggregate-rank.js](scripts/aggregate-rank.js) | 把输出目录里的原始榜单聚合成短表(`--out` 落盘,`--sample` 抽原始条目,`--json` 机读),主会话只读它 |
181
- | [scripts/cdp-utils.js](scripts/cdp-utils.js) 与各平台采集脚本 | CDP 公共工具与各平台采集脚本(`{平台}-rank-scraper.js`),命令见所选平台参考 |
182
-
183
- ---
184
-
185
- ## 语言
186
-
187
- - 跟随用户的语言回复,用户用什么语言就用什么语言回复
188
- - 中文回复遵循《中文文案排版指北》
156
+ | 文件 | 何时读 |
157
+ |------|--------|
158
+ | 五份平台参考(链接见「脚本采集模式」第 2 步) | Phase 2–3:只读所选平台那份——默认命令、可选榜单、字段与热度口径、采不到时、分析维度、本平台读者 |
159
+ | [references/topic-decision.md](references/topic-decision.md) | Phase 4 建文件、Phase 5 选题 |
160
+ | [references/genre-trends.md](references/genre-trends.md) | 只在内置知识模式读 |
@@ -1,197 +1,63 @@
1
- # 网文题材趋势与流派参考
2
- 题材选择、流派写作要点、扫榜技巧的速查手册。
1
+ # 内置题材候选
3
2
 
4
- ---
3
+ 无实时榜单时使用。这里的题材、流派和书名来自历史样本,只能当候选假设;可行性最高给"中",并列出要复扫的榜单。
5
4
 
6
- ## 脑洞文创作
5
+ ## 新元素分三级
7
6
 
8
- ### 从灵感到成书
7
+ | 级别 | 频率 | 怎么对待 |
8
+ |------|------|----------|
9
+ | 新题材 | 极少 | 跨榜单、跨作者都出现重复样本才算趋势,否则只当观察项 |
10
+ | 新金手指 | 较少,多是翻新 | 适合低成本验证,但题材外壳和情绪触发都要变化 |
11
+ | 新噱头 | 常见 | 同质化风险高;没有差异化机制就降低优先级 |
9
12
 
10
- 1. 得到点子(金手指雏形/画面/切入点)
11
- 2. 评估潜力(纯原创?有市场铺垫?)
12
- 3. 匹配题材(放进熟悉题材看效果)
13
- 4. 提炼核心卖点(能否转化为情绪缺口/期待感)
14
- 5. 梳理故事雏形(框架/金手指/切入点)
15
- 6. 动笔验证
13
+ ## 男频题材候选
16
14
 
17
- ### 金手指创新
18
-
19
- 基础=满足条件→得到反馈。变体:多条件一反馈 / 阶段性反馈 / 概率性反馈 / 反馈可叠加
20
-
21
- ### 写长方法
22
-
23
- 1. 从核心卖点找多角度,归纳不同矛盾套路,每套写1-2卷
24
- 2. 叠加框架:多角度交织循环支撑几百万字
25
- 3. 框架+小剧情循环:大目标→中目标→小目标→细纲
26
-
27
- ### 跟风 = 换皮
28
-
29
- 照搬核心设定换熟悉题材。金手指类兼容所有题材;同题材跟风保留底层情绪另换角度。
30
-
31
- ---
32
-
33
- ## 题材选择
34
-
35
- 85%熟悉+15%惊喜。选择数据充分+可构建完整世界观的赛道。
36
-
37
- ---
38
-
39
- ## 边界感三层圈
40
-
41
- | 圈层 | 示例 | 规则 |
42
- |------|------|------|
43
- | 题材圈 | 都市、玄幻、仙侠 | 大分类 |
44
- | 流派圈 | 极道流、凡人流、种田流 | 细分 |
45
- | 核心梗圈 | 具体卖点/金手指/情绪点 | 内容不能踏出此圈 |
46
-
47
- | 错误 | 后果 |
48
- |------|------|
49
- | 高武文写官场 | 踏破边界 |
50
- | 种田文写深度商战 | 串味 |
51
- | 悬疑文去掉悬念 | 核心卖点消失 |
52
-
53
- ---
54
-
55
- ## 扫榜
56
-
57
- ### 三级分类
58
-
59
- | 级别 | 频率 | 要点 |
60
- |------|------|------|
61
- | 新题材 | 极少 | 只有出现跨榜单、跨作者重复样本时才标记为趋势;否则作为观察项 |
62
- | 新金手指 | 较少,翻新为主 | 适合作为低成本验证点,但必须换题材外壳和情绪触发方式 |
63
- | 新噱头 | 常见 | 高同质化风险;没有差异化机制时降低优先级 |
64
-
65
- ### 各网站方法
66
-
67
- **起点**:三江→首订图→签约新书榜前15→拆精品到万订之间的书
68
- **番茄**:新书榜拉到底→在读30万以上为标准
69
-
70
- ### 起点热门题材
71
-
72
- | 题材 | 要点 |
73
- |------|------|
74
- | 都市 | 重生/种田/娱乐;重生可与任何元素融合 |
75
- | 玄幻 | 极道流、加点横推等强反馈样本优先;传统玄幻若近期样本稀疏,标记为高风险 |
76
- | 仙侠 | 优先检查脑洞融合路线的近期样本;纯传统路线需额外验证受众 |
77
- | 历史 | 秦/唐/明/宋/三国;类同人写法 |
78
- | 诸天无限 | 不要写原创副本,用同人 |
79
- | 科幻 | 末世类(含脑洞/种田/游戏设定) |
80
-
81
- ---
82
-
83
- ## 流派写作要点
84
-
85
- | 流派 | 核心要点 |
15
+ | 题材 | 候选方向 |
86
16
  |------|----------|
87
- | 极道流 | 金手指属性加点,横推一切;边界清楚、验证成本低,适合作为低复杂度候选 |
88
- | 凡人流 | 小人物攀爬+精打细算;战力数据化+寿命驱动 |
89
- | 巫师流 | 知识体系+实验探索升级,门槛较高 |
90
- | 种田流 | 经营餐馆/书店/渔场等;复杂度较低,可与多界穿梭结合,但仍需样本校验 |
91
- | 都市高武 | 高频:武馆+学校双线/死党对比/师姐诱惑/模拟考装逼;《武圣》前三章是黄金模板 |
92
- | 同人文 | 仅在用户明确目标 IP、平台允许且近期样本有效时使用;默认只抽“已知世界+新变量+名场面改写”结构 |
93
- | 盘点文 | 难度低,找对切入点 |
94
- | 模拟文 | 模拟制造情绪缺口→得奖励→现实满足 |
95
- | 两界穿梭 | 标准模板:金手指+震惊历史人物+改变命运 |
96
- | 历史文 | 秦/唐/明/宋/三国主流;需危机感+从小到大+清晰主线;宋朝以后审核风险高 |
97
-
98
- ---
17
+ | 都市 | 重生、种田、娱乐、都市高武;重生能和多数元素融合 |
18
+ | 玄幻 | 极道流、加点横推这类反馈直接的优先;传统玄幻近期样本少就标高风险 |
19
+ | 仙侠 | 先查脑洞融合路线的近期样本;纯传统路线要另行验证受众 |
20
+ | 历史 | 秦、唐、明、宋、三国;穿越改命、争霸 |
21
+ | 诸天无限 | 同人副本和原创副本分开看,看世界规则能不能持续兑现核心期待 |
22
+ | 科幻 | 末世为主,常混脑洞、种田、游戏设定 |
23
+ | 悬疑灵异 | 恐怖灵异、奇门秘术、侦探推理 |
99
24
 
100
- ## 都市重生文
25
+ 常见流派:极道流(属性加点、横推)、凡人流(小人物攀爬、精打细算)、巫师流(知识体系加实验升级)、种田流(经营反馈推进)、盘点文、模拟文、两界穿梭。同人仅在作者明确目标作品、平台允许且近期样本有效时列。
101
26
 
102
- | 维度 | 要点 |
103
- |------|------|
104
- | 事业感情配比 | 五五开上限最高但要求极高;感情弱→8:2,感情行→2:8起步 |
105
- | 期待感 | 没有升级线必须持续维持期待感;悬疑反转少用;保持两万字规划连续性 |
106
- | 短视频化 | 每章有几个逗人一笑的点;搭建正反馈人际网循环玩梗;同一梗反复出现读者不厌倦 |
107
- | 同质化 | 微创新开头+中正内容=足够精品;缺的是流量不是内容 |
108
-
109
- ---
110
-
111
- ## 轻小说
112
-
113
- 核心=卖有戏剧性的人设(尤其美少女人设)。
114
-
115
- - 事业线:美少女当前困境+她与别人的恩怨
116
- - 爱情线:有戏剧性的发展+人设搭配造成事件
117
- - 核心竞争力:人设设计+互动状态是否令人羡慕
118
-
119
- ---
120
-
121
- ## 喜剧/沙雕文
27
+ ## 女频题材候选
122
28
 
123
- 套路:中计掉坑+弄巧成拙 / 降智反派 / 误解错位,可组合。
124
- 底层原理:根据读者对角色好感度,让剧情对角色的忧惧因素产生攻击性。
29
+ | 题材 | 候选方向 |
30
+ |------|----------|
31
+ | 现言 | 总裁豪门、追妻火葬场、先婚后爱、年代重生 |
32
+ | 古言 | 宫闱宅斗、重生复仇、种田经商、权谋 |
33
+ | 幻想言情 | 玄幻仙侠团宠、无限快穿、末世求生 |
125
34
 
126
- ---
35
+ ## 长篇书名写法
127
36
 
128
- ## 霸道总裁文(女频)
37
+ 下表是七猫书库长篇(2026 年 10 月统计,80 万字以上,男频 2072 本、女频 1643 本,多是写了很久的老书)中常见书名写法的占比。仅代表七猫存量书的起名习惯;新书起名以本次新书榜的常见词为准:
129
38
 
130
- | 维度 | 传统 | 现代 |
39
+ | 写法 | 男频 | 女频 |
131
40
  |------|------|------|
132
- | 女主 | 傻白甜 | 独立职业女性 |
133
- | 相遇逻辑 | 善良行为偶遇 | 职业交集+独特价值 |
134
- | 男主便利 | 全方位照顾 | 情绪价值+锦上添花 |
135
- | 底层逻辑 | 嫁好男人不用干 | 我很强+征服了强者的心 |
136
-
137
- 情敌反派避免传统"绿茶"模式。
138
-
139
- ---
140
-
141
- ## 爆款灵感素材库
142
-
143
- ### 古言/宫闱宅斗
144
-
145
- | 标题 | 一句话卖点 |
146
- |------|-----------|
147
- | 重生后公府长媳要跑路,首辅大人疯魔了 | 前世替公府操碎心还被逼腾位,重生后决定卷走一切直接跑路 |
148
- | 权臣偏宠掌上娇,重生真千金杀疯了 | 真千金重生归来,先盯上将来权倾天下的养子 |
149
- | 惨死重生,捂不热的权臣我不要了 | 为妾五年被锁枯院,重生后捂不热的权臣不要了 |
150
- | 被逼替嫁我不慌,我送全家火葬场 | 被逼替嫁我不慌,我送全家火葬场 |
151
-
152
- ### 现言/总裁豪门
41
+ | 书名带「我」 | 35% | 22% |
42
+ | 冒号分前后两段(「大明:开局小县令,红温朱元璋」) | 28% | 19% |
43
+ | 带「重生」 | 7% | 9% |
44
+ | 带「开局」 | 9% | 不到 1% |
45
+ | 「从…开始」 | 6% | 不到 1% |
46
+ | 带「总裁 / 大佬 / 霸总」 | 2% | 13% |
47
+ | 带「离婚」 | 2% | 5% |
153
48
 
154
- | 标题 | 一句话卖点 |
155
- |------|-----------|
156
- | 逼我给青梅打官司,离婚你哭什么 | 逼我给青梅打官司,离婚你哭什么 |
157
- | 真千金出狱后,全家悔哭求原谅 | 亲爹亲哥联手送进监狱为假千金顶罪 |
49
+ ## 长篇书名样本
158
50
 
159
- ### 世情复仇
51
+ 同一语料里的原书名:
160
52
 
161
- | 标题 | 一句话卖点 |
162
- |------|-----------|
163
- | 班主任断我舞台梦,十五年后我封杀她女儿 | 年会试镜在评委席亲手刷掉班主任的女儿 |
164
- | 伤害转移100次,我妈终于杀疯了 | 病床上挨满百次剧痛后,妈妈说该你们还了 |
165
-
166
- ### 都市/年代重生
167
-
168
- | 标题 | 一句话卖点 |
169
- |------|-----------|
170
- | 高武:开局就氪命,你小子是个狠人! | 开局被亲人陷害,拿寿命换武学 |
171
- | 重生八零,我选择成全教授妻子和妹夫 | 重生回龙凤胎惨死前夜,先拍离婚书 |
172
-
173
- ### 玄幻/历史/末世
174
-
175
- | 标题 | 一句话卖点 |
176
- |------|-----------|
177
- | 剑仙:从杀敌爆经验开始无敌 | 靠杀敌爆经验从苟命少年杀成无敌剑仙 |
178
- | 全宗通魔,唯有小师弟正的发邪 | "那便恭请师尊赴死" |
179
- | 被妹妹推去喂丧尸后,我重生囤满物资 | 被推进丧尸群死过一次后,先在地下藏满十年物资 |
180
-
181
- ---
182
-
183
- ## 命名规律
184
-
185
- ### 短篇公式
186
-
187
- `[极端事件] + [被逼/死亡] + [反击手段]`
188
-
189
- 高频词:疯了/杀疯了/悔疯了(17次) | 我反手/我让他(4次) | 全家/所有人都(4次) | 清明节/愚人节/除夕夜(4次)
190
-
191
- ### 长篇公式
192
-
193
- 高频词:快穿、系统、一见钟情、离婚后、反派、开局秒杀
194
-
195
- ### 知乎风格
196
-
197
- 平均7.9字。类型:事件型 / 反差型 / 互动型
53
+ | 题材 | 书名 |
54
+ |------|------|
55
+ | 都市 | 重回90:金瞳鉴宝发家,全家悔不当初 / 神话降临,我提前获得内测资格 / 重生70:开局迎娶绝美村花 |
56
+ | 玄幻 | 凡人修仙:开局救助落魄师姐 / 全民:让你信仰神明,你取而代之? / 八岁武尊:退婚流祖师爷 |
57
+ | 仙侠 | 洪荒:从满级神功系统开始无敌 / 开局替死,我不愿意,横推当世 / 西游:稳健人生,从高中进士开始 |
58
+ | 历史 | 大明:开局小县令,红温朱元璋 / 大秦血衣侯:我以杀敌夺长生 / 穿成穷书生,我连中三元杀穿朝堂 |
59
+ | 末世 | 开局成为丧尸,我锻炼就变强 / 全民微缩,从1.75厘米开始 / 末日刚降临,你怎么就成神了? |
60
+ | 悬疑灵异 | 送邪:我身披阎王衣,只手镇百鬼 / 好感度天赋弱?女鬼抢着送提示 / 7号末班车 |
61
+ | 现言 | 我提离婚后,清冷老公破戒了 / 替身退场,京圈大佬急疯了! / 离婚协议生效,前夫却发疯找我 |
62
+ | 古言 | 嫡女重生悔婚,阴鸷王爷破大防! / 哑奴带崽改嫁,清冷权臣悔疯了 / 听懂植物心声,我扶全家纨绔上青云 |
63
+ | 幻想言情 | 挖我灵根?重生后新师门待我如宝 / 快穿:满级美人攻略日常 / 转职最弱辅助?SSS级大佬跪地争宠 |
@@ -1,19 +1,36 @@
1
1
  # 刺猬猫:采集与分析
2
2
 
3
- 作者选了刺猬猫才读本文。需先用 `/browser-cdp` 启动 Chrome。rank-index 单页展示全部榜单,脚本按文本解析,按书名归一回填作品页链接,带连通性自检与空结果重试。
3
+ 先用 `/browser-cdp` 启动 Chrome。刺猬猫是小平台,每榜只有前 10 本;同方向不足 10 本,聚合标为样本少。
4
4
 
5
- ## 榜单与命令
5
+ ## 默认命令
6
6
 
7
- `node scripts/ciweimao-rank-scraper.js --type {榜单} --outdir {输出目录}`:click 点击榜 / favor 收藏榜 / recommend 推荐榜 / subscribe 订阅榜 / monthly 月票榜 / tsukkomi 吐槽榜 / newbook 新书榜 / blade 刀片榜 / all 全部(默认)。
7
+ ```bash
8
+ node scripts/ciweimao-rank-scraper.js --type monthly --outdir {outdir} # 月票榜
9
+ node scripts/ciweimao-rank-scraper.js --type subscribe --outdir {outdir} # 订阅榜
10
+ ```
8
11
 
9
- ## 字段
12
+ 作者要看新书里在冒头的,再加新书榜:`--type newbook`。
10
13
 
11
- 排名、书名、作者(仅榜首条目带)、题材(其余条目带)、榜单值(聚合的热度口径;各榜含义不同,不跨榜比较)、作品页链接。刺猬猫是小平台:同方向不到 10 本才算稀疏,聚合时加 `--sparse 10`。
14
+ ## 可选参数
15
+
16
+ `--type`:click 点击榜 / favor 收藏榜 / recommend 推荐榜 / subscribe 订阅榜 / monthly 月票榜 / tsukkomi 吐槽榜 / newbook 新书榜 / blade 刀片榜 / update 更新榜 / all 全部(不写时默认)。
17
+
18
+ ## 字段与热度口径
19
+
20
+ 排名、书名、作者(只有榜首有)、题材(榜首以外有)、榜单值、作品页链接。各榜的榜单值口径不同(点击、收藏、月票……),多榜聚合时取同书最大的榜单值,不能拿来比热度,热度回查单榜。作者信息不齐,同一本书跨榜可能没合并,核对样本本数。
21
+
22
+ ## 采不到时
23
+
24
+ 终端提示「未解析到榜单」或文件头「数据质量」标了问题:在 Chrome 里打开 `https://www.ciweimao.com/rank-index`,确认页面正常、没有跳到登录或验证页,再重采。
12
25
 
13
26
  ## 分析维度
14
27
 
15
28
  | 维度 | 看什么 |
16
29
  |---|---|
17
- | 月票/订阅榜 | 付费认可 |
30
+ | 月票榜、订阅榜 | 付费认可 |
18
31
  | 新书榜 | 二次元新梗与新设定 |
19
- | 吐槽/刀片榜 | 读者互动强度与争议点 |
32
+ | 吐槽榜、刀片榜 | 互动强度;争议判断要有内容证据 |
33
+
34
+ ## 本平台读者
35
+
36
+ 二次元、轻小说、同人受众。开头必须有趣,笑点来自角色互动、熟悉的梗加意外变化;雷区是太严肃、太现实、没有二次元元素。
@@ -1,45 +1,47 @@
1
1
  # 番茄:采集与分析
2
2
 
3
- 作者选了番茄才读本文。番茄列表页有字体反爬,须先用 `/browser-cdp` 启动 Chrome,再由脚本从详情页(内嵌 JSON `bookName`/`author`/`abstract`/`categoryV2` + `<title>` + og:meta)多策略解码书名、作者、题材、标签、简介。
3
+ 先用 `/browser-cdp` 启动 Chrome。
4
4
 
5
- ## 榜单与命令
5
+ ## 默认命令
6
6
 
7
- URL `fanqienovel.com/rank/{channel}_{type}_{cat_id}`:channel 0=女频/1=男频,type 1=新书榜/2=阅读榜。
7
+ `--channel` 按 Phase 1 的频道取:1=男频、0=女频、all=男女都采。
8
8
 
9
9
  ```bash
10
- node scripts/fanqie-rank-scraper.js --channel 1 --type 2 --outdir {输出目录} # 男频阅读榜(默认)
11
- node scripts/fanqie-rank-scraper.js --channel all --top 15 --outdir {输出目录} # 男女频,每题材前 15 本
10
+ node scripts/fanqie-rank-scraper.js --channel all --type 2 --outdir {outdir} # 男女频阅读榜
12
11
  ```
13
12
 
14
- 脚本逐题材采集(每题材上限约 20,`--top N` 可调),每 5 本一批请求详情页。默认组合:男频阅读榜全题材 + 女频阅读榜全题材;要看新风向再加新书榜(`--type 1`)或下面的书库「最热」。文件名 `番茄{频道}{榜单}_全题材_{YYYYMMDD}.md`。一份全题材就是七百来条,只读聚合结果,不整份读原始文件。
15
-
16
- 题材 cat_id —— 男频 19 个:西方奇幻(1141) / 东方仙侠(1140) / 科幻末世(8) / 都市日常(261) / 都市修真(124) / 都市高武(1014) / 历史古代(273) / 战神赘婿(27) / 都市种田(263) / 传统玄幻(258) / 历史脑洞(272) / 悬疑脑洞(539) / 都市脑洞(262) / 玄幻脑洞(257) / 悬疑灵异(751) / 抗战谍战(504) / 游戏体育(746) / 动漫衍生(718) / 男频衍生(1016);女频 18 个:古风世情(1139) / 科幻末世(8) / 游戏体育(746) / 女频衍生(1015) / 玄幻言情(248) / 种田(23) / 年代(79) / 现言脑洞(267) / 宫斗宅斗(246) / 悬疑脑洞(539) / 古言脑洞(253) / 快穿(24) / 青春甜宠(749) / 星光璀璨(745) / 女频悬疑(747) / 职场婚恋(750) / 豪门总裁(748) / 民国言情(1017)。
17
-
18
- ### 书库「最热」
19
-
20
- URL `fanqienovel.com/library/{筛选}/page_{n}?sort=hottes`:筛选段 `audience1`=男生、`audience0`=女生(不写=不分男女),`stat1`=连载中、`stat0`=已完结,`count0`=30 万字以下(`count1`-`count4` 依次 30-50 万、50-100 万、100-200 万、200 万以上),全不选时是 `all`。每页 18 本,按热度排。
13
+ 作者要看新书里在冒头的,再加新书榜和书库「最热」:
21
14
 
22
15
  ```bash
23
- node scripts/fanqie-rank-scraper.js --source library --channel all --outdir {输出目录} # 男、女各一份:连载中、30 万字以下、前 3 页
24
- node scripts/fanqie-rank-scraper.js --source library --channel mix --pages 5 --outdir {输出目录} # 不分男女
16
+ node scripts/fanqie-rank-scraper.js --channel all --type 1 --outdir {outdir} # 男女频新书榜
17
+ node scripts/fanqie-rank-scraper.js --source library --channel all --outdir {outdir} # 书库:连载中、30 万字以下,男女各前 3 页
25
18
  ```
26
19
 
27
- `--stat 1|0|any`、`--count 0-4|any` 改筛选。默认组合(连载中、30 万字以下)是**正在起量的新书**:阅读榜被老书占住时,看它才知道新书里什么题材在冒头,文件名与列表名带「新书」,聚合时算进「新书榜」列。列表页书名和数字都被字体反爬,脚本只按页面顺序取 bookId,书名、题材、在读、字数都由详情页解码。
20
+ ## 可选参数
21
+
22
+ - 排行榜:`--type 2` 阅读榜、`--type 1` 新书榜、`--type all` 两个都采。脚本按题材采集,每类取前 20 本(`--top N` 可调),每个频道写一份 `番茄{频道}{榜单}_全题材_{日期}.md`。
23
+ - 书库「最热」:每页 18 本,按热度排。`--channel mix` 不分男女,`--pages N` 改页数,`--stat 1|0|any`(连载中/已完结/不限)、`--count 0-4|any`(30 万字以下、30-50 万、50-100 万、100-200 万、200 万以上/不限)改筛选。只有默认筛选(连载中、30 万字以下)在列表名里带「新书」,按新书样本计。
28
24
 
29
- ## 字段
25
+ ## 字段与热度口径
30
26
 
31
- 排名、书名、作者、题材(详情页 categoryV2)、状态、在读(核心指标,聚合的热度口径)、字数、标签(简介开头 `【种田+慢热+西幻】`,题材细分的真实信号)、最新更新、bookId、作品页链接、简介。详情页没有数字评分,不输出评分。解码失败的书名显示 `(标题待解析)`,bookId 与链接保留供回查。
27
+ 排名、书名、作者、题材、状态、在读(核心指标,聚合的热度口径)、字数、标签(简介开头的 `【种田+慢热+西幻】`,题材细分的真实信号)、最新更新、作品页链接、简介。页面没有评分。
32
28
 
33
- ## 故障排查
29
+ **每题材等额采样**:排行榜每个题材都取前 20 本,题材本数和占比受采样上限影响,不代表题材大小;聚合会注明。题材冷热看热度中位和平台 P75,新风向看新书榜和书库新书。
34
30
 
35
- 文件头 `数据质量` 标 `[标题解析异常]`(书名多为 `(标题待解析)`):多为详情页结构变动或被登录/验证页拦截。在已登录的 Chrome 里手动打开任一 `https://fanqienovel.com/page/{bookId}`,确认页面正常、不是验证页;控制台报 `CDP 无响应` 就按 browser-cdp 重新启动 Chrome。确认正常后重采。
31
+ ## 采不到时
32
+
33
+ 文件头「数据质量」标 `[标题解析异常]`(书名多为 `(标题待解析)`):多半是被登录或验证页拦住,或页面改版。在已登录的 Chrome 里手动打开任一 `https://fanqienovel.com/page/{bookId}`,确认页面正常、不是验证页;报 `CDP 无响应` 就按 browser-cdp 重新启动 Chrome。确认正常后重采。
36
34
 
37
35
  ## 分析维度
38
36
 
39
37
  | 维度 | 看什么 |
40
38
  |---|---|
41
39
  | 阅读榜 | 流量与读者规模,在读数为核心指标 |
42
- | 新书榜 | 新题材、新风向的早期信号(聚合表的「新书榜」列) |
43
- | 题材分布 | 各品类在读数集中度(热度中位对照本数) |
44
- | 在读数差距 | 同题材头部与腰部的流量差 |
40
+ | 新书榜、书库最热 | 新题材样本,与阅读榜对照;同口径前后两次对比才能说在起量 |
41
+ | 题材冷热 | 各题材热度中位跟平台 P75 比,不看本数 |
42
+ | 在读差距 | 同题材头部与腰部的流量差 |
45
43
  | 标签热词 | 【】内标签组合揭示细分卖点 |
44
+
45
+ ## 本平台读者
46
+
47
+ 免费阅读,读者面广。要快节奏、强爽感、目标与因果清楚,爽点偏打脸、装逼、获得机缘;雷区是目标迟迟不明、长期虐主、解释压过剧情。脑洞和强情绪题材多,同质化也重,选题要写清差异化。