@autoaiai/aicut 0.1.11 → 0.1.13

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 (1063) hide show
  1. package/MANUAL.md +94 -94
  2. package/package.json +1 -1
  3. package/skills/aicut-motion/SKILL.md +69 -3
  4. package/skills/aicut-motion/THIRD_PARTY_NOTICES.md +14 -0
  5. package/skills/aicut-motion/assets/atlas/lib/harness.js +116 -0
  6. package/skills/aicut-motion/assets/atlas/lib/sound.js +274 -0
  7. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/code.js +937 -0
  8. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/poster.jpg +0 -0
  9. package/skills/aicut-motion/assets/atlas/styles/001-flat-vector-science/style.json +13 -0
  10. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/code.js +909 -0
  11. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/poster.jpg +0 -0
  12. package/skills/aicut-motion/assets/atlas/styles/002-watercolor-wash/style.json +13 -0
  13. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/code.js +881 -0
  14. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/poster.jpg +0 -0
  15. package/skills/aicut-motion/assets/atlas/styles/003-shadow-puppet-theatre/style.json +13 -0
  16. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/code.js +897 -0
  17. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/poster.jpg +0 -0
  18. package/skills/aicut-motion/assets/atlas/styles/004-whiteboard-explainer/style.json +13 -0
  19. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/code.js +814 -0
  20. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/poster.jpg +0 -0
  21. package/skills/aicut-motion/assets/atlas/styles/005-psychedelic-poster/style.json +13 -0
  22. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/code.js +990 -0
  23. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/poster.jpg +0 -0
  24. package/skills/aicut-motion/assets/atlas/styles/006-tech-glow-explainer/style.json +13 -0
  25. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/code.js +994 -0
  26. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/poster.jpg +0 -0
  27. package/skills/aicut-motion/assets/atlas/styles/007-papercraft-models/style.json +13 -0
  28. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/code.js +792 -0
  29. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/poster.jpg +0 -0
  30. package/skills/aicut-motion/assets/atlas/styles/008-1940s-film-noir/style.json +13 -0
  31. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/code.js +840 -0
  32. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/poster.jpg +0 -0
  33. package/skills/aicut-motion/assets/atlas/styles/009-manim-style-math/style.json +13 -0
  34. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/code.js +1126 -0
  35. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/poster.jpg +0 -0
  36. package/skills/aicut-motion/assets/atlas/styles/010-illuminated-manuscript/style.json +13 -0
  37. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/code.js +854 -0
  38. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/poster.jpg +0 -0
  39. package/skills/aicut-motion/assets/atlas/styles/011-editorial-essay-collage/style.json +13 -0
  40. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/code.js +1124 -0
  41. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/poster.jpg +0 -0
  42. package/skills/aicut-motion/assets/atlas/styles/012-bioluminescent-deep-sea/style.json +13 -0
  43. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/code.js +728 -0
  44. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/poster.jpg +0 -0
  45. package/skills/aicut-motion/assets/atlas/styles/013-product-launch-reveal/style.json +13 -0
  46. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/code.js +664 -0
  47. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/poster.jpg +0 -0
  48. package/skills/aicut-motion/assets/atlas/styles/014-halftone-pop-panel/style.json +13 -0
  49. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/code.js +991 -0
  50. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/poster.jpg +0 -0
  51. package/skills/aicut-motion/assets/atlas/styles/015-isometric-pastel/style.json +13 -0
  52. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/code.js +801 -0
  53. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/poster.jpg +0 -0
  54. package/skills/aicut-motion/assets/atlas/styles/016-oscilloscope-vector-art/style.json +13 -0
  55. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/code.js +692 -0
  56. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/poster.jpg +0 -0
  57. package/skills/aicut-motion/assets/atlas/styles/017-risograph-zine/style.json +13 -0
  58. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/code.js +756 -0
  59. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/poster.jpg +0 -0
  60. package/skills/aicut-motion/assets/atlas/styles/018-claymation-set/style.json +13 -0
  61. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/code.js +922 -0
  62. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/poster.jpg +0 -0
  63. package/skills/aicut-motion/assets/atlas/styles/019-neon-sign-at-night/style.json +13 -0
  64. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/code.js +852 -0
  65. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/poster.jpg +0 -0
  66. package/skills/aicut-motion/assets/atlas/styles/020-kawaii-anime/style.json +13 -0
  67. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/code.js +724 -0
  68. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/poster.jpg +0 -0
  69. package/skills/aicut-motion/assets/atlas/styles/021-ukiyo-e-woodblock/style.json +13 -0
  70. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/code.js +793 -0
  71. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/poster.jpg +0 -0
  72. package/skills/aicut-motion/assets/atlas/styles/022-16-bit-pixel-odyssey/style.json +13 -0
  73. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/code.js +846 -0
  74. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/poster.jpg +0 -0
  75. package/skills/aicut-motion/assets/atlas/styles/023-chalkboard-lesson/style.json +13 -0
  76. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/code.js +1008 -0
  77. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/poster.jpg +0 -0
  78. package/skills/aicut-motion/assets/atlas/styles/024-cut-paper-diorama/style.json +13 -0
  79. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/code.js +680 -0
  80. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/poster.jpg +0 -0
  81. package/skills/aicut-motion/assets/atlas/styles/025-cathedral-glass/style.json +13 -0
  82. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/code.js +633 -0
  83. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/poster.jpg +0 -0
  84. package/skills/aicut-motion/assets/atlas/styles/026-editorial-chart/style.json +13 -0
  85. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/code.js +757 -0
  86. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/poster.jpg +0 -0
  87. package/skills/aicut-motion/assets/atlas/styles/027-synthwave-outrun/style.json +13 -0
  88. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/code.js +828 -0
  89. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/poster.jpg +0 -0
  90. package/skills/aicut-motion/assets/atlas/styles/028-origami-studio/style.json +13 -0
  91. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/code.js +697 -0
  92. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/poster.jpg +0 -0
  93. package/skills/aicut-motion/assets/atlas/styles/029-linocut-relief-print/style.json +13 -0
  94. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/code.js +687 -0
  95. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/poster.jpg +0 -0
  96. package/skills/aicut-motion/assets/atlas/styles/030-holographic-foil-card/style.json +13 -0
  97. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/code.js +727 -0
  98. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/poster.jpg +0 -0
  99. package/skills/aicut-motion/assets/atlas/styles/031-voxel-diorama/style.json +13 -0
  100. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/code.js +903 -0
  101. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/poster.jpg +0 -0
  102. package/skills/aicut-motion/assets/atlas/styles/032-sumi-e-ink-wash/style.json +13 -0
  103. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/code.js +662 -0
  104. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/poster.jpg +0 -0
  105. package/skills/aicut-motion/assets/atlas/styles/033-etch-a-sketch-toy/style.json +13 -0
  106. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/code.js +951 -0
  107. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/poster.jpg +0 -0
  108. package/skills/aicut-motion/assets/atlas/styles/034-cosmic-star-chart/style.json +13 -0
  109. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/code.js +759 -0
  110. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/poster.jpg +0 -0
  111. package/skills/aicut-motion/assets/atlas/styles/035-punk-zine-collage/style.json +13 -0
  112. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/code.js +738 -0
  113. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/poster.jpg +0 -0
  114. package/skills/aicut-motion/assets/atlas/styles/036-thermal-camera/style.json +13 -0
  115. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/code.js +793 -0
  116. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/poster.jpg +0 -0
  117. package/skills/aicut-motion/assets/atlas/styles/037-engineering-blueprint/style.json +13 -0
  118. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/code.js +673 -0
  119. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/poster.jpg +0 -0
  120. package/skills/aicut-motion/assets/atlas/styles/038-impasto-night/style.json +13 -0
  121. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/code.js +907 -0
  122. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/poster.jpg +0 -0
  123. package/skills/aicut-motion/assets/atlas/styles/039-win95-desktop/style.json +13 -0
  124. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/code.js +833 -0
  125. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/poster.jpg +0 -0
  126. package/skills/aicut-motion/assets/atlas/styles/040-low-poly-faceted/style.json +13 -0
  127. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/code.js +845 -0
  128. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/poster.jpg +0 -0
  129. package/skills/aicut-motion/assets/atlas/styles/041-manga-page/style.json +13 -0
  130. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/code.js +496 -0
  131. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/poster.jpg +0 -0
  132. package/skills/aicut-motion/assets/atlas/styles/042-wood-type-letterpress/style.json +13 -0
  133. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/code.js +635 -0
  134. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/poster.jpg +0 -0
  135. package/skills/aicut-motion/assets/atlas/styles/043-light-painting/style.json +13 -0
  136. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/code.js +799 -0
  137. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/poster.jpg +0 -0
  138. package/skills/aicut-motion/assets/atlas/styles/044-felt-patchwork/style.json +13 -0
  139. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/code.js +547 -0
  140. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/poster.jpg +0 -0
  141. package/skills/aicut-motion/assets/atlas/styles/045-phosphor-terminal/style.json +13 -0
  142. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/code.js +592 -0
  143. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/poster.jpg +0 -0
  144. package/skills/aicut-motion/assets/atlas/styles/046-glassmorphism-ui/style.json +13 -0
  145. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/code.js +768 -0
  146. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/poster.jpg +0 -0
  147. package/skills/aicut-motion/assets/atlas/styles/047-tarot-card/style.json +13 -0
  148. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/code.js +666 -0
  149. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/poster.jpg +0 -0
  150. package/skills/aicut-motion/assets/atlas/styles/048-transit-map/style.json +13 -0
  151. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/code.js +559 -0
  152. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/poster.jpg +0 -0
  153. package/skills/aicut-motion/assets/atlas/styles/049-gouache-travel-poster/style.json +13 -0
  154. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/code.js +943 -0
  155. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/poster.jpg +0 -0
  156. package/skills/aicut-motion/assets/atlas/styles/050-napkin-sketch/style.json +13 -0
  157. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/code.js +606 -0
  158. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/poster.jpg +0 -0
  159. package/skills/aicut-motion/assets/atlas/styles/051-art-deco-foil/style.json +13 -0
  160. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/code.js +730 -0
  161. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/poster.jpg +0 -0
  162. package/skills/aicut-motion/assets/atlas/styles/052-radiograph-on-lightbox/style.json +13 -0
  163. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/code.js +782 -0
  164. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/poster.jpg +0 -0
  165. package/skills/aicut-motion/assets/atlas/styles/053-vaporwave/style.json +13 -0
  166. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/code.js +504 -0
  167. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/poster.jpg +0 -0
  168. package/skills/aicut-motion/assets/atlas/styles/054-ebru-paper-marbling/style.json +13 -0
  169. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/code.js +517 -0
  170. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/poster.jpg +0 -0
  171. package/skills/aicut-motion/assets/atlas/styles/055-isotype-pictograms/style.json +13 -0
  172. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/code.js +713 -0
  173. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/poster.jpg +0 -0
  174. package/skills/aicut-motion/assets/atlas/styles/056-soft-3d-clay/style.json +13 -0
  175. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/code.js +717 -0
  176. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/poster.jpg +0 -0
  177. package/skills/aicut-motion/assets/atlas/styles/057-cross-stitch-sampler/style.json +13 -0
  178. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/code.js +540 -0
  179. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/poster.jpg +0 -0
  180. package/skills/aicut-motion/assets/atlas/styles/058-constructivist-propaganda/style.json +13 -0
  181. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/code.js +524 -0
  182. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/poster.jpg +0 -0
  183. package/skills/aicut-motion/assets/atlas/styles/059-pocket-monochrome/style.json +13 -0
  184. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/code.js +934 -0
  185. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/poster.jpg +0 -0
  186. package/skills/aicut-motion/assets/atlas/styles/060-botanical-plate/style.json +13 -0
  187. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/code.js +690 -0
  188. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/poster.jpg +0 -0
  189. package/skills/aicut-motion/assets/atlas/styles/061-kinetic-type/style.json +13 -0
  190. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/code.js +612 -0
  191. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/poster.jpg +0 -0
  192. package/skills/aicut-motion/assets/atlas/styles/062-byzantine-mosaic/style.json +13 -0
  193. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/code.js +666 -0
  194. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/poster.jpg +0 -0
  195. package/skills/aicut-motion/assets/atlas/styles/063-y2k-liquid-chrome/style.json +13 -0
  196. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/code.js +651 -0
  197. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/poster.jpg +0 -0
  198. package/skills/aicut-motion/assets/atlas/styles/064-sticky-note-wall/style.json +13 -0
  199. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/code.js +656 -0
  200. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/poster.jpg +0 -0
  201. package/skills/aicut-motion/assets/atlas/styles/065-vintage-newsprint/style.json +13 -0
  202. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/code.js +672 -0
  203. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/poster.jpg +0 -0
  204. package/skills/aicut-motion/assets/atlas/styles/066-hidden-line-wireframe/style.json +13 -0
  205. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/code.js +548 -0
  206. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/poster.jpg +0 -0
  207. package/skills/aicut-motion/assets/atlas/styles/067-memphis-group/style.json +13 -0
  208. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/code.js +989 -0
  209. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/poster.jpg +0 -0
  210. package/skills/aicut-motion/assets/atlas/styles/068-ballpoint-notebook/style.json +13 -0
  211. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/code.js +440 -0
  212. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/poster.jpg +0 -0
  213. package/skills/aicut-motion/assets/atlas/styles/069-op-art-sphere/style.json +13 -0
  214. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/code.js +895 -0
  215. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/poster.jpg +0 -0
  216. package/skills/aicut-motion/assets/atlas/styles/070-topographic-survey/style.json +13 -0
  217. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/code.js +563 -0
  218. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/poster.jpg +0 -0
  219. package/skills/aicut-motion/assets/atlas/styles/071-pointillist-afternoon/style.json +13 -0
  220. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/code.js +627 -0
  221. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/poster.jpg +0 -0
  222. package/skills/aicut-motion/assets/atlas/styles/072-vector-arcade-1980/style.json +13 -0
  223. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/code.js +1096 -0
  224. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/poster.jpg +0 -0
  225. package/skills/aicut-motion/assets/atlas/styles/073-patent-drawing/style.json +13 -0
  226. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/code.js +595 -0
  227. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/poster.jpg +0 -0
  228. package/skills/aicut-motion/assets/atlas/styles/074-bauhaus-poster/style.json +13 -0
  229. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/code.js +665 -0
  230. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/poster.jpg +0 -0
  231. package/skills/aicut-motion/assets/atlas/styles/075-bitmap-paint-doodle/style.json +13 -0
  232. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/code.js +645 -0
  233. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/poster.jpg +0 -0
  234. package/skills/aicut-motion/assets/atlas/styles/076-nail-thread-string-art/style.json +13 -0
  235. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/code.js +436 -0
  236. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/poster.jpg +0 -0
  237. package/skills/aicut-motion/assets/atlas/styles/077-ridgeline/style.json +13 -0
  238. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/code.js +1237 -0
  239. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/poster.jpg +0 -0
  240. package/skills/aicut-motion/assets/atlas/styles/078-sketchbook-graphite/style.json +13 -0
  241. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/code.js +622 -0
  242. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/poster.jpg +0 -0
  243. package/skills/aicut-motion/assets/atlas/styles/079-teletext-page/style.json +13 -0
  244. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/code.js +524 -0
  245. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/poster.jpg +0 -0
  246. package/skills/aicut-motion/assets/atlas/styles/080-silkscreen-grid/style.json +13 -0
  247. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/code.js +689 -0
  248. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/poster.jpg +0 -0
  249. package/skills/aicut-motion/assets/atlas/styles/081-guilloch-security-print/style.json +13 -0
  250. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/code.js +574 -0
  251. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/poster.jpg +0 -0
  252. package/skills/aicut-motion/assets/atlas/styles/082-ascii-demoscene/style.json +13 -0
  253. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/code.js +469 -0
  254. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/poster.jpg +0 -0
  255. package/skills/aicut-motion/assets/atlas/styles/083-international-typographic-style/style.json +13 -0
  256. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/code.js +531 -0
  257. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/poster.jpg +0 -0
  258. package/skills/aicut-motion/assets/atlas/styles/084-flow-field/style.json +13 -0
  259. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/code.js +675 -0
  260. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/poster.jpg +0 -0
  261. package/skills/aicut-motion/assets/atlas/styles/085-macpaint-1984/style.json +13 -0
  262. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/code.js +609 -0
  263. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/poster.jpg +0 -0
  264. package/skills/aicut-motion/assets/atlas/styles/086-multi-scale-truchet/style.json +13 -0
  265. package/skills/aicut-motion/references/motion-delivery.md +55 -0
  266. package/skills/aicut-motion/references/style-index.json +690 -0
  267. package/skills/aicut-motion/references/style-research.md +73 -0
  268. package/skills/aicut-motion/references/style-selection.md +71 -0
  269. package/skills/aicut-motion/scripts/atlas-viewer.html +195 -0
  270. package/skills/aicut-motion/scripts/atlas.mjs +109 -0
  271. package/studio/server/fetch-github.mjs +14 -3
  272. package/studio/server/server.mjs +40 -3
  273. package/studio/server/skill-summaries.mjs +60 -0
  274. package/studio/server/skills.mjs +121 -7
  275. package/studio/server/styles-store.mjs +235 -0
  276. package/studio/server/template-posters.mjs +2 -2
  277. package/studio/server/templates-page.mjs +93 -93
  278. package/studio/server/templates.mjs +32 -7
  279. package/studio/ui/dist/assets/ExportCenter-DasulhAv.js +1 -0
  280. package/studio/ui/dist/assets/SettingsModal-BZw0Hz2_.js +2 -0
  281. package/studio/ui/dist/assets/es-C8XPZARI.js +1 -0
  282. package/studio/ui/dist/assets/index-BjJVmBzB.js +1623 -0
  283. package/studio/ui/dist/assets/index-C3BfKZFO.css +1 -0
  284. package/studio/ui/dist/assets/ja-BeNkdaEj.js +1 -0
  285. package/studio/ui/dist/assets/ko-DcTVhdzK.js +1 -0
  286. package/studio/ui/dist/assets/zh-CN-Cg51ctbL.js +1 -0
  287. package/studio/ui/dist/index.html +2 -2
  288. package/skills/30x-web-to-video/SKILL.md +0 -421
  289. package/skills/30x-web-to-video/examples/INDEX.md +0 -26
  290. package/skills/30x-web-to-video/references/animations.md +0 -539
  291. package/skills/30x-web-to-video/references/audio.md +0 -256
  292. package/skills/30x-web-to-video/references/components.md +0 -340
  293. package/skills/30x-web-to-video/references/lottie.md +0 -174
  294. package/skills/30x-web-to-video/references/visual-effects.md +0 -157
  295. package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +0 -169
  296. package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +0 -134
  297. package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +0 -120
  298. package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +0 -154
  299. package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +0 -38
  300. package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +0 -152
  301. package/skills/3d-asset-generation/SKILL.md +0 -142
  302. package/skills/action-fight-prompt/SKILL.md +0 -136
  303. package/skills/action-fight-prompt/references/camera-and-impact.md +0 -64
  304. package/skills/action-fight-prompt/references/example-15s-duel.md +0 -59
  305. package/skills/action-fight-prompt/references/scene-patterns.md +0 -80
  306. package/skills/ad-creative-video/SKILL.md +0 -205
  307. package/skills/ad-creative-video/references/batch-ad-pipeline.md +0 -289
  308. package/skills/ad-creative-video/references/platform-specs.md +0 -72
  309. package/skills/after-effects/SKILL.md +0 -123
  310. package/skills/after-effects/references/export-recipes.md +0 -168
  311. package/skills/after-effects/references/expression-library.md +0 -184
  312. package/skills/after-effects/references/expressions.md +0 -134
  313. package/skills/after-effects/references/performance-triage.md +0 -138
  314. package/skills/after-effects/references/project-hygiene.md +0 -188
  315. package/skills/ai-media-quality-review/SKILL.md +0 -72
  316. package/skills/ai-product-video/SKILL.md +0 -296
  317. package/skills/ai-product-video/references/aesthetic-rules.md +0 -177
  318. package/skills/ai-product-video/references/final-review.md +0 -110
  319. package/skills/ai-product-video/references/guided-free-creation.md +0 -194
  320. package/skills/ai-product-video/references/music-beat-sync.md +0 -219
  321. package/skills/ai-product-video/references/pipeline.md +0 -392
  322. package/skills/ai-product-video/references/sequences/promo-energy-arc.md +0 -50
  323. package/skills/ai-product-video/references/shots/ATTRIBUTION.md +0 -65
  324. package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +0 -37
  325. package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +0 -39
  326. package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +0 -38
  327. package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +0 -40
  328. package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +0 -57
  329. package/skills/anidoodle/SKILL.md +0 -185
  330. package/skills/anidoodle/references/anatomy.md +0 -91
  331. package/skills/anidoodle/references/backends-and-adapters.md +0 -82
  332. package/skills/anidoodle/references/camera.md +0 -148
  333. package/skills/anidoodle/references/craft-bar.md +0 -72
  334. package/skills/anidoodle/references/determinism-and-contract.md +0 -46
  335. package/skills/anidoodle/references/formats.md +0 -121
  336. package/skills/anidoodle/references/motion-grammar.md +0 -234
  337. package/skills/anidoodle/references/music/compose.md +0 -388
  338. package/skills/anidoodle/references/music/sound-design.md +0 -245
  339. package/skills/anidoodle/references/music/sounds-licenses.md +0 -69
  340. package/skills/anidoodle/references/music/styles/lofi-electronic.md +0 -112
  341. package/skills/anidoodle/references/music/styles/music-box.md +0 -57
  342. package/skills/animated-component-libraries/SKILL.md +0 -820
  343. package/skills/animated-component-libraries/references/customization_guide.md +0 -699
  344. package/skills/animated-component-libraries/references/magic_ui_components.md +0 -422
  345. package/skills/animated-component-libraries/references/react_bits_components.md +0 -587
  346. package/skills/animated-infographic/SKILL.md +0 -211
  347. package/skills/animated-infographic/references/sequenced-infographic.md +0 -286
  348. package/skills/appshot-core/SKILL.md +0 -872
  349. package/skills/article-highlights/SKILL.md +0 -151
  350. package/skills/avatar-mix/SKILL.md +0 -301
  351. package/skills/bang-motion/SKILL.md +0 -583
  352. package/skills/bang-motion/references/ae-bridge-higgsfield.md +0 -160
  353. package/skills/bang-motion/references/anti-ppt.md +0 -110
  354. package/skills/bang-motion/references/architecture.md +0 -188
  355. package/skills/bang-motion/references/explainer.md +0 -579
  356. package/skills/bang-motion/references/kartun-panggung.md +0 -221
  357. package/skills/bang-motion/references/opener-konsep.md +0 -817
  358. package/skills/bang-motion/references/roadmap.md +0 -85
  359. package/skills/bang-motion/references/techniques.md +0 -690
  360. package/skills/beat-sync-edit/SKILL.md +0 -148
  361. package/skills/book-video-factory/SKILL.md +0 -139
  362. package/skills/book-video-factory/references/first-run.md +0 -50
  363. package/skills/book-video-factory/references/paper-collage-explainer.md +0 -127
  364. package/skills/book-video-factory/references/quality-gates.md +0 -87
  365. package/skills/book-video-production/SKILL.md +0 -211
  366. package/skills/brag/SKILL.md +0 -195
  367. package/skills/brag/references/audio.md +0 -312
  368. package/skills/brag/references/step-1-inspect.md +0 -125
  369. package/skills/brag/references/step-2-plan.md +0 -234
  370. package/skills/brag/references/step-3-compose.md +0 -199
  371. package/skills/brag/references/step-4-deliver.md +0 -141
  372. package/skills/brag/references/tones.md +0 -231
  373. package/skills/brand-setup/SKILL.md +0 -228
  374. package/skills/brewreel/SKILL.md +0 -491
  375. package/skills/brewreel/docs/broll.en.md +0 -252
  376. package/skills/brewreel/docs/broll.md +0 -252
  377. package/skills/brewreel/docs/custom-shot.en.md +0 -66
  378. package/skills/brewreel/docs/custom-shot.md +0 -103
  379. package/skills/brewreel/docs/faq.en.md +0 -90
  380. package/skills/brewreel/docs/faq.md +0 -90
  381. package/skills/brewreel/docs/features.en.md +0 -157
  382. package/skills/brewreel/docs/features.md +0 -157
  383. package/skills/brewreel/docs/gallery.en.md +0 -44
  384. package/skills/brewreel/docs/gallery.md +0 -44
  385. package/skills/brewreel/docs/how-it-works.en.md +0 -64
  386. package/skills/brewreel/docs/how-it-works.md +0 -64
  387. package/skills/caption-animation/SKILL.md +0 -216
  388. package/skills/caption-animation/references/word-timed-captions.md +0 -254
  389. package/skills/cartcut-editing/SKILL.md +0 -615
  390. package/skills/cartcut-editing/references/html-typography.md +0 -277
  391. package/skills/cassette-video-edit/SKILL.md +0 -129
  392. package/skills/ccvideo/SKILL.md +0 -264
  393. package/skills/chekhov-dramaturgy/SKILL.md +0 -367
  394. package/skills/chekhov-dramaturgy/reference.md +0 -375
  395. package/skills/chengfeng-check-updates/SKILL.md +0 -283
  396. package/skills/cinematic-product-promo-skill/SKILL.md +0 -295
  397. package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +0 -187
  398. package/skills/cinematic-product-promo-skill/references/final-review.md +0 -116
  399. package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +0 -199
  400. package/skills/cinematic-product-promo-skill/references/jianying-export.md +0 -183
  401. package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +0 -257
  402. package/skills/cinematic-product-promo-skill/references/pipeline.md +0 -393
  403. package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +0 -50
  404. package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +0 -65
  405. package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +0 -37
  406. package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +0 -39
  407. package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +0 -38
  408. package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +0 -40
  409. package/skills/claude-gif/SKILL.md +0 -211
  410. package/skills/claude-gif/references/gif-optimization.md +0 -209
  411. package/skills/claude-gif/references/perfect-loops.md +0 -295
  412. package/skills/claude-gif/references/platform-specs.md +0 -138
  413. package/skills/claude-gif/references/prompt-engineering.md +0 -211
  414. package/skills/claude-gif/references/remotion-gif.md +0 -560
  415. package/skills/codex-video-pipeline/SKILL.md +0 -213
  416. package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +0 -10
  417. package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +0 -22
  418. package/skills/codex-video-pipeline/references/captions.md +0 -39
  419. package/skills/codex-video-pipeline/references/cover-system.md +0 -72
  420. package/skills/codex-video-pipeline/references/cross-platform.md +0 -77
  421. package/skills/codex-video-pipeline/references/example-run.md +0 -54
  422. package/skills/codex-video-pipeline/references/first-run.md +0 -130
  423. package/skills/codex-video-pipeline/references/project-contract.md +0 -54
  424. package/skills/codex-video-pipeline/references/quality-gates.md +0 -44
  425. package/skills/codex-video-pipeline/references/research-and-script.md +0 -50
  426. package/skills/collage-broll-explainers/SKILL.md +0 -429
  427. package/skills/create-onboarding-video/SKILL.md +0 -233
  428. package/skills/cs-shotcraft-skill/SKILL.md +0 -218
  429. package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +0 -207
  430. package/skills/cs-shotcraft-skill/references/camera-table.md +0 -88
  431. package/skills/cs-shotcraft-skill/references/engineering.md +0 -132
  432. package/skills/cs-shotcraft-skill/references/final-review.md +0 -118
  433. package/skills/cs-shotcraft-skill/references/guided-free-creation.md +0 -199
  434. package/skills/cs-shotcraft-skill/references/jianying-export.md +0 -183
  435. package/skills/cs-shotcraft-skill/references/music-beat-sync.md +0 -257
  436. package/skills/cs-shotcraft-skill/references/pipeline.md +0 -408
  437. package/skills/cs-shotcraft-skill/references/product-machine.md +0 -56
  438. package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +0 -50
  439. package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +0 -65
  440. package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +0 -37
  441. package/skills/cut-video/SKILL.md +0 -387
  442. package/skills/cyxj-hyperframes-overlay/SKILL.md +0 -75
  443. package/skills/cyxj-remotion-evolve/SKILL.md +0 -123
  444. package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +0 -123
  445. package/skills/demo-video-creation-skill/SKILL.md +0 -152
  446. package/skills/demo-video-creation-skill/references/capture-workflow.md +0 -74
  447. package/skills/demo-video-creation-skill/references/qc-checklist.md +0 -61
  448. package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +0 -94
  449. package/skills/demo-video-creation-skill/references/storytelling.md +0 -86
  450. package/skills/demo-video-creation-skill/references/visual-system.md +0 -83
  451. package/skills/demoday/SKILL.md +0 -148
  452. package/skills/develop-premiere-pro-mcp/SKILL.md +0 -131
  453. package/skills/diagram-animation/SKILL.md +0 -200
  454. package/skills/diagram-animation/references/diagram-and-chart-recipes.md +0 -218
  455. package/skills/diagram-tour/SKILL.md +0 -287
  456. package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +0 -78
  457. package/skills/docvideoer/SKILL.md +0 -139
  458. package/skills/draftcut/SKILL.md +0 -104
  459. package/skills/draftcut/docs/agent-bootstrap.md +0 -64
  460. package/skills/draftcut/docs/approvals.md +0 -45
  461. package/skills/draftcut/docs/audio-first-migration.md +0 -35
  462. package/skills/draftcut/docs/configuration.md +0 -54
  463. package/skills/draftcut/docs/getting-started.md +0 -63
  464. package/skills/draftcut/docs/harness-case-study.en.md +0 -23
  465. package/skills/draftcut/docs/harness-case-study.md +0 -47
  466. package/skills/draftcut/references/01-plan.md +0 -30
  467. package/skills/draftcut/references/03-deliver.md +0 -26
  468. package/skills/draftcut/references/04-reference-theme-prompt.md +0 -7
  469. package/skills/draftcut/references/05-social-loudness.md +0 -58
  470. package/skills/draftcut/references/06-modern-components.md +0 -72
  471. package/skills/easyedit/SKILL.md +0 -66
  472. package/skills/erduo-broll-loop-engineering/SKILL.md +0 -136
  473. package/skills/erduo-broll-loop-engineering/references/animation-craft.md +0 -208
  474. package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +0 -107
  475. package/skills/erduo-broll-loop-engineering/references/handoff-template.md +0 -70
  476. package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +0 -122
  477. package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +0 -171
  478. package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +0 -322
  479. package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +0 -334
  480. package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +0 -76
  481. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +0 -174
  482. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +0 -135
  483. package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +0 -7
  484. package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +0 -65
  485. package/skills/explainer-assets/SKILL.md +0 -98
  486. package/skills/explainer-video/SKILL.md +0 -146
  487. package/skills/framewright/SKILL.md +0 -324
  488. package/skills/framewright/references/audio.md +0 -230
  489. package/skills/framewright/references/guide.md +0 -276
  490. package/skills/framewright/references/painting.md +0 -425
  491. package/skills/framewright/references/photo.md +0 -75
  492. package/skills/framewright/references/questionnaire.md +0 -115
  493. package/skills/framewright/references/styles.md +0 -388
  494. package/skills/framewright/references/troubleshooting.md +0 -119
  495. package/skills/framewright/references/world.md +0 -215
  496. package/skills/gbro-collage-broll/SKILL.md +0 -435
  497. package/skills/gbro-collage-info/SKILL.md +0 -135
  498. package/skills/gbro-collage-info/references/motion-grammar.md +0 -66
  499. package/skills/gbro-collage-info/references/production.md +0 -67
  500. package/skills/gbro-collage-info/references/style-system.md +0 -38
  501. package/skills/gemini-tts/SKILL.md +0 -208
  502. package/skills/gemini-tts/references/prompting-guide.md +0 -169
  503. package/skills/gen/SKILL.md +0 -282
  504. package/skills/ghost-editor/SKILL.md +0 -437
  505. package/skills/ghost-editor/docs/HOW-IT-WORKS.md +0 -82
  506. package/skills/ghost-editor/docs/PLAYBOOK.md +0 -139
  507. package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +0 -17
  508. package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +0 -13
  509. package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +0 -20
  510. package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +0 -17
  511. package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +0 -22
  512. package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +0 -22
  513. package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +0 -20
  514. package/skills/ghost-editor/docs/THIRD_PARTY/models.md +0 -11
  515. package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +0 -13
  516. package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +0 -15
  517. package/skills/git-story-film/SKILL.md +0 -220
  518. package/skills/git-story-film/examples/raven-story/FONTS.md +0 -8
  519. package/skills/git-story-film/examples/raven-story/OUTLINE.md +0 -93
  520. package/skills/git-story-film/references/craft.md +0 -148
  521. package/skills/git-story-film/references/directing.md +0 -185
  522. package/skills/git-story-film/references/forms.md +0 -150
  523. package/skills/git-story-film/references/production.md +0 -150
  524. package/skills/git-story-film/references/story.md +0 -137
  525. package/skills/git-story-film/references/text-and-fonts.md +0 -90
  526. package/skills/guizang-product-video-skill/SKILL.md +0 -96
  527. package/skills/guizang-product-video-skill/references/audio-and-qa.md +0 -113
  528. package/skills/guizang-product-video-skill/references/audio-sourcing.md +0 -80
  529. package/skills/guizang-product-video-skill/references/case-study.md +0 -63
  530. package/skills/guizang-product-video-skill/references/component-pipeline.md +0 -86
  531. package/skills/guizang-product-video-skill/references/cover.md +0 -43
  532. package/skills/guizang-product-video-skill/references/direction.md +0 -91
  533. package/skills/guizang-product-video-skill/references/onboarding.md +0 -98
  534. package/skills/guizang-product-video-skill/references/repo-and-style.md +0 -44
  535. package/skills/guizang-product-video-skill/references/review.md +0 -38
  536. package/skills/guizang-product-video-skill/references/starter.md +0 -168
  537. package/skills/guizang-product-video-skill/references/story-and-copy.md +0 -88
  538. package/skills/guizang-product-video-skill/references/visual-vocabulary.md +0 -78
  539. package/skills/guofeng-paper-video/SKILL.md +0 -159
  540. package/skills/guofeng-paper-video/style/design.md +0 -43
  541. package/skills/guofeng-paper-video/style/palette.md +0 -21
  542. package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +0 -19
  543. package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +0 -37
  544. package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +0 -27
  545. 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 +0 -67
  546. 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 +0 -29
  547. package/skills/hand-drawn-explainer-video-nikola/SKILL.md +0 -113
  548. package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +0 -18
  549. package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +0 -22
  550. package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +0 -28
  551. package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +0 -35
  552. package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +0 -24
  553. package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +0 -67
  554. package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +0 -79
  555. package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +0 -49
  556. package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +0 -82
  557. package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +0 -39
  558. package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +0 -30
  559. package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +0 -37
  560. package/skills/hbg-life-simulation/SKILL.md +0 -285
  561. package/skills/hbg-life-simulation/references/image-generation.md +0 -53
  562. package/skills/hbg-life-simulation/references/local-account-api.md +0 -112
  563. package/skills/hbg-life-simulation/references/opening-system.md +0 -45
  564. package/skills/hbg-life-simulation/references/project-spec.md +0 -62
  565. package/skills/hbg-life-simulation/references/render-and-qa.md +0 -107
  566. package/skills/hbg-life-simulation/references/storyboarding.md +0 -69
  567. package/skills/hbg-life-simulation/references/style-system.md +0 -80
  568. package/skills/hbg-life-simulation/references/visual-system.md +0 -44
  569. package/skills/heygen-avatar/SKILL.md +0 -489
  570. package/skills/heygen-avatar/references/asset-routing.md +0 -86
  571. package/skills/heygen-avatar/references/avatar-creation.md +0 -181
  572. package/skills/heygen-avatar/references/troubleshooting.md +0 -137
  573. package/skills/heytea-doodle-poster/SKILL.md +0 -132
  574. package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +0 -103
  575. package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +0 -122
  576. package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +0 -106
  577. package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +0 -264
  578. package/skills/heytea-doodle-poster/references/evaluation.md +0 -246
  579. package/skills/heytea-doodle-poster/references/lettering-guide.md +0 -213
  580. package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +0 -101
  581. package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +0 -56
  582. package/skills/heytea-doodle-poster/references/style-guide.md +0 -412
  583. package/skills/heytea-doodle-poster-hosted/SKILL.md +0 -132
  584. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +0 -103
  585. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +0 -122
  586. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +0 -106
  587. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +0 -264
  588. package/skills/heytea-doodle-poster-hosted/references/evaluation.md +0 -246
  589. package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +0 -213
  590. package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +0 -101
  591. package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +0 -56
  592. package/skills/heytea-doodle-poster-hosted/references/style-guide.md +0 -412
  593. package/skills/html2video/SKILL.md +0 -290
  594. package/skills/html2video/references/cjk-type.md +0 -173
  595. package/skills/html2video/references/editorial.md +0 -145
  596. package/skills/html2video/references/narration.md +0 -111
  597. package/skills/html2video/references/pitfalls.md +0 -238
  598. package/skills/html2video/references/shots.md +0 -198
  599. package/skills/html2video/references/storyboard.md +0 -323
  600. package/skills/hyperdirector/SKILL.md +0 -202
  601. package/skills/hyperdirector/docs/audio-workflow.md +0 -160
  602. package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +0 -244
  603. package/skills/hyperdirector/docs/brand-kit-setup.md +0 -322
  604. package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +0 -277
  605. package/skills/hyperdirector/docs/cursor-development-notes.md +0 -474
  606. package/skills/hyperdirector/docs/faq.md +0 -285
  607. package/skills/hyperdirector/docs/faq.zh-CN.md +0 -198
  608. package/skills/hyperdirector/docs/first-video.md +0 -320
  609. package/skills/hyperdirector/docs/first-video.zh-CN.md +0 -265
  610. package/skills/hyperdirector/docs/installation.md +0 -254
  611. package/skills/hyperdirector/docs/installation.zh-CN.md +0 -222
  612. package/skills/hyperdirector/docs/quickstart.md +0 -203
  613. package/skills/hyperframes/SKILL.md +0 -117
  614. package/skills/hyperframes/references/captions.md +0 -46
  615. package/skills/hyperframes/references/film.md +0 -48
  616. package/skills/hyperframes/references/format.md +0 -158
  617. package/skills/hyperframes/references/look.md +0 -69
  618. package/skills/hyperframes/references/motion.md +0 -95
  619. package/skills/hyperframes/references/overlays.md +0 -39
  620. package/skills/hyperframes/references/review.md +0 -51
  621. package/skills/hyperframes/references/runtimes.md +0 -69
  622. package/skills/hyperframes/references/skill-lifecycle.md +0 -49
  623. package/skills/hyperframes/references/sound.md +0 -43
  624. package/skills/hyperframes/references/spec.md +0 -76
  625. package/skills/hyperframes/references/story.md +0 -103
  626. package/skills/hyperframes-motion-director/SKILL.md +0 -920
  627. package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +0 -185
  628. package/skills/hyperframes-motion-director/references/audio-sync.md +0 -83
  629. package/skills/hyperframes-motion-director/references/design-engineering.md +0 -156
  630. package/skills/hyperframes-motion-director/references/gsap-choreography.md +0 -202
  631. package/skills/hyperframes-motion-director/references/hyperframes-stability.md +0 -99
  632. package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +0 -227
  633. package/skills/hyperframes-motion-director/references/motion-background-system.md +0 -165
  634. package/skills/hyperframes-motion-director/references/motion-craft.md +0 -182
  635. package/skills/hyperframes-motion-director/references/premium-product-promo.md +0 -287
  636. package/skills/hyperframes-motion-director/references/text-over-background-layout.md +0 -221
  637. package/skills/hyperframes-motion-director/references/visual-standard.md +0 -174
  638. package/skills/hyperframes-motion-director/references/workflow.md +0 -320
  639. package/skills/hypit/SKILL.md +0 -367
  640. package/skills/hypit/references/creation/brief.md +0 -93
  641. package/skills/hypit/references/creation/script-and-time.md +0 -259
  642. package/skills/hypit/references/creation/transformations.md +0 -143
  643. package/skills/hypit/references/playbooks/craft/b-roll.md +0 -94
  644. package/skills/hypit/references/playbooks/craft/caption-tracking.md +0 -126
  645. package/skills/hypit/references/playbooks/craft/captions.md +0 -253
  646. package/skills/hypit/references/playbooks/craft/generated-dependencies.md +0 -38
  647. package/skills/hypit/references/playbooks/craft/graphic-compositions.md +0 -85
  648. package/skills/hypit/references/playbooks/craft/motion-graphics.md +0 -68
  649. package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +0 -51
  650. package/skills/hypit/references/playbooks/craft/sound-mix.md +0 -70
  651. package/skills/hypit/references/playbooks/formats/narration-led-demo.md +0 -87
  652. package/skills/image/SKILL.md +0 -153
  653. package/skills/image/references/characters.md +0 -86
  654. package/skills/image/references/creative-direction.md +0 -137
  655. package/skills/image/references/de-slop.md +0 -95
  656. package/skills/image/references/dimensional.md +0 -88
  657. package/skills/image/references/editing.md +0 -112
  658. package/skills/image/references/golden-rules.md +0 -198
  659. package/skills/image/references/gpt-image.md +0 -228
  660. package/skills/image/references/models.md +0 -78
  661. package/skills/image/references/multi-panel.md +0 -354
  662. package/skills/image/references/nano-banana.md +0 -150
  663. package/skills/image/references/patterns/character-design.md +0 -150
  664. package/skills/image/references/patterns/ecommerce.md +0 -124
  665. package/skills/image-smixs/SKILL.md +0 -153
  666. package/skills/image-smixs/references/characters.md +0 -86
  667. package/skills/image-smixs/references/creative-direction.md +0 -137
  668. package/skills/image-smixs/references/de-slop.md +0 -95
  669. package/skills/image-smixs/references/dimensional.md +0 -88
  670. package/skills/image-smixs/references/editing.md +0 -112
  671. package/skills/image-smixs/references/golden-rules.md +0 -198
  672. package/skills/image-smixs/references/gpt-image.md +0 -228
  673. package/skills/image-smixs/references/models.md +0 -78
  674. package/skills/image-smixs/references/multi-panel.md +0 -354
  675. package/skills/image-smixs/references/nano-banana.md +0 -150
  676. package/skills/image-smixs/references/patterns/character-design.md +0 -150
  677. package/skills/image-smixs/references/patterns/ecommerce.md +0 -124
  678. package/skills/image-story-video-wizard/SKILL.md +0 -148
  679. package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +0 -29
  680. package/skills/image-story-video-wizard/references/host-routing.md +0 -44
  681. package/skills/image-story-video-wizard/references/state-schema.md +0 -79
  682. package/skills/image-story-video-wizard/references/workflow.md +0 -203
  683. package/skills/image-story-video-wizard/references/writing-and-review.md +0 -60
  684. package/skills/ip-as-logo/SKILL.md +0 -151
  685. package/skills/ip-as-logo-s1dashu/SKILL.md +0 -151
  686. package/skills/jtxvideo-skill/SKILL.md +0 -337
  687. package/skills/kinetic-reel/SKILL.md +0 -140
  688. package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +0 -51
  689. package/skills/kinetic-reel/references/sound.md +0 -40
  690. package/skills/kinetic-reel/references/style-guide.md +0 -79
  691. package/skills/knowledge-explainer-skill/SKILL.md +0 -149
  692. package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +0 -61
  693. package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +0 -20
  694. package/skills/knowledge-explainer-skill/examples/before_after_demo.md +0 -38
  695. package/skills/knowledge-explainer-skill/examples/cta_outro.md +0 -11
  696. package/skills/knowledge-explainer-skill/examples/double_pendulum.md +0 -20
  697. package/skills/knowledge-explainer-skill/examples/paper_fold.md +0 -20
  698. package/skills/knowledge-explainer-skill/examples/script.md +0 -40
  699. package/skills/lanshu-create-ai-presenter-video/SKILL.md +0 -253
  700. package/skills/lanshu-create-ai-presenter-video/references/editing.md +0 -67
  701. package/skills/lanshu-create-ai-presenter-video/references/generation.md +0 -94
  702. package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +0 -83
  703. package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +0 -189
  704. package/skills/laoxu-video-script/SKILL.md +0 -117
  705. package/skills/laoxu-video-script/references/cases.md +0 -305
  706. package/skills/laoxu-video-script/references/de-ai.md +0 -32
  707. package/skills/laoxu-video-script/references/diagnostics.md +0 -67
  708. package/skills/laoxu-video-script/references/format.md +0 -62
  709. package/skills/laoxu-video-script/references/formulas.md +0 -43
  710. package/skills/laoxu-video-script/references/method.md +0 -115
  711. package/skills/laoxu-video-script/references/motifs-and-lines.md +0 -829
  712. package/skills/laoxu-video-script/references/persona.md +0 -38
  713. package/skills/laoxu-video-script/references/qihao-path.md +0 -35
  714. package/skills/laoxu-video-script/references/qihao-xinfa.md +0 -39
  715. package/skills/laoxu-video-script/references/redlines.md +0 -26
  716. package/skills/lemo-opuscar/SKILL.md +0 -67
  717. package/skills/lipnardo/SKILL.md +0 -308
  718. package/skills/lipnardo/examples/batch-personalized.md +0 -44
  719. package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +0 -56
  720. package/skills/lipnardo/examples/single-video.md +0 -44
  721. package/skills/lipnardo/references/avatar-types.md +0 -42
  722. package/skills/lipnardo/references/credit-costs.md +0 -39
  723. package/skills/lipnardo/references/error-codes.md +0 -66
  724. package/skills/lipnardo/references/heygen-api-reference.md +0 -416
  725. package/skills/ll-video-decomposer/SKILL.md +0 -105
  726. package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +0 -44
  727. package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +0 -41
  728. package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +0 -48
  729. package/skills/ll-video-decomposer/references/single-video-report-template.md +0 -47
  730. package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +0 -30
  731. package/skills/ll-video-decomposer/references/transcription-routing.md +0 -65
  732. package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +0 -30
  733. package/skills/ltx2-video/SKILL.md +0 -193
  734. package/skills/ltx2-video/references/mode_ux.md +0 -293
  735. package/skills/make-ai-short/SKILL.md +0 -130
  736. package/skills/make-blender-education-video/SKILL.md +0 -247
  737. package/skills/make-blender-education-video/references/evidence-and-explanation.md +0 -62
  738. package/skills/make-blender-education-video/references/github-workflow-discovery.md +0 -55
  739. package/skills/make-blender-education-video/references/production-workflow.md +0 -62
  740. package/skills/make-blender-education-video/references/story-patterns.md +0 -65
  741. package/skills/make-blender-education-video/references/visual-quality.md +0 -82
  742. package/skills/manage-storyboard-projects/SKILL.md +0 -128
  743. package/skills/manim-composer/SKILL.md +0 -176
  744. package/skills/manim-composer/references/narrative-patterns.md +0 -125
  745. package/skills/manim-composer/references/scene-examples.md +0 -216
  746. package/skills/manim-composer/references/visual-techniques.md +0 -223
  747. package/skills/manim-composer/templates/scenes-template.md +0 -147
  748. package/skills/monet-ai-editor-monet/SKILL.md +0 -367
  749. package/skills/motion-graphics/SKILL.md +0 -206
  750. package/skills/motion-graphics/references/craft.md +0 -136
  751. package/skills/motion-graphics/references/engine.md +0 -130
  752. package/skills/motion-graphics/references/export.md +0 -67
  753. package/skills/motion-graphics/references/physics.md +0 -100
  754. package/skills/motion-graphics/references/verify.md +0 -124
  755. package/skills/motion-video/SKILL.md +0 -133
  756. package/skills/motion-video/references/audio-and-beat-sync.md +0 -109
  757. package/skills/motion-video/references/composition-contract.md +0 -107
  758. package/skills/motion-video/references/production-pipeline.md +0 -147
  759. package/skills/motion-video/references/style-comic-spiderverse.md +0 -87
  760. package/skills/motion-video/references/style-glass-keynote.md +0 -69
  761. package/skills/motion-video-maker/SKILL.md +0 -1452
  762. package/skills/motion-video-maker/reference/components.md +0 -451
  763. package/skills/motion-video-maker/reference/workflow.md +0 -190
  764. package/skills/motioncraft/SKILL.md +0 -221
  765. package/skills/motioncraft/references/animation-system.md +0 -57
  766. package/skills/motioncraft/references/assets-and-licensing.md +0 -21
  767. package/skills/motioncraft/references/customization.md +0 -52
  768. package/skills/motioncraft/references/gpu-cloud-render.md +0 -15
  769. package/skills/motioncraft/references/music.md +0 -43
  770. package/skills/motioncraft/references/phase1-planning-and-preview.md +0 -74
  771. package/skills/motioncraft/references/phase2-timeline-audio.md +0 -33
  772. package/skills/motioncraft/references/phase3-pixel-review.md +0 -13
  773. package/skills/motioncraft/references/phase4-templates.md +0 -30
  774. package/skills/motioncraft/references/preflight.md +0 -27
  775. package/skills/motioncraft/references/qa.md +0 -53
  776. package/skills/motioncraft/references/reference-analysis.md +0 -37
  777. package/skills/narrator-ai-cli/SKILL.md +0 -256
  778. package/skills/narrator-ai-cli/references/magic-video.md +0 -205
  779. package/skills/narrator-ai-cli/references/operations.md +0 -230
  780. package/skills/narrator-ai-cli/references/resources.md +0 -126
  781. package/skills/narrator-ai-cli/references/workflows.md +0 -332
  782. package/skills/newcut-video-clipping/SKILL.md +0 -194
  783. package/skills/newcut-video-clipping/references/examples.md +0 -59
  784. package/skills/newcut-video-clipping/references/provider-config.md +0 -110
  785. package/skills/newcut-video-clipping/references/quality-check.md +0 -35
  786. package/skills/newcut-video-clipping/references/semantic-plan.md +0 -65
  787. package/skills/notes-to-video/SKILL.md +0 -476
  788. package/skills/openchatcut/SKILL.md +0 -100
  789. package/skills/openchatcut/references/editing-workflow.md +0 -54
  790. package/skills/openchatcut/references/getting-started.md +0 -106
  791. package/skills/openchatcut/references/known-errors.md +0 -62
  792. package/skills/openstoryline-install/SKILL.md +0 -228
  793. package/skills/orca-motion/SKILL.md +0 -100
  794. package/skills/orca-motion/references/api.md +0 -100
  795. package/skills/orca-motion/references/integration.md +0 -59
  796. package/skills/orca-motion/references/kinetic-type.md +0 -59
  797. package/skills/orca-motion/references/principles.md +0 -76
  798. package/skills/package-talking-head-video/SKILL.md +0 -90
  799. package/skills/package-talking-head-video/docs/EXAMPLES.md +0 -18
  800. package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +0 -29
  801. package/skills/package-talking-head-video/docs/USAGE.md +0 -83
  802. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +0 -144
  803. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +0 -1099
  804. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +0 -154
  805. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +0 -365
  806. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +0 -56
  807. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +0 -8
  808. package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +0 -34
  809. package/skills/package-talking-head-video/references/director-rules.md +0 -29
  810. package/skills/package-talking-head-video/references/motion-and-illustration.md +0 -25
  811. package/skills/paper-cut/SKILL.md +0 -164
  812. package/skills/paper-cut/references/asset-spec.md +0 -47
  813. package/skills/paper-cut/references/audio-and-chatcut.md +0 -26
  814. package/skills/paper-cut/references/hyperframes-assembly.md +0 -47
  815. package/skills/paper-cut/references/image-led-production.md +0 -65
  816. package/skills/paper-cut/references/storyboard-schema.md +0 -48
  817. package/skills/paper-cut/references/workflow.md +0 -39
  818. package/skills/personal-ip-brand-intro/SKILL.md +0 -216
  819. package/skills/personal-ip-brand-intro/references/intake-schema.md +0 -79
  820. package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +0 -40
  821. package/skills/personal-ip-brand-intro/references/originality-rules.md +0 -42
  822. package/skills/personal-ip-brand-intro/references/qa-checklist.md +0 -60
  823. package/skills/personal-ip-brand-intro/references/rhythm-routing.md +0 -41
  824. package/skills/personal-ip-brand-intro/references/storyboard-contract.md +0 -42
  825. package/skills/pixel2motion/SKILL.md +0 -279
  826. package/skills/pixel2motion/references/html-delivery-template.md +0 -42
  827. package/skills/pixel2motion/references/motion-personality.md +0 -109
  828. package/skills/pixel2motion/references/reveal-patterns.md +0 -163
  829. package/skills/pixel2motion/references/ribbon-fitting.md +0 -90
  830. package/skills/pixel2motion/references/twelve-principles-for-logos.md +0 -116
  831. package/skills/premiere-batch-delivery/SKILL.md +0 -71
  832. package/skills/premiere-pro-mcp/SKILL.md +0 -161
  833. package/skills/promo-creator-skills/SKILL.md +0 -209
  834. package/skills/promo-creator-skills/references/mureka_prompt_guide.md +0 -251
  835. package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +0 -100
  836. package/skills/promo-video/SKILL.md +0 -408
  837. package/skills/qisi-video-remix/SKILL.md +0 -134
  838. package/skills/qisi-video-remix/examples/creative-plan.md +0 -133
  839. package/skills/qisi-video-remix/references/delivery-guide.md +0 -63
  840. package/skills/reel-video/SKILL.md +0 -237
  841. package/skills/remotion-ad-video/SKILL.md +0 -252
  842. package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +0 -60
  843. package/skills/remotion-ad-video/references/ad-brief-contract.md +0 -235
  844. package/skills/remotion-ad-video/references/ad-exemplars.md +0 -186
  845. package/skills/remotion-ad-video/references/ad-intake.md +0 -54
  846. package/skills/remotion-ad-video/references/asset-harvest.md +0 -56
  847. package/skills/remotion-ad-video/references/audio-caption-system.md +0 -202
  848. package/skills/remotion-ad-video/references/concept-contract.md +0 -128
  849. package/skills/remotion-ad-video/references/creative-direction.md +0 -146
  850. package/skills/remotion-ad-video/references/fast-test-workflow.md +0 -86
  851. package/skills/remotion-ad-video/references/game-ad-patterns.md +0 -75
  852. package/skills/remotion-ad-video/references/hyperframes-output.md +0 -90
  853. package/skills/remotion-ad-video/references/industry-angle-library.md +0 -71
  854. package/skills/remotion-ads/SKILL.md +0 -278
  855. package/skills/remotion-ads/references/ad-copywriting.md +0 -229
  856. package/skills/remotion-ads/references/animations.md +0 -693
  857. package/skills/remotion-ads/references/brand-config-template.md +0 -355
  858. package/skills/remotion-ads/references/captions.md +0 -529
  859. package/skills/remotion-ads/references/carousels.md +0 -580
  860. package/skills/remotion-ads/references/components.md +0 -897
  861. package/skills/remotion-ads/references/copy-frameworks.md +0 -144
  862. package/skills/remotion-ads/references/formats.md +0 -436
  863. package/skills/remotion-ads/references/gemini-tts.md +0 -473
  864. package/skills/remotion-ads/references/html-in-canvas.md +0 -555
  865. package/skills/remotion-ads/references/local-assets.md +0 -543
  866. package/skills/remotion-ads/references/music.md +0 -656
  867. package/skills/remotion-code-motion-explainer/SKILL.md +0 -178
  868. package/skills/remotion-code-motion-explainer/references/code-motion-design.md +0 -86
  869. package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +0 -93
  870. package/skills/remotion-code-motion-explainer/references/production-and-qc.md +0 -99
  871. package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +0 -48
  872. package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +0 -62
  873. package/skills/remotion-motion-graphics/SKILL.md +0 -169
  874. package/skills/remotion-motion-graphics/references/patterns.md +0 -355
  875. package/skills/remotion-motion-graphics/references/polish.md +0 -102
  876. package/skills/remotion-motion-graphics/references/scaffold.md +0 -144
  877. package/skills/remotion-motion-graphics/references/traps.md +0 -152
  878. package/skills/remotion-resemble-ai/SKILL.md +0 -879
  879. package/skills/remotion-resemble-ai/rules/resemble-captions.md +0 -350
  880. package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +0 -305
  881. package/skills/remotion-resemble-ai/rules/resemble-setup.md +0 -284
  882. package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +0 -225
  883. package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +0 -239
  884. package/skills/remotion-resemble-ai/rules/resemble-voices.md +0 -213
  885. package/skills/remotion-resemble-ai/rules/visual-animations.md +0 -567
  886. package/skills/riffkit/SKILL.md +0 -196
  887. package/skills/riffkit/examples/any-look-styles.md +0 -11
  888. package/skills/riffkit/examples/faceless-and-auto.md +0 -16
  889. package/skills/riffkit/examples/localize-spanish.md +0 -18
  890. package/skills/riffkit/examples/tiktok-shop-product.md +0 -22
  891. package/skills/riffkit/references/anchor.md +0 -62
  892. package/skills/riffkit/references/api.md +0 -806
  893. package/skills/riffkit/references/details.md +0 -153
  894. package/skills/riffkit/references/errors.md +0 -69
  895. package/skills/riffkit/references/intents.md +0 -29
  896. package/skills/saas-motion-video/SKILL.md +0 -71
  897. package/skills/script-to-video/SKILL.md +0 -2627
  898. package/skills/shorts/SKILL.md +0 -372
  899. package/skills/shorts/references/caption-styles.md +0 -105
  900. package/skills/shorts/references/platform-specs.md +0 -149
  901. package/skills/shorts/references/remotion-patterns.md +0 -180
  902. package/skills/shorts/references/scoring-rubric.md +0 -106
  903. package/skills/smart-video-editor/SKILL.md +0 -327
  904. package/skills/smart-video-editor/docs/FONTS.md +0 -57
  905. package/skills/story-telling/SKILL.md +0 -222
  906. package/skills/story-telling/rules/composition.md +0 -130
  907. package/skills/story-telling/rules/images.md +0 -119
  908. package/skills/story-telling/rules/models.md +0 -98
  909. package/skills/story-telling/rules/narration.md +0 -87
  910. package/skills/story-telling/rules/pitfalls.md +0 -140
  911. package/skills/story-telling/rules/story-formats.md +0 -108
  912. package/skills/story-telling/rules/story-json.md +0 -143
  913. package/skills/story-telling/rules/voices.md +0 -114
  914. package/skills/story-telling/rules/workflow.md +0 -105
  915. package/skills/story-to-handdrawn-video/SKILL.md +0 -216
  916. package/skills/story-to-handdrawn-video/references/asset-workflow.md +0 -24
  917. package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +0 -27
  918. package/skills/su-card-to-video/SKILL.md +0 -103
  919. package/skills/talking-head-video-pipeline/SKILL.md +0 -224
  920. package/skills/talking-head-video-pipeline/examples/prompts.md +0 -217
  921. package/skills/talking-head-video-pipeline/references/asr-adapters.md +0 -51
  922. package/skills/talking-head-video-pipeline/references/caption-workflow.md +0 -53
  923. package/skills/talking-head-video-pipeline/references/export-recipes.md +0 -78
  924. package/skills/talking-head-video-pipeline/references/layout-safety.md +0 -49
  925. package/skills/talking-head-video-pipeline/references/video-use-integration.md +0 -71
  926. package/skills/talking-head-video-pipeline/references/workflows/captions.md +0 -52
  927. package/skills/talking-head-video-pipeline/references/workflows/design.md +0 -77
  928. package/skills/talking-head-video-pipeline/references/workflows/doctor.md +0 -51
  929. package/skills/talking-head-video-pipeline/references/workflows/export.md +0 -50
  930. package/skills/talking-head-video-pipeline/references/workflows/init.md +0 -51
  931. package/skills/talking-head-video-pipeline/references/workflows/learn.md +0 -36
  932. package/skills/text-to-lottie/SKILL.md +0 -202
  933. package/skills/text-to-lottie/references/chapterization-transition-grammar.md +0 -132
  934. package/skills/text-to-lottie/references/design-taste.md +0 -292
  935. package/skills/text-to-lottie/references/lottie-spec-map.md +0 -82
  936. package/skills/text-to-lottie/references/motion-taste.md +0 -260
  937. package/skills/text-to-lottie/references/player-contract.md +0 -325
  938. package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +0 -65
  939. package/skills/text-to-lottie/references/recipe-data-stats.md +0 -104
  940. package/skills/text-to-lottie/references/recipe-diagram-technical.md +0 -106
  941. package/skills/text-to-lottie/references/recipe-loaders-icons.md +0 -70
  942. package/skills/text-to-lottie/references/recipe-logo.md +0 -72
  943. package/skills/text-to-lottie/references/recipe-lower-thirds.md +0 -62
  944. package/skills/text-to-lottie/references/recipe-product-promo.md +0 -99
  945. package/skills/ultrademo/SKILL.md +0 -212
  946. package/skills/video-assemble/SKILL.md +0 -101
  947. package/skills/video-assemble-zenstory-ai/SKILL.md +0 -153
  948. package/skills/video-assemble-zenstory-ai/references/audio-modes.md +0 -63
  949. package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +0 -77
  950. package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +0 -14
  951. package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +0 -103
  952. package/skills/video-assemble-zenstory-ai/references/packaging.md +0 -44
  953. package/skills/video-assemble-zenstory-ai/references/source-score.md +0 -146
  954. package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +0 -202
  955. package/skills/video-editing/SKILL.md +0 -688
  956. package/skills/video-explainer/SKILL.md +0 -163
  957. package/skills/video-explainer/references/brief-to-script.md +0 -56
  958. package/skills/video-explainer/references/errors-and-privacy.md +0 -18
  959. package/skills/video-explainer/references/motion-storyboard.md +0 -82
  960. package/skills/video-explainer/references/render-and-verify.md +0 -62
  961. package/skills/video-explainer/references/review-gate.md +0 -82
  962. package/skills/video-explainer/references/setup-and-doctor.md +0 -33
  963. package/skills/video-script-builder/SKILL.md +0 -329
  964. package/skills/video-script-builder/examples/quick-start-transcript.md +0 -19
  965. package/skills/video-script-builder/references/audio-workflow.md +0 -84
  966. package/skills/video-script-builder/references/caption-components.md +0 -70
  967. package/skills/video-script-builder/references/common-pitfalls.md +0 -80
  968. package/skills/video-script-builder/references/component-catalog.md +0 -197
  969. package/skills/video-script-builder/references/component-recipes.md +0 -165
  970. package/skills/video-script-builder/references/gsap-patterns.md +0 -112
  971. package/skills/video-script-builder/references/pacing-rules.md +0 -78
  972. package/skills/video-script-builder/references/quality-checklist.md +0 -98
  973. package/skills/video-script-builder/references/remotion-patterns.md +0 -211
  974. package/skills/video-script-builder/references/shader-transitions.md +0 -115
  975. package/skills/video-script-builder/references/taste-principles.md +0 -160
  976. package/skills/video-scrub/SKILL.md +0 -216
  977. package/skills/video-scrub/references/profiles.md +0 -89
  978. package/skills/video-scrub/references/residue-map.md +0 -204
  979. package/skills/video-short-maker/SKILL.md +0 -182
  980. package/skills/video-shot-analysis-feishu/SKILL.md +0 -173
  981. package/skills/video-shotcraft/SKILL.md +0 -267
  982. package/skills/video-shotcraft/docs/deepseek-harness.md +0 -69
  983. package/skills/video-shotcraft/references/aesthetic-rules.md +0 -177
  984. package/skills/video-shotcraft/references/final-review.md +0 -112
  985. package/skills/video-shotcraft/references/guided-free-creation.md +0 -199
  986. package/skills/video-shotcraft/references/jianying-export.md +0 -182
  987. package/skills/video-shotcraft/references/music-beat-sync.md +0 -219
  988. package/skills/video-shotcraft/references/pipeline.md +0 -390
  989. package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +0 -50
  990. package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +0 -65
  991. package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +0 -37
  992. package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +0 -39
  993. package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +0 -38
  994. package/skills/video-shotcraft-vincentwei10/SKILL.md +0 -316
  995. package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +0 -187
  996. package/skills/video-shotcraft-vincentwei10/references/final-review.md +0 -116
  997. package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +0 -199
  998. package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +0 -183
  999. package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +0 -257
  1000. package/skills/video-shotcraft-vincentwei10/references/pipeline.md +0 -401
  1001. package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +0 -111
  1002. package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +0 -50
  1003. package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +0 -62
  1004. package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +0 -41
  1005. package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +0 -52
  1006. package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +0 -39
  1007. package/skills/video-structure-analyzer/SKILL.md +0 -148
  1008. 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 +0 -50
  1009. 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 +0 -19
  1010. package/skills/video-toolkit/SKILL.md +0 -686
  1011. package/skills/videocut/SKILL.md +0 -159
  1012. package/skills/videodb/SKILL.md +0 -497
  1013. package/skills/videodb/reference/api-reference.md +0 -741
  1014. package/skills/videodb/reference/capture-reference.md +0 -399
  1015. package/skills/videodb/reference/capture.md +0 -110
  1016. package/skills/videodb/reference/editor-reference.md +0 -506
  1017. package/skills/videodb/reference/editor.md +0 -389
  1018. package/skills/videodb/reference/generative.md +0 -344
  1019. package/skills/videodb/reference/indexing-reference.md +0 -481
  1020. package/skills/videodb/reference/indexing.md +0 -537
  1021. package/skills/videodb/reference/legacy/index-reference.md +0 -223
  1022. package/skills/videodb/reference/legacy/index.md +0 -241
  1023. package/skills/videodb/reference/legacy/search.md +0 -249
  1024. package/skills/videodb/reference/migration.md +0 -113
  1025. package/skills/vlog-auto-edit/SKILL.md +0 -982
  1026. package/skills/vlog-auto-edit/examples/project_structure.md +0 -84
  1027. package/skills/vox-animated-ad-mcp/SKILL.md +0 -419
  1028. package/skills/vox-director/SKILL.md +0 -351
  1029. package/skills/vox-director/references/beat-layer.md +0 -143
  1030. package/skills/vox-director/references/host-mode.md +0 -120
  1031. package/skills/vox-director/references/local-engine.md +0 -73
  1032. package/skills/vox-director/references/models-and-gotchas.md +0 -91
  1033. package/skills/vox-director/references/prompt-guide.md +0 -275
  1034. package/skills/vox-director/references/voices.md +0 -59
  1035. package/skills/xingchen-vox-collage/SKILL.md +0 -251
  1036. package/skills/xingchen-vox-collage/references/asset-layer-contract.md +0 -98
  1037. package/skills/xingchen-vox-collage/references/creative-exploration.md +0 -19
  1038. package/skills/xingchen-vox-collage/references/learned-branches.md +0 -34
  1039. package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +0 -77
  1040. package/skills/xingchen-vox-collage/references/visual-language.md +0 -74
  1041. package/skills/xingchen-vox-collage/references/visual-qa.md +0 -59
  1042. package/skills/youtube/SKILL.md +0 -147
  1043. package/skills/youtube/references/algorithm-guide.md +0 -59
  1044. package/skills/youtube/references/analytics-benchmarks.md +0 -67
  1045. package/skills/youtube/references/dataforseo-integration.md +0 -51
  1046. package/skills/youtube/references/monetization-guide.md +0 -62
  1047. package/skills/youtube/references/repurposing-guide.md +0 -54
  1048. package/skills/youtube/references/retention-scripting-guide.md +0 -75
  1049. package/skills/youtube/references/seo-playbook.md +0 -77
  1050. package/skills/youtube/references/shorts-playbook.md +0 -64
  1051. package/skills/youtube/references/thumbnail-ctr-guide.md +0 -73
  1052. package/skills/youtube-shorts-factory/SKILL.md +0 -358
  1053. package/skills/youtube-shorts-factory/resources/adaptation-guide.md +0 -133
  1054. package/skills/youtube-shorts-factory/resources/storyboard-template.md +0 -271
  1055. package/skills/youtube-shorts-factory/resources/workflow-steps.md +0 -139
  1056. package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +0 -1
  1057. package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +0 -2
  1058. package/studio/ui/dist/assets/es-AqUfIkAy.js +0 -1
  1059. package/studio/ui/dist/assets/index-C7moXjTY.css +0 -1
  1060. package/studio/ui/dist/assets/index-DdU5QNpY.js +0 -1623
  1061. package/studio/ui/dist/assets/ja-YwiCB4QQ.js +0 -1
  1062. package/studio/ui/dist/assets/ko-CKtBPDze.js +0 -1
  1063. package/studio/ui/dist/assets/zh-CN-DtNEwKWJ.js +0 -1
@@ -1,153 +0,0 @@
1
- ## Details by step
2
-
3
- What a step of **The flow** needs beyond what it says there, for an agent that makes the calls itself (the CLI or HTTP). The routes are in "API reference".
4
-
5
- ### Mode (step 0)
6
-
7
- | Mode | `mode` | What stays | What changes | Pick it when |
8
- |---|---|---|---|---|
9
- | **Adapt** | `adapt` (also what the API runs when `mode` is omitted) | The emotion formula: hook, rhythm, beats | The story, scenes, script, language | The user wants *their own* video that works like the winner |
10
- | **Swap** | `swap` | The source's camera, cuts, framing, action, timing, sound and frame shape | What the user names: the person (your character, if you pick one), a product, and whatever `content_anchor` names: the setting, an outfit, a line's wording | The user wants *this* video with their character in it ("the same video, but me", "keep every shot") |
11
-
12
- Swap rules (backend-enforced):
13
- - **A swap must change at least one thing**: a character (`character_ids`), a product that has images (`product_id`; a product without images changes nothing), a reference image (`reference_ids`; an outfit needs a person in the source), or a non-empty `content_anchor`. None of these → 400 whose `detail` is a plain localized sentence (en: "A swap needs at least one change: …"; the body carries no error code, so relay `detail` rather than matching on it). Checked for every swap source, before anything is analyzed or billed.
14
- - **The character is optional.** With no character the source's own person stays (their real face is in the output); there is no Auto person in swap. One task per character, like adapt; no character = one task. A picked character needs an approved avatar (`has_any_active_avatar=true`), same as adapt. If the user wants a *different* person, recommend picking a character: a person changed only by words in `content_anchor` has no reference image, so the face can differ between shots (and on Seedance 2.0 the voice stays the original's).
15
- - **Whose voice changes.** On engines that change voices (Seedance 2.5, MiniMax H3), a replaced person gets a new voice only on the lines they speak on camera; narration (heard, not seen) keeps the source's voice. To change the narration too, say so in `content_anchor`, e.g. "the narration also in the new person's voice" (vague wording may not be picked up). To keep every original voice, say "keep the original audio".
16
- - **Check the avatar before a paid swap with a character.** The swap takes the person's face, hair and build from the character's avatar image (`reference_image` in `GET /api/characters`; fetch `${BASE_URL}${reference_image}` with the session cookie, like a video's `file_url`). What works: one person, facing the camera, face large in the frame, plain background. The layout the Characters page recommends works too: one image with that person's chest-up close-up on the left and the same person head to toe on the right, same outfit (two large views, so the build and outfit are shown as well). What usually fails to replace the face in a close-up talking-head source is a sheet of many small poses, decorations or other people: the output keeps the original face and at most picks up the hair. When the avatar looks like that, suggest a new avatar in one of the layouts that work (uploaded on the Characters page, reviewed before it can be used) or another character, instead of retrying the swap.
17
- - **A character only counts if the source shows a person to replace.** For a template source the analysis is already known, so a swap whose only change is a character, of a source with no person in it, → 400 whose `detail` is a localized sentence (en: "This video shows no person to replace: …"): offer a product with images or a written change instead. A new upload / TikTok link isn't analyzed yet at submit, so the same rule is applied after its analysis (see Swap specifics). Either way nothing is billed.
18
- - **Never compressed**: the output is as long as the source, so the source must be within the render-duration cap (default 45s, see General constraints). A swap source's length is its **video stream's** length, measured the way the render engine measures it (a trailing audio tail doesn't count); for a template this can differ slightly from the analyzed length in `GET /api/formulas/{id}` → `extraction_summary.duration_seconds`. A longer source → 400 whose `detail` is a plain localized sentence stating both numbers (en: "This video is ~Ns, over the Ms limit. Please pick a video under Ms."; no error code in the body, so don't match on fixed text), including a template over the cap. For a template source, `GET /api/riffs/swap-quote` tells you the length, the price and whether it's over the cap before you submit (a source longer than one render window can bill slightly more than the quote; see Swap specifics).
19
- - **Ignored in swap** (accepted, not used — no need to strip them): `language` (the source's own language is kept), `product_visibility` (a product is on camera or absent), `bgm_mode`, `video_ratios` (the source's frame shape is kept, one video per character). `user_hint` still feeds a new source's analysis.
20
- - `content_anchor` means **"what to change"**: empty = only the picked character / product change. A product still needs to be attached (`product_id`); to show particular images, send their ids as `product_image_ids` (an @-mention says how one is used).
21
- - **Engine: Seedance 2.5 is the recommended swap engine** (it gives the best swap result). Read it from `GET /api/settings` → `swap_recommended_video_backend` (`seedance25`, or `null` when this deployment doesn't offer that engine: then recommend nothing). For a paid account it is also the swap default (an omitted `video_backend` lands on Seedance 2.5 720p); a free-tier swap lands on Seedance 2.0 Fast 480p, the free default in every mode and the cheapest free swap (50/s, vs 60/s on Seedance 2.0 480p), and a free-tier account still gets 403 on Seedance 2.5. When the quote's `fits` is false, offer a pair from its `alternatives`. Adapt mode has no recommended engine.
22
- - In the app the two modes are labelled **Adapt** and **Swap** (zh 「改编」/「翻拍」); use those names when you point the user at the screen.
23
- - A finished swap video can be reframed into extra **vertical** ratios with `POST /api/pipeline/backfill` (billed at the same swap / reframe rates below). A swap submits one video per character in the source's own frame shape, so `video_ratios` doesn't fan it out at submit.
24
-
25
- ### Source (step 1)
26
-
27
- | Source | Param | When |
28
- |---|---|---|
29
- | **Analyzed template** | `formula_id` | The user wants an existing template, or has riffed this source before — **skips analysis, fastest** (analysis is free either way; skipping it saves the wait, not credits) |
30
- | **TikTok link** | `tiktok_url` | The user dropped a viral link; the server auto-downloads the video + extracts BGM |
31
- | **A file you can send** | `video` | The file is on this machine (≤100MB, and within the render-duration cap — see General constraints; a longer source is rejected, not trimmed) |
32
- | **A file only the user has** | `upload_id` | The video is on the user's phone or computer: `POST /api/riffs/uploads` makes a link where they add it, and `GET /api/riffs/uploads/{upload_id}` tells you when it is `ready` |
33
-
34
- - Template candidates: `GET /api/formulas?status=analyzed&template_type=pipeline`. `visibility=public` are platform-curated templates (usable across scopes, prefer recommending them). A template with `analysis_prompt_is_latest=false` can't be riffed or swapped: the quote and the submit refuse it with a 400 (nothing is created or billed). If it's your own template (`visibility=scope`), call `POST /api/formulas/{id}/refresh-analysis`, wait for that analyze task to complete (while it runs the template isn't `analyzed`, so a riff is rejected with 400), then riff. A `visibility=public` platform template can't be refreshed from your account (404): recommend a current one instead, or riff the original from its TikTok link or an upload (analysis is free).
35
- - **The same TikTok link already analyzed with current analysis, in your scope or as a public template, is reused** (free, faster). The reused link acts like `formula_id`: `user_hint` is ignored and the response is `mode: "generate"`. If the only earlier analysis is stale, the link is analyzed fresh automatically; the agent needs no special handling.
36
- - **The same video file sent again is reused too**: a `video` whose exact bytes your scope already has a current analyzed template of acts like `formula_id` (`mode: "generate"`, no new template, no analysis; a Swap's first section and its price are that template's). Sent with a different `user_hint`, it is analyzed fresh. A file cut or exported again is a different file. An `upload_id` is always analyzed.
37
- - The sources are **mutually exclusive**; exactly one must be provided (else 400).
38
- - A video the user already made with Riffkit can't be named as a source by its id. To swap it, the user downloads it and uploads the file as the source, like any other upload.
39
-
40
- ### Character, product, placement, language (steps 2 and 3)
41
-
42
- Each can be left alone on its default; the agent may suggest where helpful but **never blocks**. (In swap mode language / visibility / ratios don't apply, and at least one change must be named: see Mode.)
43
-
44
- **Character (default Auto)**
45
- - By default `character_ids` is empty = **Auto mode**: no digital human bound, SD2 generates the on-camera person. This is the product default, not an edge case.
46
- - **The agent may proactively pick/suggest a fitting character** — when the user expresses account/persona intent ("post it to my health account", "use my creator persona"), read `GET /api/characters` and match by `persona` feel + `gender` / `age_range`, then suggest one. **Only suggest characters with `has_any_active_avatar=true`** (a `false` character can't generate video yet: its current avatar is still in the automatic review, usually under a minute, was rejected, or it has no avatar. The user can wait, switch to an approved avatar from the character's history, retry the review, or upload a different image on the Characters page).
47
- - If the user expresses no account intent, **proceed silently on Auto** — don't interrupt just to make them choose.
48
- - Multiple characters: only pass several when the user explicitly says "make one for each of these characters" (one task per character).
49
-
50
- **Product (default none)**
51
- - By default `product_id` is empty = `no_product` mode: pure content, the caption never mentions a product name or product CTA, the whole video just runs the template's emotion formula. Good for growth / relatability / educational content.
52
- - To place a product:
53
- - **Existing product** → `GET /api/products`, take the `product_id`.
54
- - **New product** → `POST /api/products` once the user has confirmed its name and description (never save product details the user hasn't confirmed). Its pictures need the product to exist, so it is created before they are added.
55
- - Product images: clean product photos / app screenshots (no watermark, no browser chrome, subject centered); at least one clean image noticeably lifts a placement. An image is always a file: send it yourself (`POST /api/products/{id}/images`; if the original has noise you may crop/clean it first), or, when only the user has it, make an upload link for it (`POST /api/image-uploads` with the `product_id`). A link to an image is not accepted. Riffkit names and describes each image from the picture within seconds (a `name` you send is kept). With the product on camera a video uses as many of its images as fit, in the product's order; to use particular ones send their ids as `product_image_ids`, and to say how one is used, @-mention it (`mentions`).
56
-
57
- **Reference images (default none)**
58
- - Pictures the video should show that are not the product: an outfit, a place, a prop. They live in the account's reference library (`GET /api/references`); a new one is a file you send (`POST /api/references`) or the user adds through an upload link (`POST /api/image-uploads` without a `product_id`). One of the account's product images can be used as a reference too (its `media.id`).
59
- - Send the ids as `reference_ids`, in the order to use them. To say who wears one, where or when, write `@` plus a short name in `content_anchor` and list it in `mentions`: `{token: "@Red dress", target: "reference", id: <reference id>}`; a mention can also point at a product image in use (`product_image`) or a character (`persona`, the character's id).
60
- - How many fit: the references and the product images in use share what one render of the engine takes (`GET /api/settings` → `video_backends[].reference_per_call`, less one, and less one more with a character). Over it the submit is a 400 that says how many to remove.
61
- - A picture with a real face in it: a Seedance engine takes it only after its own review (`seedance_review`: `pending` / `ok` / `refused`); `refused` means that engine can't use the image (the submit says so), MiniMax H3 can. A flat-lay or hanger shot avoids the question.
62
- - In a Swap a reference image counts as a change (an outfit needs a person in the source to wear it). Several outfits or places: the ones you @-mention are used where the sentence says; an unmentioned second one is used only where the source itself changes outfit or scene.
63
-
64
- **Visibility `product_visibility` (only meaningful with a product; default on_camera)**
65
-
66
- | Value | Meaning | Best for |
67
- |---|---|---|
68
- | `on_camera` (default) | Product appears as a physical object on screen (character holds / scans / shows it) | Food / cosmetics / small physical goods / packaging as the core hook |
69
- | `off_camera` | Product never enters frame; conveyed only via subtitles / voiceover / caption text | Apps / websites / SaaS / services / non-portable goods |
70
-
71
- When `product_id` is empty this field is ignored and the backend derives `no_product`. **The caller may not pass `no_product` directly** (only the two literals on_camera / off_camera are accepted). The script and visual staging differ greatly across modes, so when a product is bound always state the value and the reason at the confirmation step.
72
-
73
- **Language (default en)**
74
- - Candidates from `GET /api/languages` (currently `en` / `es` / `pt` / `id` / `de` / `fr` / `it` / `ja` / `zh-CN`, in picker order). Trust the endpoint, don't hardcode.
75
-
76
- **content_anchor (optional creative direction) + user_hint (optional hook hint)**
77
- - `content_anchor` is the agent's highest-value contribution: it may proactively draft one for the user to review (see `## content_anchor drafting framework`). If the user doesn't want one, leave it empty — the video still generates.
78
- - `user_hint` feeds only a **new source's** analysis ("this popped off on the twist at 0:03"); it's ignored when a `formula_id` is chosen, so don't send it then.
79
-
80
- ### Price and plan (steps 5 and 6)
81
-
82
- Restate the plan with its price from `GET /api/riffs/quote`, asked with the same mode, source, engine, tier, character count, (adapt) ratio count and delivery you are about to submit. Mention the balance only when the quote's `fits` is false, and then offer an engine from `alternatives` that fits (or a template from `fitting_templates`):
83
-
84
- ```
85
- Ready to riff:
86
- ├── Mode: [Adapt / Swap]
87
- ├── Source: [template name / TikTok link / the user's video]
88
- ├── Character: [name / Auto (AI-generated person); swap: a name / keep the original person]
89
- ├── Product: [name + visibility / none]
90
- ├── Language: [en / es / pt / id / de / fr / it / ja / zh-CN; swap: the source's own]
91
- ├── Price: [quote `credits` ÷ 100, already the whole batch (one video per character; one with no character or when keeping the original person); "about" when `exact` is false, when you asked for more than one ratio (each extra ratio is re-priced from the finished video), or for a swap source longer than one render window. Made in sections: the first section's price, and about the whole (`sections_estimate.whole_credits` ÷ 100). No number when `source_seconds` is null (`credits` is then a minimum, not a price): say the length couldn't be read and the charge follows the real length; if `probe` is `busy`, ask the quote again shortly. Same for a local file whose length you can't measure]
92
- └── content_anchor: [drafted creative direction / none; swap: what changes besides the person]
93
- ```
94
-
95
- When the user says "submit / generate / riff" → call `POST /api/riffs`.
96
- - If a **new product** was chosen, first `POST /api/products` (+ upload images serially) to get the `product_id`, then include it in the riff.
97
- - Insufficient balance returns **HTTP 402** (structured `insufficient_credits`) → handle per "Billing & balance".
98
- - A submit can also get **HTTP 429** with `detail.code == "server_busy"` (and a `Retry-After: 30` header) when the servers are at capacity. Nothing was created or billed: wait about 30 seconds, then submit once more. Other 429s are rate or daily limits (see Common errors).
99
-
100
- ### Progress (step 8)
101
-
102
- - The whole riff shares one `batch_id` (the analyze task and the chained generation task both carry it) → poll `GET /api/tasks/batch/{batch_id}`.
103
- - Every **30 seconds**; cap a single poll loop at **15 minutes** (pipeline tops out around 8 min, 2× tolerance), then pause and tell the user.
104
- - **Swap on a Seedance engine** first sends each source clip through the video vendor's content review before any rendering starts; the first swap of a source can wait several minutes there. Verdicts are remembered per clip content, so later swaps of the same, unchanged source reuse them (a clip already refused fails the task at once, without a new review); if the source file itself changed, its clips are reviewed again. If the review refuses a clip (or the video engine refuses its format), the task fails **before any video second is billed** and the `error` names the window's seconds and a code in parentheses. That `error` is a fixed Chinese sentence whatever the request language: restate it in the user's language (keep the code verbatim) and offer what the message offers: a different source.
105
- - Summarize, don't echo every poll: "running 2m30s, currently writing the script," roughly once a minute (put `current_step` in plain words; never quote the raw code).
106
- - Failure handling: on `failed`/`dead`, read `error` to locate the cause, **don't auto-retry**, tell the user and let them decide; if a task stays `queued` for over 2 minutes, the servers are busy: say the video will start as soon as a slot frees up, and keep polling.
107
- - **Insufficient credits mid-riff** (a new-source riff clears the submit gate, then the real duration proves too costly — since v1.1.3 a low-balance riff usually gets an instant `402` at submit instead: TikTok URLs via a metadata duration probe, uploads via the on-disk file's real duration; this can still happen when the duration couldn't be read at submit, when the real duration differs from the probe, or when the balance dropped between submit and analysis, because the balance is checked again before analysis and again before generation): the analyze task carries `result.auto_generate_error == "insufficient_credits"` and `result.insufficient_credits` = the same structured 402 payload (`required_credits` / `available_credits` / `topup_url`). This means **no video was generated** — even when `status == "completed"` (the analysis finished but generation was skipped). Treat it like a 402: relay `topup_url` verbatim and tell the user to top up. Once they have, **retry that task** (`POST /api/tasks/{id}/retry`): a `failed` one (the check ran before analysis) runs again, within 24h; a `completed` one goes on from its saved analysis with everything it was submitted with (no second analysis, no wait for one; only the video is billed, as usual). While the balance is still short the retry answers `402` again; `409` `chain_resuming` = another retry is submitting it; `410` = its template was deleted, so submit again from the source. **Never report success on a riff whose analyze task carries this field.**
108
-
109
- ### Delivery and files (step 9)
110
-
111
- `GET /api/assets?asset_role=final_reel&sort=created_desc&limit=10` (add `formula_id` / `character` to filter this run):
112
-
113
- 1. **The video file** — `${BASE_URL}${file_url}`. This is the ONLY file path — there is **no** `/api/assets/{id}/download` sub-resource (it 404s; do not invent REST-style suffixes). The GET needs the same `Cookie: vee_session=<token>` as every API call, and must follow redirects (`curl -L`): in production it 302s to object storage. A cookie-less GET returns 401. For a link the user can open in their own browser, where your session cookie doesn't travel, call `GET /api/assets/{asset_id}/link`: its `url` opens the video without the cookie for 6 hours; say how long it works and that you can get a fresh one.
114
- 2. **Suggested copy** — `caption` (hook → body → closing call-to-action folded into one paragraph) + `asset_hashtags`
115
- 3. **Strategy recap** — which emotion formula this used, through which beat the product was felt, what the content_anchor did. To see what the engine actually "extracted / rewrote," call `GET /api/tasks/{task_id}/content`.
116
- 4. **Next iteration** — next time tweak content_anchor / character / product combo; a richer template library (more `used_count` / `tags`) gives sharper picks.
117
-
118
- #### Using a finished video in Remotion or another code-made video
119
-
120
- When the user wants the clip inside their own Remotion composition (or any video rendered from code), download it to a local file first. Remotion reads a local file or a public URL, and the asset URL only answers with the session cookie, so don't hand it the URL directly:
121
-
122
- ```bash
123
- curl -L -b "vee_session=<token>" "${BASE_URL}<sd_video_url or file_url>" -o clip.mp4
124
- ```
125
-
126
- The first request needs the cookie; the redirect then lands on signed storage. Put `clip.mp4` in the project's `public/` folder and load it with `staticFile("clip.mp4")`.
127
-
128
- - **Clean master, no burned-in captions**: use `sd_video_url` when it's set. It is the render before post-processing: no burned-in captions, but the final mixed audio is already in it. It's only set when post-processing ran; when it's null, `file_url` is already that render. Use `file_url` when the user wants the captions kept, and then don't add a second set of captions on top. A swap is the exception: the source video's on-screen text is drawn into the swap's picture, so neither file is free of it. On the free plan `sd_video_url` is always null: the render before post-processing comes with a plan, and `file_url` carries the small Riffkit watermark. A plan removes the watermark from every video, earlier ones included.
129
- - **Frame shape**: choose it at submit to match the composition. Riffs take `video_ratios` (vertical `9:16` / `3:4` / `1:1` / `4:5`, any mix, or one of `16:9` / `4:3` / `21:9` alone); creation takes one `video_ratio`; a swap keeps the source's frame. A vertical video you already have can get more vertical ratios with `POST /api/pipeline/backfill`.
130
- - **Fixed length**: a creation video can be pinned with `duration_mode=fixed` + `duration_seconds` (4-45). A swap is exactly as long as its source; an adapt riff's length isn't fixed until it renders, so for a composition that needs an exact length use a creation video with `duration_mode=fixed`.
131
- - **Sound**: the video has ONE mixed audio track, voice and music together. In Remotion you can keep it, lower it or mute it as a whole (`volume` / `muted` on `<OffthreadVideo>`), but you can't take the music out and keep the voice. If the user adds their own music, tell them it will play over the music already in the clip.
132
- - Save the file into the user's own project; don't upload it to a third-party host unless the user asks.
133
-
134
- ---
135
-
136
- ## General constraints
137
-
138
- | Dimension | Limit | Source |
139
- |------|------|------|
140
- | Source video (upload or TikTok link) | Upload ≤ **100 MB**; both ≤ the **render-duration cap** (`max_render_duration`, default **45 s**, runtime-adjustable, ceiling 90s) — the SAME single number that caps the riff output, not a separate limit; over the duration → 400 at submit for an upload (the file is also cleaned up); a TikTok link gets the same 400 when its length can be read up front, otherwise the link is accepted and the analyze task fails with the same "~Ns, over the Ms limit" message once the video has downloaded (nothing is generated or billed) | `POST /api/riffs` `video`/`tiktok_url`, `POST /api/formulas/analyze` |
141
- | Generated video length | Riffs (adapt / swap): ≤ **max_render_duration** (the same single cap as the source upload above). Creation videos: **4-45 s**, a separate fixed ceiling that does not follow `max_render_duration` (smart mode is also capped at what the balance affords; see `POST /api/creation/batch`) | engine render budget; creation: `POST /api/creation/batch` |
142
- | Swap source length | ≤ **max_render_duration** for every swap source (template, upload, link): a swap is never compressed, so the output equals the source length | `POST /api/riffs` `mode=swap` |
143
- | Image upload | ≤ **50 MB** each, `.jpg/.jpeg/.png/.webp`; ≤ **8 images** per product (free tier: 1) | product and reference images |
144
- | `content_anchor` / `user_hint` | ≤ **5000 chars** (over → `422`) | riffs / pipeline/batch / creation/batch |
145
- | riffs rate | **10 / 60 s** | `POST /api/riffs` |
146
- | Task concurrency | Shared worker pool, sized per server (not a per-account quota); overflow → `queued`; under heavy load a new submit gets `429` with `detail.code == "server_busy"` (`Retry-After: 30`) | server TaskRunner |
147
- | Generation time | pipeline **3-8 min** (empirical) | — |
148
- | Poll interval | every **30 s** | The flow, step 8 |
149
- | Daily credit cap | `daily_limit` from `GET /api/usage/credits` (`0` = unlimited; internal credits ÷100 for display) | adjustable by owner/admin |
150
-
151
- > BGM is picked by the backend (optionally steered with `bgm_mode` on an analyzed template) — the riff flow has no audio upload step.
152
-
153
- ---
@@ -1,69 +0,0 @@
1
- ## Task state machine
2
-
3
- | State | Meaning | Keep polling? |
4
- |------|------|----------|
5
- | `queued` | Submitted, waiting for a TaskRunner slot | ✅ |
6
- | `running` | Executing | ✅ |
7
- | `completed` | Output persisted; `result` carries asset_id | ❌ (fetch assets) |
8
- | `failed` | Normal failure (LLM error / API rate limit / …); `error` has the cause | ❌ (no auto-retry) |
9
- | `dead` | Stopped by an interruption it couldn't recover from on its own: a template analysis or a subtitle burn/reconcile cut off by a server restart, or a riff / creation / swap interrupted over and over. A riff, creation or swap caught by a single restart is NOT dead: it picks up where it stopped, with no extra credits, so keep polling while it shows `queued`/`running` | ❌ (offer a retry, available within 24 h of submission) |
10
- | `cancelled` | User cancelled | ❌ |
11
-
12
- ```
13
- queued → running → completed
14
- ↘ failed / dead / cancelled
15
- ```
16
-
17
- ---
18
-
19
- ## Common errors
20
-
21
- | HTTP / error | Scenario | Handling |
22
- |-------------|------|------|
23
- | `401` unauthenticated | vee_session expired/missing | Re-run the device flow (`POST /api/skill/device/authorize` → user approves → poll `.../token`); see **Auth** |
24
- | `402` insufficient_credits | not enough to submit | Show the shortfall in display credits (internal ÷ 100) + relay `topup_url` verbatim, **no retry** |
25
- | `400` — not exactly one source | missing or multiple sources | Ensure exactly one of `video`/`tiktok_url`/`formula_id`/`upload_id` |
26
- | `400` — "This template needs an update before it can be used. …" (header `X-Refusal: template_outdated`) | `formula_id` names a template whose analysis is out of date (`analysis_prompt_is_latest=false`), on `POST /api/riffs`, `POST /api/pipeline/batch` or a quote; nothing created or billed | Your own template: `POST /api/formulas/{id}/refresh-analysis`, wait for it, then submit. A public one: pick a current template, or riff the original from its TikTok link |
27
- | `400` — `detail.error == "character_avatar_not_ready"` | a picked character's current avatar is still in review or was rejected (`reviewing` / `rejected` list the names), on any riff, swap or creation submit; nothing created or billed | Relay `message`. In review: wait about a minute and submit again. Rejected: another character, or the user switches to an approved avatar or uploads a new one on the Characters page |
28
- | `400` — "A swap needs at least one change: …" | `mode=swap` with no character, no product with images, no reference image and an empty `content_anchor` | Ask what should change: a character to put in, a product to place, a reference image to use, or a written change |
29
- | `400` — "This video shows no person to replace: …" | `mode=swap` naming only a character, from a template that shows no person | Offer a product with images or a written change, or another source |
30
- | `400` — video can't be used for a swap | `mode=swap` from a template that has no source video | Offer another template, or a new upload/link |
31
- | `400` — "Swapping one of your own finished videos is not available. Download the video and upload it as the source." | the request named one of the user's finished videos as the source (`source_asset_id`, a retired parameter: any value, in either mode, on `POST /api/riffs` or a quote); nothing created or billed | Send it without `source_asset_id`. Tell the user to download the video and upload it as the source (`video`), or offer a template or a TikTok link |
32
- | `400` — source video too long | the uploaded file, or a TikTok link whose length could be read at submit, runs longer than `max_render_duration` (the message states both numbers); in swap mode, also any template over the cap | Ask the user for a shorter video, or to trim it and upload the trimmed file |
33
- | `400` — "Only TikTok links are supported." | `tiktok_url` isn't on tiktok.com / www.tiktok.com / vm.tiktok.com / vt.tiktok.com, or it carries a port, a login part or a backslash | Ask the user for the TikTok share link of the video (Share → Copy link) |
34
- | `400` — TikTok link is not a specific video | `tiktok_url` points at a profile, photo post, Shop product page or live instead of one video: on tiktok.com the path has no `/video/` and isn't a `/t/` share link; for a `vm.`/`vt.` short link, this is where it redirects | Ask the user for the link of **one video**: one containing `/video/`, a `tiktok.com/t/…` share link, or a `vm.`/`vt.` short link |
35
- | `400` — required missing | name/description etc. not sent | Fill per the field tables; don't paper over with empty strings |
36
- | `400` — invalid language | a code not in the candidates | First `GET /api/languages` for candidates |
37
- | `400` — "`<field>` is not UTF-8 — it arrived as legacy-encoded bytes (GBK/Big5/Shift-JIS)…" | a multipart text field (`content_anchor` / `user_hint` on `POST /api/riffs`; the image's `name` / `description` on `POST /api/products/{id}/images`; `name` on `POST /api/references`; `name` on `POST /api/characters`; `name` / `user_hint` on `POST /api/formulas/analyze`) was typed into a non-UTF-8 console (Windows CJK default), which re-encoded it before curl sent it | Do **not** resend the same command: it fails the same way, and `chcp` alone doesn't fix it. Write the text to a UTF-8 file and pass it by reference: `-F "content_anchor=<'/tmp/anchor.txt'"` (see `POST /api/riffs`). Already doing that? Rewrite the file with an explicit UTF-8 encoding. Never switch a multipart endpoint to `json=`: its fields would be ignored |
38
- | `400` — "There was an error parsing the body" | a JSON body (e.g. `POST /api/products`) was not UTF-8 | Send JSON with your library's UTF-8 encoder (`requests.post(url, json=…)`, `fetch`/`axios`, `json.Marshal`); on Chinese Windows `cmd` run `chcp 65001` first; never build the body by hand with `data=` |
39
- | `422` — request validation | a JSON body without a required field (e.g. `creation/batch` without `content_anchor`, or with it empty or only spaces); a wrong type or an unsupported value (e.g. `product_visibility` / `duration_mode` outside the listed values, `duration_seconds` outside 4-45, `duration_mode=fixed` without `duration_seconds`); `content_anchor` / `user_hint` over 5000 chars | `detail` is a list of `{loc, msg, type}`: fix the field named in `loc` using the field tables, and don't resend the same body. A misspelled **optional** field gets no error at all (it's ignored), so check field names against the tables |
40
- | `413` file too large | over 100MB video / 50MB image | State the limit, recompress, re-upload |
41
- | `409` `upload_used` (with `formula_id` / `batch_id`) | `upload_id` on `POST /api/riffs` or a quote, for an upload already submitted once; nothing created or billed | Don't make a new link: follow that `batch_id`, or for another video from the same source send that `formula_id` once the template reads `analyzed` |
42
- | `409` — the video hasn't arrived / is being used by another submit (`upload_id`) | the upload link's page has no video in yet, or another submit of the same upload is running | Not arrived: ask the user to finish on the page, then `GET /api/riffs/uploads/{upload_id}`. In use: wait for that submit; don't send it twice |
43
- | `410` — the upload is gone (`upload_id`) | the link or its video ran out, or the account ended its links ("Sign out other devices", an assistant disconnected) | Make a new link (`POST /api/riffs/uploads`) |
44
- | `429` on `POST /api/riffs/uploads` | 10 unused uploads have a video in or arriving, or more than 6 links in 10 minutes | Use one of the uploads already in (`GET /api/riffs/uploads/{upload_id}`), or wait; don't loop |
45
- | `409` `price_changed` on `POST /api/assets/{asset_id}/continue` | the price or the video's progress changed since you quoted it; nothing started | Quote the new `credits` (÷100) and ask again |
46
- | `409` `confirm_needed` on `POST /api/assets/{asset_id}/continue` | the body had no `credits` or `delivered_through`; nothing started | Quote its `credits` (÷100), get the go-ahead, send both |
47
- | `409` `film_busy` / `film_complete` on `POST /api/assets/{asset_id}/continue` | part of the video is being made now / nothing is left to make | Busy: follow its batch and offer the next step when it's done. Complete: nothing to continue |
48
- | `409` `film_pending` on a subtitle `PUT` / `DELETE` / `burn` / `reconcile` | the video is made in sections and sections are still left | Captions wait for the whole video: continue it first, or leave them |
49
- | `410` `continue_expired` on `POST /api/assets/{asset_id}/continue` | past the video's `staged.finish_by` | Only a new video can be made |
50
- | `400` `not_sectioned` / `action_unavailable` / `invalid_action` on `POST /api/assets/{asset_id}/continue` | not a video made in sections, that action has no price now (e.g. `redo` before anything was delivered), or `action` isn't `next` / `rest` / `redo` | Read the video's `staged` block and offer only an action in `staged.prices` |
51
- | `403` `first_section_only` (`error` `subscription_required`) on `POST /api/assets/{asset_id}/continue` | an account held to the first section asked for `next` / `rest` | It can only `redo` the first section; handle as `403` subscription_required (Billing & balance) |
52
- | `403` `one_at_a_time` (`error` `subscription_required`) on a submit, a retry, a continue or a ratio backfill | a free-tier account already has a video in the making | Nothing started. Say a video is in progress; once `GET /api/tasks` shows it done, submit again (handle the plan side as `403` subscription_required, Billing & balance) |
53
- | `409` `film_delivered` on `POST /api/tasks/{task_id}/retry` | the first render of a video made in sections failed after it had delivered a section: a retry would replace the video | Continue the video instead (`POST /api/assets/{asset_id}/continue`) |
54
- | `410` on `POST /api/tasks/{task_id}/retry` (`detail` Chinese, or the request's language for a deleted video or template) | over 24 h since the task was first submitted, a riff / swap submitted before a Riffkit update that changed how riffs are built, or its video or template was deleted; nothing restarted or billed | Say in the user's language that this task can't be retried; offer a fresh submit of the same kind with the same options (see `POST /api/tasks/{task_id}/retry`) |
55
- | `409` on `POST /api/tasks/{task_id}/retry` (`detail` always Chinese) | the task's previous run hasn't finished shutting down | Wait about a minute, then retry once; still `409` → tell the user and check back later |
56
- | `400` on `POST /api/tasks/{task_id}/retry` (`detail` always Chinese) | the task isn't `failed`/`dead` (cancelled, completed, or already restarted by an earlier retry); nothing restarted or billed | Read the task's status and poll it; don't submit again |
57
- | `429` — `detail` is a plain sentence in the request's language: "Too many requests — slow down (max 10 per 60s)." (请求过于频繁… when the request asks for Chinese) | more than 10 submits in 60 s (counted separately for `POST /api/riffs`, `/api/creation/batch` and `/api/pipeline/batch`) | Wait about a minute, then submit once; don't loop |
58
- | `429` — `detail.code == "server_busy"` (header `Retry-After: 30`) | the servers are at capacity (any riff, creation, pipeline batch or backfill submit); nothing was created or billed | Tell the user the servers are busy, wait about 30 s, then submit once more; if it happens again, suggest trying later |
59
- | `429` — daily limit reached (`detail` names the limit and today's spend, already in credits) | today's spend has reached the daily cap (`daily_limit` in `GET /api/usage/credits`) | Relay the message. The cap resets at 00:00 UTC; in a team, the team owner can raise a member's cap; for a personal account, or a team owner's own cap, the user contacts Riffkit. Don't resubmit until the cap is raised or the day rolls over |
60
- | `429` — `detail.error == "free_cost_limit"` | this account's model spend that produces no video in the last `window_days` (analysis, subtitle alignment, automatic image descriptions and the like) is over its current allowance; it is checked when you start an analysis (a riff from a new upload or TikTok link, `POST /api/formulas/analyze`, `refresh-analysis`) | Not a short wait: offer to riff an already-analyzed template (`formula_id`). The allowance grows as the account generates paid videos. Its numbers are internal credits (÷ 100 for display) |
61
- | `500` / timeout | server error | Say try again later; if it recurs, report to the developers |
62
- | Task `failed` + error mentions "Seedance" | proxy / API failure | Surface the specific error, let the user decide |
63
- | Task `failed` + error says the video is ~Ns, over the Ms limit | a TikTok link whose length couldn't be read at submit turned out too long after download (riff or swap; nothing billed) | Same as the 400: ask for a shorter video, or a trimmed upload |
64
- | Swap task `failed` + `error` starts with 这条原片里没有可替换的人物 | only a character was named, but the source shows no person (nothing billed; checked before any review or render) | Offer a product with images or a written change, or another source |
65
- | Swap task `failed` + `error` starts with 这次翻拍没有指定任何改动 | nothing to change was left by the time the task ran, e.g. the product lost its images (nothing billed) | Offer a product with images, a character, or a written change |
66
- | Swap task `failed` + `error` names a window's seconds (原视频 A–B 秒) and a code in parentheses | the video vendor refused that source clip, in content review (没有通过平台的内容审核) or for its format (格式不符合视频引擎的要求, code `InvalidParameter.*`); nothing billed | Restate the message in the user's language (the `error` text is always Chinese; keep the code verbatim); offer another source. Retrying the same source fails the same way |
67
- | Task `queued` over 2 min | the servers are busy | Say "the servers are busy, your video will start as soon as a slot frees up" |
68
-
69
- ---
@@ -1,29 +0,0 @@
1
- ## Natural-language intent ↔ action map
2
-
3
- | Intent | Example | Action |
4
- |---------|-------------|-----------|
5
- | One-shot riff | "riff this link", "make me one from this video" | `POST /api/riffs` (settle Adapt or Swap first, the flow's step 0; then source + optional config; confirm before submit) |
6
- | Original / no source | "make an original ad, no reference", "just write me a video about X", "创作一条" | `POST /api/creation/batch` (creative direction REQUIRED — draft it with the user; price it with `GET /api/creation/quote`; confirm before submit) |
7
- | Riff a new viral | "why did this TikTok pop off — riff it for me" | `POST /api/riffs` (pass `tiktok_url`/`video` → analyze→generate) |
8
- | A video on the user's phone | "I have it on my phone", "can I send you my video" | `POST /api/riffs/uploads` → the user adds it on that page → `GET /api/riffs/uploads/{upload_id}` → `POST /api/riffs` with `upload_id` |
9
- | Run an existing template | "make one with template 3" | `POST /api/riffs` (pass `formula_id`) |
10
- | Same shots, my character | "put my character in this exact video", "keep the video, swap the person", "翻拍" | `POST /api/riffs` with `mode=swap` + a character + one source; `content_anchor` = what else changes |
11
- | Browse templates | "what templates are there", "which is hot lately" | `GET /api/formulas?status=analyzed&template_type=pipeline` (by `used_count` / `tags`) |
12
- | Drill into a template | "tell me about this one", "why recommend it" | `GET /api/formulas/{id}`, read `extraction_summary` |
13
- | Re-analyze a template / fix its hint | "this is stale", "the hook is actually at 0:05" | `PATCH /api/formulas/{id}` (`user_hint`, optional) → `POST /api/formulas/{id}/refresh-analysis` (your own templates; a stale public template → pick another) |
14
- | Add a product / image | "I have a new product", "add an image to the product" | Restate + confirm → `POST /api/products` → the image as a file: `POST /api/products/{id}/images` (serial), or `POST /api/image-uploads` with the `product_id` when only the user has it |
15
- | Show an outfit, a place or a prop | "make her wear this", "use this room", "here's the dress" | `GET /api/references` (pick by name and description) or add one (`POST /api/references` / `POST /api/image-uploads`) → `reference_ids` on the submit, with an @-mention when the text says where or how |
16
- | Pick language | "make it in Spanish", "switch language" | `GET /api/languages` for candidates → set `language` |
17
- | On / off camera / none | "should the product show", "I don't want a product, just growth" | Explain `product_visibility` (incl. no `product_id` = no_product) + recommend a value |
18
- | Check progress | "how's it going", "done yet" | `GET /api/tasks/batch/{batch_id}` or `GET /api/tasks/{id}` |
19
- | Get results | "give me the download link" | `GET /api/assets?asset_role=final_reel&...`, then `GET /api/assets/{id}/link` for a link the user can open |
20
- | Fix subtitles | "the captions are mistimed", "move the subtitles up", "change the caption text/color" | Subtitle editing loop: `GET/PUT /api/assets/{id}/subtitles` → `POST .../preview` (iterate) → `POST .../burn` once (free; see `### Subtitle editing`) |
21
- | Check balance / spend | "how much is left", "how much today" | `GET /api/usage/credits` → `available` / `daily_spent` (the caller's own spend since 00:00 UTC; ÷ 100 for display) |
22
- | Finish a video made in sections | "make the rest", "next part", "redo that section" | `GET /api/assets` → its `staged.prices` → confirm → `POST /api/assets/{asset_id}/continue` |
23
- | Stop a task | "stop it", "cancel" | `POST /api/tasks/{id}/cancel` (note no refund of what's charged) |
24
- | Retry | "try again", "re-run" | `POST /api/tasks/{id}/retry` (state the most it can cost, confirm first) |
25
- | Set a character's voice | "use my voice for this character", "lock her voice" | `POST /api/characters/{id}/voice-sample` (mp3/wav, 4-15s clean speech) — then automatic on every adapt riff / creation |
26
-
27
- **Routing principle:** when intent is ambiguous, ask — don't guess and proceed.
28
-
29
- ---
@@ -1,71 +0,0 @@
1
- ---
2
- name: saas-motion-video
3
- description: "Make a promo / motion video for a software product with AICUT, using the saas-motion-kit 7-stage process (brief → components → theme → storyboard → build → sound → deliver), the clean-or-imaginary component rule, the creative muscle (tone matrix, variety rules, component forge, transition atlas, variety audit) and the 101-theme gallery in docs/. Use when someone asks for a launch video, product promo, booth loop, feature reveal or social motion piece for an app, SaaS or developer tool. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
4
- license: MIT
5
- source: "tugrawork-creator/saas-motion-kit"
6
- ---
7
-
8
- # saas-motion-video
9
-
10
- ## Running it in AICUT
11
-
12
- AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
13
- sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
14
- `registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
15
- and replaceable in Studio.
16
-
17
- ```sh
18
- npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
19
- npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
20
- npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
21
- npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
22
- npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
23
- ```
24
-
25
- Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
26
-
27
- Where the words below name another program's part, it becomes this:
28
-
29
- | elsewhere | in AICUT |
30
- |---|---|
31
- | composition, timeline, project file | `film.html`; tracks and clips inside it |
32
- | a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
33
- | `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
34
- | a still, a screengrab | `aicut look <t>` |
35
- | `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
36
- | a dev server, a preview window | `aicut open` and the Studio address it prints |
37
-
38
- Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
39
- binding; look at the frames `look` writes before saying a film is done.
40
-
41
-
42
- You are the producer. The user is the creative director. Run the stages in order and **stop at every gate** for a human decision. Keep the user's taste in the loop; that is what makes the film feel human-made.
43
-
44
- **The one rule of this kit: no two films should feel like the same film.** Don't repeat effects, transitions or components (within the film, or from the user's recent films). Invent at least one new component per film. Decide the message and the tone before choosing any effect. Read `creative/README.md` before stage 4.
45
-
46
- ## Before starting
47
- - The HyperFrames skills must be installed (`npx skills add heygen-com/hyperframes`). If `/hyperframes` is not available, ask the user to install them and restart the session.
48
- - Read `playbook/README.md`. Read each stage file when you reach that stage.
49
-
50
- ## Stages
51
-
52
- 1. **Brief** (`playbook/01-brief.md`). Ask at most four questions: the one message, the channel/format, the sound (music, SFX, voice or silent) and the truth source (a URL or docs). Also ask whether they have reference videos they love. For each one, run `python tools/breakdown.py <video> --id NN --creator … --url …` and credit it in `REFERENCES.md` (`templates/REFERENCES.md`, `creative/references.md`): borrow grammar, never assets. Write `BRIEF.md` from `templates/BRIEF.md`. **Gate:** the user confirms the brief.
53
- 2. **Components** (`playbook/02-components.md`, `components/README.md`). If there is a URL, run `npx hyperframes capture`. Score the real UI and propose, per component, *real* or *imaginary*. Never invent capabilities, customers or statistics. **Gate:** the user approves the inventory.
54
- 3. **Theme** (`playbook/03-theme.md`). Suggest 2–3 themes from `docs/themes/data/*.json` that fit the audience (read their `summary`, `fit` and `best_for`). Start from `python tools/pick_themes.py --tone <the brief's tone> --audience "<audience words>" --history ~/.motion-ledger.json`, which skips the themes of the user's last five films. Redraw each candidate's proof-moment frame in the user's brand as a quick HTML still. **Gate:** the user picks one.
55
- 4. **Storyboard + creative pass** (`playbook/04-storyboard.md`, `creative/`). Write `STORYBOARD.md` from `templates/STORYBOARD.md`: first the **Message & tone** sentence ("I want to say ___ in a ___ tone, so the viewer feels ___"), then the **ledger** (one row per shot: entrance, transition, ease, direction, palette, camera, components, new component, sfx, notes), then the frames. Choose craft from `creative/tone-matrix.md`, transitions from `creative/transition-atlas.md` (plus HyperFrames' stock set), and forge at least one new component with `creative/component-forge.md`. Run `python tools/variety_audit.py STORYBOARD.md --history ~/.motion-ledger.json` and fix every warning, or mark a deliberate repeat as `motif:`. Then draw a one-page sketch sheet. Keep on-screen words to a minimum. **Gate:** the audit is clean (or every remaining warning is explained), and the stills read as a story with the sound off.
56
- 5. **Build** (`playbook/05-build.md`). Hand off to the HyperFrames workflow (`/product-launch-video` for a URL-driven promo, `/general-video` for loops and custom pieces). Keep every frame seek-safe and deterministic. Run `lint`, `snapshot` and `check`. **Gate:** the user approves the preview.
57
- 6. **Sound** (`playbook/06-sound.md`). Music-driven: build a beat grid first and cut on bars. SFX: use warm tuned timbres (`tools/warm_sfx.py`). Silent is a valid choice. **Gate:** the user approves the mix.
58
- 7. **Deliver** (`playbook/07-deliver.md`). Render at 4K, then run `tools/deliver.sh` to downscale. For loops, run `tools/loop_check.py`. Report the actual duration, size and path. Record the film so the next one avoids it: `python tools/variety_audit.py STORYBOARD.md --history ~/.motion-ledger.json --append "<film>" --theme <NNN>`. Every few films, offer `python tools/history_report.py ~/.motion-ledger.json -o motion-history.html` so the user can see what they keep reaching for. **Gate:** the user checks it on the target screen.
59
-
60
- ## Hard rules
61
- - Official logos only. Never redraw a brand mark.
62
- - For non-Latin characters, bundle `latin-ext` font subsets locally. Write uppercase text yourself instead of relying on CSS `text-transform` (which breaks Turkish i/İ).
63
- - No progress bars, no gradient text, no pure #000/#fff, no bounce or elastic easing on UI.
64
- - Fewer words. If the story needs reading, redesign the frame.
65
- - Credit every reference video by name and link (`REFERENCES.md` and `ref:<id>` in the ledger; the audit enforces it). Never put someone else's footage, frames or music in a film or the repo.
66
- - Every transition must answer "why this one, here?". No transition twice in a row, at least three transition families, one surprise every ~15 s.
67
-
68
- ## Source
69
-
70
- Rewritten for AICUT from [`tugrawork-creator/saas-motion-kit`](https://github.com/tugrawork-creator/saas-motion-kit)
71
- (MIT), .claude/skills/saas-motion-video/SKILL.md. The method is that skill's own; the way it runs is AICUT's.