@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,108 @@
1
+ # 原著分析审查表
2
+
3
+ ## 目录
4
+
5
+ - [审查对象](#审查对象)
6
+ - [先跑结构校验](#先跑结构校验)
7
+ - [抽样声明](#抽样声明)
8
+ - [事实可溯源](#事实可溯源)
9
+ - [功能提取质量](#功能提取质量)
10
+ - [归并质量](#归并质量)
11
+ - [改编判定与候选集](#改编判定与候选集)
12
+ - [不属于本表](#不属于本表)
13
+
14
+ ## 审查对象
15
+
16
+ `项目开发/source-analysis/` 下由 `$short-drama-novel-analyze` 发布的分析层:
17
+ `_index.json`、`triage.md`、`chapters/*.md`、`story-units.md`、`rhythm-and-emotion.md`、
18
+ `characters.md`、`world.md`、`adaptation-value.md`、`episode-candidates.jsonl`。
19
+
20
+ 规则编号引用该技能的 `NVA` 表。审查结论按 `NVA-xx` 定位,不自造编号。
21
+
22
+ ## 先跑结构校验
23
+
24
+ 在读内容之前跑可证明的检查,命中即为 `structural_invariant` 缺陷:
25
+
26
+ ```bash
27
+ python3 {novel-analyze 技能目录}/scripts/novel_index.py verify \
28
+ 项目开发/source-analysis/_index.json 输入/{原文文件}
29
+ python3 {novel-analyze 技能目录}/scripts/novel_index.py coverage \
30
+ 项目开发/source-analysis/_index.json 项目开发/source-analysis/chapters
31
+ ```
32
+
33
+ - `verify` 不通过(`NVA-01`):索引与原文已经对不上,其后每一条引用都指向错误位置。
34
+ 这一条独立阻断,不必继续读内容。
35
+ - `coverage` 的 `missing` 非空而聚合产物已存在(`NVA-03`):聚合建立在缺章之上。
36
+ - `unmatched_files` 非空:有文件名写歪,既不算覆盖也不算缺章,指出具体文件名。
37
+ - `_index.json` 的 `problems` 非空却仍进入了后续阶段:分析建立在一份自己报错的索引上。
38
+ - `ignored_heading_units` 与 `chapter_unit` 不合理(例如一本 `第N章` 分章的书选中了 `节`):
39
+ 切片单位判错,章表整体不可信。
40
+
41
+ ## 抽样声明
42
+
43
+ `triage.md` 属于抽样产物(`NVA-05`)。逐条核对:
44
+
45
+ - 第一行是否写出覆盖率与样本章号;
46
+ - 三类判定比例的分母是否写明是抽样章数,而不是全书章数;
47
+ - 是否出现了抽样之外章节的事实断言;
48
+ - 是否越权产出了 `episode-candidates.jsonl` 的条目。
49
+
50
+ 抽样结论本身对不对**不是本表的判断对象**——它是假设。要判断的是它有没有把自己写成结论。
51
+
52
+ ## 事实可溯源
53
+
54
+ `NVA-02`、`NVA-07`。聚合产物离原文两跳,这里是分析层最容易出错的地方:模型会用
55
+ 世界知识和「合理性」把原文没给的字段补成一个看起来坐实的事实。
56
+
57
+ 抽查 `characters.md`、`world.md`、`adaptation-value.md` 里的硬事实——等级、数值、
58
+ 距离、势力数量、谁对谁说了什么、某人出现在哪几章——逐条回查它引用的白描或原文:
59
+
60
+ - 回查命中:通过;
61
+ - 回查不到,且写成了确定事实:`reviewed_invariant` 缺陷,要求改写为「原文未明确」或删除;
62
+ - 回查不到,但已写「原文未明确」:通过。
63
+
64
+ 同时检查跨指代串用:坐骑的等级被安到骑手头上、A 的台词记成 B 的、相邻章的统计数字互换。
65
+
66
+ ## 功能提取质量
67
+
68
+ `NVA-06`。抽查若干章 `chapters/ch-<N>-extract.md`:
69
+
70
+ - 概要是否回答了「谁的处境、认知或筹码变了」,而不是缩写剧情;
71
+ - 情节点的白描是否是可观察事实——出现「通过对话得知」「展现了实力」「感到愤怒」
72
+ 这类叙事框架词或心理断言的,是把结论写在了证据位上;
73
+ - 每条情节点是否回答了改变了什么(权力/信息/关系/暴露/资源/时间/代价至少一项);
74
+ - 载体记录是否存在且填了通道栏——缺了它,`needs_carrier` 判定就没有原始依据。
75
+
76
+ ## 归并质量
77
+
78
+ `NVA-08`。检查 `characters.md`:
79
+
80
+ - 是否有描述性称谓(「红衣女子」)或头衔(「护卫队长」)触发了合并——这两类永不合并;
81
+ - 绰号合并是否给出了可指出的同指证据,而不是「读起来像同一个人」;
82
+ - 合并后是否保住了戏剧作用、知识范围、关系位置与因果桥梁;名字变少不是合并质量的证据;
83
+ - 每条是否带 `unresolved` 与来源引用。
84
+
85
+ `story-units.md` 的阈值自检(归属置信、覆盖率、重叠率)是否跑过、结果是否写出。
86
+ 重叠率超线而没有复核说明的,指出具体是哪两个单元。
87
+
88
+ ## 改编判定与候选集
89
+
90
+ `NVA-09`、`NVA-10`。
91
+
92
+ - 三类判定是否逐单元落定,`needs_carrier` 是否逐个写了原载体、新载体、保住了什么、
93
+ 改变或失去了什么——「改变或失去」写「无」的,是没写完;
94
+ - 是否有 `prose_only` 被改写成 `needs_carrier` 而新载体需要旁白才成立;
95
+ - 候选集是否按局部戏剧结果与精确交接切,而不是按章号或字数平均切;
96
+ - 每条候选是否能回答四问(进入认知、兑现了哪部分承诺、出去压力、下一集继承什么);
97
+ 一条承诺都不兑现的候选集要指出来;
98
+ - 相邻候选的出去状态与进入认知是否对得上;
99
+ - `prose_only`、被跳过的章、散落清单是否出现在交接摘要里;
100
+ - `adaptation-value.md` 开头是否有快评回填对照。
101
+
102
+ ## 不属于本表
103
+
104
+ - **改编方案本身**:从哪里开篇、保留哪条线、合并哪些人物是创作者与
105
+ `$short-drama-develop` 的决定(`NVA-12`),审查可以提出风险,不得据此阻断交付。
106
+ - **原著写得好不好**:本表不评价原作质量。
107
+ - **剧本、资产、提示词、分镜**:走各自的审查表。
108
+ - **集数对不对**:分析层只给量级,集数不在这里判。
@@ -0,0 +1,164 @@
1
+ # Story And Script Rubric
2
+
3
+ ## 目录
4
+
5
+ - [Promise](#story-promise-and-engine)
6
+ - [Episode](#episode-shape)
7
+ - [Entry and serial memory](#entry-character-and-serial-memory)
8
+ - [Scene](#scene-test)
9
+ - [Action](#action-and-production-meaning)
10
+ - [Dialogue](#dialogue)
11
+ - [Findings](#common-findings)
12
+
13
+ ## Story promise and engine
14
+
15
+ - Can the creator state protagonist, pursuit, costly opposition, and recurring
16
+ audience payoff without relying on a genre label?
17
+ - Can the conflict produce varied pressure, or does every episode repeat the same
18
+ misunderstanding, humiliation, rescue, or reveal?
19
+ - Does escalation change power, knowledge, relationship, exposure, cost, or time?
20
+ - Do setups/payoffs and episode handoffs resolve to explicit records?
21
+
22
+ ## Episode shape
23
+
24
+ - What pressure is active at the opening?
25
+ - What does the protagonist want now, and what resists it?
26
+ - Which choice/action causes the directional turn?
27
+ - What part of the promised experience is delivered before the outgoing hook?
28
+ - What exact state enters the next episode?
29
+ - Before the outgoing hook, what local dramatic result has already landed?
30
+ - Whose choice caused that result (`STY-13`)? If it arrived by outside force, cite the
31
+ protagonist's earlier action that made it arrive now, and what they did with it.
32
+ A protagonist who only endures until rescue is this episode's audience, not its lead.
33
+
34
+ A capacity estimate (`STY-16`) is informational, never a blocking finding. If a
35
+ planned episode's shot/duration magnitude is far from the project's own accepted
36
+ ratios, note it as an advisory observation with the sampled basis, and leave the
37
+ resolution to the creator. Never derive a word, line, or shot quota from it, and
38
+ never compare against another project's numbers.
39
+
40
+ When the premise grants foreknowledge or externally authorized ability (`STY-17`), keep
41
+ two layers apart and cite each from its own place:
42
+
43
+ - **Contract layer** (creator-accepted, in the story engine): is the device contract
44
+ accepted before the device first takes effect, recording scope, failure conditions,
45
+ cost, and whether the device's own declarations are reliable?
46
+ - **Disclosure layer** (per episode, in the information-permission field): what do the
47
+ characters and the audience know right now?
48
+
49
+ Never report partial disclosure as a defect. An audience that does not yet know every
50
+ boundary is the normal case, and late-discovered limits are often the intended suspense.
51
+ What is reportable:
52
+
53
+ - A later device ability or exemption that traces to no contract clause—cite the episode
54
+ and the missing clause. This is retroactive widening whether or not it was announced
55
+ in-fiction.
56
+ - A disclosed rule violated later, unless the contract marks the device as unreliable
57
+ and the setup is traceable.
58
+ - Strip the device out—does the episode still contain a choice? If not, cite what
59
+ resistance was removed and never replaced.
60
+ - What did the opposition learn once the device was in play?
61
+ - For foreknowledge: does the information degrade as the timeline diverges, or does the
62
+ author keep inventing reasons to weaken the protagonist? Is the audience's permission
63
+ level held constant across episodes?
64
+ - For authorized ability: is the cost visible and landed on something the protagonist
65
+ cares about? Does the device offer options, or decide for them?
66
+ - If the device uses an on-screen readable carrier, is the `exact-readable` obligation
67
+ stated instead of coexisting with a global no-text policy?
68
+
69
+ ## Entry, character, and serial memory
70
+
71
+ - What prior-world fact does the writer need in order to predict present choices?
72
+ Which visible evidence does the audience need now, and which backstory is
73
+ correctly withheld?
74
+ - Why is this the useful entry window? Would an earlier start become setup work,
75
+ or a later start remove a consequential choice?
76
+ - For each claimed character change, where are the pressure test, choice or
77
+ retreat, local result, cost, and changed visible strategy (`STY-12`)?
78
+ - Do world truth, character beliefs, and audience knowledge remain separate?
79
+ - For each evidence carrier, what claim does it directly support, and which identity,
80
+ cause, motive, or mechanism remains an unresolved inference (`STY-15`)?
81
+ - Does active serial memory preserve character/relationship state, information
82
+ permissions, setup debt, rhythm direction, and the exact physical handoff?
83
+ - Do external pressure and emotional load rise, fall, or diverge for a reason?
84
+ A breathing scene should process a consequence rather than suspend the story.
85
+
86
+ Do not require a fixed hook type, beat count, reversal, climax timestamp, or
87
+ dialogue quota.
88
+
89
+ ## Scene test
90
+
91
+ For each scene ask:
92
+
93
+ 1. Why must it exist?
94
+ 2. Whose agenda organizes it?
95
+ 3. What force opposes that agenda?
96
+ 4. What becomes visible, known, decided, owned, risked, or irreversible?
97
+ 5. What exit state pressures the next scene?
98
+
99
+ A quiet scene can pass when pressure and change are legible. A loud scene can fail
100
+ when nothing changes.
101
+
102
+ ## Action and production meaning
103
+
104
+ - Are internal states expressed through playable behavior, evidence, or deliberate
105
+ VO/OS?
106
+ - Are actions spatially coherent and consequential?
107
+ - Are exact on-screen text, prop text, SFX, VO/OS, and transitions tagged?
108
+ - Does prose avoid camera/prompt boilerplate while retaining production-critical
109
+ facts?
110
+
111
+ ## Dialogue
112
+
113
+ - What does each speaker want from the other now?
114
+ - What is withheld, reframed, threatened, bargained, accused, or proven?
115
+ - Does the line respond to the prior move and alter the next?
116
+ - Are voices distinct by worldview, status, relationship, vocabulary, and rhythm?
117
+ - Does exposition enter through conflict/evidence/consequence rather than a
118
+ neutral information dump?
119
+ - When a long speech is split, does the inserted action change the speaker's tactic
120
+ and give downstream a sourced cut point, rather than pad with a glance or a pause
121
+ (`SCR-09`)? When a long speech carries no internal turn, was it shortened instead
122
+ of split?
123
+
124
+ Silence, interruption, slang, narration, and sentence length are creator options,
125
+ not universal scoring ratios.
126
+
127
+ ## Replaceable realization (`SCR-10`)
128
+
129
+ Only for beats the creator marked. **An unmarked beat leaves this section
130
+ inactive**: do not raise a finding for the absence of a mark, do not guess which
131
+ beats need one, and never rate a depiction against a standard this suite does not
132
+ carry — it carries none, and predicts no outcome.
133
+
134
+ On a marked beat:
135
+
136
+ - Is the dramatic function written as *who is proven or changed*, rather than an
137
+ emotion word? A function stated as "高潮" cannot be used to judge equivalence.
138
+ - Does the fallback deliver that same function — same person affected, cost still
139
+ paid, `payoff_refs` and the next episode's entry state still satisfied?
140
+ - Does the fallback need a setup the script has not established? Then it is a
141
+ rewrite, not a fallback.
142
+ - Is "delete the scene" being offered as the fallback? Deletion removes the
143
+ function itself; the only acceptable variant is an explicit handover naming
144
+ which existing beat now carries it and what that beat must absorb.
145
+ - Is the fallback concrete enough to become scene action, or is it "酌情处理"?
146
+
147
+ Report pre-emptive sanding as a finding in its own right when the current
148
+ depiction was already weakened to avoid a risk nobody stated: the loss is certain,
149
+ the benefit is not, and the mark exists precisely so the strong version can stay.
150
+
151
+ ## Common findings
152
+
153
+ - genre label substituted for a dramatic promise;
154
+ - alternatives differ only in wording;
155
+ - coincidence carries a major turn with no prepared cause;
156
+ - scene repeats known information and leaves state unchanged;
157
+ - cliffhanger withholds all payoff;
158
+ - episode pauses an unfinished action without producing a local result (`STY-13`);
159
+ - first episode dumps the backstory reservoir instead of selecting an active entry;
160
+ - a declared character arc has no pressure test, choice, cost, or changed strategy;
161
+ - serial summary omits an information permission or unpaid setup obligation;
162
+ - generic emotion adjectives replace visible performance;
163
+ - every character explains the plot in the same voice;
164
+ - downstream production requirement was never marked in screenplay truth.
@@ -0,0 +1,166 @@
1
+ # Storyboard, Keyframe, And Motion Rubric
2
+
3
+ ## 目录
4
+
5
+ - [Coverage](#coverage-and-meaning)
6
+ - [Shot](#shot-purpose-and-geography)
7
+ - [Keyframe](#frozen-keyframe)
8
+ - [Motion](#motion)
9
+ - [Continuity](#cross-shot-continuity)
10
+ - [Findings](#common-findings)
11
+ - [Production risks and authorized observations](#production-risk-and-authorized-observation-checklist-rev-08)
12
+
13
+ ## Coverage and meaning
14
+
15
+ - Does every production-relevant block have a disposition?
16
+ - Are omissions/repeats explained?
17
+ - Does each shot preserve the source action, dialogue, information, and reaction?
18
+ - Has downstream work invented or deleted a story fact?
19
+
20
+ ## Shot purpose and geography
21
+
22
+ - For a high-value scene with an accepted coverage audition: did the approaches
23
+ genuinely differ — in knowledge timing, audience alignment, performance space,
24
+ strongest image, landing, losses, or production fit?
25
+ - Does the formal plan bind the approach the creator selected, rather than the first draft?
26
+ - When a `scene_visual_plan` exists: do its start/end audience positions, spatial
27
+ pressure, camera rhythm, reaction landing, and sound movement carry **one** dramatic turn?
28
+ - Does that plan stay clear of owning shot boundaries? (Ordinary scenes need no plan
29
+ merely to satisfy a form.)
30
+ - What changes for audience or character by the shot end?
31
+ - Why is this a new shot?
32
+ - Do framing and camera behavior serve attention, alignment, pressure, reveal, or
33
+ rhythm rather than decorate the prose?
34
+ - Are Location/View, axis, screen direction, eyelines, entrances, positions,
35
+ hands, and props coherent?
36
+ - Are exact asset variants bound?
37
+ - Does `audience_visibility` expose every fact this shot must carry while protecting
38
+ facts the source withholds until a later action or cut?
39
+ - Do crop, occlusion, focus, back view, and offscreen space serve that information
40
+ permission rather than accidentally reveal or conceal it?
41
+
42
+ ## Frozen keyframe
43
+
44
+ - Can all described facts exist in one still instant?
45
+ - Does it project the authoritative shot start boundary?
46
+ - Are focal hierarchy, composition, camera/lens, geography, pose/gaze/hands/prop,
47
+ expression, and light legible?
48
+ - Does it avoid ordered actions, performance arcs, camera moves, or transforming
49
+ environments?
50
+
51
+ ## Motion
52
+
53
+ - Does it start from the accepted frame/boundary?
54
+ - Are subject actions ordered and small enough to preserve intended performance?
55
+ - Does performance change express the story move rather than stack synonyms?
56
+ - In multi-character motion: do the actors who actually change have distinct,
57
+ readable triggers, choices, leaks, or landings — as this shot needs, not one
58
+ identical arc per actor?
59
+ - Is `attention_handoffs` used only where attention truly transfers, rather than for
60
+ synchronized reaction?
61
+ - Does the derived text-readiness view cite accepted inputs and real blocking gaps?
62
+ - Does it avoid any claim about generated media quality, and avoid persisting a second
63
+ readiness truth inside each motion record?
64
+ - Is camera behavior coherent and motivated?
65
+ - Are environment motion, dialogue, SFX, and audio included only when relevant?
66
+ - Does the end report match storyboard `end_boundary` and feed no unauthorized
67
+ write into the next shot?
68
+ - When a reference frame carries appearance/composition, does motion prose avoid
69
+ dumping the full visual 设定集?
70
+ - Does every claim about text-bearing reference pixels cite a creator/reference-owner
71
+ description or an authorized input-reference observation? Without that evidence,
72
+ is admission still `unverified` instead of pretending a negative prompt solved it?
73
+ - For any selective transform, are the accepted trigger, exact target scope,
74
+ end geometry/state, and preserve set explicit? Do non-target people, props,
75
+ text surfaces, and spatial anchors keep their required position, count, and state?
76
+ - Does each media reference state its exact purpose, what may be copied, and what
77
+ must not be copied, rather than treating all visible pixels as authority?
78
+
79
+ For a pickup or alternate, ask these separately:
80
+
81
+ - Does `coverage_scope` bind each exact source obligation?
82
+ - Is every obligation mapped to a current motion field or an explicit disposition?
83
+ - Are the exact master/supplement record IDs named?
84
+ - Is supersession only *requested* here? Only a downstream verdict may bind fixed
85
+ alternate/master records and decide it — see the
86
+ [supersession decision example](../assets/supersession-decision.example.json).
87
+
88
+ For music, ask these separately (`VID-14`):
89
+
90
+ - Is intent written as a relative entry/exit/duck against neighbouring shots,
91
+ rather than an independent cue per shot?
92
+ - Do adjacent annotations actually join?
93
+ - Does the text ask for a per-shot music bed against an accepted timeline-layer plan?
94
+ - Whether a rendered clip carries a baked-in track is **not decidable here**. Cite it
95
+ only from an authorized text observation record; otherwise keep it `unverified`
96
+ and never infer a mix result from prose.
97
+
98
+ Explicit timing that does not sum exactly to its shot's accepted duration—over or
99
+ under—is a structural error. Untimed overload is a
100
+ reviewed feasibility question: cite which action/performance/story beat would be
101
+ lost, not a universal verbs-per-second formula.
102
+
103
+ Container arithmetic is a separate structural check (`VID-13`). Count the accepted
104
+ shots a delivery container carries, then confirm its duration equals the sum of
105
+ their accepted durations. For a multi-shot container, confirm the members are
106
+ contiguous in source order, share one geography/asset binding chain, do not cross a
107
+ scene boundary, and each remains independently reviewable. A space or subject jump
108
+ belongs on a member boundary; the same jump inside a member's timed segment is a
109
+ hidden cut. Report an arithmetic mismatch and a hidden cut as two findings, not one.
110
+
111
+ - Is the axis recorded as two named anchors, a stated working side, and a per-character
112
+ screen position — rather than a placeholder?
113
+ - In a shot-reverse-shot pair, are the two screen directions complementary?
114
+ - Bare left/right always means **screen** left/right. Where a subject's own side is
115
+ meant, does the text name the subject?
116
+
117
+ ## Cross-shot continuity
118
+
119
+ Trace Look, injury, dirt/wetness, emotion/knowledge, position/facing/gaze, hands,
120
+ held prop, prop owner/state, location/time/weather/light, axis, and screen
121
+ direction. Distinguish unexplained contradiction from declared montage,
122
+ ellipsis, dream, or deliberate disorientation.
123
+
124
+ ## Common findings
125
+
126
+ - beautiful shot with no dramatic purpose;
127
+ - dialogue covered but consequential reaction absent;
128
+ - anonymous asset or wrong variant;
129
+ - cross-location/time action hidden in one ordinary shot;
130
+ - keyframe contains “first/then/finally”;
131
+ - locked camera also pans or pushes in the same interval;
132
+ - motion invents a grab, injury, transfer, relationship change, or line;
133
+ - a selective transform removes, copies, or reshapes a non-target person, prop,
134
+ text surface, or spatial anchor because its preserve set was unspecified;
135
+ - end pose/prop state disagrees with next start;
136
+ - every emotional beat uses the same close-up/push template;
137
+ - provider batching is mistaken for editorial shot structure.
138
+ - a narrowed pickup silently replaces the master and drops dialogue, reaction,
139
+ reveal, end-boundary, or accepted-directive obligations.
140
+
141
+ ## Production-risk and authorized-observation checklist (REV-08)
142
+
143
+ 本套件不查看媒体。先把下列项目当作文字风险,引用准确的 prompt/spec 说明为什么会造成
144
+ 执行歧义或违背已接受约束;只有创作者提供了授权的文字观察记录时,才能称为已观察缺陷,
145
+ 并把该记录作为外部证据引用。没有观察记录时保持结果未知,不从任务成功、结果地址或提示词
146
+ 存在推断成片质量。
147
+
148
+ 需要项目校准时,先区分 `input_reference` 与 `generated_result`。后一种观察只有在绑定准确
149
+ prompt/spec 记录、稳定 reference slots、production profile/config、观察方法和限制时才可引用;
150
+ finding 同时给出最小 `change_set` 与 `preserve_set`,并保持结论只在该项目和版本条件下有效。
151
+
152
+ 短剧生产中需要防范的文字风险或获授权观察包括:
153
+
154
+ - on-screen text or subtitle residue despite a declared no-text constraint;
155
+ - a text-bearing reference admitted under no-text or exact-readable policy
156
+ without an allowed surface or a crop, clean, mask, or replace decision;
157
+ - background music implied where the audio boundary allows sound effects only;
158
+ - wardrobe or look drift against the bound reference (re-describing clothes the
159
+ reference already fixes invites drift — flag redundant appearance prose);
160
+ - 180° axis violation or eyeline mismatch across consecutive shots without a
161
+ declared transition;
162
+ - lip-sync mismatch: dialogue bound to the wrong character, inner monologue
163
+ written as mouthed speech, or extra lines the source dialogue never contained;
164
+ - explicit segment timings that do not sum exactly to the shot duration, in either direction;
165
+ - emotion-intensity mismatch between stated level and described performance
166
+ (a declared 9/10 rage performed as mild irritation, or the reverse).
@@ -0,0 +1,87 @@
1
+ # 审查阶段契约
2
+
3
+ ## 目录
4
+
5
+ - [独立运行与项目集成](#独立运行与项目集成)
6
+ - [所有权边界](#所有权边界)
7
+ - [制作形态需要什么](#制作形态需要什么)
8
+ - [参考媒体与补拍](#参考媒体与补拍)
9
+ - [本阶段规则](#本阶段规则)
10
+
11
+ 本文件是本技能的自包含契约:预检、所有权、形态输入与规则表都在这里,
12
+ 不需要读取其他技能的文件。
13
+
14
+ ## 独立运行与项目集成
15
+
16
+ 本技能可以单独安装并运行;下面几条说明项目工具存在时怎样集成。
17
+
18
+ 1. **读取直接输入**:只读取用户明确提供或当前任务实际需要的文件,不批量加载整个项目。
19
+ 2. **可选项目集成**:若存在 `short-drama.json` 且 core 项目工具可用,可以运行
20
+ `python3 <core>/scripts/project_tool.py status <project>`,使用返回的目录布局和语言设置;
21
+ core 不可用时,直接基于已提供输入产出本阶段文件。
22
+ 3. **可选发布生命周期**:项目工具可用时,用 `publish` 原子发布并用 `--input <path>`
23
+ 声明直接输入;`accept`、`review` 与 `package` 继续承担确认、复核与交付。
24
+ 4. **保持职责分离**:创作者确认、内容修订和复核是不同动作;reviewer 提修改要求,负责人改文件。
25
+
26
+ ## 所有权边界
27
+
28
+ - **本阶段拥有**:审查问题、审查结论与修订请求;证据指向被审查的产物与其中的准确记录。
29
+ - **本阶段继承**:精确的 artifact 引用、已接受限制与创作者覆盖。
30
+ - **本阶段不越权**:不修改负责人的来源文件,不用个人偏好替代证据,也不把 owner 修订动作
31
+ 冒充审查动作。Self-review may record any evidence-supported verdict when it is labeled honestly.
32
+ Prefer an uninvolved reviewer to reduce confirmation bias, but never retry isolation as a completion strategy.
33
+
34
+ ## 制作形态需要什么
35
+
36
+ 视觉风格不是贴在提示词前面的标签。创作者已接受的视觉方向与制作形态由项目层决定并传入,
37
+ **本技能不加载形态卡,也不自行选择形态**;本节只说明本阶段需要形态回答什么、以及拿到
38
+ 答案后投影成哪些字段。
39
+
40
+ 形态决定属于 `craft_default`:创作者说明理由即可覆盖。形态不能创造新的
41
+ `structural_invariant`,也不能改写身份、地理、持物归属与可读文字政策。审查者不得单凭
42
+ 形态偏好阻断交付。
43
+
44
+ 不要用“加一句风格前缀”处理形态差异。前缀只改变检索标签;形态改变的是**必须出现和
45
+ 可以省略的字段**,只有后者会被执行,也只有后者能被审查。
46
+
47
+ 本阶段对形态只问一件事:**叙事职责是否真的落到了本形态可执行的字段**——形、层、
48
+ 材质、光、动作或声音。
49
+
50
+ 检查时不问“有没有写风格名”,而问:连续性必带项是否按本形态取舍、而不是照抄别的形态;
51
+ 同一决定是否只由一个负责人写入。已选择的形态或单镜预算不可执行时,回到对应负责人请求
52
+ 批准,不把拆镜或换形态默认为已经授权的替代。
53
+
54
+ ## 参考媒体与补拍
55
+
56
+ - **参考图能决定什么要逐张写明**:每张参考的用途、可以照搬什么、不可以照搬什么。身份参考
57
+ 不自动决定构图;构图、尺度或效果参考不自动带入图中人物、服装、文字、道具与故事状态。
58
+ - **像素主张需要证据**:关于参考图上可见内容(尤其文字、水印、标牌、界面)的断言,必须
59
+ 来自创作者/参考图权利人的可核对说明,或运行环境获授权后形成的输入参考观察记录,并绑定
60
+ 被检查的字节。两者都没有时保持 `unverified`,负面提示词不能代替证据。
61
+ - **观众揭示时机**:某一事实何时可被观众看到,由已接受的可见性决定绑定其来源、载体、
62
+ 权限、触发与保护方式。构图既不能提前泄露该事实,也不能遮掉本环节必须传达的载体。
63
+ - **母版、补拍与替代**:补拍默认只补充、不替代母版。普通母版不增加版本范围字段;只有
64
+ 补拍/替代版才声明 `pickup | alternate`,用同一文件内稳定的记录 ID 说明母版与补充关系,并把每项原文要求对应到当前字段或说明
65
+ 去向。只有下游审查结论才能批准替代,不得回写形成循环引用。
66
+
67
+ ## 本阶段规则
68
+
69
+ ### `REV`
70
+
71
+ | ID | Class | Knowledge |
72
+ |---|---|---|
73
+ | REV-01 | structural_invariant | Run mechanical checks before spending creative review attention. |
74
+ | REV-02 | structural_invariant | A finding binds its target through the file's `sources` declaration (`src` plus record), and includes evidence, impact, required fix, owner, severity, and status. |
75
+ | REV-03 | reviewed_invariant | Semantic invention cites the source fact and conflicting downstream fact. |
76
+ | REV-04 | craft_default | Prefer a reviewer who did not author the current targets; disclose self-review, and keep reviewer findings separate from owner edits. |
77
+ | REV-05 | craft_default | Diagnose repeated structure or generic language with location and impact; do not label output merely "AI-ish". |
78
+ | REV-06 | taste_option | Alternatives remain notes unless they violate an accepted creator constraint. |
79
+ | REV-07 | structural_invariant | An end-to-end drafting request cannot impersonate creator acceptance; preview chains remain provisional and undeliverable. |
80
+ | REV-08 | craft_default | When authorized text notes report production defects, trace text/subtitle residue, music-boundary violations, wardrobe drift, axis breaks, or lip-sync mismatch to the exact prompt/spec text and keep unobserved outcomes unknown. |
81
+ | REV-09 | reviewed_invariant | After prompt revision or repackaging, recheck source coverage and every applicable accepted directive; correct asset bindings alone do not prove compliance. |
82
+ | REV-10 | reviewed_invariant | A project-calibration finding distinguishes input-reference from generated-result observation, binds the exact project, the prompt/spec records it observed, stable reference slots, production configuration, method and limits, and—when its disposition calls for a change (see REV-11)—proposes the smallest owner-routed one with a preserve set; it does not generalize across projects or infer quality from task state. |
83
+ | REV-11 | reviewed_invariant | A calibration finding carries `disposition` (keep, post_production, targeted_edit, resubmit, rewrite) and `disposition_rationale` before any revision text, justified by whether the defect is text-controllable and whether it has already recurred. Dispositions that call for no change leave `required_change` empty rather than inventing one. Resubmitting identical text and appending quality adjectives are not repairs; a recurring defect routes to a structural change instead. Findings outside project calibration use `not_applicable`. |
84
+
85
+ 规则分级由高到低:`structural_invariant`(结构缺陷,阻断)、
86
+ `reviewed_invariant`(需证据判断)、`craft_default`(常用做法,可覆盖)、
87
+ `taste_option`(创作者选择,不作缺陷)。创作者已接受的事实优先于本表。