@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,82 @@
1
+ # 核心角色当前快照反推规则(长篇导入)
2
+
3
+ > 仅用于 `story-import` 导入长篇。输出不是一份不断追加的角色历史,而是初始化事务里的 `character_snapshots`;`tracking_commit.py init` 会为每个核心角色生成 `追踪/角色状态/{角色名}.md`。
4
+
5
+ ## 一、输入来源
6
+
7
+ 只从已经落盘的拆书产物反推,不重读 `原文/`:
8
+
9
+ | 输入 | 用途 |
10
+ |---|---|
11
+ | `拆文库/{书名}/角色/{角色名}.md` | 身份、能力、目标、成长弧线、出场记录 |
12
+ | `拆文库/{书名}/角色/角色关系.md` | 截至最后完整章的关键关系 |
13
+ | `拆文库/{书名}/章节/第N章_摘要.md` | 最后位置、最新状态、已知信息与未结事项 |
14
+ | `拆文库/{书名}/剧情/*.md` | 阵营/身份转折、阶段目标和长期冲突 |
15
+ | 初始化事务中的伏笔与时间线候选 | 核对角色未结事项及其可知范围 |
16
+
17
+ ## 二、追踪对象
18
+
19
+ 只为主角、反派、核心配角建立独立快照。临时路人和只承担一次功能的角色不建文件。边界不清时优先不建,后续角色真正进入复用状态时再由逐章事务创建。
20
+
21
+ ## 三、反推方法
22
+
23
+ 对每个核心角色,以最后完整导入章 N 为截面,分别确定:
24
+
25
+ 1. `identity`:截至 N 章实际成立的身份/职业,不写未来晋升计划。
26
+ 2. `location`:最后落点或下一章开始前可确定的位置。
27
+ 3. `goal`:角色当前正在追求的具体目标。
28
+ 4. `state`:身体、情绪、名望、立场中会影响续写的当前状态;只写必要信息。
29
+ 5. `abilities_resources`:当前确实掌握的能力、物品、权限、作品或人脉,最多 8 条。
30
+ 6. `relationships`:与后续会复用角色的当前关系,最多 8 条。
31
+ 7. `knowledge`:角色本人已经知道、且会影响其行为的信息,最多 8 条。作者真相不能误写成角色已知。
32
+ 8. `open_threads`:角色相关的未结事项,最多 8 条;必须有已写正文证据,纯未来设计留在大纲。
33
+
34
+ 若同一字段有多次变化,只取截至 N 章的当前值,不把变化史塞进快照。历史变化由后续 `逐章记录/第NNN章.md` 承担;导入旧章不补造这些记录。
35
+
36
+ ## 四、初始化 JSON 形状
37
+
38
+ 以下示例来自 demo《让你管账号,你高燃混剪炸全网》第 10 章:
39
+
40
+ ```json
41
+ {
42
+ "江晨": {
43
+ "identity": "火箭军文工团宣传兵;军宣爆款创作者",
44
+ "location": "火箭军文工团高层看片会",
45
+ "goal": "完成五天百万粉任务,继续做出真正能打的军宣内容",
46
+ "state": "专业团队重拍版反向坐实手机原版的价值,军内认可继续抬升",
47
+ "abilities_resources": [
48
+ "前世 MCN 爆款运营经验",
49
+ "《中国军魂》伴奏",
50
+ "大师级导演能力"
51
+ ],
52
+ "relationships": [
53
+ "钟嘉嘉持续提供军报资源",
54
+ "周薄森和张耀祖已明确认可其创作能力"
55
+ ],
56
+ "knowledge": [
57
+ "《军报》采访稿已经过审",
58
+ "高层决定继续采用《诸君,且听龙吟》手机原版"
59
+ ],
60
+ "open_threads": [
61
+ "五天百万粉任务尚未结算",
62
+ "钟嘉嘉所谓只猜对一半仍未解释"
63
+ ]
64
+ }
65
+ }
66
+ ```
67
+
68
+ 工具据此生成的文件固定包含:截至章节、身份、位置、当前目标、身心状态、能力与资源、关键关系、已知信息、未结事项。模型不得另写一套 Markdown 模板。
69
+
70
+ ## 五、残稿与分批导入
71
+
72
+ - 最后一章是残稿:所有快照截至残稿之前的最后完整章;残稿中的动作、获得物、关系变化不得提前生效。
73
+ - 分批导入:快照只表示本次已导入范围的当前状态;扩大导入范围时重新执行一次完整导入,不在旧快照上追加历史段落。
74
+
75
+ ## 六、质量检查
76
+
77
+ - [ ] 每个文件对应一个核心角色,无功能角色堆积
78
+ - [ ] 所有字段都是截至最后完整章的当前值
79
+ - [ ] 角色已知信息没有混入作者真相
80
+ - [ ] 未结事项都有正文证据,未来设计仍在大纲
81
+ - [ ] 单角色快照目标不超过 4096 字节;确有必要可放宽,但不得超过 8192 字节硬上限
82
+ - [ ] `tracking_commit.py check` 通过
@@ -0,0 +1,169 @@
1
+ # 正文格式与小节结构
2
+
3
+ > 写作前必读。以下格式是当前仓库约定的默认正文交付格式;用户或目标平台有明确要求时,以用户/平台要求覆盖。
4
+ >
5
+ > **适用范围**:段落格式(戏剧单元/镜头优先,短段为底色,长段用于完整推理、氛围和情绪链)和对话格式适用于所有体裁。小节(beat)结构和字数标准仅适用于短篇。长篇小说字数以本章细纲的 `字数目标` 与统一 90% 放行下限为准。
6
+
7
+ ---
8
+
9
+ ## 章节标记
10
+
11
+ 默认格式(按灵活度排序):
12
+
13
+ | 格式 | 平台适用 | 示例 |
14
+ |------|----------|------|
15
+ | `###1.` | 短篇默认 | `###1.` `###2.` `###3.` |
16
+ | `###第一章` | 部分平台 | `###第一章` `###第二章` |
17
+ | `1.`(纯数字) | 知乎 | `1.` `2.` `3.`(无 ### 前缀) |
18
+
19
+ **规则**:全文统一一种格式,不要混用。短篇推荐 `###1.` 或纯数字,简洁高效。
20
+
21
+ ---
22
+
23
+ ## 段落格式
24
+
25
+ ### 核心规则:戏剧单元优先
26
+
27
+ 默认交付排版是**按戏剧单元/镜头自然断段,段落紧密排列**。不要把固定字数当成强制切刀;先判断“一件事/一个推理链/一个情绪变化”是否完成。
28
+
29
+ - 一段承载一个戏剧单元:一个动作链、一个线索发现、一次视线切换、一轮心理判断,或一条连续的氛围/推理/情绪链。
30
+ - 场景结束、一件事结束、新动作、新物件、新信息、新对话另起一段;同一瞬间的发生、感知、反应应织在一起,不拆成动作层/感知层/反应层。
31
+ - 正文相邻段落之间**只允许一个换行符 `\n`**;不得出现空行或连续换行 `\n\n`(紧密排列)。
32
+ - 无缩进(平台渲染器自行处理,不需要 `  ` 或空格)。
33
+ - 长度只作诊断:读起来拥挤、混入多个拍点、或手机屏上难以跟读时才拆;完整推理、氛围铺陈、情绪递进未结束时,允许稍长段保留连贯性。
34
+
35
+ ### 段落节奏(长短交错 + 疏密有别)
36
+
37
+ 短段快读,是网文手机阅读的底色;长段负责承载完整推理、氛围和情绪沉淀。**忌通篇同长度**,也忌把每段按同一字数阈值切开:
38
+
39
+ - **长短交错**:高潮、打脸、反转压到最短(单句成段);推理链、环境压迫、情绪沉淀、章节收束可保留较长段,让读者读完一个完整变化。
40
+ - **疏密有别(详略)**:爽点、转折 beat 写密(感知、动作、细节铺满);过场、连接 beat 写疏(1-2 句带过,不平均用力)。每个 beat 一样长、一样细,正是 AI 腔的来源。
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
+ ### 对话规则
68
+
69
+ 1. 对话**独立成行**,不嵌在叙述段落中
70
+ 2. 对话标签按需:高频或公式化的「他说」「她道」「他笑了笑说」用动作描写替代;普通「说」低频使用可保留(与「8 条绝对禁止」中「避免对话标签机械化」一条一致)
71
+ 3. 两人对话连续出现时,省略标签,靠内容区分说话人
72
+
73
+ **正确示例**:
74
+ ```
75
+ 她把杯子放下。
76
+ "你走吧。"
77
+ 他没有动。
78
+ "我说,你走吧。"
79
+ ```
80
+
81
+ **也合法(普通「说」低频使用)**:
82
+ ```
83
+ 她把杯子放下。
84
+ "你走吧。"她说。
85
+ 他没有动。
86
+ "我说,你走吧。"
87
+ ```
88
+
89
+ **错误示例**:
90
+ ```
91
+ 她把杯子放下,说道:"你走吧。"他没有动,她又说:"我说,你走吧。"
92
+ ```
93
+
94
+ ---
95
+
96
+ ## 语气标点谱系
97
+
98
+ 标点服务语气、人物声线和情绪节奏,不能通篇句号化,也不能为了“丰富”随机堆砌符号。先判断当前句子的功能,再选择标点:
99
+
100
+ | 语气 / 功能 | 标点策略 | 防线 |
101
+ |---|---|---|
102
+ | 压迫 / 冷静 / 克制 | 短句、逗号、句号,必要时用冒号压出判断落点 | 不人工加感叹号;克制不是每句都平铺句号 |
103
+ | 质问 / 试探 / 反问 | 问号 + 短促追问片段,配合动作停顿 | 避免每句话都以 `?` 结尾 |
104
+ | 惊讶 / 爆发 / 打脸 | 真正爆点可用 1 个感叹号,连续爆发最多 1-2 处 | 禁止 `!!!`、整段喊叫式感叹 |
105
+ | 犹豫 / 吞咽 / 未说完 | 逗号、句号、短句断开、动作 beat | 不用 `……` 制造停顿;优先用动作和句长变化 |
106
+ | 被打断 / 拖长音 | 不使用 `——`;改用动作打断、换行、短句或未完成动作 | 正文和对话都禁止 `——` / `—` / `--` |
107
+ | 信息揭示 / 判断落点 | 冒号、分号或单句成段制造落点 | 保持手机阅读友好,不写论文式分号串 |
108
+
109
+ 执行规则:
110
+ - 写对话时先看角色关系和权力位置:强势角色常短句收束,试探角色多问号和半句,崩溃角色才允许少量感叹/省略。
111
+ - 写叙述时用句长、逗号停顿和单句成段制造节奏;不要把破折号当节奏工具,对话里也不要用。
112
+ - 精修时检查两类问题:**通篇句号化**(语气全被压平)与**随机标点堆砌**(问号/感叹号不承载情绪功能,或用省略号/破折号硬造停顿)。
113
+ - 引号风格按项目/平台约定;知乎盐言的 `「」` 是合法对话格式,`quote-mode keep` 时不得擅自改掉。
114
+
115
+ ---
116
+
117
+ ## 小节(beat)结构
118
+
119
+ ### 基本规则
120
+
121
+ - 用数字编号(`1` `2` `3`)分割小节,每个小节是一个完整的叙事 beat
122
+ - 每小节 800-1500 字(爽文可压缩至 500-800 字/节,见 genre-writing-formulas.md)
123
+ - 8-15 个小节覆盖全文(按目标字数反推;8000÷1000≈8节,12000÷800≈15节)
124
+ - 每小节推进一个明确的情节点
125
+
126
+ ### 小节内部结构
127
+
128
+ 每个小节应该有:
129
+
130
+ 1. **一个主事件** + **3-5 个子事件**(主事件推进核心情节,子事件丰富层次;初稿偏短时先回到小节/细纲补足计划内子事件、对话或冲突,再写正文;去AI味已有正文时不得新增剧情)
131
+ 2. **一个情绪变化**(读者的感受如何变化)
132
+ 3. **一条读者新获知的信息**
133
+ 4. **3-5 轮对话交锋**(揭示关系/升级冲突,参考 writing-craft.md 对话权力博弈。特定场景如独自发现/翻阅日记可标零,按当前 skill 的细纲/设计任务要求执行)
134
+ 5. **每个子事件三维度揉进**:发生+感知+反应揉进同一段正文(参考 writing-craft.md 场景写法)
135
+
136
+
137
+ ### 小节之间的衔接
138
+
139
+ - 小节结尾留一个钩子(悬念/未解决的情绪/新问题)
140
+ - 下一节开头快速接续,不要重新铺垫
141
+ - 情绪跨节递进:每一节的情绪强度 ≥ 上一节。例外:峰值情绪(反转节)后允许维持 1 节不降,但不允许骤降
142
+
143
+ ---
144
+
145
+ ## 平台对话格式覆盖表
146
+
147
+ | 平台 | 章节标记 | 对话格式 | 特殊要求 |
148
+ |------|----------|----------|----------|
149
+ | 知乎盐言 | `1.` | `「」` | 导语需单独标注 |
150
+ | 番茄 | `###第一章` | `""` | 首段需有吸引力 |
151
+ | 红果 | `###1.` | `""` | 无 |
152
+
153
+ **通用原则**:用户未指定平台时,默认使用短篇通用格式(`###1.` + `""`);用户或平台指定盐言风格时,`「」` 是允许的。
154
+
155
+ ---
156
+
157
+ ## 8 条绝对禁止
158
+
159
+ 以下规则在写作全程执行,不因题材或风格而变:
160
+
161
+ 1. **禁止机械按字数分段**:不要因为超过某个字数就强拆;先判断段落是否仍是一个完整戏剧单元。若混入多个动作/信息/视线切换才拆,完整推理、氛围、情绪链可保留稍长段
162
+ 2. **禁止段间空行**:正文相邻段落之间只允许一个换行符 `\n`,不得出现空行或连续换行 `\n\n`
163
+ 3. **避免对话标签机械化**:高频或公式化的「他说」「她道」「他笑了笑说」用动作/上下文替代;普通“说”可保留
164
+ 4. **禁止缩进**:不使用 `  `(全角空格)或半角空格缩进
165
+ 5. **禁止正文段落 Markdown 渲染**:除统一的小节/章节标记(如 `###1.`)外,正文段落中不使用加粗 `**`、斜体 `*`、标题 `#`、分隔线 `---` 等 Markdown 语法
166
+ 6. **正文不使用破折号**:正文(含叙述、对话、心理描写)不使用破折号 `——`/`—` 或双连字符 `--`,改用句号、逗号、换行、动作 beat 或短句断开;不再设置“对话例外”
167
+ 7. **禁止通篇句号化或随机标点堆砌**:标点必须跟语气/人物声线/情绪功能匹配;该质问时用问号,该爆发时少量感叹;犹豫、吞咽、未说完用动作或句长变化表达,不用 `……` / `——` 硬造停顿,也不得无功能地乱撒 `?`/`!`
168
+ 8. **禁止正文混入章节元信息**:章节号只允许出现在标题/小节标记/文件名/追踪记录中。正文叙述、对话、心理描写里不得出现 `第[一二三四五六七八九十百千万两0-9]+章|上一章|上章|前一章|本章|这一章|前文|后文|伏笔|细纲|读者` 这类写作工程词;要改成角色能感知的事件锚点或相对时间,例如把“比第一章那三秒开火更疼”改成“比那三秒开火更疼”。例外:角色在故事世界内真实阅读/讨论“第X章”文本,或真实身为作者/读者并谈论读者身份时,可保留相应词。
169
+
@@ -0,0 +1,134 @@
1
+ # 篇幅分流判断规则
2
+
3
+ Phase 1「基本信息确认」环节使用本规则判定导入书是长篇还是短篇,判定结果决定后续走哪条迁移路径。
4
+
5
+ ---
6
+
7
+ ## 判定优先级
8
+
9
+ 判定按以下顺序执行,命中即停止,不再向下判断。
10
+
11
+ | 优先级 | 信号来源 | 判定规则 |
12
+ |--------|---------|---------|
13
+ | 1 | 用户显式声明 | 用户说「这是长篇 / 短篇」→ 以用户为准,直接锁定 |
14
+ | 2 | 结构信号 + 字数校验 | 检测到明确章节分隔符且章节数 ≥ 5 → 长篇;全文无章节分隔、单文件单篇 → 按下方细则表按字数分三档判定(字数阈值沿用优先级 3 的建议值) |
15
+ | 3 | 字数兜底 | 仅在 1、2 均不明确时启用,见下方「字数兜底规则」 |
16
+ | — | 冲突处理 | 信号之间发生矛盾时,不自动决策,回到 Phase 1 向用户复述并请用户拍板 |
17
+
18
+ ---
19
+
20
+ ## 优先级 1:用户显式声明
21
+
22
+ Phase 1 信息确认时向用户提问:**「这是长篇还是短篇?」**
23
+
24
+ - 用户明确回答 → 锁定类型,跳过后续检测。
25
+ - 用户未回答或说「不确定」→ 进入优先级 2 结构信号检测。
26
+
27
+ ---
28
+
29
+ ## 优先级 2:结构信号 + 字数校验
30
+
31
+ ### 章节分隔符识别
32
+
33
+ 复用 `structure-mapping-long.md` 的分隔符识别表:
34
+
35
+ | 分隔符模式 | 示例 |
36
+ |-----------|------|
37
+ | `第X章` / `第X章 ` / `第X章:` / `第X章 XXX` | 第1章 初入江湖 |
38
+ | `Chapter X` | Chapter 1 |
39
+ | 纯数字编号 + 标题 | 1. 觉醒 |
40
+
41
+ ### 判定规则
42
+
43
+ | 检测结果 | 判定 |
44
+ |---------|------|
45
+ | 有明确章节分隔符,且识别到章节数 ≥ 5 | 强长篇信号 → 判定为**长篇** |
46
+ | 全文无任何章节分隔符,单文件单篇,且总字数 < 20000 | 强短篇信号 → 判定为**短篇** |
47
+ | 全文无任何章节分隔符,单文件单篇,20000 ≤ 总字数 < 30000 | 判定为**短篇**,但 Phase 1 复述时告知:已超过短篇拆解管道 20000 字的建议上界,请用户确认仍按短篇导入 |
48
+ | 全文无任何章节分隔符,单文件单篇,但总字数 ≥ 30000 | 结构与字数信号相反 → 不自动判定,见下方「冲突处理」请用户拍板 |
49
+ | 有章节分隔符,但章节数 < 5 | 结构信号不明确 → 进入优先级 3 字数兜底 |
50
+ | 分隔符模式模糊(如仅有单个标题行) | 结构信号不明确 → 进入优先级 3 字数兜底 |
51
+
52
+ ---
53
+
54
+ ## 优先级 3:字数兜底
55
+
56
+ **仅在优先级 1、2 均无法给出明确判定时使用。** 当前导入契约按短篇通常 8000-20000 字的区间取 30000 字作建议上界,并保留题材差异余量。
57
+
58
+ | 条件 | 判定 | 备注 |
59
+ |------|------|------|
60
+ | 总字数 < 30000 且无章节结构 | **短篇** | — |
61
+ | 总字数 ≥ 30000 | **长篇** | — |
62
+ | 章节数 ≥ 5(任意字数) | **长篇** | — |
63
+ | 总字数 < 30000 但章节数 ≥ 5 | 初判**长篇**,但须提示用户 | 见下方「分章短篇连载」 |
64
+
65
+ > **建议值说明**:30000 字阈值是估算值,不同平台和题材的短篇上限有差异。执行时列入 open-questions,建议用户复核是否适用于当前导入书。
66
+
67
+ ### 分章短篇连载
68
+
69
+ 检测到总字数 < 30000 但章节数 ≥ 5 时,在确认环节提示用户:
70
+
71
+ > 「检测到分章结构(共 {N} 章),但总字数约 {X} 字,低于 30000 字。可能是分章短篇连载。确认按长篇导入,还是按短篇处理?」
72
+
73
+ 用户拍板后锁定类型。
74
+
75
+ ---
76
+
77
+ ## 冲突处理
78
+
79
+ 当不同信号之间出现矛盾时,**不自动决策**,回到 Phase 1 向用户复述检测结果:
80
+
81
+ | 典型冲突场景 | 处理方式 |
82
+ |------------|---------|
83
+ | 用户说「短篇」但检测到 20 章 | 复述:「检测到 20 章章节结构,通常属于长篇。确认按短篇导入?」由用户拍板 |
84
+ | 用户说「长篇」但全文无章节分隔且字数 < 30000 | 复述:「全文无章节分隔,总字数约 {X} 字,通常属于短篇。确认按长篇导入?」由用户拍板 |
85
+ | 用户未声明、全文无章节分隔、单文件单篇,但字数 ≥ 30000 | 复述:「全文无章节分隔,但总字数约 {X} 字,已超过短篇常见上界。按长篇导入建工程,还是仍按短篇处理?」由用户拍板 |
86
+ | 结构信号与字数信号方向相反 | 展示两项信号,请用户决定 |
87
+
88
+ 用户拍板的结果记入 Phase 1 上下文,后续步骤以此为准,不再重新判定。
89
+
90
+ ---
91
+
92
+ ## 判定结果与后续路径
93
+
94
+ 判定完成后,迁移路径按以下对应关系分流:
95
+
96
+ | 判定结果 | 迁移路径 | 映射规则参考文件 |
97
+ |---------|---------|----------------|
98
+ | **长篇** | 长篇迁移路径(Phase 3-L) | `structure-mapping-long.md` |
99
+ | **短篇** | 短篇迁移路径(Phase 3-S) | `structure-mapping-short.md` |
100
+
101
+ > 注:`structure-mapping-long.md` 对应长篇迁移映射规则,`structure-mapping-short.md` 对应短篇迁移映射规则。
102
+
103
+ ---
104
+
105
+ ## 快速判定流程图
106
+
107
+ ```
108
+ Phase 1 问用户:「长篇还是短篇?」
109
+ │
110
+ ├─ 用户明确回答 ──────────────────────────► 锁定类型
111
+ │
112
+ └─ 未回答 / 不确定
113
+ │
114
+ ▼
115
+ 检测章节分隔符
116
+ │
117
+ ├─ 有分隔符且章节数 ≥ 5 ──────────► 长篇
118
+ │
119
+ ├─ 无分隔符,单文件单篇,< 20000 ─► 短篇
120
+ │
121
+ ├─ 无分隔符,单篇,20000 ≤ 字数 < 30000 ─► 短篇(复述时告知超出建议上界)
122
+ │
123
+ ├─ 无分隔符,单文件单篇,≥ 30000 ─► 提示用户裁定
124
+ │
125
+ └─ 信号不明确
126
+ │
127
+ ▼
128
+ 字数兜底判定(30000 字阈值)
129
+ │
130
+ ├─ < 30000 且无章节结构 ─► 短篇
131
+ ├─ ≥ 30000 ─────────────► 长篇
132
+ ├─ 章节数 ≥ 5 ──────────► 长篇
133
+ └─ < 30000 但章节数 ≥ 5 ─► 提示用户裁定
134
+ ```
@@ -0,0 +1,108 @@
1
+ # 状态追踪协议
2
+
3
+ > 本文件定义"本节速记"的提取逻辑和"角色状态记录"的格式。写作 skill 在写前准备的状态筛选步骤中加载此文件。
4
+
5
+ ---
6
+
7
+ ## 本节速记
8
+
9
+ 写作每一章/每一节前,从所有已加载的上下文中筛选出只与本节相关的信息。目的是避免全量加载导致 LLM 上下文被无关信息稀释。
10
+
11
+ ### 筛选逻辑
12
+
13
+ 从上下文中提取三类信息:
14
+
15
+ 1. **当前状态**:本章涉及角色的最新能力、关系变化、公众形象
16
+ 2. **历史因果**:与本章事件直接相关的伏笔成因、前史事件
17
+ 3. **世界约束**:本章涉及的世界观规则(力量体系、社会规则、地理限制)
18
+
19
+ ### 筛选标准
20
+
21
+ **只保留"如果不知道这个,本章会写错"的信息。**
22
+
23
+ 具体判断方法:
24
+ - 本章细纲中提到了某个角色 → 保留该角色的当前状态
25
+ - 本章有伏笔回收 → 保留伏笔的埋设细节和前文铺垫
26
+ - 本章涉及特定地点/能力/规则 → 保留相关世界观约束
27
+ - 纯背景知识(与本章事件无因果关联) → 丢弃
28
+
29
+ ### 输出格式
30
+
31
+ 筛选后输出一个简洁的"本节速记":
32
+
33
+ ```
34
+ ## 本节速记(第{N}章)
35
+
36
+ ### 角色状态
37
+ {角色A}:{一句话当前状态,含最近变化}
38
+ {角色B}:{一句话当前状态}
39
+
40
+ ### 相关伏笔/前史
41
+ {伏笔1}:{埋设细节,{埋设章节}},本章需要{回收/推进}
42
+
43
+ ### 世界约束
44
+ {约束1}:{与本章相关的规则/设定}
45
+ ```
46
+
47
+ **示例(demo《让你管账号,你高燃混剪炸全网》第 10 章):**
48
+ ```
49
+ ## 本节速记(第10章)
50
+
51
+ ### 角色状态
52
+ 江晨:火箭军文工团宣传兵,《诸君,且听龙吟》已爆红,正从军宣新人升为军内认可的创作者
53
+ 钟嘉嘉:军报记者,采访稿已经过审,与江晨从采访关系转为稳定合作
54
+ 周薄森:文工团副团长,已从担心江晨惹事转为认可其创作能力
55
+
56
+ ### 相关伏笔/前史
57
+ 五天百万粉任务:第1章发布,第10章仍未结算;本章只推进声量,留到第11章结算
58
+ 专业团队重拍:本章用高清专业版“缺了灵魂”反衬江晨手机原版不可替代
59
+
60
+ ### 世界约束
61
+ 军宣作品采用要经过组织决策;江晨可以靠作品效果赢得认可,不能跳过军内流程直接拍板
62
+ ```
63
+
64
+ ---
65
+
66
+ ## 角色状态记录格式
67
+
68
+ > ⚠️ **本节仅适用于长篇写作。** 短篇通常不需要独立角色状态追踪。
69
+
70
+ 动态状态按核心角色拆成 `追踪/角色状态/{角色名}.md`,由 `tracking_commit.py` 根据事务 JSON 整份覆盖;静态原始人设仍在 `设定/角色/{角色名}.md`。只为后续会复用的主角、反派、核心配角建快照,不为路人、一次性功能角色建文件。
71
+
72
+ ### 格式
73
+
74
+ ```markdown
75
+ # 江晨|当前状态
76
+
77
+ - 截至章节:第10章
78
+ - 身份:火箭军文工团宣传兵;军宣爆款创作者
79
+ - 位置:火箭军文工团高层看片会
80
+ - 当前目标:完成五天百万粉任务,持续做出真正能打的军宣内容
81
+ - 身心状态:专业团队反向验证原版价值,军内认可继续抬升
82
+
83
+ ## 能力与资源
84
+ - 前世 MCN 爆款运营经验
85
+ - 《中国军魂》伴奏
86
+ - 大师级导演能力
87
+
88
+ ## 关键关系
89
+ - 钟嘉嘉持续提供军报资源
90
+ - 周薄森和张耀祖已明确认可其创作能力
91
+
92
+ ## 已知信息
93
+ - 《军报》采访稿已经过审
94
+ - 原版视频将继续作为正式军宣内容
95
+
96
+ ## 未结事项
97
+ - 五天百万粉任务尚未结算
98
+ - 钟嘉嘉所谓“只猜对一半”仍未解释
99
+ ```
100
+
101
+ ### 更新规则
102
+
103
+ 1. 每章只记录身份、位置、目标、身心状态、能力资源、关系、已知信息、未结事项中真正发生变化的内容。
104
+ 2. 核心复用角色发生变化时,在同一事务的 `character_changes` 写变化,并在 `character_snapshots` 提交其**截至当前已写最后一章**的完整快照;工具以快照是否存在判断核心/临时角色,整份覆盖核心角色小文件,不追加历史。
105
+ 3. 修订旧章时,从修订章检查到最后已写章,按各维度和各关系对象重算当前状态,再提交完整快照;不得把最后一条单维度变化当成角色全状态。
106
+ 4. 无变化可不提交快照;核心角色重新进入当前场景时直接读取其已有小文件,并由事务工具把必要信息带入续写状态卡。
107
+ 5. 角色变化历史属于 `逐章记录/第NNN章.md`,当前快照不重复保存逐章履历。
108
+ 6. 完整 JSON 字段、4096 字节目标与 8192 字节硬上限见 [tracking-transaction.md](tracking-transaction.md)。