@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,47 @@
1
+ #!/usr/bin/env python3
2
+ """Offline self-test for multi-episode source intake."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import tempfile
7
+ import sys
8
+ from pathlib import Path
9
+
10
+ from episode_intake import build_index, slice_episode, verify_index, write_index
11
+
12
+ MINIMUM_PYTHON = (3, 9)
13
+ if sys.version_info < MINIMUM_PYTHON:
14
+ raise SystemExit("selftest.py requires Python 3.9 or newer")
15
+
16
+
17
+ def require(condition: bool, message: str) -> None:
18
+ if not condition:
19
+ raise AssertionError(message)
20
+
21
+
22
+ def main() -> int:
23
+ with tempfile.TemporaryDirectory() as directory:
24
+ root = Path(directory)
25
+ source = root / "episodes.md"
26
+ index = root / "index.json"
27
+ source.write_text("第1集 开端\n行动一。\n第2集 反转\n行动二。\n", encoding="utf-8")
28
+
29
+ document = build_index(source, source_ref="输入/episodes.md")
30
+ require(document["episode_count"] == 2, "episode count")
31
+ require(document["problems"] == [], "valid episode index")
32
+ write_index(index, document)
33
+ require(verify_index(index, source)["verified"] is True, "fresh index")
34
+ require(
35
+ slice_episode(index, source, "EP002").startswith("第2集".encode()),
36
+ "verified episode slice",
37
+ )
38
+
39
+ source.write_text(source.read_text(encoding="utf-8") + "变更。\n", encoding="utf-8")
40
+ require(verify_index(index, source)["verified"] is False, "source drift")
41
+
42
+ print("5 self-tests passed")
43
+ return 0
44
+
45
+
46
+ if __name__ == "__main__":
47
+ raise SystemExit(main())
@@ -0,0 +1,181 @@
1
+ ---
2
+ name: short-drama-image-prompts
3
+ description: 为已确认的短剧角色、造型、场景、视角、道具和状态编写或修改可复制的通用资产图片提示词,并把已接受视觉方向投影成 Look Development 人物、地点或高压力风格帧。用户提到角色设定图、三视图、人物参考图、场景设定图、场景空镜、场景板、道具图、风格帧、Look Development、造型或状态变体、局部编辑提示词,或要求用自然语言修改现有图片提示词时直接使用;只产出结构化规格与 Markdown 文本,不生成图片,也不调用模型或供应商接口。
4
+ license: MIT
5
+ ---
6
+
7
+ # 短剧资产图片提示词
8
+
9
+ 把已接受的资产事实写成“能认出、能复用、能区分状态”的参考图提示词。这里的产物是提示词,不是图片。
10
+
11
+ 预览、警告与修订说明是创作者读的:项目内跟随 `short-drama.json#/language`,独立运行时
12
+ 跟随用户使用的语言。送给图片生成器的**通用提示词正文**在项目内跟随
13
+ `#/format/prompt_language`,独立运行时由用户指定、未指定则为 `en`。
14
+ 改了描述语言不等于
15
+ 改了画面里的可读文字——那由已接受的文字政策决定。
16
+
17
+ ## 开始前
18
+
19
+ 本技能可独立安装和执行。先读取用户明确提供的资产事实、视觉方向与本任务直接输入;若当前
20
+ 目录是 `short-drama` 项目且项目工具可用,可以读取 `status` 并使用其发布生命周期,但缺少
21
+ core 或任何其他技能都不是提示词工作的阻断条件。[阶段契约](references/stage-contract.md)
22
+ 给出本阶段边界、制作形态输入与规则表,无需读取其他技能的文件。
23
+
24
+ ## Quick Start
25
+
26
+ 从本技能的最小原生 JSONL 样例开始,写完当前有界资产集合后运行:
27
+
28
+ ```text
29
+ python3 {技能目录}/scripts/image_prompt_check.py examples/minimal-image-prompt-specs.jsonl
30
+ python3 {技能目录}/scripts/selftest.py
31
+ ```
32
+
33
+ 校验器检查准确绑定、稳定 reference slot/order、局部编辑必填项、文字政策冲突和 provider 字段
34
+ 泄漏;构图、身份表现和画面质量仍属于内容审查。输入路径不存在于当前目录时,会相对本技能目录解析。
35
+
36
+ ## 进入条件与边界
37
+
38
+ - 可从现成项目或创作者直接提供的资产记录进入,不要求先做故事开发或安装主技能。
39
+ - 所有权或直接输入影响不清楚时,读
40
+ [阶段契约](references/stage-contract.md) 的所有权边界;需要定位规则 ID
41
+ 或解释审查问题时,读同一文件的本阶段规则表。
42
+ - 输入必须是已接受的 `CHAR/LOOK`、`LOC/VIEW` 或 `PROP/PSTATE` 精确 ID 与快照引用。未决指代、冲突变体或未知状态退回 `$short-drama-assets`,不代猜。
43
+ - 项目存在时读取 `short-drama.json#/creator_authority/{visual_direction,production_profile}`
44
+ 中状态为 `accepted` 的视觉方向与制作形态;独立运行时使用创作者直接提供的等价约束,未提供
45
+ 就保持 `unset`。它决定本阶段可执行的形状语言、线条/表面处理、材质对光的
46
+ 响应与层拆;若状态为 `unset`,就向创作者给出选择,不从对话记忆补造,也不用默认审美冒充
47
+ 已接受形态。形态只决定可执行词汇,不决定身份、地理、持物、可读文字政策与故事状态。
48
+ - 若创作者明确要求全链预览,可对唯一且没有 `unresolved` 问题的资产提案写候选提示词;
49
+ 文档标明待确认,不得声称创作者已经接受。
50
+ - 本技能只负责构图、提示词专用约束,以及局部修改中的修改项 `changes` 和保留项 `preserve`;身份、地理和资产状态仍由资产技能负责。
51
+ - 始终保留不绑定供应商的通用提示词。不得创建图片、媒体任务、接口请求、模型参数、轮询记录或画质结论。
52
+
53
+ ## 按任务加载资料
54
+
55
+ | 任务 | 必读资料 |
56
+ |---|---|
57
+ | 新建任意资产提示词 | [通用配方与视觉锚点](references/common-recipe.md) |
58
+ | Look Development / 人物、地点、高压力风格帧 | [Lookdev 风格帧](references/lookdev-frame.md) |
59
+ | 人物设定图 | 加读 [人物与造型](references/character-and-look.md) |
60
+ | 造型、视角或道具状态的版本 | 加读 [造型与状态变体](references/look-and-state-variant.md) |
61
+ | 场景空镜或不同观察方向 | 加读 [场景与地理](references/location-plate.md) |
62
+ | 道具或 道具状态 | 加读 [道具、尺度与文字](references/prop-plate.md) |
63
+ | 局部修改或自然语言改提示词 | 加读 [编辑与修订](references/edit-and-revision.md) |
64
+ | 自检、复核、失败诊断 | [审查量表与合成案例](references/review-and-fixtures.md) |
65
+ | 生产端三视图/场景方位/物品版式配方 | [生产资产图配方](references/production-sheet-recipes.md) |
66
+ | 参考图只决定身份、构图或尺度等指定内容 | [阶段契约](references/stage-contract.md) 的参考媒体与补拍 |
67
+
68
+ 普通资产规格使用 [结构化规格模板](assets/image-prompt-spec.jsonl.md);Look Development 改用
69
+ [独立风格帧模板](assets/lookdev-frame-spec.jsonl.md) 与
70
+ [风格帧 Markdown 模板](assets/lookdev-prompts.md),不先加载普通资产超集再删字段。普通资产交付文本
71
+ 使用 [Markdown 模板](assets/image-prompts.md)。只加载当前类型所需资料。
72
+
73
+ ## 每轮的工作单元
74
+
75
+ 一轮处理一组明确的资产 ID。“给所有资产写提示词”拆成若干个具名集合,每轮:
76
+
77
+ 1. 只读这组资产的直接输入,写它们的提示词规格,跑本地结构检查;
78
+ 2. 落盘这一组,其余资产保持原样;
79
+ 3. 报告已覆盖范围、剩余范围、未决绑定和下一组值得做的资产;
80
+ 4. 交还控制权,等创作者的下一次请求。
81
+
82
+ 实际生成、下游阶段和审查各自是独立的工作单元,由创作者明确请求时开始。
83
+
84
+ ## 工作流
85
+
86
+ ### 1. 确认目的而非先堆风格词
87
+
88
+ 先回答:这张参考图以后要帮助谁保持什么一致?选择一种主类型:
89
+
90
+ - `character_sheet`:识别同一人物的一套已接受造型;
91
+ - `location_plate`:固定一个地点的观察方向和地理;
92
+ - `prop_plate`:固定道具的尺度、形制、功能和当前状态;
93
+ - `look_state_variant`:在同一身份上突出有因果与有效范围的差异;
94
+ - `edit_delta`:对精确目标做有边界的修改,同时声明保留集。
95
+ - `lookdev_frame`:把已接受视觉方向投影成人物表现、核心地点或高压力场景的代表性文本规格。
96
+
97
+ 一个规格只承担一个主要复用目的。需要不同造型、观察方向、状态或 lookdev 测试轴时分开写,
98
+ 不把互相冲突的状态揉成“大全图”。风格帧不获得角色身份、场景地理或剧情状态的权威。
99
+
100
+ ### 2. 整理输入
101
+
102
+ 从接受快照记录:
103
+
104
+ 1. 准确的资产 ID 与版本 ID;
105
+ 2. 稳定识别点与本版本的变化;
106
+ 3. 来源引用:文件头 `sources` 里的快照键 `src`、`record_id` 与 `field`;
107
+ 4. 用途、构图、背景、光线与文字政策;
108
+ 5. 每张参考图的准确引用、单一作用、可参考内容、不可照搬内容与检查状态;只有
109
+ 创作者/参考图权利人的说明,或经过授权的输入参考图检查,才能给出像素/文字结论;
110
+ 前者写 `creator_described`,后者写 `visually_inspected`,都没有时保持 `unverified` 并列出风险;
111
+ 多参考还要保留稳定 `slot_id` 与显式 `order`,不能让数组重排改变用途;
112
+ 6. 必须出现、必须保持和明确排除的内容;
113
+ 7. 未决定项以及创作者的明确选择。
114
+
115
+ 只带入当前操作必需的信息。私有引用在文本中仅写 `REF-*`,不泄露本地路径、网址或原始内容。
116
+
117
+ ### 3. 按重要性写规格与通用提示词
118
+
119
+ 按“用途/主体 → 识别点 → 状态差异 → 构图/方向/尺度/空间关系 → 材质/色彩/光线 → 背景 → 文字政策 → 排除/保留”组织。身份、地理、尺度和可读文字等重要事实先于“精致、电影感”等空泛审美词。
120
+
121
+ - `structural_invariant`:绑定准确的已接受 ID/版本;局部修改写清 `target_ref` 与 `entity_or_region`、`changes`、`preserve` 和连续性影响;`readable` 不得与全局 `no-text` 并存。
122
+ - `reviewed_invariant`:人物在一个规格中保持同一身份和一套连贯造型;场景保持清楚的地理;道具保持可辨尺度、形制与功能。
123
+ - `reviewed_invariant`:参考图只决定已经声明的内容;构图、尺度或效果参考不得顺带改写身份、文字、人数或故事状态。
124
+ - `craft_default`:用少量可观察、彼此不重复的识别点;负面约束只防止当前风险,不写长篇万能禁词。
125
+ - `taste_option`:写实/绘制、镜头审美、色彩浓度、文风密度由创作者决定;一旦被写入
126
+ `creator_authority` 并接受,它就不再是本阶段可自选的口味,而是必须投影的形态约束。
127
+
128
+ ### 4. 做矛盾与可复用性审查
129
+
130
+ 逐项检查:锚点是否互相打架;临时状态是否污染身份;空间关系是否能画在同一画面;构图是否服务参考用途;文字政策是否可执行;排除项是否误杀必需事实。语义质量用证据复核,不用词数、形容词数或固定提示词长度硬判。
131
+
132
+ ### 5. 让创作者接受,再写正式产物
133
+
134
+ 先展示人能读懂的预览:绑定对象、关键选择、警告与可复制提示词。接受后写:
135
+
136
+ - `项目开发/lookdev-image-prompt-specs.jsonl` 与 `项目开发/lookdev-prompts.md`:仅项目级
137
+ Look Development 使用,后者为派生文本;
138
+ - `剧集/<EP>/assets/image-prompt-specs.jsonl`:权威规格,写入时 `status` 如实跟随对象当前
139
+ 生命周期状态(预览为 `candidate`,已接受的落盘规格为 `accepted`);
140
+ - `剧集/<EP>/assets/image-prompts.md`:由已接受规格重新生成的文本版本,元信息写明用的是哪个渲染器。
141
+
142
+ 项目工具可用时用 `publish` 发布规格和派生文本并声明直接输入;独立运行时直接写出本阶段文件。
143
+ 两种方式都不得以半成品覆盖当前版本。
144
+
145
+ `--input` 要把本文件 `sources` 里声明的每一个上游都列全——**少列一个,那个上游改了本产物也不会
146
+ 变 `update_needed`,它会带着过期的绑定停在 `accepted`**。本阶段的完整清单是身份与变体两侧成对:
147
+
148
+ ```text
149
+ ... publish <project> --owner short-drama-image-prompts --artifact-id EP001:image-prompts \
150
+ --output 剧集/EP001/assets/image-prompt-specs.jsonl=_work/image-prompt-specs.jsonl \
151
+ --input 设定集/characters.jsonl --input 设定集/looks.jsonl \
152
+ --input 设定集/locations.jsonl --input 设定集/location-views.jsonl \
153
+ --input 设定集/props.jsonl --input 设定集/prop-states.jsonl
154
+ ```
155
+
156
+ ## 自然语言修订
157
+
158
+ 用户可直接说“外套保持不变,只把袖口变湿”“场景里不要出现演员”。不要让用户编辑 JSONL。
159
+
160
+ 1. 把请求整理成按字段列出的修改方案,并标记哪些事实由上游负责;
161
+ 2. 展示 `before → after`、受影响的绑定和连续性,以及无法对应或会丢失的内容;
162
+ 3. 等待接受或拒绝;拒绝时原规格与 Markdown 文本不变;
163
+ 4. 接受后先提交规格,再从规格重新导出 Markdown 文本。
164
+
165
+ 若 Markdown 文本被手改:`restore` 先预览恢复;`adopt` 只把能完整对应字段的改动变成
166
+ 规格提案。无法对应的文句会阻断 `adopt`,绝不让派生文本反向成为事实来源。详见
167
+ [编辑与修订](references/edit-and-revision.md)。
168
+
169
+ ## 完成标准
170
+
171
+ - 每个规格能追溯到准确的已接受资产与版本,且通用提示词可独立复制;
172
+ - 类型配方完整,重要事实在泛化审美词之前,无未决占位或内部工作指令;
173
+ - 局部修改同时说明改什么、保留什么、会影响哪些连续性;
174
+ - 已运行当前批次的本地结构检查;需要内容 verdict 时作为单独请求交给 `$short-drama-review`;
175
+ - 交付中没有媒体、远程执行任务或接口信息、远端 ID、私有对应表或“生成成功”声明。
176
+
177
+ ## 投产交接
178
+
179
+ 用户要求把已接受规格真正生成图片时,交给 `$short-drama-produce`。传递准确的 prompt/spec、
180
+ 参考文件、数量、尺寸和目标路径;生产技能必须展示完整预览并取得本次任务的明确确认后才可
181
+ 调用外部 adapter。本技能本身仍只负责规格和提示词。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "短剧资产图提示词"
3
+ short_description: "为人物场景道具及局部编辑编写可追溯、可复用的图片提示词"
4
+ default_prompt: "使用 $short-drama-image-prompts 为已接受资产编写可复制的人物、场景、道具或编辑图片提示词。"
@@ -0,0 +1,187 @@
1
+ # `image-prompt-specs.jsonl` 填写模板
2
+
3
+ 首行是 `sources` 声明记录,之后每行一个候选规格对象,用于接受前预览;示例值不是默认答案。删除不适用字段,不要添加
4
+ 媒体任务、供应商或接口字段。上游引用默认绑定准确的已接受快照;只有与本对象同次发布的目标才写
5
+ `authority:candidate`。对象接受状态由事务生命周期记录,不能靠改状态字样伪造。
6
+
7
+ ## 首行:`sources` 声明
8
+
9
+ 本文件用到的每个上游快照在这里声明一次,键取产物文件名(`characters`、`looks`、`props`),
10
+ 在本文件内唯一且稳定:
11
+
12
+ ```json
13
+ {
14
+ "record_type": "sources",
15
+ "schema_version": "1.0.0",
16
+ "sources": {
17
+ "<identity-owner>": {
18
+ "owner": "short-drama-assets",
19
+ "artifact": "设定集/<identity-owner-file>.jsonl"
20
+ },
21
+ "<variant-owner>": {
22
+ "owner": "short-drama-assets",
23
+ "artifact": "设定集/<variant-owner-file>.jsonl"
24
+ },
25
+ "props": {
26
+ "owner": "short-drama-assets",
27
+ "artifact": "设定集/props.jsonl"
28
+ },
29
+ "<reference>": {
30
+ "owner": "<reference-owner>",
31
+ "artifact": "<project-relative-reference-record>"
32
+ },
33
+ "<edit-target>": {
34
+ "owner": "short-drama-image-prompts",
35
+ "artifact": "<精确目标>"
36
+ }
37
+ }
38
+ }
39
+ ```
40
+
41
+ 引用用 `src` 指向声明键,再写本条引用自己的 `record_id` 和 `field`:
42
+ `{"src": "<identity-owner>", "record_id": "CHAR-<id>"}`。
43
+
44
+ ## 规格行
45
+
46
+ ```json
47
+ {
48
+ "spec_id": "IMG-<stable-id>",
49
+ "status": "candidate",
50
+ "purpose": "character_sheet | location_plate | prop_plate | look_state_variant | edit_delta",
51
+ "asset_binding": {
52
+ "identity_ref": {
53
+ "src": "<identity-owner>",
54
+ "record_id": "CHAR/LOC/PROP-<id>"
55
+ },
56
+ "variant_ref": {
57
+ "src": "<variant-owner>",
58
+ "record_id": "LOOK/VIEW/PSTATE-<id>"
59
+ }
60
+ },
61
+ "source_refs": [
62
+ {
63
+ "src": "<identity-owner>",
64
+ "record_id": "<record>",
65
+ "field": "/<field>",
66
+ "role": "identity_anchor | variant_delta | geography | scale | text_policy"
67
+ }
68
+ ],
69
+ "reference_bindings": [
70
+ {
71
+ "slot_id": "REF-<stable-slot>",
72
+ "order": 1,
73
+ "artifact_ref": {
74
+ "src": "<reference>",
75
+ "record_id": "<accepted-reference-record>"
76
+ },
77
+ "role": "composition",
78
+ "may_control": [
79
+ "<本次允许借用的构图事实>"
80
+ ],
81
+ "must_not_control": [
82
+ "<身份/内容/文字/状态等禁入事实>"
83
+ ],
84
+ "admission_status": "unverified | creator_described | visually_inspected",
85
+ "reference_observation_ref": null,
86
+ "unresolved_risks": [
87
+ "<没有观察证据时保留的文字/水印/裁切风险>"
88
+ ]
89
+ }
90
+ ],
91
+ "recipe": {
92
+ "name": "<type-recipe>",
93
+ "version": "<suite recipe version>"
94
+ },
95
+ "intent": {
96
+ "reuse_job": "<这张参考图后续保持什么>",
97
+ "audience": "<使用者/阶段>"
98
+ },
99
+ "identity_or_form_anchors": [
100
+ "<稳定、可见、可比较的锚点>"
101
+ ],
102
+ "variant_deltas": [
103
+ {
104
+ "field": "<变化对象>",
105
+ "observable_change": "<位置/范围/结果>",
106
+ "valid_range": "<接受的有效范围>"
107
+ }
108
+ ],
109
+ "composition": {
110
+ "view": "<观察方向/视图>",
111
+ "framing": "<主体占比或板式>",
112
+ "orientation": "<方向定义>",
113
+ "scale_relation": "<尺度参照>",
114
+ "spatial_relations": [
115
+ "<锚点之间的关系>"
116
+ ]
117
+ },
118
+ "appearance": {
119
+ "materials": [
120
+ "<识别所需材质>"
121
+ ],
122
+ "palette": "<主次色关系>",
123
+ "lighting": "<光源、方向、用途>",
124
+ "atmosphere": "<有事实依据的气氛>"
125
+ },
126
+ "background": {
127
+ "policy": "clean | contextual | empty_stage",
128
+ "details": "<背景与允许出现内容>"
129
+ },
130
+ "text_handling": {
131
+ "source_policy_ref": {
132
+ "src": "props",
133
+ "record_id": "PROP-<id>",
134
+ "field": "/text_policy"
135
+ },
136
+ "source_mode": "exact_readable | graphic_only | no_readable_text | pending_creator_text",
137
+ "render_treatment": {
138
+ "mode": "readable | symbolic | blank | postproduction",
139
+ "surface": "<承载面>",
140
+ "exact_text": "<仅 readable 且来自接受源时填写>",
141
+ "layout_or_reserved_area": "<方向/区域/行数>"
142
+ },
143
+ "mapping_rationale": "<为何本次呈现保持 source policy>"
144
+ },
145
+ "constraints": [
146
+ "<必须出现/保持>"
147
+ ],
148
+ "negative_constraints": [
149
+ "<仅当前高风险且不矛盾的排除>"
150
+ ],
151
+ "edit": {
152
+ "changes": [
153
+ "<有边界变化>"
154
+ ],
155
+ "preserve": [
156
+ "<身份/构图/光线/未影响区域>"
157
+ ],
158
+ "continuity_impact": "<影响的 accepted variant/binding 或 none>",
159
+ "target_ref": {
160
+ "src": "<edit-target>",
161
+ "record_id": "IMG-<target-id>",
162
+ "field": "/generic_prompt"
163
+ },
164
+ "entity_or_region": "<区域>"
165
+ },
166
+ "creator_overrides": [
167
+ {
168
+ "rule_id": "<IMG-*>",
169
+ "choice": "<覆盖选择>",
170
+ "rationale": "<原因>"
171
+ }
172
+ ],
173
+ "generic_prompt": "<从本规格渲染的可复制通用提示词>",
174
+ "derivation": {
175
+ "renderer": "generic-markdown"
176
+ },
177
+ "provenance": "creator_project"
178
+ }
179
+ ```
180
+
181
+
182
+ 复制后按 `purpose` 删除不适用字段和悬空引用,`sources` 只保留仍被引用的键。Look Development 不使用本超集模板,改读
183
+ [`lookdev-frame-spec.jsonl.md`](lookdev-frame-spec.jsonl.md),避免普通人物、地点和道具规格加载
184
+ 风格帧专属字段。
185
+ 每条参考只声明一个用途,多参考的 `slot_id` 稳定且 `order` 显式。类型取舍、文字政策与
186
+ 参考准入由技能按 `references/common-recipe.md` 判断。候选与已接受对象分开发布;自然语言修改先形成
187
+ 候选和内容差异,不直接覆盖原记录。
@@ -0,0 +1,37 @@
1
+ # `image-prompts.md` 可复制输出模板
2
+
3
+ 此文件由已接受规格生成。元信息用于核对来源;只复制引用块内的通用提示词。不要手写供应商参数。
4
+
5
+ ```markdown
6
+ # EP<编号> · 资产图片提示词
7
+
8
+ > 来源:`image-prompt-specs.jsonl` 的已接受记录
9
+ > 配方:`<recipe>@<version>`
10
+ > 范围:本文件仅提供提示词,不触发媒体服务;实际图片生产交 `$short-drama-produce`
11
+
12
+ ## `<display name>` · `<purpose>`
13
+
14
+ - **规格**:`IMG-<id>`
15
+ - **绑定**:`<asset-id>` + `<variant-id>`
16
+ - **用途**:<后续复用目标>
17
+ - **参考图用途**:`<slot_id / order / reference>` 只决定 `<role / may_control>`;不得导入 `<must_not_control>`;检查状态 `<observation ref | unverified + risks>`;无参考则写“无”
18
+ - **文字来源政策**:`exact_readable | graphic_only | no_readable_text | pending_creator_text`
19
+ - **本次呈现**:`readable | symbolic | blank | postproduction`(附 source → treatment 映射)
20
+ - **注意**:<未阻断的警告 / 创作者明确调整;无则写“无”>
21
+
22
+ ### 可复制通用提示词
23
+
24
+ > <正文语言按 `short-drama.json#/format/prompt_language`(独立运行时由用户指定,未指定为 `en`)——这一格不预设中文。用途/主体与区分性锚点在前,状态、构图、空间/尺度、材质/光线、背景、文字政策、保持/排除依次展开。不要出现字段名、hash、审查话术或生成历史。>
25
+
26
+ ### 变体/编辑说明
27
+
28
+ - **相对基准**:<基础版本;非变体可省略>
29
+ - **变化**:<看得见的变化;无则省略>
30
+ - **必须保持**:<`preserve_set`;非局部修改可简写或省略>
31
+ - **连续性影响**:<已接受的绑定 / 无;非局部修改可省略>
32
+
33
+ ---
34
+ ```
35
+
36
+ 每个资产或版本独立一节;不要把多个互相冲突的造型、观察方向或状态合成一个可复制段落。
37
+ 该文件被手改过时,先按 `restore | adopt` 流程预览将要恢复或采用的内容。
@@ -0,0 +1,128 @@
1
+ # `lookdev-frame` 填写模板
2
+
3
+ 只在 `purpose: lookdev_frame` 时读取。首行是 `sources` 声明记录,之后每行一个候选风格帧规格;它投影已接受视觉方向,
4
+ 不替普通人物、地点、道具规格增加字段。删除当前测试轴不需要的可选项。
5
+
6
+ ## 首行:`sources` 声明
7
+
8
+ 本文件用到的每个上游快照在这里声明一次,键取产物文件名,在本文件内唯一且稳定。视觉方向与
9
+ 制作形态同出于 `short-drama.json`,共用一个键:
10
+
11
+ ```json
12
+ {
13
+ "record_type": "sources",
14
+ "schema_version": "1.0.0",
15
+ "sources": {
16
+ "short-drama": {
17
+ "owner": "creator",
18
+ "artifact": "short-drama.json"
19
+ },
20
+ "<identity-owner>": {
21
+ "owner": "short-drama-assets",
22
+ "artifact": "设定集/<identity-owner-file>.jsonl"
23
+ },
24
+ "<variant-owner>": {
25
+ "owner": "short-drama-assets",
26
+ "artifact": "设定集/<variant-owner-file>.jsonl"
27
+ },
28
+ "screenplay-index": {
29
+ "owner": "short-drama-write",
30
+ "artifact": "剧集/<EP>/screenplay-index.jsonl"
31
+ },
32
+ "<reference>": {
33
+ "owner": "<reference-owner>",
34
+ "artifact": "<project-relative-reference-record>"
35
+ }
36
+ }
37
+ }
38
+ ```
39
+
40
+ 引用用 `src` 指向声明键,再写本条引用自己的 `record_id` 和 `field`。
41
+
42
+ ## 规格行
43
+
44
+ ```json
45
+ {
46
+ "spec_id": "LOOKDEV-<stable-id>",
47
+ "status": "candidate",
48
+ "purpose": "lookdev_frame",
49
+ "lookdev_axis": "character_expression | core_location | high_pressure_scene",
50
+ "direction_ref": {
51
+ "src": "short-drama",
52
+ "field": "/creator_authority/visual_direction/choices/look_development"
53
+ },
54
+ "production_profile_ref": {
55
+ "src": "short-drama",
56
+ "field": "/creator_authority/production_profile"
57
+ },
58
+ "subject_bindings": [
59
+ {
60
+ "identity_ref": {
61
+ "src": "<identity-owner>",
62
+ "record_id": "CHAR/LOC/PROP-<id>"
63
+ },
64
+ "variant_ref": {
65
+ "src": "<variant-owner>",
66
+ "record_id": "LOOK/VIEW/PSTATE-<id>"
67
+ },
68
+ "role": "expression_subject | location | pressure_actor | evidence"
69
+ }
70
+ ],
71
+ "story_context_refs": [
72
+ {
73
+ "src": "screenplay-index",
74
+ "record_id": "BLK-<EP>-<SC>-<kind><nn>",
75
+ "field": "/<exact-source-field-if-needed>",
76
+ "role": "scene_heading | action | dialogue | information_permission | story_state"
77
+ }
78
+ ],
79
+ "reference_bindings": [
80
+ {
81
+ "slot_id": "REF-<stable-slot>",
82
+ "order": 1,
83
+ "artifact_ref": {
84
+ "src": "<reference>",
85
+ "record_id": "<stable-record-id>"
86
+ },
87
+ "role": "style",
88
+ "may_control": [
89
+ "<色彩层级/材质处理/阴影边缘/景深倾向/画面密度>"
90
+ ],
91
+ "must_not_control": [
92
+ "<角色身份/固定地理/剧情状态/人数/持物/道具文字>"
93
+ ],
94
+ "admission_status": "unverified | creator_described | visually_inspected",
95
+ "reference_observation_ref": null,
96
+ "unresolved_risks": []
97
+ }
98
+ ],
99
+ "test_question": "<本帧要暴露哪一种视觉方向风险>",
100
+ "stable_visual_rules": [
101
+ "<跨测试轴必须保留的可观察规则>"
102
+ ],
103
+ "allowed_variation": [
104
+ "<本场允许变化的光比/冷暖/留白/密度>"
105
+ ],
106
+ "composition_and_state": "<只写当前代表帧需要的构图、空间与剧情状态>",
107
+ "appearance": {
108
+ "materials": [
109
+ "<材质处理>"
110
+ ],
111
+ "palette": "<色彩层级>",
112
+ "lighting": "<光源逻辑与阴影边缘>",
113
+ "depth_or_density": "<景深/画面密度>"
114
+ },
115
+ "constraints": [
116
+ "<必须保持的身份、地理、文字与信息权限>"
117
+ ],
118
+ "generic_prompt": "<只含可被画出的自然表述,语言按 #/format/prompt_language,不含字段名/hash/审查话术>",
119
+ "derivation": {
120
+ "renderer": "generic-markdown"
121
+ },
122
+ "provenance": "creator_project"
123
+ }
124
+ ```
125
+
126
+ 人物与地点测试没有剧情职责时删除 `story_context_refs` 及其 `sources` 键;高压力场景必须保留真实 `BLK-…`
127
+ 来源。单主体也使用一项 `subject_bindings[]`,不再与 `asset_binding` 二选一。无参考媒体时
128
+ `reference_bindings` 为空;多参考的 `slot_id` 稳定、`order` 唯一。
@@ -0,0 +1,31 @@
1
+ # `lookdev-prompts.md` 可复制输出模板
2
+
3
+ 此文件由已接受 Look Development 规格派生。它展示视觉方向怎样跨测试轴保持,
4
+ 只复制引用块内的自然语言提示词;本文件不触发图片或媒体服务,实际生产交
5
+ `$short-drama-produce` 并单独确认。
6
+
7
+ ```markdown
8
+ # 项目 Look Development 提示词
9
+
10
+ > 来源:`lookdev-image-prompt-specs.jsonl` 的已接受记录
11
+ > 视觉方向:`short-drama.json#/creator_authority/visual_direction/choices/look_development`
12
+ > 范围:仅代表帧提示词,不拥有角色身份、地点地理或剧情状态
13
+
14
+ ## `LOOKDEV-<id>` · `<人物表现 | 核心地点 | 高压力场景>`
15
+
16
+ - **测试问题**:<本帧要暴露的视觉方向风险>
17
+ - **绑定事实**:<准确身份/变体;高压力帧再列 scene/block refs>
18
+ - **跨轴稳定**:<形状、材质、色彩、阴影、景深或密度中的共同规则>
19
+ - **本帧可变**:<当前场景允许变化的部分>
20
+ - **风格参考权限**:`<slot_id / order / reference>` 只决定 `<may_control>`,不得导入 `<must_not_control>`
21
+ - **仍未知**:<只能由授权生产观察回答的风险;无则写“无”>
22
+
23
+ ### 可复制通用提示词
24
+
25
+ > <只写可被画出的主体、空间、构图、材质、光色和状态;不含字段名、hash、审查话术、供应商参数或生成历史。>
26
+
27
+ ---
28
+ ```
29
+
30
+ 三类测试帧不要求固定数量或宫格。人物/地点帧没有剧情职责时不列 scene/block refs;高压力帧必须
31
+ 显示其准确来源。规格或视觉方向改了就重新派生本文件,不直接手改缓存。
@@ -0,0 +1,2 @@
1
+ {"record_type": "sources", "schema_version": "1.0.0", "sources": {"characters": {"owner": "short-drama-assets", "artifact": "characters.jsonl"}, "looks": {"owner": "short-drama-assets", "artifact": "looks.jsonl"}, "composition-reference": {"owner": "creator", "artifact": "composition-reference.png"}}}
2
+ {"spec_id": "IMG-LIN-RAIN", "status": "candidate", "purpose": "character_sheet", "asset_binding": {"identity_ref": {"src": "characters", "record_id": "CHAR-LIN"}, "variant_ref": {"src": "looks", "record_id": "LOOK-LIN-RAIN"}}, "source_refs": [{"src": "characters", "record_id": "CHAR-LIN", "field": "/identity_anchors", "role": "identity_anchor"}], "reference_bindings": [{"slot_id": "REF-LIN-COMPOSITION", "order": 1, "artifact_ref": {"src": "composition-reference", "record_id": "REF-COMP-01"}, "role": "composition", "may_control": ["左右排版与留白"], "must_not_control": ["角色身份、服装、文字"], "admission_status": "creator_described", "reference_observation_ref": null, "unresolved_risks": []}], "intent": {"reuse_job": "保持角色在雨夜造型中的跨镜身份", "audience": "image production"}, "identity_or_form_anchors": ["齐下颌黑发", "左眉尾浅疤", "站立时重心偏右"], "variant_deltas": [{"field": "wardrobe", "observable_change": "深蓝旧雨衣,肩部被雨水加深", "valid_range": "SC001-SC002"}], "composition": {"view": "front and side reference sheet", "framing": "full body", "orientation": "neutral", "scale_relation": "consistent body proportions", "spatial_relations": []}, "appearance": {"materials": ["worn waterproof fabric"], "palette": "deep blue with muted skin tones", "lighting": "soft neutral studio light", "atmosphere": "clean reference presentation"}, "background": {"policy": "clean", "details": "plain light-gray background"}, "constraints": ["one coherent accepted look", "identity anchors remain visible"], "negative_constraints": ["no extra accessories", "no readable text"], "generic_prompt": "Character reference sheet for Lin Lan in one coherent rain look, jaw-length black hair, a shallow scar at the left eyebrow tail, weight resting slightly on the right leg, worn deep-blue raincoat with rain-darkened shoulders, front and side full-body views, neutral studio light, plain light-gray background, no extra accessories, no readable text.", "provenance": "creator_project"}