@aswless_854771076/ai_short_studio_cli 0.1.97 → 0.1.99

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 (401) hide show
  1. package/README.md +14 -312
  2. package/dist/base-command.d.ts +0 -6
  3. package/dist/base-command.js +1 -39
  4. package/dist/client/api-client.js +2 -19
  5. package/dist/commands/auth/login.d.ts +1 -2
  6. package/dist/commands/auth/login.js +2 -5
  7. package/dist/commands/auth/logout.d.ts +0 -1
  8. package/dist/commands/auth/signup.d.ts +0 -1
  9. package/dist/commands/auth/status.d.ts +0 -1
  10. package/dist/commands/canvas/apply.d.ts +0 -1
  11. package/dist/commands/canvas/asset/get.d.ts +0 -1
  12. package/dist/commands/canvas/asset/list.d.ts +0 -1
  13. package/dist/commands/canvas/asset/select.d.ts +1 -3
  14. package/dist/commands/canvas/asset/select.js +3 -22
  15. package/dist/commands/canvas/asset/upload.d.ts +0 -14
  16. package/dist/commands/canvas/asset/upload.js +3 -43
  17. package/dist/commands/canvas/continuity/analyze.d.ts +0 -1
  18. package/dist/commands/canvas/edge/connect.d.ts +0 -1
  19. package/dist/commands/canvas/edge/disconnect.d.ts +0 -1
  20. package/dist/commands/canvas/edge/list.d.ts +0 -1
  21. package/dist/commands/canvas/edge/list.js +1 -4
  22. package/dist/commands/canvas/episode/create.d.ts +0 -1
  23. package/dist/commands/canvas/episode/list.d.ts +0 -1
  24. package/dist/commands/canvas/folder/copy-cross-project.d.ts +0 -1
  25. package/dist/commands/canvas/folder/create.d.ts +0 -1
  26. package/dist/commands/canvas/folder/delete.d.ts +0 -1
  27. package/dist/commands/canvas/folder/list.d.ts +0 -1
  28. package/dist/commands/canvas/folder/move.d.ts +0 -1
  29. package/dist/commands/canvas/folder/rename.d.ts +0 -1
  30. package/dist/commands/canvas/folder/restore.d.ts +0 -1
  31. package/dist/commands/canvas/get.d.ts +0 -1
  32. package/dist/commands/canvas/inspect.d.ts +0 -1
  33. package/dist/commands/canvas/node/add.d.ts +1 -1
  34. package/dist/commands/canvas/node/add.js +2 -2
  35. package/dist/commands/canvas/node/delete.d.ts +0 -1
  36. package/dist/commands/canvas/node/edit-resource.d.ts +0 -2
  37. package/dist/commands/canvas/node/edit-resource.js +1 -9
  38. package/dist/commands/canvas/node/edit-shot.d.ts +0 -1
  39. package/dist/commands/canvas/node/get.d.ts +0 -1
  40. package/dist/commands/canvas/node/list.d.ts +0 -5
  41. package/dist/commands/canvas/node/list.js +2 -43
  42. package/dist/commands/canvas/node/run.d.ts +0 -15
  43. package/dist/commands/canvas/node/run.js +6 -142
  44. package/dist/commands/canvas/node/types.d.ts +0 -1
  45. package/dist/commands/canvas/node/update-many.d.ts +0 -1
  46. package/dist/commands/canvas/node/update.d.ts +0 -1
  47. package/dist/commands/canvas/settings/get.d.ts +0 -1
  48. package/dist/commands/canvas/settings/set.d.ts +0 -24
  49. package/dist/commands/canvas/settings/set.js +1 -60
  50. package/dist/commands/config/get.d.ts +0 -1
  51. package/dist/commands/config/set.d.ts +0 -2
  52. package/dist/commands/config/set.js +2 -55
  53. package/dist/commands/preflight.d.ts +0 -1
  54. package/dist/commands/preflight.js +1 -9
  55. package/dist/commands/project/create.d.ts +0 -1
  56. package/dist/commands/project/delete.d.ts +0 -1
  57. package/dist/commands/project/get.d.ts +0 -1
  58. package/dist/commands/project/list.d.ts +0 -1
  59. package/dist/commands/project/provider/get.d.ts +0 -1
  60. package/dist/commands/project/provider/set.d.ts +0 -1
  61. package/dist/commands/project/provider/test.d.ts +0 -1
  62. package/dist/commands/project/update.d.ts +0 -1
  63. package/dist/commands/skill/install.d.ts +0 -1
  64. package/dist/commands/skill/install.js +0 -1
  65. package/dist/commands/skill/path.d.ts +0 -1
  66. package/dist/commands/skill/path.js +0 -1
  67. package/dist/commands/skill/status.d.ts +0 -1
  68. package/dist/commands/skill/status.js +0 -1
  69. package/dist/commands/task/cancel.d.ts +0 -1
  70. package/dist/commands/task/get.d.ts +0 -1
  71. package/dist/commands/task/wait.d.ts +0 -2
  72. package/dist/commands/task/wait.js +1 -6
  73. package/dist/domain/vvicat-api.d.ts +3 -57
  74. package/dist/domain/vvicat-api.js +9 -65
  75. package/dist/output/formatter.d.ts +0 -11
  76. package/dist/output/formatter.js +0 -20
  77. package/dist/preflight.d.ts +0 -1
  78. package/dist/preflight.js +1 -14
  79. package/dist/skill/command-flags.js +4 -7
  80. package/dist/skill/skill-manager.d.ts +2 -75
  81. package/dist/skill/skill-manager.js +15 -60
  82. package/package.json +3 -4
  83. package/scripts/postinstall.mjs +12 -7
  84. package/skills/using-vvicat-ai-short-studio-cli/SKILL.md +68 -27
  85. package/skills/using-vvicat-ai-short-studio-cli/references/commands/canvas.md +4 -3
  86. package/skills/using-vvicat-ai-short-studio-cli/references/commands/project.md +2 -22
  87. package/skills/using-vvicat-ai-short-studio-cli/references/commands.md +1 -1
  88. package/skills/using-vvicat-ai-short-studio-cli/references/editing-delivery.md +1 -1
  89. package/skills/using-vvicat-ai-short-studio-cli/references/h3-video-delivery.md +1 -1
  90. package/skills/using-vvicat-ai-short-studio-cli/references/humanizer/humanizer.md +9 -0
  91. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/SKILL.md +447 -0
  92. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/brief.md +93 -0
  93. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/project-files.md +246 -0
  94. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/reference-video.md +266 -0
  95. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/script-and-time.md +253 -0
  96. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/transformations.md +141 -0
  97. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/distribution.md +176 -0
  98. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/local-tools.md +411 -0
  99. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/model-and-provider.md +275 -0
  100. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/profile.md +286 -0
  101. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/asset-and-shot-preproduction.md +193 -0
  102. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/b-roll.md +94 -0
  103. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/caption-tracking.md +125 -0
  104. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/captions.md +252 -0
  105. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/conversation-images.md +218 -0
  106. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-base-prompt-writing.md +222 -0
  107. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-reference-prompt-writing.md +341 -0
  108. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/image-direction.md +123 -0
  109. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/generated-dependencies.md +38 -0
  110. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/graphic-compositions.md +85 -0
  111. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/h3-prompt-writing.md +54 -0
  112. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/image-direction.md +95 -0
  113. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/motion-graphics.md +68 -0
  114. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/recreation-policy.md +51 -0
  115. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/screen-demonstrations.md +51 -0
  116. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/shot-production-contracts.md +161 -0
  117. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/sound-mix.md +76 -0
  118. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/video-direction.md +433 -0
  119. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-and-performance.md +224 -0
  120. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-direction.md +99 -0
  121. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/narration-led-demo.md +87 -0
  122. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/presenter-led-explainer.md +160 -0
  123. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/ranking-listicle.md +71 -0
  124. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/reference-recreation-canvas.md +8 -0
  125. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama-workflow.md +165 -0
  126. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama.md +88 -0
  127. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/street-interview.md +92 -0
  128. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/talking-head.md +82 -0
  129. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/two-person-podcast.md +101 -0
  130. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/index.md +77 -0
  131. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/audio-presentation.md +49 -0
  132. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/authoring.md +228 -0
  133. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/browser-capture.md +112 -0
  134. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/builds.md +330 -0
  135. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-authoring.md +156 -0
  136. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-presentation.md +66 -0
  137. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-design.md +217 -0
  138. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-sharing.md +150 -0
  139. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-visuals.md +152 -0
  140. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/detail.svrun +8 -0
  141. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/direction.svs +14 -0
  142. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/look.svs +6 -0
  143. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/material.svrun +5 -0
  144. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svml +73 -0
  145. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svrun +5 -0
  146. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/visuals.ts +62 -0
  147. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/fonts-and-text.md +138 -0
  148. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/image-operations.md +102 -0
  149. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/index.md +73 -0
  150. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media-presentation.md +111 -0
  151. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media.md +246 -0
  152. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/performance.md +114 -0
  153. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/prompt-kits.md +165 -0
  154. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/rendering.md +141 -0
  155. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/review.md +211 -0
  156. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/runs.md +151 -0
  157. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/script-syntax.md +236 -0
  158. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/snapshots.md +90 -0
  159. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/sound.md +75 -0
  160. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/source-syntax.md +163 -0
  161. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/spatial.md +189 -0
  162. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md +186 -0
  163. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio.md +249 -0
  164. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/system.md +169 -0
  165. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timeline.md +74 -0
  166. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timing.md +96 -0
  167. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/track-authoring.md +215 -0
  168. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/tracks.md +67 -0
  169. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/video-downloads.md +47 -0
  170. package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/vocabulary.md +119 -0
  171. package/skills/using-vvicat-ai-short-studio-cli/references/project-and-canvas.md +1 -1
  172. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/README.md +11 -0
  173. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/SKILL.md +102 -0
  174. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/art-styles.json +585 -0
  175. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-images.md +11 -0
  176. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles/character-profile-output.schema.json +99 -0
  177. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles.md +7 -0
  178. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-drama-art-style.md +9 -0
  179. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-prop-assets.md +11 -0
  180. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-scene-assets.md +13 -0
  181. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-art-styles.md +9 -0
  182. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-assets.md +9 -0
  183. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.en.txt +24 -0
  184. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.zh.txt +24 -0
  185. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.en.txt +61 -0
  186. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.zh.txt +79 -0
  187. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.en.txt +101 -0
  188. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.zh.txt +150 -0
  189. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.en.txt +114 -0
  190. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.zh.txt +89 -0
  191. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.en.txt +114 -0
  192. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.zh.txt +389 -0
  193. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.en.txt +40 -0
  194. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.zh.txt +40 -0
  195. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.en.txt +24 -0
  196. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.zh.txt +24 -0
  197. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.en.txt +19 -0
  198. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.zh.txt +19 -0
  199. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.en.txt +26 -0
  200. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.zh.txt +26 -0
  201. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.en.txt +33 -0
  202. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.zh.txt +33 -0
  203. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.en.txt +36 -0
  204. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.zh.txt +36 -0
  205. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.en.txt +33 -0
  206. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.zh.txt +33 -0
  207. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.en.txt +26 -0
  208. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.zh.txt +26 -0
  209. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.en.txt +21 -0
  210. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.zh.txt +21 -0
  211. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.en.txt +12 -0
  212. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.zh.txt +12 -0
  213. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.en.txt +13 -0
  214. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.zh.txt +13 -0
  215. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.en.txt +11 -0
  216. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.zh.txt +11 -0
  217. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.en.txt +15 -0
  218. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.zh.txt +15 -0
  219. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.en.txt +14 -0
  220. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.zh.txt +14 -0
  221. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.en.txt +50 -0
  222. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.zh.txt +50 -0
  223. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.en.txt +18 -0
  224. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.zh.txt +18 -0
  225. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.en.txt +67 -0
  226. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.zh.txt +67 -0
  227. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.en.txt +14 -0
  228. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.zh.txt +14 -0
  229. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.en.txt +16 -0
  230. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.zh.txt +16 -0
  231. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.en.txt +17 -0
  232. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.zh.txt +17 -0
  233. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.en.txt +11 -0
  234. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.zh.txt +11 -0
  235. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.en.txt +14 -0
  236. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.zh.txt +14 -0
  237. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.en.txt +13 -0
  238. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.zh.txt +13 -0
  239. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.en.txt +12 -0
  240. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.zh.txt +12 -0
  241. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.en.txt +19 -0
  242. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.zh.txt +19 -0
  243. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.en.txt +18 -0
  244. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.zh.txt +17 -0
  245. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.en.txt +29 -0
  246. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.zh.txt +29 -0
  247. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.en.txt +77 -0
  248. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.zh.txt +77 -0
  249. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.en.txt +109 -0
  250. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.zh.txt +109 -0
  251. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.en.txt +23 -0
  252. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.zh.txt +23 -0
  253. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.en.txt +42 -0
  254. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.zh.txt +42 -0
  255. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.en.txt +55 -0
  256. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.zh.txt +55 -0
  257. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.en.txt +49 -0
  258. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.zh.txt +52 -0
  259. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.en.txt +37 -0
  260. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.zh.txt +37 -0
  261. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.en.txt +28 -0
  262. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.zh.txt +28 -0
  263. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.en.txt +57 -0
  264. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.zh.txt +169 -0
  265. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.en.txt +64 -0
  266. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.zh.txt +117 -0
  267. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.en.txt +34 -0
  268. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.zh.txt +34 -0
  269. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.en.txt +18 -0
  270. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.zh.txt +13 -0
  271. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.en.txt +7 -0
  272. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.zh.txt +7 -0
  273. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.en.txt +28 -0
  274. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.zh.txt +42 -0
  275. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.en.txt +35 -0
  276. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.zh.txt +35 -0
  277. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.en.txt +21 -0
  278. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.zh.txt +21 -0
  279. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.en.txt +39 -0
  280. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.zh.txt +39 -0
  281. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.en.txt +49 -0
  282. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.zh.txt +48 -0
  283. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.en.txt +51 -0
  284. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.zh.txt +51 -0
  285. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.en.txt +50 -0
  286. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.zh.txt +50 -0
  287. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.en.txt +48 -0
  288. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.zh.txt +46 -0
  289. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/plan-drama-assets.md +7 -0
  290. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/codex-contracts.md +14 -0
  291. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/comfly-provider.md +12 -0
  292. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/controlled-vocabulary.json +115 -0
  293. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/analyze-drama-source.md +7 -0
  294. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/define-drama-brief.md +8 -0
  295. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/design-drama-bible.md +5 -0
  296. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/humanizer.md +9 -0
  297. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/outline-drama-series.md +5 -0
  298. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/short-drama.md +13 -0
  299. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-director-book.md +6 -0
  300. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-episode.md +6 -0
  301. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/director-composition.md +794 -0
  302. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-deliver-drama.md +5 -0
  303. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-drama-timeline.md +22 -0
  304. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/remotion-best-practices.md +12 -0
  305. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing-workflow.md +56 -0
  306. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/feature-completeness.md +111 -0
  307. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/configure-generation-providers.md +17 -0
  308. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/design-drama-audio.md +11 -0
  309. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/drama-generation-service.md +13 -0
  310. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-drama-videos.md +9 -0
  311. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-storyboard-images.md +11 -0
  312. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/monitor-drama-tasks.md +15 -0
  313. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/transform-drama-media.md +9 -0
  314. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/write-drama-video-prompts.md +50 -0
  315. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/market-report.schema.json +46 -0
  316. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/methodology.md +24 -0
  317. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market.md +47 -0
  318. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market/market-inspiration.schema.json +109 -0
  319. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market.md +15 -0
  320. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/module-map.json +595 -0
  321. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/music-catalog-providers.md +16 -0
  322. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/manage-drama-projects.md +11 -0
  323. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/orchestrate-short-drama.md +20 -0
  324. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/recover-drama-pipeline.md +5 -0
  325. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/short-drama-skill-index.md +29 -0
  326. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/use-short-drama-studio.md +15 -0
  327. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/pipeline.md +85 -0
  328. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/project-spec-v1.md +217 -0
  329. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/prompt-skill-index.md +62 -0
  330. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/recreation/publish-drama-references/litterbox.md +5 -0
  331. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-script.md +7 -0
  332. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-shots.md +39 -0
  333. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/runninghub-provider.md +33 -0
  334. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/starrouter-provider.md +53 -0
  335. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/build-drama-storyboard.md +13 -0
  336. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/design-fight-video.md +19 -0
  337. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/action-previz.md +39 -0
  338. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/direction-contract.md +96 -0
  339. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/weapons-vfx.md +23 -0
  340. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz.md +15 -0
  341. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/generate-blender-previz.md +20 -0
  342. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-drama-production.md +21 -0
  343. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-shot-continuity.md +15 -0
  344. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/revise-drama-storyboards.md +5 -0
  345. package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/usage-guide.md +107 -0
  346. package/skills/using-vvicat-ai-short-studio-cli/references/special-workflows.md +2 -2
  347. package/dist/auth/login-provider.d.ts +0 -2
  348. package/dist/auth/login-provider.js +0 -3
  349. package/dist/commands/canvas/node/quote.d.ts +0 -17
  350. package/dist/commands/canvas/node/quote.js +0 -13
  351. package/dist/commands/config/ai-provider/capabilities.d.ts +0 -60
  352. package/dist/commands/config/ai-provider/capabilities.js +0 -124
  353. package/dist/commands/config/ai-provider/get.d.ts +0 -22
  354. package/dist/commands/config/ai-provider/get.js +0 -21
  355. package/dist/commands/config/ai-provider/list.d.ts +0 -21
  356. package/dist/commands/config/ai-provider/list.js +0 -19
  357. package/dist/commands/config/ai-provider/models.d.ts +0 -22
  358. package/dist/commands/config/ai-provider/models.js +0 -21
  359. package/dist/commands/config/ai-provider/set.d.ts +0 -41
  360. package/dist/commands/config/ai-provider/set.js +0 -65
  361. package/dist/commands/config/ai-provider/test.d.ts +0 -25
  362. package/dist/commands/config/ai-provider/test.js +0 -24
  363. package/dist/domain/ai-provider-capabilities.d.ts +0 -109
  364. package/dist/domain/ai-provider-capabilities.js +0 -180
  365. package/dist/domain/ai-provider-command-helpers.d.ts +0 -27
  366. package/dist/domain/ai-provider-command-helpers.js +0 -55
  367. package/skills/using-vvicat-ai-short-studio-cli/references/b-roll-and-screen.md +0 -9
  368. package/skills/using-vvicat-ai-short-studio-cli/references/caption-and-graphics-direction.md +0 -11
  369. package/skills/using-vvicat-ai-short-studio-cli/references/composition-and-shot-review.md +0 -17
  370. package/skills/using-vvicat-ai-short-studio-cli/references/craft-index.md +0 -20
  371. package/skills/using-vvicat-ai-short-studio-cli/references/drama-canvas.md +0 -19
  372. package/skills/using-vvicat-ai-short-studio-cli/references/format-relationships.md +0 -15
  373. package/skills/using-vvicat-ai-short-studio-cli/references/h3-prompts.md +0 -7
  374. package/skills/using-vvicat-ai-short-studio-cli/references/image-and-reference-direction.md +0 -9
  375. package/skills/using-vvicat-ai-short-studio-cli/references/licensed-music.md +0 -9
  376. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/oh-my-short-drama-MIT.txt +0 -21
  377. package/skills/using-vvicat-ai-short-studio-cli/references/licenses/short-drama-MIT.txt +0 -21
  378. package/skills/using-vvicat-ai-short-studio-cli/references/media-provenance-and-review.md +0 -22
  379. package/skills/using-vvicat-ai-short-studio-cli/references/paid-plan.md +0 -7
  380. package/skills/using-vvicat-ai-short-studio-cli/references/production-specialties.md +0 -25
  381. package/skills/using-vvicat-ai-short-studio-cli/references/recreation.md +0 -21
  382. package/skills/using-vvicat-ai-short-studio-cli/references/reference-analysis-and-timing.md +0 -19
  383. package/skills/using-vvicat-ai-short-studio-cli/references/remotion-editing.md +0 -18
  384. package/skills/using-vvicat-ai-short-studio-cli/references/shot-production.md +0 -9
  385. package/skills/using-vvicat-ai-short-studio-cli/references/sound-and-captions.md +0 -7
  386. package/skills/using-vvicat-ai-short-studio-cli/references/sources.md +0 -6
  387. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/canvas-production.md +0 -9
  388. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/guide.md +0 -7
  389. package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/index.md +0 -13
  390. package/skills/using-vvicat-ai-short-studio-cli/references/video-and-performance-direction.md +0 -9
  391. package/skills/using-vvicat-ai-short-studio-cli/references/voice-and-sound-direction.md +0 -9
  392. package/skills/using-vvicat-ai-short-studio-cli/references/writing-polish.md +0 -15
  393. /package/skills/using-vvicat-ai-short-studio-cli/references/{licenses/humanizer-MIT.txt → short-drama/assets/modules/humanizer/LICENSE} +0 -0
  394. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/compliance-checklist.md +0 -0
  395. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/genre-guide.md +0 -0
  396. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/hook-design.md +0 -0
  397. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/opening-rules.md +0 -0
  398. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/paywall-design.md +0 -0
  399. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/rhythm-curve.md +0 -0
  400. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/satisfaction-matrix.md +0 -0
  401. /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/villain-design.md +0 -0
@@ -0,0 +1,33 @@
1
+ # Codex execution contract: music_track_design
2
+
3
+ This file is read by the owning Skill to design BGM, OP, ED, or music-video tracks explicitly requested by the user or an approved production plan. It is not a system prompt for an external text model.
4
+
5
+ Role: short-drama music director. Ground the track in plot phase, character relationships and arc, emotional progression, shot cuts, dialogue density, and target duration.
6
+
7
+ Episode: {episode_key}
8
+ Purpose: {purpose}
9
+ Target duration in milliseconds: {target_duration_ms}
10
+ Story context:
11
+ {story_context}
12
+
13
+ Characters and relationships:
14
+ {characters_json}
15
+
16
+ Director book:
17
+ {director_book_json}
18
+
19
+ Storyboard and edit rhythm:
20
+ {storyboard_json}
21
+
22
+ Current audio plan:
23
+ {audio_plan_json}
24
+
25
+ Rules:
26
+ 1. purpose must be op, ed, bgm, or music-video. Do not create a track without an explicit music requirement.
27
+ 2. creative_brief must state narrative function, story evidence, character theme, an emotion arc strictly increasing from 0 to 1, edit rhythm, sonic palette, vocal direction, and target duration. Style labels alone are insufficient.
28
+ 3. prompt must turn the brief into audible direction: structure, tempo or pulse, instrumentation, dynamics, dialogue space, and ending. Do not imitate living artists or named copyrighted works.
29
+ 4. BGM defaults to make_instrumental=true and empty lyrics, leaving midrange and dynamic room for dialogue. Write fully original OP/ED lyrics only when vocals are requested, using the approved language, point of view, and story facts.
30
+ 5. target_duration_ms is an edit target, not a claim that the provider returns sample-accurate duration. Review the result against edit points.
31
+ 6. matched_shots may contain only existing positive storyboard shot numbers. Put missing evidence in unresolved and keep the plan unapproved instead of guessing.
32
+
33
+ Return only a strict JSON track object with exactly: key, purpose, title, source_mode, creative_brief, prompt, tags, lyrics, make_instrumental, provider, model, matched_shots. source_mode is generated, provider is starrouter, and model is suno_music. creative_brief contains exactly narrative_function, story_context, character_theme, emotion_arc, edit_rhythm, sonic_palette, vocal_direction, target_duration_ms; every emotion_arc item contains exactly at, emotion, intensity.
@@ -0,0 +1,33 @@
1
+ # Codex 执行合同:music_track_design
2
+
3
+ 本文件由所属 Skill 读取,用于设计用户明确需要的 BGM、OP、ED 或音乐短视频配乐;不是发送给外部文本模型的 system prompt。
4
+
5
+ 执行职责:短剧音乐总监。只在用户或已批准制作计划明确需要音乐时执行。结合剧情阶段、人物关系与成长、情绪弧、分镜切点、对白密度和目标时长,形成可追溯的音乐创作简报与 Provider 提示词。
6
+
7
+ 分集:{episode_key}
8
+ 用途:{purpose}
9
+ 目标时长(毫秒):{target_duration_ms}
10
+ 剧本与剧情摘要:
11
+ {story_context}
12
+
13
+ 人物与关系:
14
+ {characters_json}
15
+
16
+ 导演本:
17
+ {director_book_json}
18
+
19
+ 分镜与剪辑节奏:
20
+ {storyboard_json}
21
+
22
+ 现有声音计划:
23
+ {audio_plan_json}
24
+
25
+ 规则:
26
+ 1. purpose 只能是 op、ed、bgm 或 music-video;没有明确音乐需求时不得创建曲目。
27
+ 2. creative_brief 必须逐项说明叙事功能、剧情依据、人物主题、从 0 到 1 严格递增的情绪弧、剪辑节奏、声音配器、演唱方向和目标时长,不能只写风格标签。
28
+ 3. prompt 必须把 creative_brief 翻译成可听见、可执行的音乐描述,明确结构推进、速度或节拍感、配器、动态、留白和收束方式;不得模仿在世艺人或指定受版权保护作品。
29
+ 4. BGM 默认 make_instrumental=true 且 lyrics="",主动为对白留出中频和动态空间。OP/ED 仅在用户要求演唱时写完整原创歌词,并保证歌词语言、人物视角和剧情事实与项目一致。
30
+ 5. target_duration_ms 是剪辑目标,不冒充 Provider 能精确输出的时长;成品仍需试听并按剪辑点验收。
31
+ 6. matched_shots 只能引用当前分镜真实存在的正整数镜号。信息不足时写入 unresolved,approved=false,不得猜测。
32
+
33
+ 只返回严格 JSON 曲目对象,且必须包含并仅包含:key、purpose、title、source_mode、creative_brief、prompt、tags、lyrics、make_instrumental、provider、model、matched_shots。source_mode 固定 generated;provider 固定 starrouter;model 固定 suno_music。creative_brief 必须且只能包含 narrative_function、story_context、character_theme、emotion_arc、edit_rhythm、sonic_palette、vocal_direction、target_duration_ms;emotion_arc 每项必须且只能包含 at、emotion、intensity。
@@ -0,0 +1,36 @@
1
+ # Codex execution contract: voice_analysis
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: dialogue and voice-line segmentation editor for short drama. Build a line-by-line voice-production list from the screenplay, character library, and structured storyboard.
6
+
7
+ [CANONICAL CHARACTER NAMES]
8
+ {characters_lib_name}
9
+
10
+ [CHARACTER INTRODUCTIONS AND ADDRESS MAPPINGS]
11
+ {characters_introduction}
12
+
13
+ [STORYBOARD JSON]
14
+ {storyboard_json}
15
+
16
+ [SCREENPLAY SOURCE]
17
+ {input}
18
+
19
+ Episode: {episode_key}
20
+ Source versions: {source_versions}
21
+
22
+ Rules:
23
+ 1. In source order, extract only dialogue, inner_monologue, and voiceover that must be heard. Exclude action, scene description, headings, and purely visual information.
24
+ 2. Preserve audible content verbatim. Never rewrite the line to handle pronunciation; put ambiguous readings in pronunciation_notes for TTS pronunciation controls.
25
+ 2a. Detect and store `language` independently for every line using a BCP 47 tag such as `zh-CN`, `ja-JP`, or `en-US`. One source may mix languages; never replace them with the project default. Put uncertain language in unresolved instead of guessing.
26
+ 3. Prefer canonical speaker names. Resolve first-person references, family address, titles, and aliases using the introductions. Use narrator when identity is not reliable; do not guess a character.
27
+ 4. Match a shot by text evidence first, then verify speaker and order. Reference only an existing shot_number; use null when the match is unreliable.
28
+ 5. emotion is a short playable direction and emotion_strength is 0.1–0.5. Do not default ordinary dialogue to high intensity.
29
+ 6. Keep one source utterance per item. Never merge different speakers or split one continuous semantic unit.
30
+ 7. New plans must set `audio_strategy.mode=native-first`, `provider_selection=prefer-native`, and `fallback_allowed=true`. `fallback_reasons` must contain exactly: `provider-no-native-audio`, `voice-identity-drift`, `speech-intelligibility-failed`, `narration-performance-failed`, `audio-sync-failed`, and `native-ambience-failed`.
31
+ 8. Keep source and presentation orthogonal on every line: `delivery_mode=native|post_dub|external_audio`, `presentation=visible-dialogue|offscreen-dialogue|narration`, and `fallback_mode=none|post-dub|cinematic-tts|sound-design`. Never put narration or offscreen in delivery_mode.
32
+ 9. Use null for `source_audio` and `voice_binding` when no selected asset or real voice evidence exists. A native-audio fallback requires `native_audio_exception` with an allowed reason, actual evidence, an exact millisecond range, and final `mix_sources`. Offscreen dialogue or narration that was never generated is not a native-audio failure and must keep `native_audio_exception` null.
33
+ 9a. Missing offscreen dialogue uses `delivery_mode=post_dub`, `presentation=offscreen-dialogue`, and a clone of the character's original voice made with the model required by the current audio specification. Its voice binding must include `voice_role=character`, `source=clone`, the real `target_model`, and a real `upload_receipt_id`. Narration uses `delivery_mode=post_dub`, `presentation=narration`, and an independently designed professional narrator voice. Its binding must include `voice_role=narrator`, `source=design`, `professional_narration=true`, a real `request_id`, and a `cinematic_profile` identical to performance. Both routes must bind source `speech-timing`; never estimate timing from text.
34
+ 10. Every narration line requires an executable cinematic `performance` with `tone_arc`, ordered `emotion_beats[]`, `pace`, `breath_and_pause`, and `distance_and_space`; “emotional” alone is insufficient. Non-narration performance is null. Native background sound means ambience and action sound only; BGM remains an independent licensed-music workflow.
35
+
36
+ Return one strict JSON object only: {"episode_key":"...","source_versions":{},"audio_strategy":{"mode":"native-first","provider_selection":"prefer-native","fallback_allowed":true,"fallback_reasons":[]},"lines":[],"voice_bindings":[],"unresolved":[],"approved":false}. Every lines item must contain exactly: line_index, speaker, language, line_type, content, emotion, emotion_strength, pronunciation_notes, matched_shot, delivery_mode, presentation, fallback_mode, source_audio, voice_binding, native_audio_exception, performance. line_index starts at 1 and is consecutive; pronunciation_notes is a string array; matched_shot is {"shot_number": positive integer} or null. Use an empty lines array when nothing must be heard. voice_bindings records only tool-receipted, user-confirmed speaker, provider, model, target_model, voice_id, voice_role, and source; cloned voices add upload_receipt_id, designed voices add request_id, and professional narration adds professional_narration plus cinematic_profile. Put unresolved source, speaker, language, pronunciation, performance, or parameter evidence in unresolved and keep approved false.
@@ -0,0 +1,36 @@
1
+ # Codex 执行合同:voice_analysis
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:短剧对白与配音拆分师。根据剧本原文、人物库和结构化分镜,生成逐句配音清单。
6
+
7
+ 【人物规范名】
8
+ {characters_lib_name}
9
+
10
+ 【人物介绍与称呼映射】
11
+ {characters_introduction}
12
+
13
+ 【分镜 JSON】
14
+ {storyboard_json}
15
+
16
+ 【剧本原文】
17
+ {input}
18
+
19
+ 分集:{episode_key}
20
+ 来源版本:{source_versions}
21
+
22
+ 规则:
23
+ 1. 按原文顺序提取明确需要发声的 dialogue、inner_monologue 和 voiceover;排除动作、场景描述、标题和纯画面信息。
24
+ 2. content 必须逐字保留可听文本。不得为多音字改写正文;易误读内容写入 pronunciation_notes,供 TTS 的读音参数处理。
25
+ 2a. 每句独立识别并填写 `language`(BCP 47,如 `zh-CN`、`ja-JP`、`en-US`);同一音轨可混合多种语言,不得用项目默认语言覆盖原声。无法可靠识别时写入 unresolved,不得猜测。
26
+ 3. speaker 优先使用人物库规范名。通过人物介绍解析“我”、亲属称呼、职位和别名;无法可靠判定时使用 narrator,不得猜测具体人物。
27
+ 4. matched_shot 先按文本证据匹配,再校验说话者和顺序。只能引用分镜中的 shot_number;无法可靠匹配时为 null。
28
+ 5. emotion 使用简短可表演词,emotion_strength 为 0.1–0.5;不要把普通对白默认写成高强度。
29
+ 6. 一个原文语句对应一项,不合并不同说话者,不拆散同一连续语义单元。
30
+ 7. 新计划固定 `audio_strategy.mode=native-first`、`provider_selection=prefer-native`、`fallback_allowed=true`;`fallback_reasons` 必须完整且仅含 `provider-no-native-audio`、`voice-identity-drift`、`speech-intelligibility-failed`、`narration-performance-failed`、`audio-sync-failed`、`native-ambience-failed`。
31
+ 8. 每行分别填写声音来源 `delivery_mode=native|post_dub|external_audio`、画面呈现 `presentation=visible-dialogue|offscreen-dialogue|narration`、预案 `fallback_mode=none|post-dub|cinematic-tts|sound-design`,不得把 narration/offscreen 填进 delivery_mode。
32
+ 9. `source_audio` 和 `voice_binding` 没有已选资产或真实音色证据时为 null,不得伪造。原生失败兜底时 `native_audio_exception` 必须写受控 reason、实际 evidence、毫秒 range 和最终 `mix_sources`;原本未生成的场外音或旁白不是原生失败,`native_audio_exception` 必须为 null。
33
+ 9a. 原本未生成的场外音设 `delivery_mode=post_dub`、`presentation=offscreen-dialogue`,绑定当前声音规范指定模型克隆的角色原声音色;voice_bindings 必须含 `voice_role=character`、`source=clone`、真实 `target_model` 和 `upload_receipt_id`。旁白设 `delivery_mode=post_dub`、`presentation=narration`,使用独立专业设计音色;voice_bindings 必须含 `voice_role=narrator`、`source=design`、`professional_narration=true`、真实 `request_id`,且 `cinematic_profile` 与 performance 逐字段一致。两者都必须先绑定原声 speech-timing,不得按文字估算时间。
34
+ 10. `presentation=narration` 必须写电影感 `performance`:`tone_arc`、按顺序的 `emotion_beats[]`、`pace`、`breath_and_pause`、`distance_and_space`,不能只写“富有情感”;非旁白为 null。背景音原生直出只包括环境声和动作声,BGM 仍由独立授权配乐流程负责。
35
+
36
+ 只返回严格 JSON 对象:{"episode_key":"...","source_versions":{},"audio_strategy":{"mode":"native-first","provider_selection":"prefer-native","fallback_allowed":true,"fallback_reasons":[]},"lines":[],"voice_bindings":[],"unresolved":[],"approved":false}。lines 每项必须且只能包含:line_index、speaker、language、line_type、content、emotion、emotion_strength、pronunciation_notes、matched_shot、delivery_mode、presentation、fallback_mode、source_audio、voice_binding、native_audio_exception、performance。line_index 从 1 连续递增;pronunciation_notes 为字符串数组;matched_shot 为 {"shot_number": 正整数} 或 null。无可听文本时 lines 返回 []。voice_bindings 只记录用户已确认且有工具收据的 speaker、provider、model、target_model、voice_id、voice_role、source;克隆音色追加 upload_receipt_id,设计音色追加 request_id,专业旁白追加 professional_narration 与 cinematic_profile。任何来源、说话人、语言、读音、表演或参数未确认时写入 unresolved,approved 必须为 false。
@@ -0,0 +1,33 @@
1
+ # Codex execution contract: ai_story_expand
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: the head writer for a short-drama series. From the approved source analysis and creative brief, build the story bible that every episode, screenplay, and director book must follow.
6
+
7
+ [INPUT: source-analysis, brief, and user-approved additions]
8
+ {input}
9
+
10
+ Rules:
11
+ 1. Source facts, genre, audience, platform, language, aspect ratio, episode count, duration, rating, prohibited content, and ending type in the input are hard constraints. Never change them silently.
12
+ 2. An original project may add causal and dramatic detail. An adaptation may change only what the user authorized. Put unresolved major decisions in open_questions instead of deciding them.
13
+ 3. Character motives, wants, needs, hidden facts, relationships, and arcs must agree and drive escalating episode conflict.
14
+ 4. world_rules must be executable constraints on powers, resources, law, time, or identity, not vague atmosphere.
15
+ 5. conflict_ladder escalates from disruption to irreversible choice. Every payoff answers a prior promise; every foreshadowing item names its expected payoff phase.
16
+ 6. Design series-level narrative only. Do not write final dialogue, shot numbers, model parameters, or image prompts.
17
+
18
+ Return one strict JSON object with exactly these top-level keys:
19
+ - premise: one-sentence story promise
20
+ - genre, tone, themes
21
+ - world_rules: string array
22
+ - ending: {type, final_state, emotional_payoff}
23
+ - characters: [{name, dramatic_function, desire, need, fear, hidden_fact, arc_start, arc_turn, arc_end}]
24
+ - relationships: [{from, to, start_state, pressure, end_state}]
25
+ - three_act: {setup, escalation, resolution}
26
+ - conflict_ladder: [{level, trigger, choice, consequence}]
27
+ - promises_and_payoffs: [{promise, setup_phase, payoff_phase}]
28
+ - foreshadowing: [{seed, planted_phase, payoff_phase}]
29
+ - continuity_rules: string array
30
+ - adaptation_constraints: string array
31
+ - open_questions: string array
32
+
33
+ No Markdown, explanation, or undefined top-level keys. Before returning, verify that every ending, payoff, and character arc traces to input evidence or an explicitly authorized original choice.
@@ -0,0 +1,33 @@
1
+ # Codex 执行合同:ai_story_expand
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:短剧总编剧。根据已确认的原始材料分析和创作简报,建立后续所有分集、剧本和导演本共同遵守的故事圣经。
6
+
7
+ 【输入:source-analysis、brief 和用户已确认补充】
8
+ {input}
9
+
10
+ 规则:
11
+ 1. 输入中的原文事实、题材、受众、平台、语言、画幅、集数、时长、分级、禁区和结局类型都是硬约束;不得静默改变。
12
+ 2. 原创项目可补齐因果链和戏剧细节;改编项目只能在用户授权范围内调整。无法由输入确定的重大事实写入 open_questions,不得擅自定案。
13
+ 3. 人物动机、欲望、恐惧、隐瞒事实、关系和弧线必须互相一致,并能驱动逐集冲突升级。
14
+ 4. world_rules 必须可执行,明确能力、资源、法律、时间或身份限制;不得用空泛气氛词代替规则。
15
+ 5. conflict_ladder 从日常失衡递进到不可逆选择;payoffs 对应前置承诺;foreshadowing 每项都指明预计回收阶段。
16
+ 6. 这里只设计整季叙事,不写单集逐字对白、最终镜号、模型参数或图片提示词。
17
+
18
+ 只返回严格 JSON 对象,必须且只能包含:
19
+ - premise:一句话故事承诺
20
+ - genre、tone、themes
21
+ - world_rules:字符串数组
22
+ - ending:{type, final_state, emotional_payoff}
23
+ - characters:[{name, dramatic_function, desire, need, fear, hidden_fact, arc_start, arc_turn, arc_end}]
24
+ - relationships:[{from, to, start_state, pressure, end_state}]
25
+ - three_act:{setup, escalation, resolution}
26
+ - conflict_ladder:[{level, trigger, choice, consequence}]
27
+ - promises_and_payoffs:[{promise, setup_phase, payoff_phase}]
28
+ - foreshadowing:[{seed, planted_phase, payoff_phase}]
29
+ - continuity_rules:字符串数组
30
+ - adaptation_constraints:字符串数组
31
+ - open_questions:字符串数组
32
+
33
+ 禁止 Markdown、解释和未定义顶层字段。输出前核对每个结局、回收和人物弧均能追溯到输入或明确标记为已授权原创。
@@ -0,0 +1,26 @@
1
+ # Codex execution contract: agent_character_visual
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: character visual designer for short drama. Convert approved profiles into independently generatable appearance descriptions that preserve identity across shots.
6
+
7
+ [CANDIDATES PER APPEARANCE]
8
+ {candidate_count}
9
+
10
+ [APPROVED CHARACTER PROFILES JSON]
11
+ {character_profiles}
12
+
13
+ Rules:
14
+ 1. Process only input characters and expected_appearances. Never add a character, appearance, or plot fact. Preserve canonical names and appearance ids exactly.
15
+ 2. id 1 is the complete initial appearance. Later ids describe only the visible change required by change_reason and state that every other identity feature remains consistent with id 1.
16
+ 3. For a human initial appearance, describe stable identity, apparent age, facial structure and features, hairstyle, build, complete clothing and footwear, accessories, and primary_identifier. For a non-human, describe species structure, proportions, material, color, and signature features without forcing human fields.
17
+ 4. costume_tier controls wardrobe production complexity and is independent of role_level. S/A never implies wealth or idealized beauty.
18
+ 5. suggested_colors is a preferred palette and never overrides an explicit source color. Exclude expression, action, camera, background, lighting, art style, quality terms, personality judgment, and plot narration.
19
+ 6. Include identity-relevant skin tone, iris color, scars, or tattoos only when explicit in the profile or source. Never infer protected traits from stereotypes.
20
+ 7. Every descriptions array contains exactly {candidate_count} items. Candidates may vary non-identity fabric or minor detail, while face, hairstyle, build, main colors, and signature markers remain consistent.
21
+ 8. The character remains recognizable as a small full-body figure without facial detail: body proportion, outer hair shape, large wardrobe shapes, and primary_identifier form one stable silhouette identity. Candidates must not change that silhouette combination or rely only on face or clothing color.
22
+ 9. Process only characters that passed the audience_appeal age gate. For adult-charisma, translate approved screen_presence into visible design that serves character and story, and preserve grooming_and_makeup, costume_signature, and every memory_anchors item verbatim. Never substitute nudity, exaggerated body parts, or a generic influencer face.
23
+ 10. child-cuteness permits only healthy, lively, innocent, age-appropriate charm. Never use adult makeup, adultified clothing, sexualized posing, emphasized body curves, or sexualized camera language. Produce no candidate when child protection fails.
24
+ 11. Every candidate and appearance inherits all identity-bearing audience_appeal fields. A later appearance may change only what change_reason explicitly supports; all other grooming, costume signatures, and memory anchors remain fixed.
25
+
26
+ Return strict JSON only: {"characters":[{"name":"canonical name","appearances":[{"id":1,"change_reason":"initial appearance","descriptions":["image-ready description"]}]}]}. No Markdown, explanation, or extra fields. Escape JSON strings normally without rewriting source punctuation.
@@ -0,0 +1,26 @@
1
+ # Codex 执行合同:agent_character_visual
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:短剧角色视觉设计师。把已确认人物档案转成可独立生成且能跨镜保持身份一致的形象描述。
6
+
7
+ 【每个形象的候选数】
8
+ {candidate_count}
9
+
10
+ 【已确认人物档案 JSON】
11
+ {character_profiles}
12
+
13
+ 规则:
14
+ 1. 只处理输入人物及 expected_appearances,不新增人物、外观版本或剧情事实;规范名和 appearance id 原样保留。
15
+ 2. id=1 是完整初始形象。后续 id 只描述 change_reason 要求的可见变化,并明确“其余身份特征与初始形象一致”。
16
+ 3. 人类初始形象按稳定身份特征、年龄感、脸型与五官结构、发型、体型、完整服装鞋履、配饰和 primary_identifier 描述。非人类按物种结构、比例、材质、颜色和标志特征描述,不套用人类字段。
17
+ 4. costume_tier 控制服装制作复杂度,不得与 role_level 混用;S/A 不等于富贵或外貌完美。
18
+ 5. suggested_colors 是优先色板,不得覆盖原文明确颜色。不得加入表情、动作、机位、背景、光影、画风、质量词、性格评价或剧情叙述。
19
+ 6. 身份关键的肤色、虹膜颜色、疤痕、纹身等只有档案或原文明确时才写;不得凭刻板印象推断。
20
+ 7. 每个 descriptions 必须恰好有 {candidate_count} 条。候选可改变不影响身份的面料或细节,但脸、发型、体型、主色和标志物必须一致。
21
+ 8. 角色在缩小到全身远景或去掉面部细节后仍应能由轮廓识别:体态比例、发型外轮廓、服装大形和 primary_identifier 形成稳定组合,不只依赖脸或衣服颜色。候选不得改变这组轮廓身份。
22
+ 9. 只处理已通过 audience_appeal 年龄门禁的人物。adult-charisma 必须把已确认 screen_presence 转译为服务人物与剧情的可见设计,并逐字保留 grooming_and_makeup、costume_signature 和每一项 memory_anchors;不得以裸露、身体部位夸张或模板化网红脸替代设计。
23
+ 10. 儿童使用 child-cuteness,只允许健康、灵动、童真、年龄匹配的可爱表达;禁止成人妆容、成人化服装、性感姿态、身体曲线强调和性化镜头语言。儿童保护失败时不输出候选。
24
+ 11. 每个候选和每个 appearance 都继承 audience_appeal 的全部身份字段;后续外观只能改变 change_reason 明示的字段,其他妆造、服装标志和记忆锚点保持一致。
25
+
26
+ 只返回严格 JSON:{"characters":[{"name":"规范名","appearances":[{"id":1,"change_reason":"初始形象","descriptions":["可直接出图的描述"]}]}]}。禁止 Markdown、解释和额外字段;JSON 字符串按标准转义,不改写原文标点。
@@ -0,0 +1,21 @@
1
+ Generate a professional character visual reference sheet, not a single portrait or a basic three-view turnaround. The sheet is an information layout, not an instruction to default to concept art, illustration, or any other medium.
2
+
3
+ [APPROVED CHARACTER DESCRIPTION]
4
+ {character_description}
5
+
6
+ The description must carry validated audience_appeal (adult-charisma or child-cuteness), grooming_and_makeup, costume_signature, and memory_anchors. Stop when age evidence is missing.
7
+
8
+ [PROJECT ART STYLE]
9
+ {art_style}
10
+
11
+ First read the selected style's explicit medium/rendering method, material language, color, lighting, and negative constraints, then render the entire sheet in that medium. Never auto-convert the sheet into concept art and never default it to live-action photography: a live-action/photographic style requires credible photography, skin, hair, fabric, and lens response; a 2D animation/comic style preserves its linework, cel shading, or drawn texture; a 3D animation style preserves its modeling, shader, and material system; any other style follows its own specification exactly. White background, grid, and multiple views control layout only and must not override the selected medium. When an example conflicts with the project style, the project style wins.
12
+
13
+ Use one 16:9 landscape canvas with a clean white background, clear grid columns, and generous spacing. The left third is a frontal facial close-up showing hair, facial structure, and signature head accessories. The right two thirds strictly arrange front full-body, exact 90-degree side full-body, and back full-body views at identical height, proportion, baseline, and neutral stance.
14
+
15
+ Use small supporting studies for a 45-degree view, front/back garment construction already supported by input, signature accessories and footwear, and four head-and-shoulder expressions grounded in the character profile. Omit missing categories instead of inventing clothing, accessories, brands, skin tone, tattoos, or props. Keep age, face, features, hair, proportions, garment structure, main colors, and permanent traits identical across every view, including every memory_anchors item.
16
+
17
+ For adult-charisma, screen appeal comes from story- and period-appropriate posture, grooming, wardrobe silhouette, material, and memorable anchors—not nudity, exaggerated body parts, or a generic influencer face. child-cuteness shows only healthy, lively, innocent, age-appropriate charm; never use adult makeup, adultified clothing, sexualized poses, emphasized body curves, or sexualized camera language.
18
+
19
+ The left facial close-up is the face-identity source of truth; the right full-body views are the silhouette and proportion source of truth. Never average the panels into different faces. At thumbnail size the same person remains recognizable through body proportion, outer hair shape, large wardrobe shapes, and signature marker rather than color alone.
20
+
21
+ Short labels in the project language are allowed; no paragraphs or garbled text. Exclude random wardrobe changes, duplicate angles, action poses, scene backgrounds, prop staging, comic panels, and poster composition. Never substitute a different medium—for example, turning photography into game concept art, 2D animation into a realistic photo, or 3D animation into painted 2D art. The project style controls medium, linework/shaders, material, color treatment, lighting, and image response, never identity.
@@ -0,0 +1,21 @@
1
+ 生成专业角色视觉设定板,不是单张立绘或普通三视图。设定板只是组织参考信息的版式,不代表“原画”“插画”或任何默认媒介。
2
+
3
+ 【已确认人物描述】
4
+ {character_description}
5
+
6
+ 描述必须包含已验证的 audience_appeal(adult-charisma 或 child-cuteness)、grooming_and_makeup、costume_signature 与 memory_anchors;缺少年龄证据时停止生成。
7
+
8
+ 【项目画风】
9
+ {art_style}
10
+
11
+ 先从项目画风中读取其明确指定的媒介/渲染方式、材质语言、色彩、光线和负面约束,再用该媒介完成整张设定板。不得把设定板自动画成概念原画,也不得默认转换成真人摄影:真人/实拍画风使用可信的摄影、皮肤、毛发、布料与镜头质感;二维动画/漫画画风保持其线条、平涂或绘制纹理;三维动画画风保持其建模、着色器与材质体系;其他画风严格遵循项目说明。白底、网格和多视图只控制排版,不得覆盖项目媒介。项目画风与模板示例冲突时,以项目画风为准。
12
+
13
+ 使用一整张 16:9 横向画布、纯白背景、清晰网格分栏和充足留白。左侧约三分之一为正面脸部特写,完整展示发型、五官和标志性头部配饰;右侧约三分之二严格排列正面全身、90 度侧面全身、背面全身,人物等高、同比例、双脚同一基线、中性站姿。
14
+
15
+ 以小型辅助图补充:45 度侧视、输入已明确服装的正背面结构、标志性配饰与鞋履细节、四种符合人物档案的头肩表情。缺失项目直接省略,不虚构服装、配饰、品牌、肤色、纹身或道具。所有视图必须严格统一年龄、脸型、五官、发型、身材比例、服装结构、主色和永久特征,并逐项保留 memory_anchors。
16
+
17
+ adult-charisma 的魅力必须来自符合人物、时代与剧情的姿态、妆发、服装轮廓、材质和记忆锚点,不得以裸露、身体部位夸张或模板化网红脸代替。child-cuteness 只表现健康、灵动、童真和年龄匹配的可爱;儿童禁止成人妆容、成人化服装、性感姿态、身体曲线强调和性化镜头语言。
18
+
19
+ 左侧脸部特写是面部身份基准,右侧全身三视图是轮廓与比例基准;不得把多个视图平均成不同长相。缩小查看时仍能凭体态比例、发型外轮廓、服装大形和标志物识别同一角色,不只依赖颜色。
20
+
21
+ 允许使用与项目语言一致的简短标题和标签,不写段落或乱码。禁止随机换装、重复视角、动作姿势、场景背景、道具摆拍、漫画分镜或海报构图。不得出现与项目画风不一致的媒介替换,例如把真人摄影变成游戏概念图、把二维动画变成写实照片、把三维动画变成二维厚涂。项目画风控制媒介、线条/着色器、材质、上色、光线和成像质感,但不改变人物身份。
@@ -0,0 +1,12 @@
1
+ # Codex execution contract: character_create
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Turn the user request into one independently generatable, reusable initial character appearance.
6
+
7
+ [USER REQUEST]
8
+ {user_input}
9
+
10
+ Describe only static visible facts: apparent age, face and feature structure, hair, build, complete clothing and footwear, accessories, and stable identity markers. Preserve explicit period, profession, and cultural evidence; make only minimal neutral completions. Do not include names, personality, plot, action, expression, camera, background, lighting, style, quality tags, or unsupported sensitive traits.
11
+
12
+ Return strict JSON only: {"prompt":"complete character description"}. Use standard JSON escaping, with no Markdown or extra fields.
@@ -0,0 +1,12 @@
1
+ # Codex 执行合同:character_create
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 把用户要求转成一个可独立生成、可跨镜复用的人物初始形象描述。
6
+
7
+ 【用户要求】
8
+ {user_input}
9
+
10
+ 只写静态可见信息:年龄感、脸型与五官结构、发型、体型、完整服装鞋履、配饰和稳定身份标志。保留明确的时代、职业和文化线索;缺失信息只做最小中性补全。不得写姓名、性格、剧情、动作、表情、机位、背景、光影、画风、质量词或未获支持的敏感特征。
11
+
12
+ 只返回严格 JSON:{"prompt":"完整人物描述"}。字符串使用标准 JSON 转义,不要 Markdown 或额外字段。
@@ -0,0 +1,13 @@
1
+ # Codex execution contract: character_description_update
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Update the complete static character description from visible reference facts and the change request.
6
+
7
+ Original: {original_description}
8
+ Change request: {modify_instruction}
9
+ Reference observations: {image_context}
10
+
11
+ The reference proves visible appearance only; do not infer identity, personality, profession, or plot. Explicit instructions take priority. Preserve untouched face, hair, build, garment structure, and permanent features. Keep the original for hidden areas rather than inventing complex design.
12
+
13
+ Return strict JSON only: {"prompt":"updated complete character description"}. Use standard JSON escaping.
@@ -0,0 +1,13 @@
1
+ # Codex 执行合同:character_description_update
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 结合参考图可见事实和修改指令,更新人物完整静态描述。
6
+
7
+ 原描述:{original_description}
8
+ 修改指令:{modify_instruction}
9
+ 参考图观察:{image_context}
10
+
11
+ 参考图只证明可见外观,不推断身份、性格、职业或剧情。明确指令优先;未要求改变的脸、发型、体型、服装结构和永久特征保持不变。不可见部分沿用原描述,不自行补复杂设计。
12
+
13
+ 只返回严格 JSON:{"prompt":"更新后的完整人物描述"}。使用标准 JSON 转义。
@@ -0,0 +1,11 @@
1
+ # Codex execution contract: character_image_to_description
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Analyze the character reference image supplied with the request and return one English visual description suitable for identity-consistent generation.
6
+
7
+ Describe only visible, repeatable facts: estimated age band, gender presentation, hair shape and color, facial structure, build, clothing color/material/construction, accessories, and permanent identifying features. Exclude expression, action, pose, background, cinematography, lighting, and art style.
8
+
9
+ Mark unseen body regions, footwear, garment backs, occluded accessories, and uncertain colors as "unconfirmed". Never complete them from occupation, personality, or common fashion assumptions. Do not infer ethnicity, health, identity, occupation, sexual orientation, or other sensitive traits. If references conflict, state the conflict instead of silently merging it.
10
+
11
+ Return one 100–180 word paragraph only, with no heading, list, or Markdown.
@@ -0,0 +1,11 @@
1
+ # Codex 执行合同:character_image_to_description
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 分析随请求提供的角色参考图,输出一段可直接用于角色一致性生成的中文视觉描述。
6
+
7
+ 只写图中可见且能稳定复现的事实:估计年龄段、性别呈现、发型发色、脸型五官、体态、服装的颜色/材质/结构、配饰与永久辨识特征。不要写表情、动作、姿势、背景、摄影、光线或艺术风格。
8
+
9
+ 看不见的身体、鞋履、服装背面、被遮挡配饰和无法判断的颜色必须写“未确认”,不得根据职业、气质或常见搭配自行补全。不得推断族裔、健康、身份、职业、性取向或其他敏感属性。若参考图之间存在冲突,明确列出冲突,不擅自合并。
10
+
11
+ 只返回一段 120–220 字的描述文字,不要标题、列表或 Markdown。
@@ -0,0 +1,15 @@
1
+ # Codex execution contract: character_modify
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Apply the requested change without redesigning untouched identity features.
6
+
7
+ [CURRENT APPEARANCE]
8
+ {character_input}
9
+
10
+ [CHANGE REQUEST]
11
+ {user_input}
12
+
13
+ Preserve face structure, feature proportions, apparent age, build, and permanent markers. Change only explicitly requested hair, clothing, colors, materials, or accessories. Keep the result a static full-body visual description without action, expression, background, camera, plot, or style instructions.
14
+
15
+ Return strict JSON only: {"prompt":"updated complete character description"}. Use standard JSON escaping and no extra fields.
@@ -0,0 +1,15 @@
1
+ # Codex 执行合同:character_modify
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 按修改指令更新人物形象,不重设计未被要求改变的身份特征。
6
+
7
+ 【当前形象】
8
+ {character_input}
9
+
10
+ 【修改指令】
11
+ {user_input}
12
+
13
+ 保留脸型、五官比例、年龄感、体型和永久标志;只修改有明确指令的发型、服装、颜色、材质或配饰。结果仍须是静态全身视觉描述,不写动作、表情、背景、机位、剧情和画风。
14
+
15
+ 只返回严格 JSON:{"prompt":"更新后的完整人物描述"}。使用标准 JSON 转义,不要额外字段。
@@ -0,0 +1,14 @@
1
+ # Codex execution contract: character_regenerate
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Regenerate candidates for the same character, correcting the failure reason while preserving identity continuity.
6
+
7
+ Character: {character_name}
8
+ Reason: {change_reason}
9
+ Current descriptions: {current_descriptions}
10
+ Source evidence: {novel_text}
11
+
12
+ Source evidence wins. Change only what the reason requires; preserve face structure, feature proportions, apparent age, build, main colors, permanent features, and identifiers. Make only minimal neutral completions and add no plot, action, expression, background, camera, or style.
13
+
14
+ Return strict JSON only: {"descriptions":["candidate one","candidate two","candidate three"]}. Candidates may vary only non-identity details. Use standard JSON escaping.
@@ -0,0 +1,14 @@
1
+ # Codex 执行合同:character_regenerate
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 为同一人物重做形象候选,修复失败原因并保持身份连续。
6
+
7
+ 人物:{character_name}
8
+ 变更原因:{change_reason}
9
+ 当前描述:{current_descriptions}
10
+ 原文证据:{novel_text}
11
+
12
+ 原文优先。只改变变更原因涉及的部分;脸型、五官比例、年龄感、体型、主色、永久特征和标志物保持稳定。没有证据的部分做最小中性补全,不新增剧情、动作、表情、背景、机位或画风。
13
+
14
+ 只返回严格 JSON:{"descriptions":["候选一","候选二","候选三"]}。三条候选仅在非身份细节上变化,使用标准 JSON 转义。
@@ -0,0 +1,50 @@
1
+ # Codex execution contract: agent_character_profile
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named input slots assembled from selected local project assets.
4
+
5
+ Execution role: casting and character-continuity analyst for short drama. Based on the source and the existing local character library, return only profiles that must be created or updated in this pass.
6
+
7
+ [SOURCE FOR THIS PASS]
8
+ {input}
9
+
10
+ [EXISTING LOCAL CHARACTER LIBRARY JSON]
11
+ {characters_lib_info}
12
+
13
+ [CONTROLLED ENUMS]
14
+ {character_profile_enums}
15
+
16
+ [REFERENCE VOCABULARY]
17
+ {character_profile_reference_vocabulary}
18
+
19
+ [DECISION ORDER]
20
+ 1. Identify evidence for people who visibly appear, speak, act, or materially drive the plot.
21
+ 2. Resolve each person against the existing library using canonical names, aliases, forms of address, first-person mapping, and relationships.
22
+ 3. Put an existing character in updated_characters only when the source reveals a new alias, real name, relationship, or introduction fact. Never create a duplicate.
23
+ 4. Put a person in new_characters only when production needs a persistent visual identity. Exclude anonymous extras, mentioned-only people, abstract entities, and groups that need no fixed identity.
24
+ 5. Derive long-term performance and voice traits only from explicit statements or repetition across scenes. Never persist one-shot emotion, action, injury, or visual effects.
25
+ 6. Add expected_appearances only for a costume, age, hairstyle, or sustained disguise change that requires another character image. Every new character starts with appearance id 1.
26
+ 7. Take age only from explicit source evidence. Never infer it from name, occupation, relationship, or appearance. When age is unknown, use unknown/not-applicable in audience_appeal and stop downstream visual generation.
27
+
28
+ [FIELD RULES]
29
+ - role_level means narrative importance only: S central viewpoint; A core supporting role or main antagonist; B important subplot role; C limited screen time but fixed identity; D brief named appearance.
30
+ - costume_tier means wardrobe production complexity, independent of role_level: 1 plain/functional; 2 ordinary/daily; 3 professional/quality; 4 elite/refined; 5 royal or ultra-luxury.
31
+ - gender uses the controlled machine code. Do not infer it from name, occupation, hierarchy, or relationship.
32
+ - personality_tags has 2–5 values; suggested_colors has 2–3; habitual_actions and forbidden_performance have at most 8 each.
33
+ - S/A characters require an executable primary_identifier. Use an empty string for lower levels when evidence is insufficient.
34
+ - For unsupported free-text scalar fields use "not established by stable evidence"; use empty arrays for unsupported lists. Do not fill gaps with stereotypes.
35
+ - introduction records identity, viewpoint mapping, relationships, and forms of address, but only when supported.
36
+ - Every habitual_actions item includes its trigger. Omit a habit without stable trigger evidence so downstream shots do not repeat it mechanically.
37
+ - stress_response records only a cross-scene pattern of normal mask, trigger, and visible crack or recovery. Never promote a one-off emotion into a permanent trait. Gait, center of gravity, eyeline, and voice identity describe persistent observable behavior, not wardrobe, camera, or scene-specific conditions.
38
+ - audience_appeal contains exactly age_class, appeal_mode, screen_presence, grooming_and_makeup, costume_signature, memory_anchors, and prohibited_treatment. A confirmed adult uses adult-charisma: screen appeal serves character, period, and story through gaze, posture, grooming, makeup, wardrobe silhouette, material, and memorable anchors—not nudity, exaggerated body parts, or a generic influencer face. S/A roles need 2–3 memory_anchors; B–D roles need 1–3.
39
+ - A child uses only child-cuteness with healthy, lively, innocent, age-appropriate charm. Never use adult makeup, adultified clothing, sexualized posing, emphasized body curves, or sexualized camera language. Put these boundaries in prohibited_treatment and never leak a prohibited treatment into positive design fields.
40
+
41
+ [OUTPUT CONTRACT]
42
+ Return one strict JSON object whose only top-level keys are new_characters and updated_characters. Never output characters, Markdown, explanations, or comments. Use empty arrays when there is no result.
43
+
44
+ Every new_characters item must contain: name, aliases, introduction, gender, age_range, role_level, archetype, personality_tags, era_period, social_class, occupation, costume_tier, suggested_colors, primary_identifier, visual_keywords, performance_bible, voice_identity, audience_appeal, and expected_appearances.
45
+
46
+ performance_bible must contain center_of_gravity, gait, habitual_actions, eyeline_behavior, blink_rhythm, stress_response, and forbidden_performance. voice_identity must contain pitch, timbre, accent, pace, and delivery. audience_appeal uses the exact seven-key contract above. Every expected_appearances item contains only an integer id and change_reason.
47
+
48
+ Every updated_characters item contains only: name (exact existing canonical name), updated_introduction (the complete merged introduction), and updated_aliases (the complete deduplicated alias list).
49
+
50
+ Before returning, verify: exact top-level keys; valid enums; no duplicate people; no existing character recreated; all new-character fields present; every persistent trait and appearance has evidence; strict JSON parses without repair.
@@ -0,0 +1,50 @@
1
+ # Codex 执行合同:agent_character_profile
2
+
3
+ 本文件由所属 Skill 读取,用于约束 Codex 的输入、判断与输出;不是发送给外部文本模型的 system prompt。花括号字段是从当前项目已选资产组装的具名输入槽。
4
+
5
+ 执行职责:短剧选角与人物连续性分析师。根据原文和已有本地人物库,返回本轮需要新增或更新的人物档案。
6
+
7
+ 【本轮原文】
8
+ {input}
9
+
10
+ 【已有本地人物库 JSON】
11
+ {characters_lib_info}
12
+
13
+ 【受控枚举】
14
+ {character_profile_enums}
15
+
16
+ 【参考词表】
17
+ {character_profile_reference_vocabulary}
18
+
19
+ 【判定顺序】
20
+ 1. 先识别原文中实际出镜、说话、行动或推动剧情的人物证据。
21
+ 2. 用规范名、别名、称呼、第一人称映射和人物关系与已有库消歧。
22
+ 3. 已有人物只在发现新别名、真名、关系或介绍事实时进入 updated_characters;不得重复创建。
23
+ 4. 只有确实需要独立视觉身份的出镜人物进入 new_characters。排除纯路人、仅被提及者、抽象概念和无需固定形象的群体。
24
+ 5. 仅从原文明示或跨场景重复证据提取长期表演与声音特征。单镜情绪、动作、伤势和特效不得固化。
25
+ 6. 仅当换装、年龄、发型或持续伪装需要重新制作人物图时增加 expected_appearances;每人必须先有 id=1 的初始形象。
26
+ 7. 年龄只取原文明示证据;不得根据姓名、职业、关系或外表猜测。年龄不明时 audience_appeal 使用 unknown/not-applicable,后续停止视觉生成。
27
+
28
+ 【字段约束】
29
+ - role_level 只表示叙事重要性:S 主视角核心;A 核心配角或主要反派;B 重要支线人物;C 少量但需固定形象;D 短暂具名出镜。
30
+ - costume_tier 只表示服装制作复杂度,与 role_level 无关:1 朴素功能性;2 日常普通;3 专业品质;4 精英考究;5 皇室或顶奢。
31
+ - gender 使用受控机器码,不根据姓名、职业或关系猜测。
32
+ - personality_tags 为 2–5 项;suggested_colors 为 2–3 项;habitual_actions 与 forbidden_performance 各不超过 8 项。
33
+ - S/A 级必须有可执行的 primary_identifier;其他级别证据不足时写空字符串。
34
+ - 不确定的自由文本标量写“未提供稳定证据”,数组写空数组;不得用刻板印象补全。
35
+ - introduction 说明身份、叙述视角映射、人物关系和称呼映射,但只写有证据的部分。
36
+ - habitual_actions 的每项必须同时写明触发条件;没有稳定触发证据的习惯动作不入档,避免后续每镜机械复现。
37
+ - stress_response 只记录有跨场证据的“常态面具—触发条件—可见破裂或恢复”模式;不得把一次性情绪升级成人物恒定标签。步态、重心、视线和声音身份描述长期可观察规律,不写服装、镜头或场景限定。
38
+ - audience_appeal 必须且只能包含 age_class、appeal_mode、screen_presence、grooming_and_makeup、costume_signature、memory_anchors、prohibited_treatment。明确成年使用 adult-charisma:吸引力服务人物、时代和剧情,用眼神、姿态、妆发、服装轮廓、材质与记忆锚点形成银幕磁场;禁止用裸露、身体部位夸张或模板化网红脸代替设计。S/A 级写 2–3 个 memory_anchors,B–D 级写 1–3 个。
39
+ - 儿童只使用 child-cuteness,以健康、灵动、童真、年龄匹配的可爱表达;禁止成人妆容、成人化服装、性感姿态、身体曲线强调和性化镜头语言。prohibited_treatment 明确记录这些保护边界,但禁止项不得混入正向妆造字段。
40
+
41
+ 【输出合同】
42
+ 只返回一个严格 JSON 对象,顶层只能包含 new_characters 和 updated_characters;禁止输出 characters、Markdown、解释或注释。没有结果时返回空数组。
43
+
44
+ new_characters 每项必须包含:name、aliases、introduction、gender、age_range、role_level、archetype、personality_tags、era_period、social_class、occupation、costume_tier、suggested_colors、primary_identifier、visual_keywords、performance_bible、voice_identity、audience_appeal、expected_appearances。
45
+
46
+ performance_bible 必须包含 center_of_gravity、gait、habitual_actions、eyeline_behavior、blink_rhythm、stress_response、forbidden_performance。voice_identity 必须包含 pitch、timbre、accent、pace、delivery。audience_appeal 使用上述七字段精确合同;expected_appearances 每项只能包含整数 id 和 change_reason。
47
+
48
+ updated_characters 每项只能包含:name(与已有库规范名完全一致)、updated_introduction(合并旧介绍后的完整介绍)、updated_aliases(合并去重后的完整别名数组)。
49
+
50
+ 输出前自检:顶层字段正确;枚举合法;无重复人物;已有角色未被新建;每个新人物字段齐全;所有长期特征和外观版本均有证据;JSON 可被标准解析器直接解析。
@@ -0,0 +1,18 @@
1
+ # Codex execution contract: art_style_decision
2
+
3
+ The owning Skill reads this file to constrain Codex inputs, decisions, and output. It is not a system prompt sent to an external text model. Braced fields are named slots assembled from the current project and user confirmation.
4
+
5
+ Current project art style:
6
+ {current_art_style}
7
+
8
+ User requirements and confirmation:
9
+ {user_style_decision}
10
+
11
+ Return strict JSON only: {"mode":"confirmed-default | custom","style":{},"decision_reason":"...","approved":true}.
12
+
13
+ Rules:
14
+ 1. When the user confirms the current default, use confirmed-default and copy the complete current style unchanged.
15
+ 2. For a confirmed custom style, use custom and copy the complete object produced and approved through config_generation, including id, name, description, prompt, renderingContract, and visualBible. System styles must also retain their renderingContract; never copy only a name or prompt.
16
+ 3. approved must be false until the user confirms; never confirm on the user's behalf.
17
+ 4. decision_reason records the confirmation basis and excludes credentials, remote task IDs, and unrelated story content.
18
+ 5. Return JSON only, without Markdown or explanation.