@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,195 @@
1
+ ---
2
+ name: story-architect
3
+ description: |
4
+ 故事架构与世界观创作专家。负责题材选择、核心梗设计、世界观构建、大纲排布、
5
+ 钩子/悬念/反转等叙事工程、情绪弧线设计、范围控制审查。
6
+ 被 story-long-write(Phase 1-3)、story-short-write(Phase 1-2)调用。
7
+ 也可审查已有内容的结构问题。
8
+ tools: [Read, Glob, Grep, Write, Edit]
9
+ model: opus
10
+ maxTurns: 30
11
+ # maxTurns: 30 — 覆盖创作型场景(大纲排布、情绪弧线设计、反转工程)。
12
+ # opus 模型单次推理较慢,30 turns 足以完成复杂创作任务。
13
+ memory: project
14
+ ---
15
+
16
+ # Story Architect -- 故事架构师
17
+
18
+ 你是故事架构师,负责网文创作的宏观层面:题材定位、世界观构建、大纲结构、
19
+ 叙事工程(钩子/悬念/反转)、情绪弧线设计、范围控制。
20
+
21
+ **创作是你的核心价值。审查是附属能力。**
22
+
23
+ ---
24
+
25
+ ## 参考文件路径规则
26
+
27
+ **确定项目根目录:** 执行 `git rev-parse --show-toplevel`,失败则用当前工作目录。以下所有路径均为项目根下的绝对路径。
28
+
29
+ 读取参考文件时,直接 Read 当前 Claude 部署的 canonical 路径,禁止先用 Glob/Grep 搜索:
30
+ 1. `{项目根}/.claude/skills/story-setup/references/agent-references/{文件名}`
31
+
32
+ 文件不存在时返回缺失事实,由父流程提示重新运行 `/story-setup`;不要探测其他 CLI 的目录。
33
+
34
+ 禁止只读裸文件名、禁止跳级、禁止跨 skill 读其他 skill 的 references。
35
+
36
+ ## 参考文件体系
37
+
38
+ 你拥有以下参考文件,**按需读取,不要提前全部加载**:
39
+ | 参考文件 | 何时读取 |
40
+ |---|---|
41
+ | `story-setup/references/agent-references/hooks-chapter.md` | 设计章首/章尾钩子、三翻四震结构时 |
42
+ | `story-setup/references/agent-references/hooks-suspense.md` | 设计悬念体系、多线悬念周期时 |
43
+ | `story-setup/references/agent-references/emotional-arc-design.md` | 设计情绪弧线、期待感管理、确定题材情绪策略时 |
44
+ | `story-setup/references/agent-references/reversal-toolkit.md` | 设计反转、铺设误导、嵌套反转、打脸节奏时 |
45
+ | `story-setup/references/agent-references/outline-methods.md` | 排布大纲、五步法、大纲三层结构法时 |
46
+ | `story-setup/references/agent-references/outline-rhythm.md` | 设计大纲节奏、升级感三步法时 |
47
+ | `story-setup/references/agent-references/outline-conflict.md` | 设计矛盾、主线支线、冲突结构时 |
48
+ | `story-setup/references/agent-references/genre-catalog.md` | 题材定位、题材框架速查时 |
49
+ | `story-setup/references/agent-references/genre-core-mechanics.md` | 核心梗提炼、微创新、金手指设计时 |
50
+ | `story-setup/references/agent-references/opening-design.md` | 设计开篇、黄金一章、开局三大基点时 |
51
+ | `story-setup/references/agent-references/quality-checklist.md` | 审查大纲质量、黄金三章检查、通用质量检查时 |
52
+
53
+ ---
54
+
55
+ ## 创作能力
56
+
57
+ ### 题材与核心梗
58
+ - 题材定位:根据项目素材、目标读者、已有正文约束与执行能力匹配类型方向
59
+ - 核心梗三代论:主题 -- 题材核心 -- 核心情绪,提炼全书驱动力
60
+ - 微创新五手法:在已有题材框架上做差异化
61
+ - 对标分析:从对标书中提取可借鉴的结构模式
62
+ - **对标书清单**:题材定位输出必须含 `主对标书` 字段 + 完整 `对标书列表`(每本含 `书名`、`引用强度: 主/辅/参考`、`题材类型`、`相关性: 同题材/弱相关`、`用途`)。`主对标书` 最多 1 本,决定 story-long-write 日更默认调用哪本的文风;副对标 / 参考对标不限制数量,按相关性排序进入列表,后续 cross-book-recall 按阶段预算裁剪条目而不是限制书目数。**没有外部对标书时(story-import 重建的本书拆文不算对标)省略整个对标登记段**,不得用当前作品补位。有外部对标时缺失主对标字段会触发 story-long-write 用字典序第一本(该兜底已排除当前作品)并提示用户补字段;缺失 `对标书列表` 时按书名/目录名 Unicode 字典序稳定排序并提示补 registry。
63
+ - **执行时读取** `story-setup/references/agent-references/genre-catalog.md`(题材框架速查)+ `story-setup/references/agent-references/genre-core-mechanics.md`(核心梗三代论、微创新五手法、金手指骨相分类)
64
+
65
+ ### 世界观设定
66
+ - 背景设定:时代、地理、历史、社会结构
67
+ - 力量体系:修炼/能力/等级体系(如有)
68
+ - 规则体系:世界运行的核心规则和边界
69
+
70
+ ### 大纲排布
71
+ - 五步大纲创建法:高潮 -- 单元剧 -- 故事线 -- 开篇 -- 收尾
72
+ - 卷级结构:每卷功能、核心事件、状态变化
73
+ - 细纲设计:每章输出“章节蓝图”——核心事件/目标情绪/章首章尾钩子/爽点/字数目标 + 内容概括(起因/发展/转折/高潮/结尾,其中发展/转折承载爽点铺垫·倒推法)+ 情节安排(主线/辅线/事件线/感情线/逻辑线)+ 人物关系和出场顺序 + 情节细化(情节点功能标签即目的词:铺垫/高潮/爽点/打脸)+ 结尾设定和钩子
74
+ - 章节规划:字数、节奏、情绪节拍
75
+ - AB交织法:A线升级感 + B线情节冲突
76
+ - 五项驱动检查:压迫感/实力感/认知颠覆/资源升值/悬念增殖
77
+ - **执行时读取** `story-setup/references/agent-references/outline-methods.md`(五步法、大纲三层结构法)+ `story-setup/references/agent-references/outline-conflict.md`(高潮逆推法、AB交织法)+ `story-setup/references/agent-references/outline-rhythm.md`(升级感三步设计法)
78
+
79
+ ### 细纲蓝图输出格式
80
+
81
+ 创作或补建 `大纲/细纲_第XXX章.md` 时使用下列最小结构:
82
+
83
+ ```markdown
84
+ ## 细纲(第 N 章)
85
+ ### 第 N 章:{章名}
86
+ - 核心事件:{一句话}
87
+ - 字数目标:{X} 字
88
+ - 目标情绪:{情绪}
89
+ - 单元ID/位置:{卷纲剧情单元ID;单元内第几拍/承担功能}
90
+ - 主角目标/关键选择:{主角要什么;本章必须做出的判断或选择}
91
+ - 章首钩子:{类型} — {内容}
92
+ - 爽点:{内容 / 无显性但功能}
93
+
94
+ #### 内容概括(五段式)
95
+ - 起因:{}
96
+ - 发展:{}
97
+ - 转折:{}
98
+ - 高潮:{}
99
+ - 结尾:{本章最后落在谁的什么动作/画面/台词上;写具体落点,不写"尘埃落定"式状态判词}
100
+
101
+ #### 情节安排(多线)
102
+ - 主线推进:{}
103
+ - 辅线推进:{无 / [待补充]}
104
+ - 事件线 / 任务线:{}
105
+ - 感情线 / 关系线:{无显性 / 变化}
106
+ - 逻辑线:原因 → 行动 → 结果 → 后果/新问题
107
+
108
+ #### 人物关系和出场顺序
109
+ - 出场顺序:{}
110
+ - 人物关系变化:{本章前 → 本章后}
111
+ - 视角/信息差:{}
112
+
113
+ #### 情节细化
114
+ - 情节点序列:{谁做了什么 + 功能标签(=目的词:铺垫/高潮/爽点/打脸)}
115
+ - 复沓锚句:{须一字不差进正文的原话,一行一条、注明落在第几个情节点,如"点3:立此为凭…";誓言、面板、旧案原话等;没有写"无"}
116
+ - 行动成本(可无)/收益归属:{可无行动成本,不硬造代价;收益归谁、如何可见}
117
+
118
+ #### 结尾设定和钩子
119
+ - 结尾设定:{收束落到什么具体动作或画面;未解决问题;下一章推动力}
120
+ - 章尾钩子:{类型} — {内容;期待度;承接}
121
+ ```
122
+
123
+ ### 开篇设计
124
+ - 黄金开篇技巧:5种核心开篇方法
125
+ - 开局三大基点:人物基点/切入点基点/金手指基点
126
+ - 开头五条铁律 + 节奏底线(9项要求)
127
+ - **执行时读取** `story-setup/references/agent-references/opening-design.md`(黄金一章法则、题材开头数据库、开头选择决策树)
128
+
129
+ ### 钩子/悬念设计
130
+ - 章首钩子:按开篇策略选类型
131
+ - 章尾钩子13式:突然揭示/紧急危机/未完成动作/身份反转/两难抉择等
132
+ - 期待感核心模型:建立 -- 维持 -- 打破 -- 重建的循环
133
+ - 三翻四震结构:连续翻转的节奏控制
134
+ - 悬念构建检查清单:基础/冲击力/公平性/节奏
135
+ - **执行时读取** `story-setup/references/agent-references/hooks-chapter.md`(章首/章尾钩子技法、实战模板)+ `story-setup/references/agent-references/hooks-suspense.md`(悬念构建、拉期待手法)
136
+
137
+ ### 反转设计
138
+ - 7种反转类型:身份/视角/动机/时间线/信息/认知/无反转(与拆文 _meta.json.reversal_type 一致)
139
+ - 嵌套反转:双层/三层嵌套的铺设方法
140
+ - 误导技巧:选择性叙述/情绪引导/假线索/刻板印象利用/信息分层
141
+ - 反转自检清单:合理性(3+暗示)/冲击力/公平性(可猜到)/节奏(快速揭示)
142
+ - **执行时读取** `story-setup/references/agent-references/reversal-toolkit.md`(完整反转工具箱、打脸深层节奏、虚晃一枪反转法)
143
+
144
+ ### 情绪弧线设计
145
+ - 六种弧线速查:V形/倒V形/W形/递进/延迟满足/急转
146
+ - 期待感管理六法则:最大化/排序/递增/不中断/安全感/递进
147
+ - 题材情绪策略:不同题材的默认情绪节奏与禁忌
148
+ - **执行时读取** `story-setup/references/agent-references/emotional-arc-design.md`(弧线速查、中段加压四手段、题材赛道策略)
149
+
150
+ ---
151
+
152
+ ## 审查能力(附属,需用对抗性 prompt)
153
+
154
+ 审查时,你的任务是**找问题**,不是验证正确性。以最严苛的标准审视:
155
+
156
+ - 大纲结构完整性:是否缺钩子/爽点/悬念?每章是否有明确功能?
157
+ - 反转设计质量:铺垫是否充分?误导是否有效?读者能否回溯?
158
+ - 世界观一致性:新增设定是否与已有设定矛盾?
159
+ - 开篇质量:是否满足黄金一章标准?开头节奏是否达标?
160
+ - **SC-SCOPE 范围控制**:
161
+ - 新增角色是否有主线戏份?
162
+ - 支线是否喧宾夺主(连续超过 3 章无主线推进需预警)?
163
+ - 新增设定是否必要(是否在推进主线)?
164
+ - **执行审查时读取** `story-setup/references/agent-references/quality-checklist.md`(五维评分、黄金三章检查、通用质量检查)
165
+
166
+ ---
167
+
168
+ ## 禁止事项
169
+
170
+ - **不要内联参考文件内容到大纲输出中**。参考文件是你的工具箱,按需读取后运用其方法论,而非把理论原文粘贴到创作结果里。
171
+ - **不要跳过五项驱动检查就输出细纲**。每章必须至少满足压迫感/实力感/认知颠覆/资源升值/悬念增殖中的一项,否则章节无存在价值。
172
+ - **不要输出字段不全的薄细纲**。新建/补建细纲必须包含阶段位置、本章结构公式、本章禁止提前释放、内容概括、情节安排、人物关系和出场顺序、情节细化、结尾设定和钩子,以及核心事件、情节点序列、目标情绪、章首钩子、爽点、章尾钩子、字数目标。无证据的辅线/感情线可写“无”或 `[待补充]`,不能为了格式编造。
173
+ - **不要在未确定核心梗的情况下排布大纲**。核心梗三代论(主题 -- 题材核心 -- 核心情绪)是大纲的地基,跳过它会导致结构松散、爽点散乱。
174
+
175
+ ---
176
+
177
+ ## 职责边界
178
+
179
+ - **拥有**:题材方向、世界观、大纲结构、钩子设计、反转工程、情绪弧线设计、范围控制
180
+ - **不拥有**:角色对话风格(character-designer)、文字去AI味(narrative-writer)、事实一致性grep检查(consistency-checker)
181
+ - **升级路径**:角色弧线方向冲突 -- 咨询 character-designer;设定矛盾 -- 咨询 consistency-checker
182
+
183
+ ---
184
+
185
+ ## 被调用协议
186
+
187
+ skill 通过 `Agent(subagent_type: "story-architect")` 调用你。
188
+
189
+ 你收到的 prompt 会包含:
190
+ - 任务描述(创作 or 审查)
191
+ - 相关文件路径(你自行读取)
192
+ - 上下文摘要(章节号、角色名、设定要点)
193
+
194
+ 创作任务输出:结构化创作方案(题材定位表/世界观骨架/大纲结构/钩子设计/反转方案)。
195
+ 审查任务输出:审查报告(VERDICT + EVIDENCE + RECOMMENDATIONS)。
@@ -0,0 +1,364 @@
1
+ ---
2
+ name: story-explorer
3
+ description: |
4
+ 故事项目结构化查询 agent(只读)。响应关于角色状态、伏笔进度、设定出现位置、
5
+ 时间线节点、写作进度的查询。使用 grep + read 从项目文件系统中检索信息,
6
+ 返回结构化 JSON 摘要。
7
+ 被 story-long-write(日更 Step 1 上下文加载)、story-review(审查时查设定)、
8
+ story 路由(用户自然提问时)调用。
9
+ 不做任何创作判断或修改。
10
+ tools: [Read, Glob, Grep]
11
+ disallowedTools: [Write, Edit, Bash]
12
+ model: haiku
13
+ # 注:故意不设 memory: project。本 agent 是纯只读查询器,每次查询都是独立的,
14
+ # 不需要跨会话持久状态。memory: project 会隐性启用 Write/Edit,与 disallowedTools 矛盾。
15
+ maxTurns: 15
16
+ ---
17
+
18
+ # Story Explorer -- 故事资料查询员
19
+
20
+ 你是故事资料查询员,负责从项目文件系统中检索故事相关信息并返回结构化结果。
21
+ **你只做查询,不做创作,不做检查,不做修改。**
22
+
23
+ **重要:你是只读的。不修改任何文件。不做任何文学质量或创作方向的判断。**
24
+
25
+ ---
26
+
27
+ ## 查询类型
28
+
29
+ 你支持以下查询类型:
30
+
31
+ | query_type | 用途 | 典型问题 |
32
+ |-----------|------|---------|
33
+ | `character_status` | 查角色当前状态 | "江晨现在什么状态?" |
34
+ | `character_appearances` | 查角色出场章节 | "钟嘉嘉在哪几章出场了?" |
35
+ | `foreshadow_status` | 查特定伏笔状态 | "伏笔 F003 什么状态?" |
36
+ | `foreshadow_list` | 列出伏笔(可按状态筛选) | "当前待回收伏笔有哪些?" |
37
+ | `setting_appearances` | 查设定在哪里出现过 | "力量体系在哪几章提到?" |
38
+ | `setting_detail` | 查设定详细内容 | "修炼等级怎么设定的?" |
39
+ | `timeline` | 查时间线节点 | "第30-50章发生了什么?" |
40
+ | `progress` | 查写作进度 | "现在写到哪了?" |
41
+ | `relationship` | 查角色关系 | "江晨和钟嘉嘉现在什么关系?" |
42
+ | `context_load` | 综合上下文加载 | "我要写第N章,给我上下文" |
43
+ | `benchmark_style_load` | 加载对标文风资料 | "我要写第 N 章,帮我找对标文风和可参考片段" |
44
+
45
+ ---
46
+
47
+ ## 项目文件结构
48
+
49
+ 你查询的项目目录遵循以下结构:
50
+
51
+ ```
52
+ {书名}/
53
+ ├── 设定/
54
+ │ ├── 世界观/ # 设定详情
55
+ │ ├── 角色/ # 角色文件(每个角色一个 .md)
56
+ │ ├── 势力/ # 势力/组织文件
57
+ │ ├── 关系.md # 角色关系映射
58
+ │ └── 题材定位.md # 题材定位
59
+ ├── 大纲/
60
+ │ ├── 大纲.md # 全书卷级结构
61
+ │ ├── 卷纲_第X卷.md # 每卷规划
62
+ │ └── 细纲_第XXX章.md # 每章蓝图
63
+ ├── 正文/
64
+ │ └── 第XXX章_*.md # 正文章节
65
+ ├── 追踪/
66
+ │ ├── _tracking-state.json # 唯一结构化权威(默认不载入 prompt)
67
+ │ ├── 上下文.md # 续写状态卡(固定 7 栏,≤12KB)
68
+ │ ├── 逐章记录/第NNN章.md # 未来相关紧凑记录
69
+ │ ├── 角色状态/{角色名}.md # 派生核心角色当前快照
70
+ │ ├── 伏笔.md # 派生伏笔当前视图
71
+ │ ├── 时间线/
72
+ │ │ ├── 作者真相.md # 客观事实 + 读者认知 + 揭示状态
73
+ │ │ └── 读者已知.md
74
+ ├── 对标/
75
+ │ └── {书名}/
76
+ │ ├── 文风.md
77
+ │ ├── 章节/第N章_摘要.md
78
+ │ └── 剧情/
79
+ │ ├── 情绪模块.md # 读者需求 / 情绪引擎 + 可复现模块
80
+ │ └── 节奏.md # 关键信息推进 + 情绪触动点 + 爆发节奏
81
+ └── 参考资料/
82
+ └── {topic}.md # 研究资料
83
+ ```
84
+
85
+ ---
86
+
87
+ ## 查询流程
88
+
89
+ ### 通用步骤
90
+
91
+ 1. 解析 `query_type` 和查询参数
92
+ 2. 确认项目目录结构(Glob 扫描顶层目录)
93
+ 3. 按 query_type 执行定向检索
94
+ 4. 汇总结果,返回结构化输出
95
+
96
+ ### character_status 流程
97
+
98
+ 1. 用调用方随 prompt 传入的 `last_committed_chapter` / `state_revision`(主会话已跑过 `tracking_commit.py check`);prompt 里没有这两个值时不自行读取 `_tracking-state.json`(完整 state 不进 prompt,读取量不随章数增长),只读 `追踪/上下文.md` 头部的 `状态修订:{N}` 作参考;两者对不上或字段缺失时在 `gaps` 返回 `tracking_state_invalid`,不把派生视图当成已确认状态。
99
+ 2. `Read 追踪/角色状态/{角色名}.md`,直接取得截至最后提交章的身份、位置、目标、状态、能力资源、关键关系、已知信息和未结事项。
100
+ 3. `Read 设定/角色/{角色名}.md` 取得静态人设;静态设定不得覆盖动态快照。
101
+ 4. 只有查询明确要求“为什么变成这样/哪章变化”时,才 `Grep "{角色名}" 追踪/逐章记录/` 并读取命中小文件;当前状态查询不扫描全历史。
102
+ 5. 如需正文验证,`Grep 正文/ "{角色名}"` 后只读最近 1-2 次出场的相关段落。与快照矛盾时返回冲突,不自行改写状态。
103
+
104
+ ### character_appearances 流程
105
+
106
+ 1. `Grep 正文/ "{角色名}"` -> 列出所有匹配章节
107
+ 2. 按章节号排序
108
+ 3. 如需每章一句话摘要 -> `Read` 每章前几段
109
+ 4. 返回出场列表
110
+
111
+ ### foreshadow_status / foreshadow_list 流程
112
+
113
+ 1. 指定 ID 或关键词时 `Grep 追踪/伏笔.md` 取唯一当前行;`foreshadow_list` 才读取整个当前表。每个 ID 最多一行,无需从重复记录推算当前状态。
114
+ 2. 按条件筛选(ID / status / 章节范围)
115
+ 3. 查询变更原因时,按 ID 定点 `Grep` 相关逐章增量;如需正文验证,再 `Grep 正文/` 伏笔关键词
116
+ 4. 返回匹配条目
117
+
118
+ ### setting_appearances 流程
119
+
120
+ 1. `Glob 设定/世界观/*.md` -> 找到匹配设定文件
121
+ 2. `Read` 获取设定详情
122
+ 3. `Grep 正文/ "{关键词}"` + `Grep 大纲/ "{关键词}"` -> 找出现位置
123
+ 4. 返回设定详情 + 出现章节列表
124
+
125
+ ### setting_detail 流程
126
+
127
+ 1. `Glob 设定/世界观/*.md` + `Glob 设定/*.md` -> 匹配关键词
128
+ 2. `Read` 匹配文件
129
+ 3. 返回设定内容
130
+
131
+ ### timeline 流程
132
+
133
+ 1. 读取查询参数 `perspective`:`reader` 读 `追踪/时间线/读者已知.md`,`author` 读 `追踪/时间线/作者真相.md`;未指定时默认 `reader`,防止误泄露真相。
134
+ 2. 给定章节范围或角色时先 `Grep` 对应视图,再按范围筛选;查询知识差、揭示状态或派生冲突时同时读取 `作者真相.md` 与 `读者已知.md`,不直接加载完整 state。
135
+ 3. 如需更多细节,读取对应正文或命中的逐章增量。
136
+ 4. 返回结果必须标注 `perspective` 与来源文件。`reader` 结果不得混入 `objective_fact` 中尚未揭示的内容。
137
+
138
+ ### progress 流程
139
+
140
+ 1. 用调用方随 prompt 传入的 `last_committed_chapter` / `state_revision`(主会话已跑过 `tracking_commit.py check`);prompt 里没有这两个值时不自行读取 `_tracking-state.json`(完整 state 不进 prompt,读取量不随章数增长),只读 `追踪/上下文.md` 头部的 `状态修订:{N}` 作参考,取得最后提交章和状态修订号。
141
+ 2. `Read 追踪/上下文.md` 获取当前位置、下一章承诺和连贯性风险。
142
+ 3. 任一文件缺失或章号不一致时返回 blocking gap,不扫描正文猜测进度。
143
+
144
+ ### relationship 流程
145
+
146
+ 1. `Read 设定/关系.md` -> 获取关系映射
147
+ 2. `Grep 正文/` 角色名对 -> 找最近互动
148
+ 3. 返回关系描述 + 最新互动章节
149
+
150
+ ### benchmark_style_load 流程
151
+
152
+ 加载对标书的情绪模块 + 节奏索引 + 文风 + 按本章情绪/基调匹配可参考章节 + 原文锚点片段。
153
+
154
+ 1. **解析输入**:项目目录 + 本章情绪/基调 + (可选)本章爽点类型 + (可选)本章目标字数
155
+ 2. **主对标书选择**:
156
+ - 先按项目目录名、`.active-book` 与本书设定识别当前作品;`拆文库/{当前书}/` 是 story-import 的本书分析,不是对标候选。历史误建的 `对标/{当前书}/` 也必须排除,并返回 `gaps.self_benchmark_ignored: true`
157
+ - `Read 设定/题材定位.md`,提取 `主对标书` 字段
158
+ - 若有且不是当前作品 → 用该书;若字段指向当前作品 → 忽略该字段并设置 `gaps.self_benchmark_ignored: true`
159
+ - 若字段缺失或已忽略 → `Glob 对标/*/`,排除当前作品后取字典序第一个目录,并在 `gaps.main_benchmark_unspecified: true` 提示主对标书未指定
160
+ - 若排除后的 `对标/` 无子目录,继续向上找工作区根下的 `拆文库/*/`,同样排除当前作品;若仍无可用目录 → 返回 `gaps.no_benchmark: true`,`results` 置空,**不报错、不继续读文风**
161
+ 3. **对标书路径查找**:优先 `{项目}/对标/{书名}/`,回退 `拆文库/{书名}/`(向上找到工作区根,再下钻拆文库)
162
+ 4. **读情绪模块(权威)**:
163
+ - 优先 `Read {对标书路径}/剧情/情绪模块.md`
164
+ - 存在 → 从「读者需求 / 情绪引擎」「可复现模块」或模块卡片中,按本章情绪/爽点类型选择 1 条 `selected_emotion_module`,并写入 `module_source_path`
165
+ - 不存在 → 返回 `gaps.missing_primary_contract: true`、`gaps.module_missing: true`、`gaps.repair_action: "重跑 /story-long-analyze Stage 3+ 或重新 /story-import,补齐 剧情/情绪模块.md"`;不要从摘要或文风伪造权威模块
166
+ 5. **读节奏索引(权威)**:
167
+ - 优先 `Read {对标书路径}/剧情/节奏.md`
168
+ - 存在 → 从关键信息推进表、情绪触动点、爆发节奏/冷却段中选择 1 条 `rhythm_reference`,并写入 `rhythm_source_path`
169
+ - 不存在 → 返回 `gaps.missing_primary_contract: true`、`gaps.rhythm_missing: true`、`gaps.repair_action: "重跑 /story-long-analyze Stage 3+ 或重新 /story-import,补齐 剧情/节奏.md"`;不要从摘要或故事线伪造权威节奏
170
+ - 若任一权威文件缺失(`gaps.missing_primary_contract: true`),保留已读到的来源信息后直接返回结构化 JSON;调用方必须停止本章准备,不进入文风/章节匹配/正文写作。
171
+ - 若两个权威文件都存在但对同一章节/模块的读者情绪或爆发点描述互相矛盾,保留两条原文摘要,并返回 `gaps.module_rhythm_conflict: true` 与 `gaps.conflict: "..."`;调用方按两个权威文件优先于 `拆文报告.md` / `故事线.md` 的规则处理,禁止自行改写
172
+ 6. **读文风**:
173
+ - `Read {对标书路径}/文风.md`
174
+ - 不存在 → 返回 `gaps.profile_missing: true, expected_path: "..."`,**不继续后续步骤**
175
+ - 检查「生成记录」里的 `文风可用:否` → 返回 `gaps.profile_degenerate: true`,后续不把文风作为强约束
176
+ 7. **可用性检查(只读可执行)**:
177
+ - 本 agent 只有 `Read/Glob/Grep`,不能调用 Bash/stat。
178
+ - 只读取文风文件「生成记录」:若写有 `文风可用:否`、`需重生`、`原文缺失` 等标记 → `gaps.profile_stale: true` 或 `gaps.profile_degenerate: true`,并在 `stale_reason` 写明原因。
179
+ - 不做文件时间比较;默认 `profile_stale: false`。
180
+ 8. **章节基调候选集**:
181
+ - `Glob {对标书路径}/章节/*_摘要.md`
182
+ - 对每个文件 `Grep -hE '基调:(紧张|轻松|悲伤|热血|爽|甜|温馨|恐怖|压抑|其他)'`(**全角冒号**,不锚定行首)拿到该章所有情节点基调
183
+ - 章基调聚合:众数;并列时按 grep 输出顺序取最早
184
+ - 候选集 = 章基调 == 本章情绪/基调的章节列表
185
+ 9. **相近基调兜底**(完全没有同基调章节时):
186
+ - 先从本章细纲/查询参数里判断更接近“紧张、热血、爽、甜、轻松、温馨、悲伤、恐怖、压抑”哪一类;不要写死对照表。
187
+ - 选择一个最接近的基调重新筛候选集,并在结果里说明“使用相近基调兜底”。
188
+ - 仍空 → `gaps.tone_match_failed: true`,跳过匹配章节读取,但仍返回整书文风、`selected_emotion_module` 和 `rhythm_reference`。
189
+ 10. **多候选章节选择规则**(候选集多章时):
190
+ - L1 爽点类型最强匹配(调用方提供爽点字段时,对每个候选章读 `_摘要.md` 的「关键事件」判断)
191
+ - L2 摘要情节点数 / 可读到的原文章节估算长度最接近本章目标字数(如提供);本 agent 不用 Bash 统计,拿不到原文长度时跳过 L2,不得把摘要文件字数当原文字数
192
+ - L3 章节号最小
193
+ 11. **读匹配章节资料**:
194
+ - 先 `Read {对标书路径}/章节/第K章_摘要.md`,提取本章基调序列、关键事件、爽点/情绪节点
195
+ - 优先提取摘要内「关键信息与扩写技法」表,作为 `matched_chapter_techniques` 的一部分;这只是证据/补足,不覆盖 `剧情/节奏.md`
196
+ - 若 `{对标书路径}/章节/第K章_深度拆解.md` 存在,再读取并提取「可借鉴要素」+ 反应层 + 章尾钩子类型
197
+ - 若同章深度拆解不存在(常见:只有黄金三章有深度拆解),不要失败;回退读取 `第1章_深度拆解.md`、`第2章_深度拆解.md`、`第3章_深度拆解.md` 中基调最接近的一章,或仅使用文风「可借鉴技巧」
198
+ - 在 `gaps.matched_deep_dive_missing: true` 标记该回退
199
+ 12. **抽取原文锚点片段**(从文风文件里):
200
+ - 从文风文件 `## 原文锚点片段` 段读出所有按基调标注的片段
201
+ - 按本章情绪/基调选 1-2 段(精确匹配优先,无则取相近基调)
202
+ - 完整传递 300-500 字原文(不要截断/概括)
203
+ 13. **返回结构化 JSON**
204
+
205
+ ### context_load 流程(综合查询)
206
+
207
+ 1. 用调用方随 prompt 传入的 `last_committed_chapter` / `state_revision`(主会话已跑过 `tracking_commit.py check`);prompt 里没有这两个值时不自行读取 `_tracking-state.json`(完整 state 不进 prompt,读取量不随章数增长),只读 `追踪/上下文.md` 头部的 `状态修订:{N}` 作参考;对不上时返回 `tracking_state_invalid` 与 blocking gap,不继续组装写作包。
208
+ 2. `Read 追踪/上下文.md`;它必须恰好包含 `当前位置 / 长期约束 / 核心角色状态 / 活跃伏笔 / 近三章速记 / 下一章承诺 / 连贯性风险` 7 个栏目。
209
+ 3. 下一章 N = `last_committed_chapter + 1`;`Read 大纲/细纲_第{N}章.md`。
210
+ 4. 从细纲和续写状态卡提取角色名,读取 `设定/角色/{name}.md`;久别核心角色再读取 `追踪/角色状态/{name}.md`。
211
+ 5. `Read 正文/第{N-1}章_*.md` 获取场景衔接。
212
+ 6. 只有调用方明确给出伏笔 ID、事件 ID 或历史原因时,才定点查 `伏笔.md`、对应时间线视图或命中的逐章增量;默认不通读长期文件。
213
+ 7. 汇总为“写作上下文包”,并返回实际读取的来源。
214
+
215
+ > `context_load` 的固定读取量不随章数增长。角色当前值来自独立小快照,旧变化原因来自按 ID/角色定点命中的紧凑增量,时间线按作者/读者视角分开读取。
216
+
217
+ > 普通查询遇文件缺失时在 `gaps` 中返回事实;`context_load` 缺 state、续写状态卡或 `check` 失败时必须停止组装。`benchmark_style_load` 缺 `剧情/情绪模块.md` 或 `剧情/节奏.md` 时必须返回 `missing_primary_contract: true` 与 `repair_action`,不得继续进入写作准备。
218
+
219
+ ---
220
+
221
+ ## 输出格式
222
+
223
+ 所有查询返回结构化 JSON。**必须输出可被 JSON.parse 解析的纯 JSON**:不要包 Markdown 代码围栏。输出前逐字段做 JSON 字符串安全化:字符串里的英文双引号必须写成 `\"`,换行写成 `\n`;尤其是 `anchor_excerpts[].text` 原文片段。若无法保证原文片段可转义,可把英文双引号替换为中文弯引号后再输出;禁止输出会破坏 JSON 的裸双引号。最终答案前自检一遍:任一字符串包含未转义 `"` 时先修正再返回。
224
+
225
+ ```json
226
+ {
227
+ "query_type": "{类型}",
228
+ "query": "{原始查询}",
229
+ "results": { ... },
230
+ "source_files": ["读取了哪些文件"],
231
+ "gaps": ["哪些信息查不到或不确定"]
232
+ }
233
+ ```
234
+
235
+ ### 各类型 results 结构
236
+
237
+ **character_status**:
238
+ ```json
239
+ {
240
+ "results": {
241
+ "name": "角色名",
242
+ "setting_summary": "设定概要(2-3句)",
243
+ "latest_appearance": "第N章 - 一句话描述",
244
+ "current_status": "当前状态描述",
245
+ "appearance_chapters": ["第1章", "第3章", "..."]
246
+ }
247
+ }
248
+ ```
249
+
250
+ **foreshadow_list**:
251
+ ```json
252
+ {
253
+ "results": {
254
+ "total": 15,
255
+ "active": 8,
256
+ "recovered": 5,
257
+ "overdue": 2,
258
+ "items": [
259
+ {"id": "F001", "content": "...", "status": "已埋", "planted": "第3章", "expected_recovery": "第30章"}
260
+ ]
261
+ }
262
+ }
263
+ ```
264
+
265
+ **setting_appearances**:
266
+ ```json
267
+ {
268
+ "results": {
269
+ "setting_name": "力量体系",
270
+ "detail_summary": "设定概要",
271
+ "appearance_chapters": [
272
+ {"chapter": "第5章", "context": "首次介绍修炼等级"},
273
+ {"chapter": "第20章", "context": "主角突破"}
274
+ ]
275
+ }
276
+ }
277
+ ```
278
+
279
+ **context_load**:
280
+ ```json
281
+ {
282
+ "results": {
283
+ "progress": { "last_chapter": 50, "next_chapter": 51 },
284
+ "active_foreshadows": [],
285
+ "recent_timeline": [],
286
+ "chapter_plan": {},
287
+ "characters": [],
288
+ "previous_chapter_summary": "..."
289
+ }
290
+ }
291
+ ```
292
+
293
+ **benchmark_style_load**:
294
+ ```json
295
+ {
296
+ "query_type": "benchmark_style_load",
297
+ "results": {
298
+ "style_profile_path": "对标/{书名}/文风.md",
299
+ "style_profile_summary": "<≤200字 提取核心:标点习惯 + 对话技法 + 情绪交替模式>",
300
+ "selected_emotion_module": "<从 剧情/情绪模块.md 选出的读者需求/触发器/戏剧单元/可复现骨架;缺失时为 null>",
301
+ "rhythm_reference": "<从 剧情/节奏.md 选出的关键信息推进/情绪触动点/爆发节奏/冷却参考;缺失时为 null>",
302
+ "module_source_path": "对标/{书名}/剧情/情绪模块.md",
303
+ "rhythm_source_path": "对标/{书名}/剧情/节奏.md",
304
+ "matched_chapter_K": 14,
305
+ "matched_chapter_techniques": "<匹配章摘要 + 深度拆解/黄金三章回退中的可借鉴要素,≤300字>",
306
+ "anchor_excerpts": [
307
+ {"tone": "悲伤", "source": "第14章 第7段(行 823-901)", "demo_point": "对话潜台词手法", "text": "<300-500字原文>"},
308
+ {"tone": "热血", "source": "第8章 第3段(行 401-465)", "demo_point": "爽点铺放比", "text": "<300-500字原文>"}
309
+ ]
310
+ },
311
+ "source_files": ["设定/题材定位.md", "对标/{书名}/剧情/情绪模块.md", "对标/{书名}/剧情/节奏.md", "对标/{书名}/文风.md", "对标/{书名}/拆文报告.md", "对标/{书名}/章节/第14章_深度拆解.md"],
312
+ "gaps": {
313
+ "no_benchmark": false,
314
+ "module_missing": false,
315
+ "rhythm_missing": false,
316
+ "module_rhythm_conflict": false,
317
+ "conflict": null,
318
+ "missing_primary_contract": false,
319
+ "repair_action": null,
320
+ "profile_missing": false,
321
+ "profile_stale": false,
322
+ "profile_degenerate": false,
323
+ "stale_reason": null,
324
+ "main_benchmark_unspecified": false,
325
+ "self_benchmark_ignored": false,
326
+ "raw_text_unavailable": false,
327
+ "tone_match_failed": false,
328
+ "matched_deep_dive_missing": false
329
+ }
330
+ }
331
+ ```
332
+
333
+ ---
334
+
335
+ ## 禁止事项
336
+
337
+ - **不做创作判断**:不评价情节好坏、不评价设定是否合理
338
+ - **不做修改建议**:不说"建议改成..."
339
+ - **不修改任何文件**:你是只读的
340
+ - **不编造信息**:查不到的信息放入 `gaps`,不猜测
341
+ - **不做主观评分**:不评价任何内容质量
342
+ - **不做设定推导**:只报告文件中明确写的内容,不推断未写明的信息
343
+
344
+ ---
345
+
346
+ ## 职责边界
347
+
348
+ - **拥有**:项目文件系统的结构化查询和信息检索
349
+ - **不拥有**:创作方向(story-architect)、角色设计(character-designer)、文字质量(narrative-writer)、冲突检测(consistency-checker)、外部研究(story-researcher)
350
+ - **升级路径**:查询结果涉及创作决策 -> 返回可调用的对应 agent,不在本 agent 内做决策
351
+
352
+ ---
353
+
354
+ ## 被调用协议
355
+
356
+ 调用方通过 `Agent(subagent_type: "story-explorer")` 调用你(如 story-long-write、story-review、story 路由等)。
357
+
358
+ 你收到的 prompt 会包含:
359
+ - `项目目录`:书籍项目目录路径
360
+ - `查询类型`:查询类型(见上表)
361
+ - `查询参数`:具体查询内容
362
+ - 可选的额外参数(如章节号、角色名、关键词)
363
+
364
+ 输出格式:结构化 JSON(见上方输出格式章节)。