@autoaiai/aicut 0.1.7 → 0.1.11

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 (796) hide show
  1. package/MANUAL.md +10 -0
  2. package/package.json +1 -1
  3. package/product.json +2 -1
  4. package/skills/30x-web-to-video/SKILL.md +421 -0
  5. package/skills/30x-web-to-video/examples/INDEX.md +26 -0
  6. package/skills/30x-web-to-video/references/animations.md +539 -0
  7. package/skills/30x-web-to-video/references/audio.md +256 -0
  8. package/skills/30x-web-to-video/references/components.md +340 -0
  9. package/skills/30x-web-to-video/references/lottie.md +174 -0
  10. package/skills/30x-web-to-video/references/visual-effects.md +157 -0
  11. package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
  12. package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
  13. package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
  14. package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
  15. package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
  16. package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
  17. package/skills/3d-asset-generation/SKILL.md +142 -0
  18. package/skills/action-fight-prompt/SKILL.md +136 -0
  19. package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
  20. package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
  21. package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
  22. package/skills/ad-creative-video/SKILL.md +205 -0
  23. package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
  24. package/skills/ad-creative-video/references/platform-specs.md +72 -0
  25. package/skills/after-effects/SKILL.md +123 -0
  26. package/skills/after-effects/references/export-recipes.md +168 -0
  27. package/skills/after-effects/references/expression-library.md +184 -0
  28. package/skills/after-effects/references/expressions.md +134 -0
  29. package/skills/after-effects/references/performance-triage.md +138 -0
  30. package/skills/after-effects/references/project-hygiene.md +188 -0
  31. package/skills/ai-media-quality-review/SKILL.md +72 -0
  32. package/skills/ai-product-video/SKILL.md +296 -0
  33. package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
  34. package/skills/ai-product-video/references/final-review.md +110 -0
  35. package/skills/ai-product-video/references/guided-free-creation.md +194 -0
  36. package/skills/ai-product-video/references/music-beat-sync.md +219 -0
  37. package/skills/ai-product-video/references/pipeline.md +392 -0
  38. package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
  39. package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
  40. package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
  41. package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
  42. package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
  43. package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
  44. package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
  45. package/skills/aicut/SKILL.md +4 -4
  46. package/skills/aicut/references/commands.md +15 -15
  47. package/skills/aicut/references/film-format.md +1 -1
  48. package/skills/aicut/references/recipes.md +4 -4
  49. package/skills/aicut/references/troubleshooting.md +2 -2
  50. package/skills/aicut-motion/SKILL.md +6 -6
  51. package/skills/aicut-motion/references/design-systems/README.md +1 -1
  52. package/skills/aicut-motion/references/pages.md +1 -1
  53. package/skills/anidoodle/SKILL.md +185 -0
  54. package/skills/anidoodle/references/anatomy.md +91 -0
  55. package/skills/anidoodle/references/backends-and-adapters.md +82 -0
  56. package/skills/anidoodle/references/camera.md +148 -0
  57. package/skills/anidoodle/references/craft-bar.md +72 -0
  58. package/skills/anidoodle/references/determinism-and-contract.md +46 -0
  59. package/skills/anidoodle/references/formats.md +121 -0
  60. package/skills/anidoodle/references/motion-grammar.md +234 -0
  61. package/skills/anidoodle/references/music/compose.md +388 -0
  62. package/skills/anidoodle/references/music/sound-design.md +245 -0
  63. package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
  64. package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
  65. package/skills/anidoodle/references/music/styles/music-box.md +57 -0
  66. package/skills/animated-component-libraries/SKILL.md +820 -0
  67. package/skills/animated-component-libraries/references/customization_guide.md +699 -0
  68. package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
  69. package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
  70. package/skills/animated-infographic/SKILL.md +211 -0
  71. package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
  72. package/skills/appshot-core/SKILL.md +872 -0
  73. package/skills/article-highlights/SKILL.md +151 -0
  74. package/skills/avatar-mix/SKILL.md +301 -0
  75. package/skills/bang-motion/SKILL.md +583 -0
  76. package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
  77. package/skills/bang-motion/references/anti-ppt.md +110 -0
  78. package/skills/bang-motion/references/architecture.md +188 -0
  79. package/skills/bang-motion/references/explainer.md +579 -0
  80. package/skills/bang-motion/references/kartun-panggung.md +221 -0
  81. package/skills/bang-motion/references/opener-konsep.md +817 -0
  82. package/skills/bang-motion/references/roadmap.md +85 -0
  83. package/skills/bang-motion/references/techniques.md +690 -0
  84. package/skills/beat-sync-edit/SKILL.md +148 -0
  85. package/skills/book-video-factory/SKILL.md +139 -0
  86. package/skills/book-video-factory/references/first-run.md +50 -0
  87. package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
  88. package/skills/book-video-factory/references/quality-gates.md +87 -0
  89. package/skills/book-video-production/SKILL.md +211 -0
  90. package/skills/brag/SKILL.md +195 -0
  91. package/skills/brag/references/audio.md +312 -0
  92. package/skills/brag/references/step-1-inspect.md +125 -0
  93. package/skills/brag/references/step-2-plan.md +234 -0
  94. package/skills/brag/references/step-3-compose.md +199 -0
  95. package/skills/brag/references/step-4-deliver.md +141 -0
  96. package/skills/brag/references/tones.md +231 -0
  97. package/skills/brand-setup/SKILL.md +228 -0
  98. package/skills/brewreel/SKILL.md +491 -0
  99. package/skills/brewreel/docs/broll.en.md +252 -0
  100. package/skills/brewreel/docs/broll.md +252 -0
  101. package/skills/brewreel/docs/custom-shot.en.md +66 -0
  102. package/skills/brewreel/docs/custom-shot.md +103 -0
  103. package/skills/brewreel/docs/faq.en.md +90 -0
  104. package/skills/brewreel/docs/faq.md +90 -0
  105. package/skills/brewreel/docs/features.en.md +157 -0
  106. package/skills/brewreel/docs/features.md +157 -0
  107. package/skills/brewreel/docs/gallery.en.md +44 -0
  108. package/skills/brewreel/docs/gallery.md +44 -0
  109. package/skills/brewreel/docs/how-it-works.en.md +64 -0
  110. package/skills/brewreel/docs/how-it-works.md +64 -0
  111. package/skills/caption-animation/SKILL.md +216 -0
  112. package/skills/caption-animation/references/word-timed-captions.md +254 -0
  113. package/skills/cartcut-editing/SKILL.md +615 -0
  114. package/skills/cartcut-editing/references/html-typography.md +277 -0
  115. package/skills/cassette-video-edit/SKILL.md +129 -0
  116. package/skills/ccvideo/SKILL.md +264 -0
  117. package/skills/chekhov-dramaturgy/SKILL.md +367 -0
  118. package/skills/chekhov-dramaturgy/reference.md +375 -0
  119. package/skills/chengfeng-check-updates/SKILL.md +283 -0
  120. package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
  121. package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
  122. package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
  123. package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
  124. package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
  125. package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
  126. package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
  127. package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
  128. package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
  129. package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
  130. package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
  131. package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
  132. package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
  133. package/skills/claude-gif/SKILL.md +211 -0
  134. package/skills/claude-gif/references/gif-optimization.md +209 -0
  135. package/skills/claude-gif/references/perfect-loops.md +295 -0
  136. package/skills/claude-gif/references/platform-specs.md +138 -0
  137. package/skills/claude-gif/references/prompt-engineering.md +211 -0
  138. package/skills/claude-gif/references/remotion-gif.md +560 -0
  139. package/skills/codex-video-pipeline/SKILL.md +213 -0
  140. package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
  141. package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
  142. package/skills/codex-video-pipeline/references/captions.md +39 -0
  143. package/skills/codex-video-pipeline/references/cover-system.md +72 -0
  144. package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
  145. package/skills/codex-video-pipeline/references/example-run.md +54 -0
  146. package/skills/codex-video-pipeline/references/first-run.md +130 -0
  147. package/skills/codex-video-pipeline/references/project-contract.md +54 -0
  148. package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
  149. package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
  150. package/skills/collage-broll-explainers/SKILL.md +429 -0
  151. package/skills/create-onboarding-video/SKILL.md +233 -0
  152. package/skills/cs-shotcraft-skill/SKILL.md +218 -0
  153. package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
  154. package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
  155. package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
  156. package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
  157. package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
  158. package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
  159. package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
  160. package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
  161. package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
  162. package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
  163. package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
  164. package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
  165. package/skills/cut-video/SKILL.md +387 -0
  166. package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
  167. package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
  168. package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
  169. package/skills/demo-video-creation-skill/SKILL.md +152 -0
  170. package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
  171. package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
  172. package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
  173. package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
  174. package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
  175. package/skills/demoday/SKILL.md +148 -0
  176. package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
  177. package/skills/diagram-animation/SKILL.md +200 -0
  178. package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
  179. package/skills/diagram-tour/SKILL.md +287 -0
  180. package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
  181. package/skills/docvideoer/SKILL.md +139 -0
  182. package/skills/draftcut/SKILL.md +104 -0
  183. package/skills/draftcut/docs/agent-bootstrap.md +64 -0
  184. package/skills/draftcut/docs/approvals.md +45 -0
  185. package/skills/draftcut/docs/audio-first-migration.md +35 -0
  186. package/skills/draftcut/docs/configuration.md +54 -0
  187. package/skills/draftcut/docs/getting-started.md +63 -0
  188. package/skills/draftcut/docs/harness-case-study.en.md +23 -0
  189. package/skills/draftcut/docs/harness-case-study.md +47 -0
  190. package/skills/draftcut/references/01-plan.md +30 -0
  191. package/skills/draftcut/references/03-deliver.md +26 -0
  192. package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
  193. package/skills/draftcut/references/05-social-loudness.md +58 -0
  194. package/skills/draftcut/references/06-modern-components.md +72 -0
  195. package/skills/easyedit/SKILL.md +66 -0
  196. package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
  197. package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
  198. package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
  199. package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
  200. package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
  201. package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
  202. package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
  203. package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
  204. package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
  205. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
  206. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
  207. package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
  208. package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
  209. package/skills/explainer-assets/SKILL.md +98 -0
  210. package/skills/explainer-video/SKILL.md +146 -0
  211. package/skills/framewright/SKILL.md +324 -0
  212. package/skills/framewright/references/audio.md +230 -0
  213. package/skills/framewright/references/guide.md +276 -0
  214. package/skills/framewright/references/painting.md +425 -0
  215. package/skills/framewright/references/photo.md +75 -0
  216. package/skills/framewright/references/questionnaire.md +115 -0
  217. package/skills/framewright/references/styles.md +388 -0
  218. package/skills/framewright/references/troubleshooting.md +119 -0
  219. package/skills/framewright/references/world.md +215 -0
  220. package/skills/gbro-collage-broll/SKILL.md +435 -0
  221. package/skills/gbro-collage-info/SKILL.md +135 -0
  222. package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
  223. package/skills/gbro-collage-info/references/production.md +67 -0
  224. package/skills/gbro-collage-info/references/style-system.md +38 -0
  225. package/skills/gemini-tts/SKILL.md +208 -0
  226. package/skills/gemini-tts/references/prompting-guide.md +169 -0
  227. package/skills/gen/SKILL.md +282 -0
  228. package/skills/ghost-editor/SKILL.md +437 -0
  229. package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
  230. package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
  231. package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
  232. package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
  233. package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
  234. package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
  235. package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
  236. package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
  237. package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
  238. package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
  239. package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
  240. package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
  241. package/skills/git-story-film/SKILL.md +220 -0
  242. package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
  243. package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
  244. package/skills/git-story-film/references/craft.md +148 -0
  245. package/skills/git-story-film/references/directing.md +185 -0
  246. package/skills/git-story-film/references/forms.md +150 -0
  247. package/skills/git-story-film/references/production.md +150 -0
  248. package/skills/git-story-film/references/story.md +137 -0
  249. package/skills/git-story-film/references/text-and-fonts.md +90 -0
  250. package/skills/guizang-product-video-skill/SKILL.md +96 -0
  251. package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
  252. package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
  253. package/skills/guizang-product-video-skill/references/case-study.md +63 -0
  254. package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
  255. package/skills/guizang-product-video-skill/references/cover.md +43 -0
  256. package/skills/guizang-product-video-skill/references/direction.md +91 -0
  257. package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
  258. package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
  259. package/skills/guizang-product-video-skill/references/review.md +38 -0
  260. package/skills/guizang-product-video-skill/references/starter.md +168 -0
  261. package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
  262. package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
  263. package/skills/guofeng-paper-video/SKILL.md +159 -0
  264. package/skills/guofeng-paper-video/style/design.md +43 -0
  265. package/skills/guofeng-paper-video/style/palette.md +21 -0
  266. package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
  267. package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
  268. package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
  269. package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +67 -0
  270. package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +29 -0
  271. package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
  272. package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
  273. package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
  274. package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
  275. package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
  276. package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
  277. package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
  278. package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
  279. package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
  280. package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
  281. package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
  282. package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
  283. package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
  284. package/skills/hbg-life-simulation/SKILL.md +285 -0
  285. package/skills/hbg-life-simulation/references/image-generation.md +53 -0
  286. package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
  287. package/skills/hbg-life-simulation/references/opening-system.md +45 -0
  288. package/skills/hbg-life-simulation/references/project-spec.md +62 -0
  289. package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
  290. package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
  291. package/skills/hbg-life-simulation/references/style-system.md +80 -0
  292. package/skills/hbg-life-simulation/references/visual-system.md +44 -0
  293. package/skills/heygen-avatar/SKILL.md +489 -0
  294. package/skills/heygen-avatar/references/asset-routing.md +86 -0
  295. package/skills/heygen-avatar/references/avatar-creation.md +181 -0
  296. package/skills/heygen-avatar/references/troubleshooting.md +137 -0
  297. package/skills/heytea-doodle-poster/SKILL.md +132 -0
  298. package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
  299. package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
  300. package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
  301. package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
  302. package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
  303. package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
  304. package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
  305. package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
  306. package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
  307. package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
  308. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
  309. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
  310. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
  311. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
  312. package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
  313. package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
  314. package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
  315. package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
  316. package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
  317. package/skills/html2video/SKILL.md +290 -0
  318. package/skills/html2video/references/cjk-type.md +173 -0
  319. package/skills/html2video/references/editorial.md +145 -0
  320. package/skills/html2video/references/narration.md +111 -0
  321. package/skills/html2video/references/pitfalls.md +238 -0
  322. package/skills/html2video/references/shots.md +198 -0
  323. package/skills/html2video/references/storyboard.md +323 -0
  324. package/skills/hyperdirector/SKILL.md +202 -0
  325. package/skills/hyperdirector/docs/audio-workflow.md +160 -0
  326. package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
  327. package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
  328. package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
  329. package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
  330. package/skills/hyperdirector/docs/faq.md +285 -0
  331. package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
  332. package/skills/hyperdirector/docs/first-video.md +320 -0
  333. package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
  334. package/skills/hyperdirector/docs/installation.md +254 -0
  335. package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
  336. package/skills/hyperdirector/docs/quickstart.md +203 -0
  337. package/skills/hyperframes/SKILL.md +117 -0
  338. package/skills/hyperframes/references/captions.md +46 -0
  339. package/skills/hyperframes/references/film.md +48 -0
  340. package/skills/hyperframes/references/format.md +158 -0
  341. package/skills/hyperframes/references/look.md +69 -0
  342. package/skills/hyperframes/references/motion.md +95 -0
  343. package/skills/hyperframes/references/overlays.md +39 -0
  344. package/skills/hyperframes/references/review.md +51 -0
  345. package/skills/hyperframes/references/runtimes.md +69 -0
  346. package/skills/hyperframes/references/skill-lifecycle.md +49 -0
  347. package/skills/hyperframes/references/sound.md +43 -0
  348. package/skills/hyperframes/references/spec.md +76 -0
  349. package/skills/hyperframes/references/story.md +103 -0
  350. package/skills/hyperframes-motion-director/SKILL.md +920 -0
  351. package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
  352. package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
  353. package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
  354. package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
  355. package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
  356. package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
  357. package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
  358. package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
  359. package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
  360. package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
  361. package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
  362. package/skills/hyperframes-motion-director/references/workflow.md +320 -0
  363. package/skills/hypit/SKILL.md +367 -0
  364. package/skills/hypit/references/creation/brief.md +93 -0
  365. package/skills/hypit/references/creation/script-and-time.md +259 -0
  366. package/skills/hypit/references/creation/transformations.md +143 -0
  367. package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
  368. package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
  369. package/skills/hypit/references/playbooks/craft/captions.md +253 -0
  370. package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
  371. package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
  372. package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
  373. package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
  374. package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
  375. package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
  376. package/skills/image/SKILL.md +153 -0
  377. package/skills/image/references/characters.md +86 -0
  378. package/skills/image/references/creative-direction.md +137 -0
  379. package/skills/image/references/de-slop.md +95 -0
  380. package/skills/image/references/dimensional.md +88 -0
  381. package/skills/image/references/editing.md +112 -0
  382. package/skills/image/references/golden-rules.md +198 -0
  383. package/skills/image/references/gpt-image.md +228 -0
  384. package/skills/image/references/models.md +78 -0
  385. package/skills/image/references/multi-panel.md +354 -0
  386. package/skills/image/references/nano-banana.md +150 -0
  387. package/skills/image/references/patterns/character-design.md +150 -0
  388. package/skills/image/references/patterns/ecommerce.md +124 -0
  389. package/skills/image-smixs/SKILL.md +153 -0
  390. package/skills/image-smixs/references/characters.md +86 -0
  391. package/skills/image-smixs/references/creative-direction.md +137 -0
  392. package/skills/image-smixs/references/de-slop.md +95 -0
  393. package/skills/image-smixs/references/dimensional.md +88 -0
  394. package/skills/image-smixs/references/editing.md +112 -0
  395. package/skills/image-smixs/references/golden-rules.md +198 -0
  396. package/skills/image-smixs/references/gpt-image.md +228 -0
  397. package/skills/image-smixs/references/models.md +78 -0
  398. package/skills/image-smixs/references/multi-panel.md +354 -0
  399. package/skills/image-smixs/references/nano-banana.md +150 -0
  400. package/skills/image-smixs/references/patterns/character-design.md +150 -0
  401. package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
  402. package/skills/image-story-video-wizard/SKILL.md +148 -0
  403. package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
  404. package/skills/image-story-video-wizard/references/host-routing.md +44 -0
  405. package/skills/image-story-video-wizard/references/state-schema.md +79 -0
  406. package/skills/image-story-video-wizard/references/workflow.md +203 -0
  407. package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
  408. package/skills/ip-as-logo/SKILL.md +151 -0
  409. package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
  410. package/skills/jtxvideo-skill/SKILL.md +337 -0
  411. package/skills/kinetic-reel/SKILL.md +140 -0
  412. package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
  413. package/skills/kinetic-reel/references/sound.md +40 -0
  414. package/skills/kinetic-reel/references/style-guide.md +79 -0
  415. package/skills/knowledge-explainer-skill/SKILL.md +149 -0
  416. package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
  417. package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
  418. package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
  419. package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
  420. package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
  421. package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
  422. package/skills/knowledge-explainer-skill/examples/script.md +40 -0
  423. package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
  424. package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
  425. package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
  426. package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
  427. package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
  428. package/skills/laoxu-video-script/SKILL.md +117 -0
  429. package/skills/laoxu-video-script/references/cases.md +305 -0
  430. package/skills/laoxu-video-script/references/de-ai.md +32 -0
  431. package/skills/laoxu-video-script/references/diagnostics.md +67 -0
  432. package/skills/laoxu-video-script/references/format.md +62 -0
  433. package/skills/laoxu-video-script/references/formulas.md +43 -0
  434. package/skills/laoxu-video-script/references/method.md +115 -0
  435. package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
  436. package/skills/laoxu-video-script/references/persona.md +38 -0
  437. package/skills/laoxu-video-script/references/qihao-path.md +35 -0
  438. package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
  439. package/skills/laoxu-video-script/references/redlines.md +26 -0
  440. package/skills/lemo-opuscar/SKILL.md +67 -0
  441. package/skills/lipnardo/SKILL.md +308 -0
  442. package/skills/lipnardo/examples/batch-personalized.md +44 -0
  443. package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
  444. package/skills/lipnardo/examples/single-video.md +44 -0
  445. package/skills/lipnardo/references/avatar-types.md +42 -0
  446. package/skills/lipnardo/references/credit-costs.md +39 -0
  447. package/skills/lipnardo/references/error-codes.md +66 -0
  448. package/skills/lipnardo/references/heygen-api-reference.md +416 -0
  449. package/skills/ll-video-decomposer/SKILL.md +105 -0
  450. package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
  451. package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
  452. package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
  453. package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
  454. package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
  455. package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
  456. package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
  457. package/skills/ltx2-video/SKILL.md +193 -0
  458. package/skills/ltx2-video/references/mode_ux.md +293 -0
  459. package/skills/make-ai-short/SKILL.md +130 -0
  460. package/skills/make-blender-education-video/SKILL.md +247 -0
  461. package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
  462. package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
  463. package/skills/make-blender-education-video/references/production-workflow.md +62 -0
  464. package/skills/make-blender-education-video/references/story-patterns.md +65 -0
  465. package/skills/make-blender-education-video/references/visual-quality.md +82 -0
  466. package/skills/manage-storyboard-projects/SKILL.md +128 -0
  467. package/skills/manim-composer/SKILL.md +176 -0
  468. package/skills/manim-composer/references/narrative-patterns.md +125 -0
  469. package/skills/manim-composer/references/scene-examples.md +216 -0
  470. package/skills/manim-composer/references/visual-techniques.md +223 -0
  471. package/skills/manim-composer/templates/scenes-template.md +147 -0
  472. package/skills/monet-ai-editor-monet/SKILL.md +367 -0
  473. package/skills/motion-graphics/SKILL.md +206 -0
  474. package/skills/motion-graphics/references/craft.md +136 -0
  475. package/skills/motion-graphics/references/engine.md +130 -0
  476. package/skills/motion-graphics/references/export.md +67 -0
  477. package/skills/motion-graphics/references/physics.md +100 -0
  478. package/skills/motion-graphics/references/verify.md +124 -0
  479. package/skills/motion-video/SKILL.md +133 -0
  480. package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
  481. package/skills/motion-video/references/composition-contract.md +107 -0
  482. package/skills/motion-video/references/production-pipeline.md +147 -0
  483. package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
  484. package/skills/motion-video/references/style-glass-keynote.md +69 -0
  485. package/skills/motion-video-maker/SKILL.md +1452 -0
  486. package/skills/motion-video-maker/reference/components.md +451 -0
  487. package/skills/motion-video-maker/reference/workflow.md +190 -0
  488. package/skills/motioncraft/SKILL.md +221 -0
  489. package/skills/motioncraft/references/animation-system.md +57 -0
  490. package/skills/motioncraft/references/assets-and-licensing.md +21 -0
  491. package/skills/motioncraft/references/customization.md +52 -0
  492. package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
  493. package/skills/motioncraft/references/music.md +43 -0
  494. package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
  495. package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
  496. package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
  497. package/skills/motioncraft/references/phase4-templates.md +30 -0
  498. package/skills/motioncraft/references/preflight.md +27 -0
  499. package/skills/motioncraft/references/qa.md +53 -0
  500. package/skills/motioncraft/references/reference-analysis.md +37 -0
  501. package/skills/narrator-ai-cli/SKILL.md +256 -0
  502. package/skills/narrator-ai-cli/references/magic-video.md +205 -0
  503. package/skills/narrator-ai-cli/references/operations.md +230 -0
  504. package/skills/narrator-ai-cli/references/resources.md +126 -0
  505. package/skills/narrator-ai-cli/references/workflows.md +332 -0
  506. package/skills/newcut-video-clipping/SKILL.md +194 -0
  507. package/skills/newcut-video-clipping/references/examples.md +59 -0
  508. package/skills/newcut-video-clipping/references/provider-config.md +110 -0
  509. package/skills/newcut-video-clipping/references/quality-check.md +35 -0
  510. package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
  511. package/skills/notes-to-video/SKILL.md +476 -0
  512. package/skills/openchatcut/SKILL.md +100 -0
  513. package/skills/openchatcut/references/editing-workflow.md +54 -0
  514. package/skills/openchatcut/references/getting-started.md +106 -0
  515. package/skills/openchatcut/references/known-errors.md +62 -0
  516. package/skills/openstoryline-install/SKILL.md +228 -0
  517. package/skills/orca-motion/SKILL.md +100 -0
  518. package/skills/orca-motion/references/api.md +100 -0
  519. package/skills/orca-motion/references/integration.md +59 -0
  520. package/skills/orca-motion/references/kinetic-type.md +59 -0
  521. package/skills/orca-motion/references/principles.md +76 -0
  522. package/skills/package-talking-head-video/SKILL.md +90 -0
  523. package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
  524. package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
  525. package/skills/package-talking-head-video/docs/USAGE.md +83 -0
  526. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
  527. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
  528. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
  529. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
  530. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
  531. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
  532. package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
  533. package/skills/package-talking-head-video/references/director-rules.md +29 -0
  534. package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
  535. package/skills/paper-cut/SKILL.md +164 -0
  536. package/skills/paper-cut/references/asset-spec.md +47 -0
  537. package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
  538. package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
  539. package/skills/paper-cut/references/image-led-production.md +65 -0
  540. package/skills/paper-cut/references/storyboard-schema.md +48 -0
  541. package/skills/paper-cut/references/workflow.md +39 -0
  542. package/skills/personal-ip-brand-intro/SKILL.md +216 -0
  543. package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
  544. package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
  545. package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
  546. package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
  547. package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
  548. package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
  549. package/skills/pixel2motion/SKILL.md +279 -0
  550. package/skills/pixel2motion/references/html-delivery-template.md +42 -0
  551. package/skills/pixel2motion/references/motion-personality.md +109 -0
  552. package/skills/pixel2motion/references/reveal-patterns.md +163 -0
  553. package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
  554. package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
  555. package/skills/premiere-batch-delivery/SKILL.md +71 -0
  556. package/skills/premiere-pro-mcp/SKILL.md +161 -0
  557. package/skills/promo-creator-skills/SKILL.md +209 -0
  558. package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
  559. package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
  560. package/skills/promo-video/SKILL.md +408 -0
  561. package/skills/qisi-video-remix/SKILL.md +134 -0
  562. package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
  563. package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
  564. package/skills/reel-video/SKILL.md +237 -0
  565. package/skills/remotion-ad-video/SKILL.md +252 -0
  566. package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
  567. package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
  568. package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
  569. package/skills/remotion-ad-video/references/ad-intake.md +54 -0
  570. package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
  571. package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
  572. package/skills/remotion-ad-video/references/concept-contract.md +128 -0
  573. package/skills/remotion-ad-video/references/creative-direction.md +146 -0
  574. package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
  575. package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
  576. package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
  577. package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
  578. package/skills/remotion-ads/SKILL.md +278 -0
  579. package/skills/remotion-ads/references/ad-copywriting.md +229 -0
  580. package/skills/remotion-ads/references/animations.md +693 -0
  581. package/skills/remotion-ads/references/brand-config-template.md +355 -0
  582. package/skills/remotion-ads/references/captions.md +529 -0
  583. package/skills/remotion-ads/references/carousels.md +580 -0
  584. package/skills/remotion-ads/references/components.md +897 -0
  585. package/skills/remotion-ads/references/copy-frameworks.md +144 -0
  586. package/skills/remotion-ads/references/formats.md +436 -0
  587. package/skills/remotion-ads/references/gemini-tts.md +473 -0
  588. package/skills/remotion-ads/references/html-in-canvas.md +555 -0
  589. package/skills/remotion-ads/references/local-assets.md +543 -0
  590. package/skills/remotion-ads/references/music.md +656 -0
  591. package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
  592. package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
  593. package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
  594. package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
  595. package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
  596. package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
  597. package/skills/remotion-motion-graphics/SKILL.md +169 -0
  598. package/skills/remotion-motion-graphics/references/patterns.md +355 -0
  599. package/skills/remotion-motion-graphics/references/polish.md +102 -0
  600. package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
  601. package/skills/remotion-motion-graphics/references/traps.md +152 -0
  602. package/skills/remotion-resemble-ai/SKILL.md +879 -0
  603. package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
  604. package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
  605. package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
  606. package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
  607. package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
  608. package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
  609. package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
  610. package/skills/riffkit/SKILL.md +196 -0
  611. package/skills/riffkit/examples/any-look-styles.md +11 -0
  612. package/skills/riffkit/examples/faceless-and-auto.md +16 -0
  613. package/skills/riffkit/examples/localize-spanish.md +18 -0
  614. package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
  615. package/skills/riffkit/references/anchor.md +62 -0
  616. package/skills/riffkit/references/api.md +806 -0
  617. package/skills/riffkit/references/details.md +153 -0
  618. package/skills/riffkit/references/errors.md +69 -0
  619. package/skills/riffkit/references/intents.md +29 -0
  620. package/skills/saas-motion-video/SKILL.md +71 -0
  621. package/skills/script-to-video/SKILL.md +2627 -0
  622. package/skills/shorts/SKILL.md +372 -0
  623. package/skills/shorts/references/caption-styles.md +105 -0
  624. package/skills/shorts/references/platform-specs.md +149 -0
  625. package/skills/shorts/references/remotion-patterns.md +180 -0
  626. package/skills/shorts/references/scoring-rubric.md +106 -0
  627. package/skills/smart-video-editor/SKILL.md +327 -0
  628. package/skills/smart-video-editor/docs/FONTS.md +57 -0
  629. package/skills/story-telling/SKILL.md +222 -0
  630. package/skills/story-telling/rules/composition.md +130 -0
  631. package/skills/story-telling/rules/images.md +119 -0
  632. package/skills/story-telling/rules/models.md +98 -0
  633. package/skills/story-telling/rules/narration.md +87 -0
  634. package/skills/story-telling/rules/pitfalls.md +140 -0
  635. package/skills/story-telling/rules/story-formats.md +108 -0
  636. package/skills/story-telling/rules/story-json.md +143 -0
  637. package/skills/story-telling/rules/voices.md +114 -0
  638. package/skills/story-telling/rules/workflow.md +105 -0
  639. package/skills/story-to-handdrawn-video/SKILL.md +216 -0
  640. package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
  641. package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
  642. package/skills/su-card-to-video/SKILL.md +103 -0
  643. package/skills/talking-head-video-pipeline/SKILL.md +224 -0
  644. package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
  645. package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
  646. package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
  647. package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
  648. package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
  649. package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
  650. package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
  651. package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
  652. package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
  653. package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
  654. package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
  655. package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
  656. package/skills/text-to-lottie/SKILL.md +202 -0
  657. package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
  658. package/skills/text-to-lottie/references/design-taste.md +292 -0
  659. package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
  660. package/skills/text-to-lottie/references/motion-taste.md +260 -0
  661. package/skills/text-to-lottie/references/player-contract.md +325 -0
  662. package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
  663. package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
  664. package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
  665. package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
  666. package/skills/text-to-lottie/references/recipe-logo.md +72 -0
  667. package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
  668. package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
  669. package/skills/ultrademo/SKILL.md +212 -0
  670. package/skills/video-assemble/SKILL.md +101 -0
  671. package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
  672. package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
  673. package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
  674. package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
  675. package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
  676. package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
  677. package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
  678. package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
  679. package/skills/video-editing/SKILL.md +688 -0
  680. package/skills/video-explainer/SKILL.md +163 -0
  681. package/skills/video-explainer/references/brief-to-script.md +56 -0
  682. package/skills/video-explainer/references/errors-and-privacy.md +18 -0
  683. package/skills/video-explainer/references/motion-storyboard.md +82 -0
  684. package/skills/video-explainer/references/render-and-verify.md +62 -0
  685. package/skills/video-explainer/references/review-gate.md +82 -0
  686. package/skills/video-explainer/references/setup-and-doctor.md +33 -0
  687. package/skills/video-script-builder/SKILL.md +329 -0
  688. package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
  689. package/skills/video-script-builder/references/audio-workflow.md +84 -0
  690. package/skills/video-script-builder/references/caption-components.md +70 -0
  691. package/skills/video-script-builder/references/common-pitfalls.md +80 -0
  692. package/skills/video-script-builder/references/component-catalog.md +197 -0
  693. package/skills/video-script-builder/references/component-recipes.md +165 -0
  694. package/skills/video-script-builder/references/gsap-patterns.md +112 -0
  695. package/skills/video-script-builder/references/pacing-rules.md +78 -0
  696. package/skills/video-script-builder/references/quality-checklist.md +98 -0
  697. package/skills/video-script-builder/references/remotion-patterns.md +211 -0
  698. package/skills/video-script-builder/references/shader-transitions.md +115 -0
  699. package/skills/video-script-builder/references/taste-principles.md +160 -0
  700. package/skills/video-scrub/SKILL.md +216 -0
  701. package/skills/video-scrub/references/profiles.md +89 -0
  702. package/skills/video-scrub/references/residue-map.md +204 -0
  703. package/skills/video-short-maker/SKILL.md +182 -0
  704. package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
  705. package/skills/video-shotcraft/SKILL.md +267 -0
  706. package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
  707. package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
  708. package/skills/video-shotcraft/references/final-review.md +112 -0
  709. package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
  710. package/skills/video-shotcraft/references/jianying-export.md +182 -0
  711. package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
  712. package/skills/video-shotcraft/references/pipeline.md +390 -0
  713. package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
  714. package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
  715. package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
  716. package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
  717. package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
  718. package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
  719. package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
  720. package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
  721. package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
  722. package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
  723. package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
  724. package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
  725. package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
  726. package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
  727. package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
  728. package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
  729. package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
  730. package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
  731. package/skills/video-structure-analyzer/SKILL.md +148 -0
  732. package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +50 -0
  733. package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +19 -0
  734. package/skills/video-toolkit/SKILL.md +686 -0
  735. package/skills/videocut/SKILL.md +159 -0
  736. package/skills/videodb/SKILL.md +497 -0
  737. package/skills/videodb/reference/api-reference.md +741 -0
  738. package/skills/videodb/reference/capture-reference.md +399 -0
  739. package/skills/videodb/reference/capture.md +110 -0
  740. package/skills/videodb/reference/editor-reference.md +506 -0
  741. package/skills/videodb/reference/editor.md +389 -0
  742. package/skills/videodb/reference/generative.md +344 -0
  743. package/skills/videodb/reference/indexing-reference.md +481 -0
  744. package/skills/videodb/reference/indexing.md +537 -0
  745. package/skills/videodb/reference/legacy/index-reference.md +223 -0
  746. package/skills/videodb/reference/legacy/index.md +241 -0
  747. package/skills/videodb/reference/legacy/search.md +249 -0
  748. package/skills/videodb/reference/migration.md +113 -0
  749. package/skills/vlog-auto-edit/SKILL.md +982 -0
  750. package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
  751. package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
  752. package/skills/vox-director/SKILL.md +351 -0
  753. package/skills/vox-director/references/beat-layer.md +143 -0
  754. package/skills/vox-director/references/host-mode.md +120 -0
  755. package/skills/vox-director/references/local-engine.md +73 -0
  756. package/skills/vox-director/references/models-and-gotchas.md +91 -0
  757. package/skills/vox-director/references/prompt-guide.md +275 -0
  758. package/skills/vox-director/references/voices.md +59 -0
  759. package/skills/xingchen-vox-collage/SKILL.md +251 -0
  760. package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
  761. package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
  762. package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
  763. package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
  764. package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
  765. package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
  766. package/skills/youtube/SKILL.md +147 -0
  767. package/skills/youtube/references/algorithm-guide.md +59 -0
  768. package/skills/youtube/references/analytics-benchmarks.md +67 -0
  769. package/skills/youtube/references/dataforseo-integration.md +51 -0
  770. package/skills/youtube/references/monetization-guide.md +62 -0
  771. package/skills/youtube/references/repurposing-guide.md +54 -0
  772. package/skills/youtube/references/retention-scripting-guide.md +75 -0
  773. package/skills/youtube/references/seo-playbook.md +77 -0
  774. package/skills/youtube/references/shorts-playbook.md +64 -0
  775. package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
  776. package/skills/youtube-shorts-factory/SKILL.md +358 -0
  777. package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
  778. package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
  779. package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
  780. package/studio/client.mjs +3 -3
  781. package/studio/server/server.mjs +31 -3
  782. package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
  783. package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
  784. package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
  785. package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
  786. package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
  787. package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
  788. package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
  789. package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
  790. package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
  791. package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
  792. package/studio/ui/dist/index.html +4 -3
  793. package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
  794. package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
  795. package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
  796. package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
@@ -0,0 +1,82 @@
1
+ # Backends and adapters
2
+
3
+ One art core, four backends, and the core cannot see any of them. An adapter is the only thing
4
+ that knows how a film becomes pixels.
5
+
6
+ ## The interface
7
+
8
+ Every adapter exports the same four things, so `tools/gate.mjs` can hold any of them to the same
9
+ bar without knowing which it has:
10
+
11
+ ```js
12
+ export const name = "html-player";
13
+ export const describe = () => "one sentence: what this adapter DELIVERS";
14
+ export const probe = () => ({ ok, why }); // can it run here, and if not, why not
15
+ export const open = async (film, { scale, workers }) => session;
16
+ ```
17
+
18
+ A session is:
19
+
20
+ ```js
21
+ { workers, // how many independent draw contexts it actually opened
22
+ info(), // -> film.meta
23
+ frame(n, w), // -> { png: Buffer, shot, drawMs }
24
+ hash(n, w), // -> stable digest of the drawn pixels
25
+ audio(sampleRate), // -> { sampleRate, frames, pcm16 } | null
26
+ artifact(), // -> the adapter's own deliverable, or null
27
+ close() }
28
+ ```
29
+
30
+ `workers` is the number of independent contexts, and the gate uses it to redraw the same frames a
31
+ different way. That is a stronger test than it sounds: each instance has its own texture tiles,
32
+ its own layer pool and its own cache, so two instances agreeing means the caches are genuinely
33
+ keyed on what the pixels depend on and not on the order somebody happened to ask for frames in.
34
+
35
+ ## The four
36
+
37
+ | Adapter | Delivers | Needs |
38
+ |---|---|---|
39
+ | `playwright` | frames, as a means to an MP4 | playwright + a chromium build |
40
+ | `html-player` | **the page**: one self-contained offline HTML file | playwright + a chromium build |
41
+ | `remotion` | frames through a Remotion `<Composition>` | `remotion`, `@remotion/bundler`, `@remotion/renderer` |
42
+ | `hyperframes` | frames seeked in headless Chrome by the Hyperframes engine | `@hyperframes/engine`, Node >= 22, ffmpeg |
43
+
44
+ ## Warm and cold catch different bugs
45
+
46
+ This is the one thing to carry away.
47
+
48
+ - **`html-player` shares one warm cache across frames.** It can catch a cache key that fails to
49
+ name everything its pixels depend on, because it draws frame 512 and then frame 128 into the
50
+ same session and compares.
51
+ - **`remotion` renders every frame COLD** — each still is its own page, its own module state, its
52
+ own cache. It proves frame N owes nothing to the frames before it, and it **cannot** catch a
53
+ stale cache, because there never is one.
54
+
55
+ On this film a real order-dependence sat in the plate composer: five cached surfaces baked the
56
+ line's "boil" into their pixels while leaving it out of their key. The warm adapter found it and
57
+ named the poisoning frame. The cold adapter passed happily. **Run both. Neither is the whole bar.**
58
+
59
+ ## Writing a new one
60
+
61
+ Ninety percent of an adapter is plumbing; the film is already a pure function of the frame number,
62
+ which is what every one of these backends actually wants. Two traps, both paid for:
63
+
64
+ - **Remotion screenshots when React commits**, and a committed `<canvas>` is a blank one until the
65
+ effect runs. Hold the frame with `delayRender` / `continueRender` around the draw or you will
66
+ ship empty plates that pass every hash check, because they are consistently empty.
67
+ - **Do not pass the film through props.** A `Film` carries functions (every shot's `draw`, the
68
+ score) and most frameworks serialize props. Close over it instead.
69
+
70
+ For a backend that drives a **seekable page** rather than a component, the page-side contract is
71
+ small and this engine already satisfies it: a finite frame count, forward, backward and random
72
+ seeks, and the same state whenever the same frame is asked for again. `window.FILM.seek(n)` is the
73
+ whole implementation. `tools/verify-frame-adapter.mjs` holds such an adapter to that contract
74
+ using playwright, which means you can prove the page-side half **before** the backend is installed.
75
+
76
+ ## If a backend is not installed
77
+
78
+ Say so. Keep every reference behind a dynamic import inside `open()` so the file imports clean,
79
+ make `probe()` name what is missing and how to get it, and let the gate report `CANNOT RUN`
80
+ (exit 2) rather than failing. Then check that the module really exports what you are about to
81
+ call, and if it does not, say what it exported instead. A backend that is not installed should
82
+ report that it is not installed — it should never quietly produce a wrong answer.
@@ -0,0 +1,148 @@
1
+ # The camera: one dolly and one lens, keyed on the frame grid
2
+
3
+ `engine/src/canvas-core/camera.ts` is the camera. A film either draws in world coordinates
4
+ inside `begin()`/`end()` (the transform path: dirty boxes stay right because the camera rides
5
+ the `Gfx` transform stack), or asks `toScreen()` where a world point lands and draws there (the
6
+ projector path). Both come from the same state, so a caption pinned to the frame and the world
7
+ it floats over can never disagree. Everything is a pure function of the frame: the same camera
8
+ question gets the same answer on any machine, in any order.
9
+
10
+ ## The move
11
+
12
+ ```ts
13
+ import { Camera } from "./camera";
14
+
15
+ const cam = new Camera([W / 2, H / 2], [
16
+ { f: 0, look: [400, 300], zoom: 1, ease: "inout" }, // ease governs the segment this key LEAVES
17
+ { f: 90, look: [900, 300], zoom: 2 },
18
+ { f: 150, look: [900, 300], zoom: 2 }, // a hold: say it, don't imply it
19
+ { f: 240, look: [400, 300], zoom: 1 },
20
+ ]);
21
+ cam.shake({ from: 96, to: 126, amp: 14, seed: 7, rot: 0.004 }); // an impact, ringing down
22
+ ```
23
+
24
+ - **The `zoom` key is the dolly**: how close the camera stands (see Lens and dolly below). It is
25
+ interpolated in log2, because it is a ratio: halving the apparent size twice should take twice
26
+ as long as halving it once. Ease the value itself and a long push-in sprints at the near end
27
+ and crawls at the far one; easing log2(zoom) spends time evenly per stop. A `lens` key eases
28
+ the same way.
29
+ - **Easing per segment, `inout` (easeInOutCubic) by default.** A camera move with no live
30
+ operator should accelerate gently and arrive gently. `linear` reads as mechanical, `out`
31
+ alone reads as interrupted, `in` alone as a fall.
32
+ - **A dolly path with several keys** breathes at every key under per-segment easing. Pass
33
+ `monoZoom: true` to run one monotone cubic through all the `zoom` keys in log2 instead: smooth,
34
+ never overshooting into a scale it was not given, never reversing.
35
+ - **Authored paths**: for a camera that follows a creature or a curve, pass
36
+ `path: (f) => ({ look, zoom, lens? })` instead of keys. Same camera, same shake, same projections.
37
+
38
+ ## Depth planes (parallax)
39
+
40
+ The camera sits at distance D = 1/zoom from the hero plane (z = 0). A plane at depth z scales
41
+ by `lens/(D + z)` and moves with it: near planes swing wide, far ones barely stir, and every
42
+ element at a depth agrees with every other, because there is only one camera. Positive z
43
+ recedes; a negative z crosses the lens (grass across the glass). Pass the plane's z to
44
+ `begin(g, f, z)` or `toScreen(p, f, z)`. One dolly, one number, and the parallax is true for
45
+ every element at once: do not hand each plane its own drift.
46
+
47
+ ## Lens and dolly
48
+
49
+ Two different moves make the subject bigger, and directors name them apart:
50
+
51
+ - **A dolly** moves the camera: the `zoom` key, distance D = 1/zoom. Near planes grow faster than
52
+ far ones, so the depth changes as it goes. This is a push-in, a pull-back, a dolly in or out.
53
+ - **A lens zoom** changes the focal length with the camera standing still: the `lens` key (1
54
+ when no key sets it; once one does, frames before the first lens key hold that key's value, so
55
+ key `lens: 1` where the zoom starts, as below). It multiplies every plane by the same factor about the frame's centre, so nothing
56
+ shifts against anything else; the picture is magnified, flat. A crash zoom or punch-in is this.
57
+ It reads as an operator's or a documentary's move, more noticed than a dolly. Use it when that
58
+ is the voice; for travelling into a world, dolly.
59
+ - **A dolly zoom** does both against each other: the camera dollies while the lens is solved on
60
+ every frame so the hero plane keeps its size, and the planes behind stretch away (dolly in) or
61
+ loom (dolly out). The subject holds still in a world that has just changed shape: the moment of
62
+ realisation (deck card `cam-vertigo-realisation`). It needs at least two planes behind the
63
+ subject; with nothing behind it, nothing visibly happens.
64
+
65
+ ```ts
66
+ import { Camera, dollyZoom, heroScale } from "./camera";
67
+
68
+ const lensIn = new Camera(c, [{ f: 0, look, zoom: 1 }, { f: 40, lens: 1, ease: "out" }, { f: 52, lens: 2.2 }]); // a crash zoom
69
+ const dolly = new Camera(c, [{ f: 0, look, zoom: 1 }, { f: 60, zoom: 2.4 }]);
70
+ const vertigo = new Camera(c, [], { path: dollyZoom((f) => dolly.at(f)) }); // holds frame 0's hero scale
71
+ // dollyZoom(path, { hold: 1.5 }) holds a given scale; { at: 30 } holds the scale the path has at frame 30
72
+ ```
73
+
74
+ `heroScale(cam)` is the hero plane's screen scale (dolly times lens), and the line-weight
75
+ compensation `weight(cam)` follows it, for a lens zoom as for a dolly.
76
+
77
+ ## Time: speed ramps, slow motion, freeze frames
78
+
79
+ `engine/src/canvas-core/timeRemap.ts` maps the film's frame to the scene's frame: draw the world at
80
+ `t.at(f)` instead of `f`. Speed is what you key and scene time is its exact integral, so time is
81
+ continuous, never runs backwards, and stays a pure function of the frame.
82
+
83
+ ```ts
84
+ import { timeRemap } from "./timeRemap";
85
+
86
+ const t = timeRemap([
87
+ { f: 84, speed: 0.3, ramp: 8 }, // ease into slow motion before the peak
88
+ { f: 120, speed: 0, keepsMoving: "her name writes itself" }, // freeze: the world stops, the writing does not
89
+ { f: 150, speed: 1, ramp: 14 }, // ease back to real time
90
+ ]);
91
+ world(g, t.at(f)); // the remapped scene
92
+ name(g, f); // the writing, on the film's own frame
93
+ cues.push({ frame: t.filmFrameOf(LANDING), kind: "paper" }); // a sound on a remapped event
94
+ ```
95
+
96
+ - **A ramp eases the speed**, on a smoothstep (or `curve: "linear"`), so it starts and ends with
97
+ no kick. `ramp` defaults to 0, a deliberate hard change of speed; give it frames to glide. A slowed scene is asked for frames between its frames, so it must
98
+ draw at fractional time (motion is a function of time, never of a frame counter).
99
+ - **Score and sound stay on real time.** The score never slows; effects are cued by film frame.
100
+ `filmFrameOf(sceneFrame)` gives the first film frame that shows a scene event, which is where
101
+ its sound goes.
102
+ - **A freeze must keep something moving.** A `speed: 0` key without `keepsMoving` (in words)
103
+ throws, and so does a speed under 0.01 (`MIN_SPEED`), which looks frozen without saying so: a frozen frame with nothing moving is dead air, and the gate fails it. Drive the thing
104
+ that moves (the name being written, the camera still creeping in) from the film's frame `f`.
105
+ `t.freezes` lists each stop with what keeps moving.
106
+ - **Once a film for each.** One slow motion at the peak, one freeze on the telling pose (deck
107
+ cards `emph-time-ramp`, `type-freeze-and-name`). The second halves the first.
108
+
109
+ ## Shake
110
+
111
+ `shake({ from, to, amp, seed, freq, rot, attack })` registers an impact or a handheld stretch:
112
+
113
+ - **amp in SCREEN pixels**, so the shake reads the same at any dolly or lens; **rot** in radians at full
114
+ strength, about the frame's centre. A small rotation is what actually sells handheld.
115
+ - The envelope is an **attack ramp** (default 2 frames) into a **squared decay**: full strength
116
+ at the hit, gone a beat later. An impact rings down; it does not stop mid-air.
117
+ - The motion is **low-frequency gradient noise**, seeded, never white noise per frame. Static
118
+ per frame reads as a faulty projector; smooth noise reads as mass. `freq` is cycles per frame
119
+ (default 0.35, about 10 Hz at 30 fps; drop it for a heavier camera).
120
+ - Shake is folded into `shaken(f)`, which `begin` and `toScreen` read, so the drawn world and
121
+ any projected overlay shake together. `at(f)` stays clean for driving things that must not
122
+ shake (the score, a cue grid).
123
+
124
+ ## Line weight at close range
125
+
126
+ Ink is authored at some view; at a screen scale S (dolly times lens) the same nib reads S times
127
+ heavier. Divide stroke widths by `weight(cam)` = S^0.35. Not S: a little weight gain is what
128
+ makes a close-up feel close rather than enlarged.
129
+
130
+ ## The two drawing paths
131
+
132
+ ```ts
133
+ // transform path: the world moves, you draw in world units
134
+ cam.begin(g, f); // hero plane
135
+ meadow(g, f);
136
+ cam.end(g);
137
+ cam.begin(g, f, 2.2); // a farther plane
138
+ hills(g, f);
139
+ cam.end(g);
140
+
141
+ // projector path: ask where things are, draw them there (cached surfaces, screen-space type)
142
+ const at = cam.toScreen(flower.centre, f, flower.z);
143
+ const k = cam.scaleAt(cam.at(f), flower.z);
144
+ ```
145
+
146
+ `toWorld(s, f, z)` inverts `toScreen`, for hit-testing or for pinning world content to a screen
147
+ point. The camera never touches the context itself, the clock, or `Math.random`: it is
148
+ arithmetic over `(frame, keys, seed)`, which is what keeps the determinism contract intact.
@@ -0,0 +1,72 @@
1
+ # The craft bar
2
+
3
+ The test: would a proud human illustrator ship this, or is it mechanical shape-assembly?
4
+
5
+ | The tell | What passes |
6
+ |---|---|
7
+ | A subject built from ellipses and capsules | Hand-placed control points over real anatomy |
8
+ | One style recoloured to look like another | The mark, the edge and the order of marks all change |
9
+ | Boxes and arrows standing for an idea | A real machine that does what the idea describes while you watch, built from many small parts that each have a job (`machines.md`) |
10
+ | A line that stops in the air; a texture cut dead mid-surface | Lines meet another line or an edge; a row of ribs or pins thins out where the surface turns away |
11
+ | Parts floating off or sunk into each other | Parts touch the way real ones do (bolted, resting, butted against), each held by something; zoom to 3x on the joints |
12
+ | Flat colour fields | Wash, then pattern wet-on-damp, then line; one named light; cast shadows |
13
+ | Every stroke the same weight and speed | Long strokes fast, fiddly ones slow, thick-thin, tapered |
14
+ | Even scatter, one flower stamped 200 times | Hand-placed drifts with bare rests; 4-5 authored views per species |
15
+ | Gradient sky, disc sun, oval bokeh | Granulating wash, sun as paper left light, lost edges |
16
+ | Decoration | Every element has a one-line reason or it is not drawn |
17
+ | A row of style vignettes (film) | One arc. The medium changes only when the STORY changes state |
18
+ | Things fade or scale in | Marks are MADE, in the order a hand makes them |
19
+ | Both sides do the same thing at once | One side leads, by a few frames, never half a cycle |
20
+ | A hold | The camera may creep. The subject never stops |
21
+ | People with rubber joints, mitten hands, floating feet | A canon (heads tall for the age), joints within their limits, five fingers where seen, weight over the feet (`anatomy.md`) |
22
+ | The same character drawn differently shot to shot | One character module; shots pose it, never redraw it (`workflows/character-consistency.md`) |
23
+ | A silhouette filled with texture, no mouth line, no toes | Interior contours: mouth, eyelids, nostrils, toes, joins between forms (the detail pass below) |
24
+ | A drawing film where the finished picture fades in | Marks made in the medium's order; the last frames are the still (`workflows/drawing-process.md`) |
25
+ | Words laid over busy art, a face or the UI | Type gets its own frame by default; over the picture only as a composed label or kinetic line on a calm area (`workflows/launch-video.md`, Type) |
26
+ | A loop playing in place and called "alive" | Real travel through a world that changes as the subject moves |
27
+ | An unmatched hard cut or a sharp swoosh between scenes | A gentle move (a bloom, a flip, a push, the card grows into the frame), or a cut matched on shape, position or beat |
28
+ | Site art that brings its own background, so a pale box shows on a page of a different colour | `paper` is set to the page's exact colour and every neutral shifts to suit it; a light and a dark theme come out of the same code (`workflows/site-art.md`) |
29
+ | A part, a cast shadow or a highlight straying into the headline's space | Nothing is drawn in the headline zone, and `tools/placement.mjs` proves it |
30
+ | A spinner drawn as still blades turning slowly | Fainter copies of the blades, each a little further back, over a faint swept shape (`spin`), so it reads as speed |
31
+
32
+ **No dead air** in anything that moves: something visibly changes in every second, from frame 0.
33
+ Check it with the tool AND by eye: a creeping camera changes every pixel and satisfies the tool
34
+ while the eye sees a still.
35
+
36
+
37
+ **Words get time to be read, and a quiet ground.** A text stays on screen at least
38
+ `max(0.7 s, 0.3 s per word)`: "ART OUT." needs 0.7 s, a six-word line 1.8 s. Count from the frame
39
+ the last word is whole, and give a slower audience (children, a second language) more. Text is
40
+ never set over a busy picture without a plate under it: a solid or softly tinted panel, a scrim, or
41
+ a clear patch of the drawing, so every letter has a ground it can be read against. Squint at the
42
+ frame; if a letter disappears, the plate is missing. `framecheck.mjs` holds the first rule on every
43
+ declared text cue (`meta.captions`) and reports N/A for a film that declares none; the second is a
44
+ review finding (`workflows/review.md`), because only an eye can judge busy.
45
+
46
+ **Judge the design, not only the collisions.** A review still can have nothing overlapping and
47
+ still fail: no hierarchy, cramped spacing, a frame that would not pass as a poster. Look at each
48
+ review frame as a designer first, a checker second.
49
+
50
+ **Preview options before full renders.** When a choice is open (a transition, a lettering
51
+ medium, a palette), show a cheap still sheet of the options side by side and let the person
52
+ pick. A full render per option spends the most expensive resource on the cheapest question.
53
+
54
+ ## The detail pass (run it on every piece before showing it)
55
+
56
+ A silhouette filled with texture is not a drawing. Before any still, recreation or character is
57
+ shown, crop into it at full size and check the interior, because that is where a viewer looks:
58
+
59
+ - **Faces**: the mouth line and the split of the upper lip, the chin, the nose's outline and
60
+ nostrils, both eyelids and the inner corner of the eye, brow markings, the ear's inner rim.
61
+ - **Hands, paws and feet**: every finger or toe separated, knuckles and pads where they show, nails
62
+ or claws, the way the foot meets the ground (contact shadow, weight).
63
+ - **Joins between forms**: where a leg meets the body, where an arm crosses the chest, where cloth
64
+ folds at a joint. These are contour lines inside the silhouette, thinner than the outline and
65
+ broken where light hits.
66
+ - **Markings and pattern**: stripes, spots, seams and patches follow the form's surface, not the
67
+ picture plane.
68
+ - **Recreations from a photo**: trace each of the above from the photo and overlay-check it; tone
69
+ alone never supplies interior lines.
70
+
71
+ Each medium says it in its own way (a carved keyblock line, a scratched cut, a pencil accent, a darker
72
+ brick), but none of them may leave it out.
@@ -0,0 +1,46 @@
1
+ # Determinism, or it is not a film, it is a performance
2
+
3
+ > Doctrine earned making MECHANICAL LEPIDOPTERA, the worked example in `example/`. Every rule
4
+ > below was paid for on that film; where a mistake was the director's own it says so, because
5
+ > a rule with its scar attached is one people keep.
6
+
7
+ **Why.** "Backend-agnostic" is a promise that a frame is a fact. Frame 731 is the same pixels on a laptop, in CI, inside Remotion at concurrency 8, rendered first or last or alone. Every convenience you allow yourself breaks that promise somewhere you will not be looking: parallel renderers draw frames out of order, Safari has no `ctx.filter`, a fetched font arrives late once in fifty runs.
8
+
9
+ **The contract.**
10
+ 1. `renderFrame(frame, env)` is PURE. No state carried between frames, no module-level mutable state that touches pixels. Audio is the same: samples are a pure function of the sample rate.
11
+ 2. Randomness only from `rng(seed)`. Never `Math.random`. Never `Date`, never `performance.now` in the core; timing belongs to hosts.
12
+ 3. A restricted canvas: paths, fill, stroke, clip, transforms, alpha, composite operations, patterns, gradients, `drawImage`, image data, `fillText` with a preloaded font. **No `ctx.filter` in any form.** No DOM, no `window`, no `new OffscreenCanvas` or `new Image`; surfaces come from `env.canvas()`.
13
+ 4. **No assets.** No images, no fonts, no audio files in the repository. Lettering is pen strokes; texture is seeded noise; music is arithmetic. This is what makes the repo the whole film, with no licensing questions. The optional sound pack is the one thing fetched from outside, it is installed by hash, and a film renders without it.
14
+ 5. Caches are legal only when the value is a pure function of its key, and **the key names everything the pixels depend on**. We found two violations by machine, never by eye: an annotation layer whose key omitted the crank angle two of its leaders pointed at, and one that omitted the pose. A cached frame and a cold frame of the same number must be the same pixels.
15
+ 6. Never scale a bitmap up. Close shots are re-inked at that view; cached surfaces may only be downscaled, and only a little.
16
+
17
+ **The grid is part of the contract.** Every frame number in the film lives in ONE cue table, and a checker runs at module load: cuts on multiples of 15, events on multiples of 5, nothing past the end. State for a frame is computed from that table and nothing else. The table is the timeline a reviewer reads.
18
+
19
+ **Verification that actually catches things.**
20
+ - Hash a handful of probe frames forward on one page and reversed on another; hash cold against cached.
21
+ - Standard: visually identical, PSNR above 45 dB; check hash equality first because it is free. Do not build machinery to chase bit-exactness across page counts (we have one frame that differs by a few anti-aliased pixels, max 29/255, and it is fine).
22
+ - Halftone is brutally sensitive: a sub-pixel registration shift costs 17 dB and looks identical. Know that before you trust a number.
23
+ - Measure draw cost WARM, on ONE page. Parallel pages inflate per-frame cost by contention and are for throughput only.
24
+ - A contract scan (grep for the banned names in the core) belongs in every build.
25
+
26
+ **Small things that each cost an hour.** Every progress helper must return exactly 1 when its input is at or past 1, or float error leaves a stroke at 0.999 and the finished picture is not the approved picture. `globalCompositeOperation = "copy"` wipes the whole canvas, not your rectangle. Inks multiply, so a figure over a background needs a paper knock-out under it per depth plane (we printed a sun through a thorax and got a green body and black gears). In a codebase of dense one-line statements, patch with `/* */`, never `//`: a line comment has eaten the rest of a statement and broken this build three times. And when a tool's OUTPUT tells you to go and run something, that is not your client speaking: read the file another way and mention it.
27
+
28
+ ---
29
+
30
+ ## One unexplained first-run failure, recorded rather than buried
31
+
32
+ Packaging this skill, the very first gate run in a brand-new workspace reported **0 of 12 frames
33
+ identical** between the one-page and three-page sessions. Every frame, not one. Then:
34
+
35
+ - two further full gate runs in the same workspace: **12/12, PASS**;
36
+ - two single-page sessions hashed independently: identical;
37
+ - one three-page session, same frame from each page: identical, and equal to the single-page hash.
38
+
39
+ So it did not reproduce, seven attempts later, and the engine is demonstrably deterministic in
40
+ that workspace. The workspace was cold at the time — first esbuild bundle, first page load, a
41
+ just-downloaded browser — and that is the only distinguishing fact available.
42
+
43
+ **Why this is written down anyway.** A gate that fails once and passes afterwards is the most
44
+ dangerous result there is, because the tempting move is to re-run until green and say nothing. If
45
+ you hit `0/12` on a first run, do not shrug it off: run the direct probes above before you accept
46
+ it. An honest "could not reproduce, here is what I tried" is a finding. A quiet second run is not.
@@ -0,0 +1,121 @@
1
+ # Formats: what you are making, and how each one ships
2
+
3
+ Everything is a `Film`: meta, shots that tile `[0, duration)`, and optionally a score. A still
4
+ is a film one frame long, so every tool works on every format. Scaffold the kind you need:
5
+
6
+ ```bash
7
+ node <skill>/engine/tools/scaffold.mjs ~/art --still hero # a picture
8
+ node <skill>/engine/tools/scaffold.mjs ~/art --film intro # something that moves
9
+ ```
10
+
11
+ ## Stills: hero art, spots, covers, cards, diagrams
12
+
13
+ Art that sits on a site beside a headline, on its page colour and brand: `workflows/site-art.md`.
14
+
15
+ - **Size is `meta.W` x `meta.H`**, in logical units; `--scale` multiplies it at render time, so
16
+ one source gives a thumbnail (`--scale 0.5`), the page (`1`) and print (`--scale 3`). Common
17
+ shapes: 1600x900 web hero, 1200x630 social card, 1080x1080 square post, 1080x1350 portrait
18
+ post, 2550x3300 letter at 300 dpi.
19
+ - **`node tools/still.mjs hero --out out/hero.png`** draws it twice and prints `reproducible`
20
+ when both hashes agree. That line is the receipt that the same file will come back tomorrow.
21
+ Several frames of a moving piece in one browser: `--frames 0,450,900` (or `0-900:150`), with
22
+ `--sheet out/sheet.jpg` for a contact sheet at 0.4 scale (`working-method.md`).
23
+ - **Transparent background**: skip the paper fill and the page stays clear, so a spot
24
+ illustration or an icon drops onto any website colour. Leave `g.paper()` off as well: over
25
+ clear pixels it lays its grain down as a grey veil. Carry the tooth in the marks instead
26
+ (`ink` and `paint` groups texture themselves).
27
+ - **A series** is one draw function and many seeds or parameters: a set of blog headers, a card
28
+ per team member, a family of empty states. Put the variation in a table at the top of the
29
+ module and render each row; `styleGallery.ts` shows how several plates compose onto one sheet.
30
+ - **An explainer or infographic** still: draw the thing, then label it with `drafting.ts`
31
+ `letter()` and leader lines drawn with `g.pen`. Numbers are content, so every figure on the
32
+ plate comes from a named source in a comment beside it.
33
+
34
+ The approval gate for a still is the still itself: one render, a written self-critique against
35
+ the craft table, then show it.
36
+
37
+ ## Motion without a story: loops, stickers, logos, ambient art
38
+
39
+ - **Seamless loop**: drive everything from `t = local / DURATION` through functions that repeat
40
+ a whole number of times over `[0, 1)` (`sin(2 * PI * k * t)`, integer `k`). Frame `DURATION`
41
+ then equals frame 0 and the seam disappears. Check it: render the last frame and frame 0 and
42
+ compare them to a mid-loop neighbour pair, or run `node tools/verify-export.mjs <name> --loop`
43
+ on the rendered file, which judges the last-to-first step against the loop's own mid-loop
44
+ deltas.
45
+ - **Animated logo / sticker**: 2 to 4 seconds, the mark DRAWN on (`progress` on `g.pen`,
46
+ `letter`), a settle, a small idle. Leave the background unpainted for transparency.
47
+ - **Ambient / idle art** (a site header that breathes, a banner): the subject never stops; the
48
+ motion is small and everywhere. `banner.ts` is the worked example.
49
+ - **Dead air still applies**: the gate measures it on any piece longer than one frame.
50
+
51
+ ## Films: the story ones
52
+
53
+ 30 to 90 seconds, a transformation, a score, the full workflow in `SKILL.md`, the doctrine in
54
+ `storytelling.md`, `music/README.md` and `working-method.md`. `example/` is the worked one.
55
+
56
+ ## Delivering
57
+
58
+ | Output | Command | For |
59
+ |---|---|---|
60
+ | PNG | `node tools/still.mjs <name> --out out/x.png [--scale 2]` | stills, print, anything static |
61
+ | MP4 | `node tools/render.mjs <name>` | films with their score, social video |
62
+ | GIF | `node tools/render.mjs <name> --out out/x.gif [--width 640] [--gif-fps 15]` | loops, README heroes, email |
63
+ | WebM | `node tools/render.mjs <name> --out out/x.webm [--width 512]` | stickers and overlays, alpha kept (VP9) |
64
+ | APNG | `node tools/render.mjs <name> --out out/x.apng [--width 512]` | alpha loops that play in every browser |
65
+ | HTML | `node tools/emit.mjs <name> --out out/x.html` | the piece itself: one offline file that redraws it, with sound, on a double-click |
66
+
67
+ Render options that hold for every moving format:
68
+
69
+ - `--poster-frame N [--poster-fade 6]`: platforms show frame 0 as the thumbnail. The file opens
70
+ on frame N (the wall of styles, the logo, the prompt written big) and dissolves into the real
71
+ opening by frame 6. The frame count and the score are unchanged. A delivery whose frame 0 is
72
+ near-blank gets a warning after the encode.
73
+ - `--blur auto` (or `--blur N`): motion blur, each output frame the average of subframes over the
74
+ shutter, in linear light and weighted by alpha (so a transparent WebM or APNG gets no dark
75
+ fringe). `auto` measures each frame's on-screen motion (two sharp renders at the shutter's ends,
76
+ block-matched; drawing strokes, typed letters and halftone patterns are not mistaken for motion)
77
+ and takes subframes at most `--blur-px` apart (default 3 px): 1 on a still frame, which comes out
78
+ untouched, up to `--blur-max` (32) on a whip. Deterministic. `--shutter DEG` is the shutter
79
+ angle, 180 by default (360 is the old whole-frame shutter). Stepped art (`meta.step` > 1,
80
+ `onTwos`) is never blurred.
81
+ - `--shapes 16x9,1x1,4x5,9x16`: a launch template film rendered in each shape from one timeline
82
+ (each re-composed by its layout, never cropped) to `out/<name>-<shape>.mp4`. Any tool takes
83
+ `<name>-<shape>` as the film's name for one shape.
84
+ - `--from F --to T`: frames `[F, T)` only, silent, written to `out/<name>.<F>-<T>.<ext>`, never
85
+ over the finished film. For checking a passage, not for shipping.
86
+ - `--hashes out/x.md5`: the md5 of every frame handed to the encoder, for frame-exact
87
+ comparisons of two renders before any codec blurs the difference.
88
+
89
+ Words on screen, wherever the shape:
90
+
91
+ - **Reading time.** Each text stays up at least `max(0.7 s, 0.3 s per word)`. A launch film's cues
92
+ are `meta.captions`; `node tools/framecheck.mjs <name>` fails any cue held shorter and reports
93
+ `N/A` for a film that declares no cues (it cannot see words it was not told about).
94
+ - **No text on a busy picture without a plate** (`craft-bar.md`).
95
+ - **Phone safe zones, 9:16 only.** Reels, TikTok and Shorts lay their own name, caption, buttons
96
+ and progress bar over the frame. Keep text and key content out of the top 14 % and bottom 25 %
97
+ of the height, and the right 14 % of the width (the button column) between them. The shares are
98
+ the cautious end of the creator safe-area guidance those apps publish for vertical video,
99
+ rounded up; their layouts change, so re-check before a campaign. `framecheck.mjs` finds text in
100
+ those zones on any 9:16 frame (`SAFE-ZONES`) and `launch.mjs ship` fails the shape for it
101
+ (`--zones warn` only flags it). The launch template composes its 9:16 layout inside the safe
102
+ rectangle: the chat, the words, the split beat, the end card and the corner mark, with burned-in
103
+ captions (`captions: "burn"`) in a band at the safe rectangle's bottom. The background still fills
104
+ the frame. Other shapes report N/A.
105
+ - **Claims** in a film, on screen or spoken, are listed with their sources in `facts.json`
106
+ (`workflows/facts.md`).
107
+
108
+ After any encode, `node tools/verify-export.mjs <name> [--first-frame #hex] [--fidelity-psnr 40]`
109
+ proves the file on disk is the film: size, exact frame count, duration, the score (an audio
110
+ stream exactly when the film has one, as long as the picture, not silent), its SYNC (the decoded
111
+ sound cross-correlated with the master mix at each of `meta.sync`'s markers, within 1 ms, and each
112
+ cue's attack where the master put it), its true peak after the encode (-1 dBTP under
113
+ `--delivery`), and optionally the
114
+ first frame's average colour and its fidelity to the source frame (`--frame N` picks which
115
+ frame `--fidelity-psnr` compares; default 0). All of it is opt-in beyond the container facts,
116
+ so transparent and non-uniform pieces pass cleanly. For a file that ships, add `--delivery`: a
117
+ near-blank frame 0 then FAILS instead of warning; the fix is `render --poster-frame N`.
118
+
119
+ A still needs a browser only (`npx playwright-core install chromium`). Anything that moves also needs
120
+ `ffmpeg`. `gate.mjs` runs on all of them and marks the checks that do not apply to the piece,
121
+ a silent loop's audio or a still's dead air, as `----` rather than passing them.