@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,160 @@
1
+ # After Effects lewat bridge Higgsfield — membangun kartun panggung langsung di AE
2
+
3
+ Dibaca bila user sudah membuka proyek After Effects dan bridge Higgsfield (MCP `ae_*`)
4
+ tersambung, lalu meminta explainer dibangun **langsung di AE**. Angka acuan dari satu
5
+ build explainer kartun panggung (103 dtk VO, 10 panggung, 20 karakter bersendi, 96 aset
6
+ PNG): ±67 menit dari comp master sampai contact sheet terakhir, ±100 panggilan tool AE,
7
+ 0 kredit Higgsfield. Hukum gaya tetap dari `kartun-panggung.md`; dokumen ini hanya
8
+ soal CARA membangunnya lewat bridge.
9
+
10
+ ## Apa yang bisa dan tidak bisa dilakukan bridge
11
+
12
+ | Bisa | Tidak bisa (dan jalan keluarnya) |
13
+ |---|---|
14
+ | `ae_build_scene_from_lottie` membuat comp + precomp + layer shape sederhana sekaligus | Lottie besar (>~60 KB) — pecah: Lottie hanya untuk **kerangka**, isi lewat op atomik |
15
+ | `ae_batch` menjalankan puluhan op (`add_shape_layer`, `add_null_layer`, `import_image`, `modify_layer`, `set_keyframes`, `set_expression`) dalam satu panggilan | `apply_gradient`, `get_layer_info`, `export_frame` di dalam batch → seluruh batch error; panggil standalone |
16
+ | `add_shape_layer` rectangle (dengan `roundness`) dan ellipse, warna `{r,g,b}` 0–1 | Path/poligon/bintang, stroke, gradient pada shape → gambar sebagai SVG di luar, render ke PNG, impor |
17
+ | `ae_import_image` PNG/JPG/WAV (WAV memberi peringatan "hidden property" yang tidak berbahaya) | SVG ("invalid file type"); file di folder sementara/virtual milik aplikasi agent sering tidak terlihat oleh AE → salin aset dulu ke folder biasa (mis. `C:/aset-ae/`) |
18
+ | `ae_apply_gradient` Gradient Ramp 2 stop / 4-Color pada shape statis (langit) | Gradient di layer berkeyframe; gradient di dalam batch |
19
+ | `set_expression` pada Position/Scale/Rotation/Opacity/Anchor | Expression pada properti efek atau path; `ae_reorder_layers` selalu "layer not found" → **urutan tumpuk = urutan pembuatan**, buat dari belakang ke depan |
20
+ | `ae_export_contact_sheet` (5–8 waktu) dan `ae_export_frame` → URL r2.dev | Melihat URL r2.dev dari Indonesia (diblokir) → relay: `media_import_url(url)` di MCP Higgsfield → `curl https://d2ol7oe51mr4n9.cloudfront.net/<user>/<media_id>.png` → Read. Relay kadang gagal ("Something went wrong"); ekspor ulang, URL baru biasanya lolos |
21
+ | `ae_get_layer_info`, `ae_list_layers`, `ae_list_compositions` untuk verifikasi angka | Menyimpan proyek, merender, menghapus comp. User harus **Ctrl+S**; MP4 lewat Render Queue atau `aerender.exe` |
22
+
23
+ Jebakan bridge yang paling sering terjadi:
24
+
25
+ 1. **Null baru lahir di (960,540).** `add_null_layer` lalu langsung di-parent-kan →
26
+ semua anak yang belum berkeyframe melompat −960,−540. Segera `modify_layer`
27
+ anchorPoint `[0,0]` + position `[0,0]` pada null itu SEBELUM parenting apa pun.
28
+ 2. **Parenting ke CAM yang sudah berkeyframe** membakar transform CAM ke anak: posisi
29
+ ikut tergeser, skala ikut mengecil. Setelah parent, set ulang position/scale anak
30
+ secara eksplisit (atau parent dulu, animasikan CAM belakangan).
31
+ 3. **Keyframe pada layer ber-parent memakai ruang induk.** Mata di dalam kepala bukan
32
+ `[932,472]` (comp) tapi `[-28,-2]` (relatif pusat kepala). Salah ruang = bagian
33
+ wajah terlempar ke luar frame.
34
+ 4. **Batch parsial.** Bila satu op gagal dengan `stopOnError:false`, op lain tetap
35
+ diterapkan; baca `results[i].ok` satu per satu, jangan mengulang seluruh batch.
36
+ 5. **Lottie: posisi anak ditulis di ruang comp**, bukan relatif induk; converter juga
37
+ membuat comp duplikat bila nama sama dan membuang gradient/gambar/mask/expression.
38
+ `ip/op/st` pada layer precomp diterjemahkan benar — gunakan itu untuk timing master.
39
+ 6. **Contact sheet di dalam precomp yang di-zoom master tampak buram** → kamera bukan di
40
+ layer precomp master, tapi null `CAM` di dalam tiap panggung.
41
+
42
+ ## Arsitektur yang terbukti
43
+
44
+ ```
45
+ # <judul> comp master 1920×1080 30fps, durasi = VO
46
+ ├─ VO (wav) detik 0
47
+ └─ > P01 … > P10 layer precomp, ip/op dari jeda VO, st = ip (lokal mulai 0)
48
+ ### P01 <nama panggung> precomp, durasi = segmen + 0,6 dtk (P04 +8 dtk bila dipakai ulang sebagai penutup)
49
+ ├─ langit rect seukuran comp dari Lottie → ae_apply_gradient
50
+ ├─ CAM null, anchor [0,0] pos [0,0]; SEMUA layer dunia di-parent ke sini
51
+ ├─ bukit, tanah, … PNG 2× dari SVG, scale 50, anchor dari manifest, pos = pivot comp
52
+ ├─ <tokoh> ROOT + 29 bagian shape asli AE (lihat rig)
53
+ └─ lapisan gelap/pagi/api PNG/rect overlay, dibuat TERAKHIR (paling atas), opacity berkeyframe
54
+ ```
55
+
56
+ **Kamera = null CAM.** Untuk melihat titik (x,y) pada zoom z:
57
+ `CAM.Position = [960 − x·z, 540 − y·z]`, `CAM.Scale = [100z, 100z]`. Keyframe dengan
58
+ `influence` 50–75 untuk ease. Zoom tidak pernah < 1,08 (Hukum 1 kartun panggung).
59
+
60
+ **Comp dipakai ulang sebagai panggung lain** (penutup memakai panggung api unggun):
61
+ layer precomp kedua di master dengan `st` = ip − waktu_lokal_mulai; animasi bagian
62
+ penutup ditaruh di waktu lokal itu (contoh: 13 dtk), dipisah dari adegan pertama dengan
63
+ keyframe hold ganda (12,93 → 12,967) supaya tidak ada interpolasi antar adegan.
64
+
65
+ **Aksen geser 96 px** (satu kali, pergantian zaman): keyframe Position layer precomp di
66
+ master — P08 960→864 (0,3 dtk, influence 70→10), P09 1056→960 (0,4 dtk, influence 10→80);
67
+ tambah Scale 100→111 dan 111→100 di waktu yang sama supaya tepi comp tidak terbuka.
68
+
69
+ ## Alur kerja
70
+
71
+ 0. Rundown per panggung dikunci ke jeda VO (`vo-pauses.html` atau `ffmpeg silencedetect`),
72
+ plus daftar kamera per panggung `(t, x, y, z)`. Style brief kartun panggung tetap wajib.
73
+ 1. **Kerangka lewat satu Lottie kecil**: comp master + tiap precomp berisi hanya layer
74
+ `langit`, layer precomp di master dengan `ip/op/st`. Impor WAV VO ke master.
75
+ 2. **Aset ilustrasi dari kode** (`scripts/ae/bridge/aset-svg.py`): tiap aset = satu
76
+ fungsi menggambar (rect/ellipse/path halus) di koordinat lokal dengan pivot yang
77
+ ditentukan; skrip menulis SVG + `manifest.json` berisi `png, pos, anchor(px 2×),
78
+ scale 50`. Render semua dengan `node scripts/ae/bridge/svg2png.cjs <folder>`
79
+ (puppeteer, PNG transparan seukuran SVG 2×). Gambar sesuai zona kamera: yang di
80
+ luar zoom ≥1,08 tidak perlu digambar.
81
+ 3. **Per panggung, satu `ae_batch`** urut belakang → depan:
82
+ `add_null_layer CAM` → `modify_layer` CAM anchor/pos 0 → `import_image` + `modify_layer`
83
+ (anchor, position, scale 50, opacity awal) per aset → `modify_layer parentLayerName:"CAM"`
84
+ untuk semua → `set_keyframes` kamera & aset → `set_expression` gerak idle.
85
+ `ae_apply_gradient` langit dipanggil terpisah SEBELUM batch.
86
+ 4. **Karakter**: `python scripts/ae/bridge/rig-tokoh.py "<comp>" <prefix> <x> <gy> <skala> [varian]`
87
+ mencetak ±90 op; tambahkan `modify_layer <prefix> ROOT parentLayerName CAM` dan set
88
+ ulang ROOT position/scale (jebakan 2). Kirim sebagai satu `ae_batch` per karakter
89
+ (±15 KB). Setelah rig jadi, batch kedua berisi pose/aksi + expression idle.
90
+ 5. **Verifikasi tiap panggung** dengan `ae_export_contact_sheet` 5–8 waktu kunci → relay
91
+ → lihat. Cek: rig utuh (sendi tidak lepas), latar tidak bergeser (jebakan 1–2),
92
+ overlay di atas, ≥10 benda bergerak. Terakhir contact sheet **master** di satu waktu
93
+ per panggung + waktu transisi.
94
+ 6. **Penyerahan**: minta user Ctrl+S (bridge tidak bisa simpan), hapus comp uji coba,
95
+ render lewat Render Queue atau
96
+ `"C:/Program Files/Adobe/Adobe After Effects 2026/Support Files/aerender.exe" -project … -comp "# …" -output ….mp4`.
97
+ Sebutkan kompromi yang tersisa (contoh: urutan layer yang tidak bisa disusun ulang).
98
+
99
+ ## Rig karakter native (`rig-tokoh.py`)
100
+
101
+ Pola yang terbukti: **buat shape di posisi comp → `modify_layer` anchor = titik sendi
102
+ (koordinat layer, relatif pusat bentuk) + position = titik sendi (comp) → parent**.
103
+ Parenting "melompat" menjaga tampilan, dan Rotation berputar tepat di sendi.
104
+
105
+ ```
106
+ <p> ROOT (null, pelvis = gy − 214s, anchor [50,50])
107
+ ├─ paha-L/R (anchor [0,−52s], sendi pinggul ±24s) → betis (lutut gy−112s) → kaki (mata kaki gy−16s)
108
+ └─ torso (anchor [0,76s], sendi pelvis)
109
+ ├─ lengan-L/R (bahu ±52s, gy−340s) → lenganbawah (siku gy−262s) → tangan (pergelangan gy−190s)
110
+ ├─ tunik-rumbai, leher
111
+ └─ kepala (anchor [0,72s], leher gy−398s)
112
+ └─ telinga, rambut-1..5, janggut (varian utama/anggota3), mata-L/R, alis-L/R, hidung, mulut
113
+ ```
114
+
115
+ Urutan pembuatan = urutan tumpuk: kaki belakang (R) → lengan belakang (R) → torso →
116
+ kepala + wajah → lengan depan (L). Skala 0,75 (jauh), 0,85–0,9 (panggung normal), 1,15–1,4
117
+ (close-up). Varian kulit/tunik/rambut di `VAR`; jangan menambah varian dengan nama
118
+ merek/tokoh nyata.
119
+
120
+ Angka ekspresi/aksi yang dipakai (semua deterministik dari `time`):
121
+
122
+ | Gerak | Expression / keyframe |
123
+ |---|---|
124
+ | Napas | torso Scale `[value[0], value[1]*(1+Math.sin(time*2.4)*0.015)]` (fase beda per tokoh) |
125
+ | Kedip | mata Scale `var c=(time+0.4)%3.3; c<0.12?[value[0],value[1]*0.1]:value` |
126
+ | Jalan (digate) | paha `value ± sin((time−t0)*11)*24`, betis `max(0, ±sin(…−1))*20`, lengan berlawanan `*18`, ROOT y `−abs(sin)*6` — hanya dalam `t0<time<t1` |
127
+ | Lompat | ROOT Position 3× (0,25 dtk turun-naik 55 px), paha `−abs(sin(π·2t))*25`, betis `+35` |
128
+ | Lempar melengkung | lengan Rotation 0 → −20 (ancang) → 110 (lepas, influence 30) → 0; benda: 3 keyframe Position (tangan → puncak → tangan penerima) + Rotation 540–720 |
129
+ | Melambai | lengan Rotation −150 ↔ −120 tiap 0,3 dtk |
130
+ | Memeluk/cemas | lengan-R −35, lenganbawah-R −60, lengan-L −70, lenganbawah-L −40; alis ±15; mulut Scale `[70,60]` |
131
+ | Kaget/senang | mulut Scale `[130,260]` dalam 0,03 dtk; mata Position bergeser ±10 di ruang kepala |
132
+ | Tidur | ROOT Rotation −90 (cut, hold ganda), mata Scale `[110,12]`, napas 1,6 Hz amplitudo 0,03 |
133
+ | Api | lidah api Scale `1+sin(time*13..21)*0.07..0.18`, Rotation `sin(time*8..10)*4..5`; cahaya api PNG opacity 30, Scale bernapas 3 % |
134
+ | Lalat/bintang/semak | Position `sin/cos` amplitudo 30–80 px; bintang Opacity `value*(0.85+sin(time*2.3)*0.15)`; semak Rotation `sin(time*1.7)*2` |
135
+
136
+ ## Yang dikompromikan pada build ini (katakan ke user di awal)
137
+
138
+ - Urutan layer mengikuti urutan pembuatan; benda yang harus melintas DI DEPAN tokoh
139
+ harus dibuat setelah tokoh, atau dibuat ulang.
140
+ - Aset ilustrasi berupa PNG raster; mengubah warna/bentuk = edit skrip SVG, render
141
+ ulang, ganti footage. Karakter tetap vektor dan bisa diedit penuh di AE.
142
+ - Tanpa motion blur, tanpa efek selain Gradient Ramp; blur/glow ditambahkan user di AE.
143
+ - Setiap karakter = ±15 KB teks perintah yang harus ditulis penuh (bridge tidak membaca
144
+ file op); 20 karakter ≈ 300 KB. Ini penyumbang waktu terbesar, bukan latensi bridge
145
+ (rata-rata `ae_batch` 6,5 dtk, contact sheet 12 dtk, relay 7 dtk).
146
+
147
+ ## Checklist bridge
148
+
149
+ - [ ] CAM: anchor `[0,0]`, position `[0,0]` sebelum ada anak; kamera hanya di CAM,
150
+ layer precomp master diam (kecuali aksen geser 96 px)
151
+ - [ ] Semua layer dunia ber-parent ke CAM; setelah parent, posisi/skala aset dicek
152
+ lewat `ae_get_layer_info` (tanah harus `[0,0]`, scale `[50,50]`)
153
+ - [ ] Urutan pembuatan: langit → latar jauh → tanah → properti → tokoh → benda yang
154
+ dilempar → overlay cahaya/malam
155
+ - [ ] Keyframe bagian tubuh dalam ruang induk; hold ganda (Δ1 frame) untuk cut di dalam
156
+ panggung yang dipakai ulang
157
+ - [ ] Contact sheet tiap panggung dilihat mata (via relay bila r2 diblokir), lalu
158
+ contact sheet master satu waktu per panggung
159
+ - [ ] `apply_gradient` / `get_layer_info` / `export_*` tidak pernah di dalam `ae_batch`
160
+ - [ ] Pesan penutup: Ctrl+S, hapus comp uji, perintah `aerender`, daftar kompromi
@@ -0,0 +1,110 @@
1
+ # Anti-PPT — hukum desain adegan
2
+
3
+ Dokumen ini adalah alasan skill ini ada: hasil yang "secara teknis benar" tetap
4
+ gagal bila terasa seperti presentasi PPT.
5
+
6
+ ## Kenapa model selalu jatuh ke pola slide
7
+
8
+ Model dilatih menyusun INFORMASI: judul → penjelas → bukti pendukung.
9
+ Struktur itu bagus untuk dokumen, dan fatal untuk motion graphic.
10
+ Video promosi tidak menjelaskan — ia **menyatakan**, satu pukulan per shot,
11
+ dan membiarkan gerakan + musik yang membawa emosinya. Kalau kamu merasa
12
+ sebuah adegan "kurang informasi", itu justru tanda adegannya sudah benar.
13
+
14
+ ## Tabel pelanggaran → perbaikan
15
+
16
+ | Pelanggaran | Perbaikan |
17
+ |---|---|
18
+ | Kicker "02 — FITUR" + judul 2 baris + body copy 2 baris + 4 chip badge, layout kolom kiri-kanan | Satu kalimat ≤ 5 kata di tengah-atas + satu objek produk naik ke tengah |
19
+ | Tiga baris teks besar berisi tiga klaim "TANPA …" | Headline 2 kata + satu cara dari menu fitur (`opener-konsep.md`): satu fitur didemokan, kata berganti, objek bertransformasi, kartu dikocok, grid tile… — dipilih per proyek |
20
+ | Opener produk B memakai kulit opener produk A (palet, glow, nebula, font yang sama) karena diambil dari starter/proyek lama | Gaya diturunkan dari brand B lewat style brief: palet dari logo/ikon B, font berkarakter lain, bahasa latar lain, tanda tangan gerak lain (SKILL.md Hukum #3) |
21
+ | Semua judul KAPITAL SEMUA, font lebar bobot 800, selalu di tengah, masuk dengan stagger huruf yang sama — terasa kaku | Sentence case bobot 500, penekanan pada kata kunci (sorotan kata opsional — bisa juga kata per kata, ukuran, jeda, objek di samping kata), tanpa titik otomatis (tanda baca hanya bila mengubah arti), ukuran/arah/posisi bergantian (techniques.md §1) |
22
+ | Setiap judul/klaim diakhiri titik, termasuk frase dua kata — terasa kaku dan seperti template | Default tanpa titik; `?` untuk pertanyaan sungguhan, titik hanya untuk gaya dua kalimat pendek yang disengaja dan konsisten (techniques.md §1 aturan 5) |
23
+ | Ladang 96 batang cahaya putih ber-bloom di belakang judul — latar ramai, teks tidak kontras | Kantong gelap di bawah teks, partikel berwarna sisi gelap palet dan redup, ≤ 40 elemen terang, bloom hanya di objek (techniques.md §1b) |
24
+ | Semua opener gelap dengan nebula/partikel, latar tidak pernah dipertimbangkan per segmen | Latar dari tema (gradien terang, warna lembut, blok warna, kertas, foto, atau gelap); pergantian diputuskan per segmen di style brief dan terjadi di balik cut/wipe (techniques.md §7b) |
25
+ | Setiap opener memberi kata sorotan (garis bawah/pill) di setiap kalimat, atau memakai pill + bintang yang sama persis dengan proyek lain | Sorotan kata opsional dan diputuskan di style brief; bila dipakai, satu bentuk per video yang dipilih per proyek, tidak di setiap kalimat, ornamen hanya dari bentuk brand (techniques.md §1) |
26
+ | Opener app/SaaS hanya menampilkan screenshot diam yang di-zoom atau digeser | UI dirakit ulang dari komponen produk, dipakai (kursor, jari, atau UI yang bereaksi sendiri), data mengisi, transisi dibawa UI (`opener-konsep.md` bagian animasi UI) |
27
+ | Video ditempel layar penuh dengan `autoplay loop`, berjalan dengan jamnya sendiri, dan animasi lain berhenti selama klip diputar | Klip dipasang lewat `clip()` sebagai layer footage yang terikat timeline, dibungkus wadah/perangkat/bingkai yang ikut dianimasikan, teks dan anotasi tetap hidup di atasnya (techniques.md §9b) |
28
+ | Dua opener untuk produk berbeda sama-sama berlatar batang/potongan cahaya melesat ke samping ("lane" / "range") — hasil aturan "objek melintas tiap detik" | Gerak latar dipilih dari menu techniques.md §7c (gradien berpindah, blob, grain hidup, sapuan cahaya, bentuk berputar, partikel naik, grid bernapas…) dan berbeda dari proyek sebelumnya; aliran horizontal hanya untuk tema kecepatan/aliran |
29
+ | Transisi: balok/persegi warna datar raksasa menyapu miring di setiap cut ("kotak persegi aneh"), atau garis tipis menyapu | Menu transisi techniques.md §4c: push-through 3D, kartu berputar dari kedalaman, objek berketebalan melewati lensa, mask bentuk brand, sapuan cahaya; minimal dua jenis, satu berkedalaman, wipe ≤ 2 |
30
+ | Latar flat satu warna (gelap atau terang) dari awal sampai akhir | Permukaan latar ≥ 2 lapis dari menu §7d: glow horizon, duotone diagonal, mesh blob, spotlight + tint, langit berlapis, tekstur — warna dari palet |
31
+ | Latar diam, atau warna latar tidak pernah berganti walau segmen/energi berubah | Latar selalu bergerak (§7c); warna latar boleh berganti kapan dibutuhkan asal ada pemicu terlihat: benda menutup lensa, aksi UI, push ke bidang warna, medan menyapu, cut di ketukan (techniques.md §7b) |
32
+ | Menyalin palet, font, dan tata letak video referensi yang disodorkan user | Ambil ritme dan energinya saja; kulit lahir dari tema produk — katakan itu ke user satu kalimat |
33
+ | Menampilkan `com.example.app` (nama package) di adegan CTA | Dihapus. User tidak peduli; kalau perlu, cukup baris hasil pencarian store |
34
+ | Teks in/out dengan kamera statis | Ukuran shot berganti ke elemen yang sedang bercerita (techniques.md §3b) + koreografi elemen beririsan (§4b); napas kamera sebagai lapisan dasar; push-through hanya bila termotivasi, ±1 per video |
35
+ | "Zoom in-out" dikerjakan sebagai napas kamera beberapa persen — tidak terlihat, video tetap terasa statis | Pergantian ukuran shot yang jelas: kamera mendekat ke elemen (medium close-up / close-up) lalu mundur ke wide saat komposisi butuh seluruh frame; label di lapisan layar supaya tidak terpotong (techniques.md §3b) |
36
+ | Glow tebal 4 lapis di semua judul | Judul putih bersih + drop shadow tipis; glow disimpan untuk OBJEK (objek produk, ornamen) |
37
+ | Latar warp 520 garis putih panjang | 300 partikel pendek berwarna gelap senada — latar tidak boleh bersaing dengan subjek |
38
+ | Latar biru merata (flat) | Gradasi vertikal tegas: nyaris hitam di atas, menyala di horizon bawah |
39
+ | Elemen UI (badge status) muncul mendahului kalimat utamanya | Urutan atensi: kalimat → objek utama → detail pendukung |
40
+ | Zoom push-through dipakai di SEMUA transisi | Perpustakaan gerakan: spin, yaw 3D, roll, elemen terbang melewati lensa; zoom hanya saat termotivasi (mis. menyelam ke layar mockup). "Satu jenis transisi di semua cut" = template transisi PPT, cuma versi mahal |
41
+ | Whip-pan translasi — tepi panggung tersingkap jadi gap hitam | Terbaca "pindah halaman". Jangan pernah menggeser dunia sampai tepinya terlihat |
42
+ | Spin/yaw/roll kejut (zoom+putar tiba-tiba dengan blur di tiap cut) | Itu bahasa PRESET editor video, bukan motion design. Ganti: kamera bernapas + koreografi elemen beririsan + object wipe |
43
+ | Demo UI terasa statis: UI penuh di frame, kamera diam, hanya kursor bergerak, klik terlalu kecil untuk terbaca | Kamera mengikuti interaksi bila perlu: dekati area yang akan diklik (scale 1,4–2,2, 0,6–0,9 dtk ease in-out), klik terbaca, lalu mundur/geser ke hasilnya; tidak di setiap klik (techniques.md §8) |
44
+ | Opener produk berbeda-beda keluar dengan kerangka sama: teks zoom lalu keluar ke kiri, tiga tile fitur, kotak input diketik, hook → fitur → fitur → janji → logo → CTA — kesannya template walau warnanya baru | Tiga kandidat konsep dari `opener-konsep.md`, satu dipilih dari sifat produk; sidik jari struktur berbeda dari opener sebelumnya; komponen kanonik maks dua dan hanya bila dituntut konsep |
45
+
46
+ ## Pola gagal yang umum pada explainer
47
+
48
+ Contoh explainer sejarah 30 dtk, 6 adegan, yang terasa seperti PPT. Kodenya:
49
+
50
+ | Yang dibuat | Kenapa PPT | Yang seharusnya |
51
+ |---|---|---|
52
+ | 6 × `<section class="scene">` berisi foto full-bleed, dinyalakan `autoAlpha` bergantian | Ganti section = ganti slide, apa pun transisinya | Satu dunia yang mengalir; adegan berganti karena kamera/dunia bergerak atau whip ke sudut lain |
53
+ | Tiap section: eyebrow (kicker) + judul 2 baris + kredit | Tiga tingkat teks = layout slide | Satu angka/kalimat besar + satu label yang hidup di dunia |
54
+ | Gerak hanya Ken Burns foto 1.08 → 1.015 dan scale bump `#world` 1.12 → .96 di tiap cut | Gerak yang sama di semua cut = template | Parallax, objek melintas, whip, instrumen (peta/profil/speedometer), kamera bernapas beda per momen |
55
+ | Light leak di setiap cut | Preset editor video | Simpan untuk satu momen istimewa |
56
+ | Tidak ada subjek yang bertahan antar adegan | Tidak ada yang "dibawa" penonton | Hero hadir > 60 % durasi |
57
+
58
+ Pelajaran: hukum naratif saja tidak cukup; perlu larangan struktural yang bisa diperiksa dari kode
59
+ (SKILL.md → "Larangan struktural") dan starter yang memaksa rig yang benar
60
+ (`assets/starter-explainer.html`).
61
+
62
+ ## Prinsip yang bisa dibawa ke proyek mana pun
63
+
64
+ 1. **Satu shot = satu pernyataan.** Kalimat ≤ 5 kata lebih kuat daripada
65
+ kalimat lengkap. "Dua kata. Satu pukulan." mengalahkan "Aplikasi ini
66
+ bisa melakukan X, Y, dan Z untuk kamu".
67
+ 2. **Hierarki atensi per adegan:** kalimat dulu, objek utama menyusul,
68
+ detail paling akhir — jangan pernah terbalik.
69
+ 3. **Teks panjang adalah bug.** Kalau sebuah klaim butuh > 6 kata,
70
+ pecah jadi dua adegan atau ubah jadi visual (ikon, angka, mockup).
71
+ 4. **Metadata bukan konten.** Nama package, URL panjang, versi, footnote —
72
+ buang. Penonton awam tidak membacanya, penonton teknis tidak membutuhkannya.
73
+ 5. **Mockup UI adalah pengecualian teks banyak** — layar aplikasi boleh penuh
74
+ teks kecil karena ia dibaca sebagai GAMBAR, bukan sebagai teks. Justru
75
+ itu: mockup harus setia pada aplikasi aslinya (font, warna, layout).
76
+ 6. **Gerakan adalah kalimatnya juga.** Zoom masuk = penekanan; pan menyusur =
77
+ pengungkapan bertahap; pull-back = reveal; bounce kecil = playful.
78
+ Pilih gerakan yang searti dengan kalimatnya, jangan acak.
79
+ 7. **Transisi ala motion designer, bukan preset editor.** Dua kegagalan
80
+ umum: whip translasi menyingkap tepi ("pindah halaman"); spin/yaw kejut
81
+ terbaca efek preset editor. Yang benar:
82
+ (a) kamera BERNAPAS — drift zoom pelan tanpa henti, tak pernah
83
+ menyentak; (b) perpindahan dikerjakan KOREOGRAFI ELEMEN yang keluar-
84
+ masuk beririsan waktu; (c) OBJECT WIPE — sebuah elemen/ornamen menyapu
85
+ dekat lensa menutup frame, adegan berganti di baliknya; (d) zoom cepat
86
+ hanya bila TERMOTIVASI (menyelam ke layar mockup). Efek kejut apa pun
87
+ (zoom/putar tiba-tiba + blur di tiap cut) adalah tanda bahaya.
88
+ 8. **Kamera adalah pemersatu.** Sekali kamu punya rig kamera yang menggerakkan
89
+ seluruh dunia, adegan-adegan terpisah terasa satu film. Tanpa itu,
90
+ berapapun polesan per adegan, hasilnya tetap deck yang di-autoplay.
91
+ 9. **Ritme keluar-masuk asimetris.** Masuk pelan-tegas (0.7–1.3 detik,
92
+ `power4.out`), keluar cepat (0.35–0.55 detik, `power2.in`). Simetris
93
+ terasa mekanis.
94
+ 10. **Pilih 1–2 momen istimewa.** Efek paling mahal (pan 3D per kata, logo
95
+ build-on) dipakai sekali-dua kali saja. Dipakai di semua tempat,
96
+ berhenti terasa istimewa.
97
+ 11. **Kalau ragu, gelapkan latarnya dan besarkan teksnya.** Kontras adalah
98
+ produksi termurah yang paling sering dilupakan.
99
+
100
+ ## Kalibrasi rasa (heuristik cepat)
101
+
102
+ Screenshot sebuah frame lalu tanya:
103
+
104
+ - Bisakah frame ini jadi slide korporat tanpa diubah? → gagal, rombak.
105
+ - Apakah mataku tahu harus melihat ke mana dalam 0,2 detik? → kalau tidak,
106
+ kurangi elemen.
107
+ - Kalau semua teks disembunyikan, apakah latarnya masih menarik tapi tidak
108
+ berisik? → keduanya harus ya.
109
+ - Apakah ada sesuatu yang BERGERAK karena kamera, bukan karena elemen
110
+ menganimasikan dirinya sendiri? → harus ya di tiap transisi.
@@ -0,0 +1,188 @@
1
+ # Arsitektur — struktur proyek dan alasannya
2
+
3
+ Tiap keputusan di sini pernah salah dulu sebelum benar. Bagian "kenapa"
4
+ lebih penting daripada kodenya.
5
+
6
+ ## Struktur berkas
7
+
8
+ ```
9
+ proyek/
10
+ ├── index.html markup semua adegan + filter SVG motion blur
11
+ ├── css/app.css token warna, layout adegan, state awal tersembunyi
12
+ ├── js/three-scene.js dunia WebGL ber-state (latar, partikel, ornamen, bloom)
13
+ ├── js/timeline.js SATU-SATUNYA tempat waktu ditulis (GSAP master timeline)
14
+ ├── js/util.js splitChars + blurTween (motion blur berarah)
15
+ ├── js/main.js perekat: fit stage, loop render, panel kontrol
16
+ └── tools/
17
+ ├── serve.py dev server Cache-Control: no-store
18
+ └── export-frames.mjs render frame-by-frame (puppeteer)
19
+ ```
20
+
21
+ Boleh dipadatkan jadi satu berkas (lihat `assets/starter-opener.html`) untuk
22
+ prototipe; pecah ke struktur di atas begitu adegan > 3.
23
+
24
+ ## Panggung: 1920×1080 dipatok, lalu di-scale
25
+
26
+ ```css
27
+ #stage{position:fixed;left:50%;top:50%;width:1920px;height:1080px;
28
+ transform:translate(-50%,-50%) scale(var(--fit));overflow:hidden}
29
+ ```
30
+ ```js
31
+ const s = Math.min(innerWidth/1920, innerHeight/1080);
32
+ ```
33
+
34
+ **Kenapa:** komposisi tidak boleh berubah karena ukuran jendela. Posisi yang
35
+ disetujui di monitor 27" harus identik saat direkam. Ukuran jendela hanya
36
+ mengubah zoom, bukan layout.
37
+
38
+ ## Rig kamera `#world`
39
+
40
+ ```
41
+ #stage
42
+ └── #world ← rig kamera: DI-SCALE/TRANSLATE oleh timeline
43
+ ├── <canvas> ← WebGL (latar 3D)
44
+ ├── .bgfx ← gradient overlay (blend screen)
45
+ └── #dom ← semua adegan teks/UI
46
+ ├── .leak ← light leak: DI LUAR world, lapisan paling atas
47
+ ├── .vignette, .grain
48
+ ```
49
+
50
+ **Kenapa world membungkus canvas juga:** saat kamera zoom, yang ikut membesar
51
+ harus teks DAN latarnya.
52
+ Men-zoom layer teks saja terasa palsu; men-zoom seluruh dunia terasa kamera.
53
+ Light leak justru HARUS di luar world: ia cahaya di depan lensa, bukan
54
+ bagian dunia.
55
+
56
+ ## State-driven WebGL
57
+
58
+ Scene Three.js tidak tahu apa-apa soal waktu. Ia mengekspos satu objek:
59
+
60
+ ```js
61
+ const state = {
62
+ grid: 0, dust: .5, nebula: .6, stars: 0, tunnel: 0, flow: 0,
63
+ camX: 0, camY: 0, camZ: 16, camRoll: 0, bloom: .85, shake: 0,
64
+ heroO: 0, heroS: 1, heroX: 0, heroY: 0, heroZ: 6, // ornamen utama
65
+ };
66
+ ```
67
+
68
+ dan timeline GSAP men-tween angka-angka itu. Fungsi `render(t)` menerima
69
+ `t = tl.time()`.
70
+
71
+ **Kenapa:** satu sumber kebenaran waktu. Scrub, pause, dan export otomatis
72
+ benar karena WebGL tidak punya jam sendiri.
73
+
74
+ **Aturan `flow`:** benda yang "mengalir" (tunnel, hujan partikel) disimpan
75
+ sebagai JARAK yang di-tween (`flow: '+=300'`), posisi tiap partikel =
76
+ `(seed + flow*speed) % span`. JANGAN `pos += speed*dt` — itu akumulasi yang
77
+ membuat scrub dan export tidak reproducible.
78
+
79
+ ## Timeline: detik absolut
80
+
81
+ ```js
82
+ tl.fromTo(chars, {...}, {...}, 8.10); // ← angka absolut, bukan "+=0.3"
83
+ ```
84
+
85
+ **Kenapa:** rundown adegan berisi angka detik; menulis angka yang sama di
86
+ kode membuat urutan terbaca sekali lihat, dan menggeser satu adegan tidak
87
+ merembet ke adegan lain. Sediakan konstanta `DURATION` di satu tempat.
88
+
89
+ ## State awal di CSS, bukan di GSAP
90
+
91
+ ```css
92
+ .hero, .line, .obj, .ornament { opacity: 0 }
93
+ ```
94
+ ```js
95
+ tl.fromTo(el, {opacity:0,y:60}, {opacity:1,y:0, immediateRender:false}, 8.1);
96
+ ```
97
+
98
+ **Kenapa:** dengan `immediateRender:false`, CSS-lah yang memegang keadaan
99
+ sebelum tween mulai — tanpanya semua elemen berkedip di frame pertama.
100
+
101
+ **JEBAKAN yang pernah terjadi:** selector state awal kalah spesifisitas.
102
+ `.card.ghost{opacity:.85}` mengalahkan `.card{opacity:0}` sehingga elemen
103
+ muncul mendahului animasinya. Jangan pernah menulis `opacity` di selector
104
+ yang lebih spesifik dari selector state-awal; biarkan GSAP yang memberi
105
+ nilai akhirnya.
106
+
107
+ ## Determinisme — daftar larangan
108
+
109
+ | Larangan | Gantinya |
110
+ |---|---|
111
+ | `Math.random()` di render loop | sinus frekuensi tinggi: `Math.sin(t*137.2)` |
112
+ | `Date.now()` / `performance.now()` | `tl.time()` diteruskan sebagai parameter |
113
+ | `setInterval` untuk teks berjalan/mengetik | tween `{i:0→n}` + `onUpdate` slice |
114
+ | akumulasi `pos += v*dt` | posisi = fungsi(seed, state.flow) |
115
+ | `Math.random()` saat SETUP boleh | seed dibuat sekali saat load, bukan per frame |
116
+
117
+ ## Dev server wajib no-cache
118
+
119
+ `python -m http.server` membiarkan browser menahan module JS lama lewat
120
+ heuristic caching — edit "tidak ngefek", dan kamu akan mengejar hantu.
121
+ Selalu pakai server yang mengirim `Cache-Control: no-store`
122
+ (`scripts/serve.py`). ES module tidak jalan lewat `file://`, jadi server
123
+ memang wajib.
124
+
125
+ ## Verifikasi vs export — dua hal berbeda
126
+
127
+ - **Verifikasi** (setiap batch perubahan): `scripts/snap.mjs` memotret
128
+ 6–20 detik kunci lewat `OPENER.seek(t)`; hasilnya dilihat, bukan
129
+ disimpan. Tanpa Node: `?debug=1` + screenshot manual.
130
+ - **Export** (hanya bila user minta MP4): render semua frame. Jangan
131
+ tertukar — merender penuh untuk "ngetes" membuang ribuan gambar dan tidak
132
+ memberi penilaian apa pun.
133
+
134
+ ## Export ke video
135
+
136
+ Jangan merekam layar untuk hasil final (frame drop). Karena semuanya
137
+ deterministik: set `tl.time(frame/fps)` → tunggu 2× rAF (satu untuk GSAP
138
+ menulis style, satu untuk render loop menggambar) → screenshot → ulangi.
139
+ `scripts/export-frames.mjs` melakukannya via puppeteer; gabungkan dengan:
140
+
141
+ ```
142
+ ffmpeg -framerate 60 -i frames/f%05d.png -c:v libx264 -pix_fmt yuv420p -crf 16 out.mp4
143
+ ```
144
+
145
+ Ekspos `window.OPENER = { tl, DURATION }` supaya skrip export (dan debugging
146
+ konsol) bisa mengendalikan timeline.
147
+
148
+ ## Panel kontrol developer — tersembunyi
149
+
150
+ Jangan tampilkan player di deliverable. Default: autoplay saat dibuka, loop
151
+ saat selesai, R ulang, Space jeda. Panel (play/pause, slider scrub, jam
152
+ `t.toFixed(2)`) hanya muncul dengan `?debug=1`; `?clean=1` = tanpa panel dan
153
+ tanpa autoplay untuk skrip export. Scrub tetap alat review utama user —
154
+ mereka berpikir dalam "detik ke-X" — tapi lewat URL debug, bukan di hasil.
155
+
156
+ ## Verifikasi visual (bukan opsional)
157
+
158
+ Setelah tiap batch perubahan: buka di browser, `tl.pause(); tl.time(X)` di
159
+ konsol untuk tiap detik kunci, screenshot, nilai dengan heuristik di
160
+ `anti-ppt.md`. Kode yang jalan ≠ adegan yang benar; hampir semua revisi
161
+ user datang dari MELIHAT, bukan dari error.
162
+
163
+
164
+ ## Bentuk deliverable: satu berkas, tanpa server
165
+
166
+ Selama pengembangan boleh multi-file (css/, js/) + server no-cache. Tapi yang
167
+ DISERAHKAN adalah satu `index.html` yang bisa diklik dua kali:
168
+
169
+ - `<style>` dan `<script type="module">` ditulis inline. Alasannya teknis:
170
+ Chrome menolak `<script type="module" src="js/app.js">` dari `file://`
171
+ (origin `null` → CORS), sedangkan module inline boleh meng-`import` dari
172
+ CDN https tanpa masalah.
173
+ - Import map + GSAP/Three dari CDN tetap dipakai (butuh internet, tidak butuh
174
+ server). Font Google juga.
175
+ - Aset lokal (ikon, gambar) cukup path relatif — `<img src="icon.png">`
176
+ aman di `file://`.
177
+ - Hindari `fetch()`/XHR ke berkas lokal — itu diblokir di `file://`.
178
+ - Node/puppeteer hanya untuk render MP4; jangan sampai user mengira opener
179
+ butuh `node_modules`. Jelaskan itu di README. Tanpa Node: rekam layar
180
+ (dengan catatan bisa drop frame). Tanpa Python: tidak ada yang hilang —
181
+ server hanya perlu bila memakai module lokal, dan deliverable satu-berkas
182
+ tidak memakainya.
183
+ - Skrip render/snap memakai default `pathToFileURL(process.cwd())` supaya
184
+ bekerja tanpa server; URL http tetap bisa dioper lewat env `URL`.
185
+
186
+ Proses inline yang aman: baca css & js, ganti tag `<link>`/`<script src>`
187
+ dengan isinya, pastikan JS tidak mengandung `</script>`, lalu hapus folder
188
+ sumbernya supaya tidak ada dua kebenaran.