@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
@@ -0,0 +1,73 @@
1
+ # Reading a style
2
+
3
+ Once the person has picked, the style has to become decisions: what is drawn, in what order, in what material, and
4
+ how each thing changes. Read it in four layers — cover, words, code, timing — and write down what you took from each.
5
+
6
+ ## 1. The cover
7
+
8
+ Open `assets/atlas/styles/<folder>/poster.jpg` and look at it. Write down, in your own words: the palette (three to
9
+ five real colours, not “warm”), the composition (where the eye lands, what is behind what), the type (is the title
10
+ drawn, set, lettered, cut out?), the material (paper, glass, ink, pixels), the line (edge, weight, wobble), and the
11
+ light (flat, raking, glowing). These are the style's invariants: the film keeps them whatever its subject.
12
+
13
+ ## 2. The words
14
+
15
+ `style.json` says the style twice — `description` for the look, `motionNotes` for how it moves, `explainerNotes` for
16
+ how it explains. Read all three. `explainerNotes` is the most useful: it names the moves that carry an argument in
17
+ this style (a camera pull that turns examples into a galaxy, a wipe that is a planet crossing, a counter that counts).
18
+
19
+ ## 3. The code
20
+
21
+ `code.js` is the reference animation: `registerStyle({ draw(ctx, W, H, t) })`, a pure function of time. Read it for
22
+ mechanism, in this order:
23
+
24
+ 1. **What is drawn once and kept** — the background, the paper texture, the finishing pass (`putImageData`,
25
+ `globalCompositeOperation`, a grain overlay). That is the look's body.
26
+ 2. **What is a function of `t`** — positions, scales, opacities, `smoothstep(e0, e1, t)`, phases, `Math.sin(t * k)`.
27
+ Each of those is a beat, and the numbers are its start and end.
28
+ 3. **The objects** — how a shape is built (`deform`, `circlePts`, a grid, a path) and what its parameters mean. This
29
+ is what makes a watercolour wash different from a flat shape with a soft edge.
30
+ 4. **The helpers** — `lib/harness.js` (seeded `rng`, `makeNoise`, `ease`, canvas helpers) and `lib/sound.js`. They are
31
+ shared by all 86; read each once. Seeded randomness is why the same frame looks the same twice: keep that, it is
32
+ what lets a film be looked at and fixed.
33
+
34
+ Long files: read in pieces. Never claim you read a file that a tool cut in half.
35
+
36
+ Do **not** execute the archive's files. Read them. The one thing to port is the technique.
37
+
38
+ ## 4. Timing, from the code rather than a video
39
+
40
+ No reference video is archived here; the time is in the code, which is the better record anyway. For the two or three
41
+ moves that carry the explanation, write the beat as a line:
42
+
43
+ ```
44
+ X: 0.0–1.2 s washes flood in from the pencil outline, edges darken as they dry
45
+ X: 1.2–2.6 s the camera pans along one long sheet; the counter brushes itself in
46
+ ```
47
+
48
+ If a move's timing cannot be told from the code, it cannot be claimed in the film either — decide it yourself, and say
49
+ you did.
50
+
51
+ ## Then the style constraints
52
+
53
+ Write five lines before any page is written:
54
+
55
+ - **3–5 invariants** — the things whose absence makes it another style (paper edge darkening; claret-only highlight;
56
+ hairline grid; small-caps source line).
57
+ - **2–3 motion rules** — how things enter and leave, what eases, what stays still (a newspaper page scrolls, it does
58
+ not zoom).
59
+ - **Type** — the hierarchy and whether the letters are drawn, set or lettered; for Chinese, a face with real Chinese
60
+ glyphs, never a Latin-only face asked to fake them.
61
+ - **What carries the argument** — the one mechanism that will explain the topic (a line drawing itself; a wash
62
+ flooding a shape; a counter).
63
+ - **What not to bring** — the reference's subject. A watercolour cover of a lightbulb does not mean the film gets a
64
+ lightbulb; the person's topic decides every object.
65
+
66
+ ## Porting to an AICUT page
67
+
68
+ - The page is `frame(t)`, the archive is `draw(ctx, W, H, t)`; the same clock, so beats move over unchanged.
69
+ - AICUT pages draw with DOM, SVG, CSS and canvas as you prefer. Canvas work (noise, texture, granulation) ports most
70
+ directly; type is better set as DOM text so it stays crisp and editable.
71
+ - The film's stage is fixed; the archive's `W, H` become the stage's size. Keep the composition's proportions.
72
+ - Sound: the archive's `sound.js` is a kit, not a soundtrack. Make the film's sound from its own beats.
73
+ - Keep the credit: the style came from the archive; say so once, in the film's own notes or the reply, not on screen.
@@ -0,0 +1,71 @@
1
+ # Three covers, one card
2
+
3
+ The first turn is a decision about direction. Everything here is about making that decision easy to take: three
4
+ pictures the person can actually see, three names, one click.
5
+
6
+ ## Choosing the three
7
+
8
+ Read `references/style-index.json` — all 86 rows — before choosing, and open the poster and `style.json` of each
9
+ candidate. Three that are near each other in family are three ways of saying the same thing; three that differ in
10
+ **how they explain** are a real choice:
11
+
12
+ - one whose mechanism is drawing (whiteboard, Manim, isotype, blueprint, transit map);
13
+ - one whose mechanism is material or craft (watercolour, paper cut, clay, felt, cross-stitch, mosaic);
14
+ - one whose mechanism is graphic or photographic (halftone, risograph, editorial chart, blueprint negative, neon).
15
+
16
+ A topic about a process usually wants the first. A topic about a feeling or a person wants the second. A topic about
17
+ numbers wants the third. Say why each fits *this* topic in one sentence — not what the style is, but what it would do
18
+ for this film.
19
+
20
+ ## Getting the covers into the project
21
+
22
+ The card draws pictures from the project's own folder, so copy the three covers in first. From the project folder:
23
+
24
+ ```sh
25
+ node .pi/skills/aicut-motion/scripts/atlas.mjs --pick 32,26,2
26
+ ```
27
+
28
+ It prints the three with the path each will be given as `picture` (`assets/style-pick/032-sumi-e-ink-wash.jpg` and so
29
+ on). Ids may be numbers, folders (`032-sumi-e-ink-wash`) or a unique part of a name; a number that names nothing stops
30
+ with an error rather than picking a neighbour. `--into pictures/picks` copies them elsewhere and prints those paths.
31
+
32
+ If the project has no copy of this skill under `.pi/skills` — the skill was read from the app's own folder — run the
33
+ same script by that path; what matters is where the covers land, not where the script is.
34
+
35
+ ## The ask
36
+
37
+ One question, two to five options, the recommended one first, the three labels short enough to read on a card:
38
+
39
+ ```js
40
+ ask({ questions: [{
41
+ question: '这次片子想用哪一种视觉风格?选定后我先做一段约 20 秒的样片。',
42
+ header: '视觉方向',
43
+ options: [
44
+ { label: 'A · 报刊数据图表 Editorial Chart', description: '为什么它适合这个选题', picture: 'assets/style-pick/026-editorial-chart.jpg' },
45
+ { label: 'B · 水墨晕染 Sumi-e Ink Wash', description: '…', picture: 'assets/style-pick/032-sumi-e-ink-wash.jpg' },
46
+ { label: 'C · 水彩晕染 Watercolor Wash', description: '…', picture: 'assets/style-pick/002-watercolor-wash.jpg' },
47
+ ],
48
+ }]})
49
+ ```
50
+
51
+ - Label, `description` and `picture` must describe **the same style** — a card whose picture and name disagree is
52
+ worse than no card.
53
+ - `picture` is a path inside the project, forward slashes, no leading `/`, no `file://`, no CDN.
54
+ - The card is the answer; do not also ask the same question in words in the same turn.
55
+
56
+ Before the card, one or two lines are enough: what the person should understand by the end, and that the pictures are
57
+ the styles' own covers — the subject in them is not their topic, and the sample will be.
58
+
59
+ ## After the card
60
+
61
+ The answer comes back as the picked label (or the person's own words). Record the style id with it. Then go straight to
62
+ the sample: no second card, no second shortlist, no generated images.
63
+
64
+ If the person names a style that was not among the three — from an earlier message, or by name — take it. Match by
65
+ `nameZh`, `name`, id or folder; when two match, ask which, in words.
66
+
67
+ ## Without the picture card
68
+
69
+ Some hosts' question tools take text only. Then the three covers still have to be seen: give each option's real path
70
+ in the reply (`assets/style-pick/026-editorial-chart.jpg`) beside its name, and ask in words. Never say “above” or
71
+ “如图” about a picture the person cannot see, and never describe a cover you did not open.
@@ -0,0 +1,195 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>86 archived styles — preview</title>
7
+ <style>
8
+ :root{
9
+ --ink:#0d0d0f; --card:#16161a; --line:#2c2c33; --tx:#ecebe7; --tx2:#a5a39d; --tx3:#6e6c67; --hot:#e05a3d;
10
+ --sans:"Inter","HarmonyOS Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
11
+ --mono:"JetBrains Mono","SF Mono",Consolas,monospace;
12
+ }
13
+ *{box-sizing:border-box}
14
+ body{margin:0;background:var(--ink);color:var(--tx);font-family:var(--sans);font-size:14px}
15
+ header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--line)}
16
+ h1{margin:0;font-size:15px;font-weight:500;letter-spacing:-.01em}
17
+ .sub{font-family:var(--mono);font-size:11px;color:var(--tx3);letter-spacing:.06em}
18
+ .grow{flex:1}
19
+ select,input[type=range],button{font-family:inherit}
20
+ select{background:var(--card);color:var(--tx);border:1px solid var(--line);border-radius:3px;padding:7px 10px;font-size:13px;max-width:340px}
21
+ button{background:var(--card);color:var(--tx2);border:1px solid var(--line);border-radius:3px;padding:7px 11px;font-size:12px;cursor:pointer;line-height:1.2}
22
+ button:hover{color:var(--tx);border-color:var(--tx3)}
23
+ button:disabled{opacity:.4;cursor:default}
24
+ main{max-width:1180px;margin:0 auto;padding:20px}
25
+ canvas{width:100%;height:auto;display:block;background:#111;border:1px solid var(--line);border-radius:3px}
26
+ .transport{display:flex;align-items:center;gap:12px;margin-top:12px}
27
+ input[type=range]{flex:1;accent-color:var(--hot);height:18px}
28
+ .clock{font-family:var(--mono);font-size:11.5px;color:var(--tx3);min-width:96px;text-align:right}
29
+ .cols{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;margin-top:18px}
30
+ @media (max-width:860px){.cols{grid-template-columns:1fr}}
31
+ .cols p{margin:0 0 10px;font-size:13px;line-height:1.65;color:var(--tx2)}
32
+ .cols b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--hot);margin-bottom:3px;font-weight:500}
33
+ .note{font-size:12px;color:var(--tx3);line-height:1.6;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}
34
+ code{font-family:var(--mono);font-size:11.5px;color:#cfcdc7;background:rgba(255,255,255,.055);padding:1px 5px;border-radius:2px}
35
+ .meta{font-family:var(--mono);font-size:10.5px;color:#4e4e57;word-break:break-all;margin-top:8px}
36
+ </style>
37
+ </head>
38
+ <body>
39
+ <header>
40
+ <h1>86 archived styles</h1>
41
+ <span class="sub">harness.js + code.js + a t</span>
42
+ <div class="grow"></div>
43
+ <button id="prev" title="上一种(←)">←</button>
44
+ <select id="pick"></select>
45
+ <button id="next" title="下一种(→)">→</button>
46
+ <button id="play" title="播放 / 暂停(空格)">暂停</button>
47
+ </header>
48
+
49
+ <main>
50
+ <canvas id="c" width="1920" height="1080"></canvas>
51
+ <div class="transport">
52
+ <input id="scrub" type="range" min="0" max="1000" value="0" aria-label="时间">
53
+ <span class="clock" id="clock">0.00 / 6.00 s</span>
54
+ </div>
55
+
56
+ <div class="cols">
57
+ <div>
58
+ <p><b>看</b><span id="desc">—</span></p>
59
+ <p><b>动</b><span id="motion">—</span></p>
60
+ </div>
61
+ <div>
62
+ <p><b>讲</b><span id="who">—</span></p>
63
+ <p class="note">这个页面只是档案的预览壳:它加载 <code>lib/harness.js</code> 和某一套的 <code>code.js</code>,然后把 <code>t</code> 递进去。
64
+ 片子要的是这种时间结构,不是这个文件本身——把它移植成 AICUT 页面里的 <code>frame(t)</code>,而不是嵌进来。</p>
65
+ <div class="meta" id="meta"></div>
66
+ </div>
67
+ </div>
68
+ </main>
69
+
70
+ <script src="../assets/atlas/lib/harness.js"></script>
71
+ <script type="application/json" id="fallback">[[1,"Flat-Vector Science","扁平矢量科普","Popular Explainer Looks","经典讲解","001-flat-vector-science"],[2,"Watercolor Wash","水彩晕染","Painterly","绘画质感","002-watercolor-wash"],[3,"Shadow Puppet Theatre","皮影剧场","Paper & Craft","纸艺与手工","003-shadow-puppet-theatre"],[4,"Whiteboard Explainer","白板讲解","Hand-Drawn","手绘","004-whiteboard-explainer"],[5,"Psychedelic Poster","迷幻海报","Cosmic & Psychedelic","宇宙与迷幻","005-psychedelic-poster"],[6,"Tech Glow Explainer","科技辉光讲解","Popular Explainer Looks","经典讲解","006-tech-glow-explainer"],[7,"Papercraft Models","纸艺模型","Popular Explainer Looks","经典讲解","007-papercraft-models"],[8,"1940s Film Noir","1940年代黑色电影","Light & Imaging","光影与成像","008-1940s-film-noir"],[9,"Manim-Style Math","Manim 数学动画","Popular Explainer Looks","经典讲解","009-manim-style-math"],[10,"Illuminated Manuscript","彩饰手抄本","Illustration","插画","010-illuminated-manuscript"],[11,"Editorial Essay Collage","社论拼贴","Popular Explainer Looks","经典讲解","011-editorial-essay-collage"],[12,"Bioluminescent Deep Sea","深海生物荧光","Light & Imaging","光影与成像","012-bioluminescent-deep-sea"],[13,"Product Launch Reveal","产品发布揭幕","Popular Explainer Looks","经典讲解","013-product-launch-reveal"],[14,"Halftone Pop Panel","半色调波普","Print","印刷质感","014-halftone-pop-panel"],[15,"Isometric Pastel","等距粉彩","Dimensional","立体空间","015-isometric-pastel"],[16,"Oscilloscope Vector Art","示波器矢量艺术","Retro Digital","复古数字","016-oscilloscope-vector-art"],[17,"Risograph Zine","孔版印刷小志","Print","印刷质感","017-risograph-zine"],[18,"Claymation Set","黏土定格布景","Paper & Craft","纸艺与手工","018-claymation-set"],[19,"Neon Sign at Night","夜色霓虹招牌","Light & Imaging","光影与成像","019-neon-sign-at-night"],[20,"Kawaii Anime","可爱动漫","Popular Explainer Looks","经典讲解","020-kawaii-anime"],[21,"Ukiyo-e Woodblock","浮世绘木版画","Art & Design Movements","艺术与设计流派","021-ukiyo-e-woodblock"],[22,"16-Bit Pixel Odyssey","16位像素奇旅","Retro Digital","复古数字","022-16-bit-pixel-odyssey"],[23,"Chalkboard Lesson","黑板课堂","Hand-Drawn","手绘","023-chalkboard-lesson"],[24,"Cut-Paper Diorama","剪纸立体景","Paper & Craft","纸艺与手工","024-cut-paper-diorama"],[25,"Cathedral Glass","教堂彩绘玻璃","Painterly","绘画质感","025-cathedral-glass"],[26,"Editorial Chart","报刊数据图表","Data & Information","数据与信息","026-editorial-chart"],[27,"Synthwave Outrun","合成波疾驰","Retro UI & Neon","复古界面与霓虹","027-synthwave-outrun"],[28,"Origami Studio","折纸工作室","Paper & Craft","纸艺与手工","028-origami-studio"],[29,"Linocut Relief Print","油毡浮雕版画","Print","印刷质感","029-linocut-relief-print"],[30,"Holographic Foil Card","全息箔卡片","Light & Imaging","光影与成像","030-holographic-foil-card"],[31,"Voxel Diorama","体素微缩景观","Dimensional","立体空间","031-voxel-diorama"],[32,"Sumi-e Ink Wash","水墨晕染","Painterly","绘画质感","032-sumi-e-ink-wash"],[33,"Etch A Sketch Toy","旋钮绘图玩具","Hand-Drawn","手绘","033-etch-a-sketch-toy"],[34,"Cosmic Star Chart","宇宙星图","Cosmic & Psychedelic","宇宙与迷幻","034-cosmic-star-chart"],[35,"Punk Zine Collage","朋克拼贴小志","Paper & Craft","纸艺与手工","035-punk-zine-collage"],[36,"Thermal Camera","热成像","Light & Imaging","光影与成像","036-thermal-camera"],[37,"Engineering Blueprint","工程蓝图","Hand-Drawn","手绘","037-engineering-blueprint"],[38,"Impasto Night","厚涂夜景","Painterly","绘画质感","038-impasto-night"],[39,"Win95 Desktop","Windows 95 桌面","Retro UI & Neon","复古界面与霓虹","039-win95-desktop"],[40,"Low-Poly Faceted","低多边形切面","Dimensional","立体空间","040-low-poly-faceted"],[41,"Manga Page","漫画分镜页","Illustration","插画","041-manga-page"],[42,"Wood Type Letterpress","木活字凸版印刷","Print","印刷质感","042-wood-type-letterpress"],[43,"Light Painting","光绘","Light & Imaging","光影与成像","043-light-painting"],[44,"Felt & Patchwork","毛毡与拼布","Paper & Craft","纸艺与手工","044-felt-patchwork"],[45,"Phosphor Terminal","荧光终端","Retro Digital","复古数字","045-phosphor-terminal"],[46,"Glassmorphism UI","毛玻璃界面","Dimensional","立体空间","046-glassmorphism-ui"],[47,"Tarot Card","塔罗牌","Illustration","插画","047-tarot-card"],[48,"Transit Map","公共交通线路图","Data & Information","数据与信息","048-transit-map"],[49,"Gouache Travel Poster","水粉旅行海报","Painterly","绘画质感","049-gouache-travel-poster"],[50,"Napkin Sketch","餐巾纸草图","Hand-Drawn","手绘","050-napkin-sketch"],[51,"Art Deco Foil","装饰艺术烫箔","Art & Design Movements","艺术与设计流派","051-art-deco-foil"],[52,"Radiograph on Lightbox","灯箱X光片","Light & Imaging","光影与成像","052-radiograph-on-lightbox"],[53,"Vaporwave","蒸汽波","Retro UI & Neon","复古界面与霓虹","053-vaporwave"],[54,"Ebru Paper Marbling","土耳其水拓画","Generative & Type","生成艺术与字体","054-ebru-paper-marbling"],[55,"ISOTYPE Pictograms","ISOTYPE 图形符号","Data & Information","数据与信息","055-isotype-pictograms"],[56,"Soft 3D Clay","柔软3D黏土","Dimensional","立体空间","056-soft-3d-clay"],[57,"Cross-Stitch Sampler","十字绣样本","Paper & Craft","纸艺与手工","057-cross-stitch-sampler"],[58,"Constructivist Propaganda","构成主义宣传画","Art & Design Movements","艺术与设计流派","058-constructivist-propaganda"],[59,"Pocket Monochrome","掌机单色像素","Retro Digital","复古数字","059-pocket-monochrome"],[60,"Botanical Plate","植物学图谱","Illustration","插画","060-botanical-plate"],[61,"Kinetic Type","动态字体","Generative & Type","生成艺术与字体","061-kinetic-type"],[62,"Byzantine Mosaic","拜占庭马赛克","Illustration","插画","062-byzantine-mosaic"],[63,"Y2K Liquid Chrome","Y2K 液态铬","Retro UI & Neon","复古界面与霓虹","063-y2k-liquid-chrome"],[64,"Sticky-Note Wall","便利贴墙","Illustration","插画","064-sticky-note-wall"],[65,"Vintage Newsprint","复古新闻纸","Print","印刷质感","065-vintage-newsprint"],[66,"Hidden-Line Wireframe","隐藏线框图","Dimensional","立体空间","066-hidden-line-wireframe"],[67,"Memphis Group","孟菲斯设计","Art & Design Movements","艺术与设计流派","067-memphis-group"],[68,"Ballpoint Notebook","圆珠笔笔记","Hand-Drawn","手绘","068-ballpoint-notebook"],[69,"Op Art Sphere","欧普艺术球体","Generative & Type","生成艺术与字体","069-op-art-sphere"],[70,"Topographic Survey","地形测绘","Data & Information","数据与信息","070-topographic-survey"],[71,"Pointillist Afternoon","点彩午后","Painterly","绘画质感","071-pointillist-afternoon"],[72,"Vector Arcade 1980","1980年代矢量街机","Retro Digital","复古数字","072-vector-arcade-1980"],[73,"Patent Drawing","专利图纸","Illustration","插画","073-patent-drawing"],[74,"Bauhaus Poster","包豪斯海报","Art & Design Movements","艺术与设计流派","074-bauhaus-poster"],[75,"Bitmap Paint Doodle","位图画板涂鸦","Retro UI & Neon","复古界面与霓虹","075-bitmap-paint-doodle"],[76,"Nail & Thread String Art","钉线绕线艺术","Generative & Type","生成艺术与字体","076-nail-thread-string-art"],[77,"Ridgeline","山脊线图","Data & Information","数据与信息","077-ridgeline"],[78,"Sketchbook Graphite","石墨素描本","Hand-Drawn","手绘","078-sketchbook-graphite"],[79,"Teletext Page","图文电视页","Retro UI & Neon","复古界面与霓虹","079-teletext-page"],[80,"Silkscreen Grid","丝网印刷网格","Print","印刷质感","080-silkscreen-grid"],[81,"Guilloché Security Print","玑镂防伪纹样","Generative & Type","生成艺术与字体","081-guilloch-security-print"],[82,"ASCII Demoscene","ASCII 字符演示艺术","Retro Digital","复古数字","082-ascii-demoscene"],[83,"International Typographic Style","国际主义字体设计","Art & Design Movements","艺术与设计流派","083-international-typographic-style"],[84,"Flow Field","流场","Data & Information","数据与信息","084-flow-field"],[85,"MacPaint 1984","MacPaint 1984 画板","Retro Digital","复古数字","085-macpaint-1984"],[86,"Multi-scale Truchet","多尺度特鲁歇拼砖","Generative & Type","生成艺术与字体","086-multi-scale-truchet"]]</script>
72
+ <script>
73
+ (function () {
74
+ var BASE = '../assets/atlas';
75
+ var FALLBACK = JSON.parse(document.getElementById('fallback').textContent).map(function (r) {
76
+ return { id: r[0], name: r[1], nameZh: r[2], family: r[3], familyZh: r[4], folder: r[5] };
77
+ });
78
+ var el = {
79
+ pick: document.getElementById('pick'), canvas: document.getElementById('c'),
80
+ play: document.getElementById('play'), scrub: document.getElementById('scrub'),
81
+ clock: document.getElementById('clock'), desc: document.getElementById('desc'),
82
+ motion: document.getElementById('motion'), who: document.getElementById('who'), meta: document.getElementById('meta')
83
+ };
84
+ var ctx = el.canvas.getContext('2d');
85
+ var styles = FALLBACK, style = null, raf = 0, playing = true, base = 0, tNow = 0, loading = false;
86
+
87
+ function boot(list) {
88
+ styles = list;
89
+ el.pick.innerHTML = '';
90
+ for (var i = 0; i < styles.length; i++) {
91
+ var s = styles[i];
92
+ var label = String(s.id).padStart(3, '0') + ' · ' + s.nameZh + ' · ' + s.name;
93
+ el.pick.add(new Option(label, String(s.id)));
94
+ }
95
+ var want = Number(new URLSearchParams(location.search).get('id') || 26);
96
+ var has = styles.some(function (s) { return s.id === want; });
97
+ el.pick.value = String(has ? want : 1);
98
+ show(has ? want : 1);
99
+ }
100
+
101
+ function show(id) {
102
+ var row = null;
103
+ for (var i = 0; i < styles.length; i++) if (styles[i].id === Number(id)) row = styles[i];
104
+ if (!row || loading) return;
105
+ loading = true;
106
+ cancelAnimationFrame(raf);
107
+ if (window.STYLES) window.STYLES.length = 0;
108
+ var old = document.querySelector('script[data-style]');
109
+ if (old) old.remove();
110
+ var tag = document.createElement('script');
111
+ tag.src = BASE + '/styles/' + row.folder + '/code.js';
112
+ tag.dataset.style = '1';
113
+ tag.onload = function () {
114
+ loading = false;
115
+ style = window.STYLES && window.STYLES[0];
116
+ if (!style || typeof style.draw !== 'function') {
117
+ el.desc.textContent = '这一套没有注册可绘制的风格(' + row.folder + ')';
118
+ return;
119
+ }
120
+ el.desc.textContent = style.description || row.nameZh;
121
+ el.motion.textContent = style.motion || '—';
122
+ el.who.textContent = row.nameZh + ' · ' + row.name + ' · ' + row.familyZh + ' / ' + row.family;
123
+ el.meta.textContent = 'duration ' + style.duration + 's · ' + BASE + '/styles/' + row.folder + '/code.js';
124
+ history.replaceState(null, '', '?id=' + row.id);
125
+ base = performance.now();
126
+ tNow = 0;
127
+ playing = true;
128
+ el.play.textContent = '暂停';
129
+ draw();
130
+ };
131
+ tag.onerror = function () { loading = false; el.desc.textContent = '加载失败:' + row.folder; };
132
+ document.body.appendChild(tag);
133
+ }
134
+
135
+ function draw() {
136
+ cancelAnimationFrame(raf);
137
+ var tick = function () {
138
+ raf = requestAnimationFrame(tick);
139
+ if (!style) return;
140
+ if (playing) tNow = ((performance.now() - base) / 1000) % style.duration;
141
+ paint(style, tNow);
142
+ el.scrub.value = String(Math.round((tNow / style.duration) * 1000));
143
+ el.clock.textContent = tNow.toFixed(2) + ' / ' + style.duration.toFixed(2) + ' s';
144
+ };
145
+ tick();
146
+ }
147
+
148
+ function paint(s, t) {
149
+ ctx.save();
150
+ ctx.setTransform(1, 0, 0, 1, 0, 0);
151
+ ctx.clearRect(0, 0, el.canvas.width, el.canvas.height);
152
+ try { s.draw(ctx, el.canvas.width, el.canvas.height, t); }
153
+ catch (err) { el.desc.textContent = 'draw 出错:' + err.message; playing = false; el.play.textContent = '播放'; }
154
+ ctx.restore();
155
+ }
156
+
157
+ function step(delta) {
158
+ var ids = styles.map(function (s) { return s.id; });
159
+ var at = ids.indexOf(Number(el.pick.value));
160
+ var next = (at + delta + ids.length) % ids.length;
161
+ el.pick.value = String(ids[next]);
162
+ show(ids[next]);
163
+ }
164
+
165
+ el.pick.addEventListener('change', function () { show(el.pick.value); });
166
+ el.play.addEventListener('click', function () {
167
+ playing = !playing;
168
+ el.play.textContent = playing ? '暂停' : '播放';
169
+ base = performance.now() - tNow * 1000;
170
+ });
171
+ el.scrub.addEventListener('input', function () {
172
+ if (!style) return;
173
+ playing = false;
174
+ el.play.textContent = '播放';
175
+ tNow = (Number(el.scrub.value) / 1000) * style.duration;
176
+ paint(style, tNow);
177
+ el.clock.textContent = tNow.toFixed(2) + ' / ' + style.duration.toFixed(2) + ' s';
178
+ });
179
+ document.getElementById('prev').addEventListener('click', function () { step(-1); });
180
+ document.getElementById('next').addEventListener('click', function () { step(1); });
181
+ document.addEventListener('keydown', function (e) {
182
+ if (e.target.tagName === 'SELECT' || e.target.tagName === 'INPUT') return;
183
+ if (e.code === 'Space') { e.preventDefault(); el.play.click(); }
184
+ if (e.key === 'ArrowLeft') step(-1);
185
+ if (e.key === 'ArrowRight') step(1);
186
+ });
187
+
188
+ fetch('../references/style-index.json')
189
+ .then(function (r) { return r.ok ? r.json() : null; })
190
+ .then(function (list) { boot(list && list.length ? list : FALLBACK); })
191
+ .catch(function () { boot(FALLBACK); });
192
+ })();
193
+ </script>
194
+ </body>
195
+ </html>
@@ -0,0 +1,109 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * The 86 styles, as commands — so a session does not read 86 folders by hand to find one.
4
+ *
5
+ * node scripts/atlas.mjs --list every style, one line each
6
+ * node scripts/atlas.mjs --list --family Painterly one family only
7
+ * node scripts/atlas.mjs --id 26 one style: its style.json, its code, its cover
8
+ * node scripts/atlas.mjs --verify that all 86 are whole (poster, style.json, code)
9
+ * node scripts/atlas.mjs --pick 26,32,2 copy those covers into the project, for the pick card
10
+ * node scripts/atlas.mjs --pick 26,32,2 --into assets/style-pick
11
+ *
12
+ * `--pick` writes into `<cwd>/assets/style-pick/` by default and prints, for each, the path to give the ask card as
13
+ * `picture` (a path inside the project). Nothing else here writes anything.
14
+ *
15
+ * To see one play instead of reading it: open `scripts/atlas-viewer.html` in a browser (`?id=26` picks one).
16
+ */
17
+ import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from 'node:fs';
18
+ import { join, relative, resolve } from 'node:path';
19
+
20
+ const HERE = import.meta.dirname;
21
+ const ATLAS = resolve(HERE, '..', 'assets', 'atlas', 'styles');
22
+ const INDEX = resolve(HERE, '..', 'references', 'style-index.json');
23
+
24
+ /** Every style, by folder, in id order. */
25
+ function styles() {
26
+ const index = JSON.parse(readFileSync(INDEX, 'utf8'));
27
+ return index.map((one) => ({ ...one, at: join(ATLAS, one.folder) }));
28
+ }
29
+
30
+ const args = process.argv.slice(2);
31
+ const flag = (name) => {
32
+ const at = args.indexOf(name);
33
+ return at >= 0 ? (args[at + 1] && !args[at + 1].startsWith('--') ? args[at + 1] : true) : null;
34
+ };
35
+
36
+ /** A style by what a person would say: 26, 026, "026-ink-wash", "ink-wash", or a unique part of either name. */
37
+ function find(what) {
38
+ const list = styles();
39
+ const text = String(what).trim().toLowerCase();
40
+ const exact = list.find((one) => String(one.id) === text.replace(/^0+(?=\d)/, '') || one.folder.toLowerCase() === text);
41
+ if (exact) return exact;
42
+ const loose = list.filter((one) => one.folder.toLowerCase().includes(text) || one.name.toLowerCase().includes(text) || one.nameZh.includes(text));
43
+ return loose.length === 1 ? loose[0] : null;
44
+ }
45
+
46
+ const all = styles();
47
+
48
+ if (flag('--list') || args.length === 0) {
49
+ const family = flag('--family');
50
+ const rows = family ? all.filter((one) => one.family === family || one.familyZh === family) : all;
51
+ console.log(`${rows.length} styles${family ? ` in ${family}` : ''}`);
52
+ for (const one of rows) console.log(`${String(one.id).padStart(3, '0')} ${one.nameZh} · ${one.name} [${one.familyZh}] ${one.folder}`);
53
+ process.exit(0);
54
+ }
55
+
56
+ if (flag('--id')) {
57
+ const one = find(flag('--id'));
58
+ if (!one) {
59
+ console.error(`no such style: ${flag('--id')}`);
60
+ process.exit(1);
61
+ }
62
+ const style = JSON.parse(readFileSync(join(one.at, 'style.json'), 'utf8'));
63
+ console.log(JSON.stringify({
64
+ ...style,
65
+ folder: one.folder,
66
+ poster: `assets/atlas/styles/${one.folder}/poster.jpg`,
67
+ code: style.code ? `assets/atlas/styles/${one.folder}/${style.code}` : null,
68
+ }, null, 2));
69
+ process.exit(0);
70
+ }
71
+
72
+ if (flag('--verify')) {
73
+ const missing = [];
74
+ for (const one of all) {
75
+ const style = existsSync(join(one.at, 'style.json')) ? JSON.parse(readFileSync(join(one.at, 'style.json'), 'utf8')) : null;
76
+ if (!style) missing.push(`${one.folder}: no style.json`);
77
+ else if (!existsSync(join(one.at, 'poster.jpg'))) missing.push(`${one.folder}: no poster.jpg`);
78
+ else if (style.code && !existsSync(join(one.at, style.code))) missing.push(`${one.folder}: no ${style.code}`);
79
+ }
80
+ const bytes = (p) => statSync(p).size;
81
+ const posters = all.reduce((sum, one) => sum + (existsSync(join(one.at, 'poster.jpg')) ? bytes(join(one.at, 'poster.jpg')) : 0), 0);
82
+ console.log(`${all.length} styles · ${Math.round(posters / 1024)} kB of covers · ${missing.length ? `${missing.length} incomplete` : 'complete'}`);
83
+ for (const line of missing) console.log(` ${line}`);
84
+ process.exit(missing.length ? 1 : 0);
85
+ }
86
+
87
+ if (flag('--pick')) {
88
+ const ids = String(flag('--pick')).split(',').map((one) => one.trim()).filter(Boolean);
89
+ const into = resolve(String(flag('--into') ?? 'assets/style-pick'));
90
+ const picked = [];
91
+ for (const id of ids) {
92
+ const one = find(id);
93
+ if (!one) {
94
+ console.error(`no such style: ${id}`);
95
+ process.exit(1);
96
+ }
97
+ mkdirSync(into, { recursive: true });
98
+ const name = `${one.folder}.jpg`;
99
+ const target = join(into, name);
100
+ copyFileSync(join(one.at, 'poster.jpg'), target);
101
+ /* the path the card takes is inside the project: the project's folder is where the chat loads pictures from */
102
+ picked.push({ id: one.id, name: one.name, nameZh: one.nameZh, family: one.family, folder: one.folder, picture: relative(process.cwd(), target).split('\\').join('/') });
103
+ }
104
+ console.log(JSON.stringify(picked, null, 2));
105
+ process.exit(0);
106
+ }
107
+
108
+ console.error('usage: atlas.mjs --list [--family X] | --id 26 | --verify | --pick 26,32,2 [--into dir]');
109
+ process.exit(1);
@@ -18,9 +18,13 @@ export const GITHUB_API = 'https://api.github.com';
18
18
  export const GITHUB_RAW = 'https://raw.githubusercontent.com';
19
19
  /* files downloading at once */
20
20
  const PARALLEL = 4;
21
- /* tries at each file, and the wait before the second (doubled for each after) */
22
- const TRIES = 5;
21
+ /* tries at each file, and the wait before the second (doubled for each after). Three, not five: with a request limit
22
+ below, a host that cannot send is known in half a minute rather than in two. */
23
+ const TRIES = 3;
23
24
  const RETRY_MS = 500;
25
+ /* One request's own limit. A host that never answers — blocked by a network, or a mirror that is down — otherwise
26
+ holds the fetch for the system's connect timeout, tries over, before anything is known. */
27
+ const REQUEST_MS = 12000;
24
28
  /* the starts of a folder's address tried as a branch's name (a branch may have slashes in its name) */
25
29
  const MAX_REF_PARTS = 6;
26
30
 
@@ -41,6 +45,13 @@ const pause = (ms, signal) => new Promise((done) => {
41
45
  signal?.addEventListener('abort', () => { clearTimeout(timer); done(undefined); }, { once: true });
42
46
  });
43
47
 
48
+ /** A request's signal: the caller's, and this module's own limit, whichever stops it first. @param {AbortSignal} [signal] */
49
+ export const within = (signal, ms = REQUEST_MS) => AbortSignal.any([...(signal ? [signal] : []), AbortSignal.timeout(ms)]);
50
+
51
+ /** The address of one file at a commit, on the file host `raw` (the real one when it says nothing).
52
+ * @param {string} raw @param {{ owner: string, repo: string }} at @param {string} commit @param {string[]} parts */
53
+ export const rawUrl = (raw, at, commit, parts) => `${raw || GITHUB_RAW}/${encodeURIComponent(at.owner)}/${encodeURIComponent(at.repo)}/${commit}/${encodePath(parts)}`;
54
+
44
55
  /**
45
56
  * Ask GitHub. A connection that fails is tried again, a little later each time; failing every time, it is said as a
46
57
  * network failure. @param {string} url
@@ -49,7 +60,7 @@ const pause = (ms, signal) => new Promise((done) => {
49
60
  async function request(url, { signal, accept }) {
50
61
  for (let tries = 1; ; tries++) {
51
62
  try {
52
- return await fetch(url, { signal, headers: { accept: accept ?? 'application/vnd.github+json', 'user-agent': 'AICUT-Studio' } });
63
+ return await fetch(url, { signal: within(signal), headers: { accept: accept ?? 'application/vnd.github+json', 'user-agent': 'AICUT-Studio' } });
53
64
  } catch (e) {
54
65
  if (signal?.aborted) throw e;
55
66
  if (tries >= TRIES) throw new FetchError('Could not reach GitHub: check your internet connection.', 502, 'network');
@@ -41,7 +41,8 @@ import { listSfx, sfxJob, startSfx } from './sfx.mjs';
41
41
  import { listExamples } from './examples.mjs';
42
42
  import { createFromTemplate, listTemplates } from './templates.mjs';
43
43
  import { templateCover } from './template-posters.mjs';
44
- import { addSkillsFromGitHub, installSkills, listSkills } from './skills.mjs';
44
+ import { addSkillsFromGitHub, installSkills, listSkills, listSkillsFor, removeSkill } from './skills.mjs';
45
+ import { addUserStyles, removeUserStyle, userStyles } from './styles-store.mjs';
45
46
  import { pickFiles, pickFolder } from './folder-picker.mjs';
46
47
  import { readPrefs, writePrefs } from './prefs.mjs';
47
48
  import { ensureProxies } from './proxies.mjs';
@@ -434,7 +435,7 @@ export async function startStudio({ port = 4747, key, openBrowser = systemBrowse
434
435
  /* the example films (examples.mjs): none when the index cannot be read */
435
436
  if (parts[0] === 'examples' && parts.length === 1 && req.method === 'GET') return json(res, 200, { examples: await listExamples() });
436
437
  /* the home page's starter templates (templates.mjs): what they are; their files stay on this side */
437
- if (parts[0] === 'templates' && parts.length === 1 && req.method === 'GET') return json(res, 200, { templates: listTemplates() });
438
+ if (parts[0] === 'templates' && parts.length === 1 && req.method === 'GET') return json(res, 200, { templates: listTemplates(url.searchParams.get('lang') ?? undefined) });
438
439
  /* a template's cover: its own film drawn once, then cached (template-posters.mjs) */
439
440
  if (parts[0] === 'templates' && parts.length === 3 && parts[2] === 'cover' && req.method === 'GET') {
440
441
  const jpeg = await templateCover(parts[1], pages).catch((e) => {
@@ -447,7 +448,16 @@ export async function startStudio({ port = 4747, key, openBrowser = systemBrowse
447
448
  /* the skills a new project may start with (skills.mjs): the ones this copy of AICUT brings, and the ones fetched
448
449
  from a repository before. POST `skills/github` { repo } fetches a repository's skills into AICUT's home, where the
449
450
  next GET lists them beside the app's own */
450
- if (parts[0] === 'skills' && parts.length === 1 && req.method === 'GET') return json(res, 200, { skills: listSkills() });
451
+ if (parts[0] === 'skills' && parts.length === 1 && req.method === 'GET') return json(res, 200, { skills: listSkillsFor(url.searchParams.get('lang') ?? undefined) });
452
+ /* DELETE `skills/:id` takes a skill off the machine (skills.mjs): the folder goes from the library it came from, and
453
+ its style card goes with it — a tile that starts a project with a skill that is not there starts nothing. A project
454
+ that already carries a copy under `.pi/skills` keeps it. The app's own two are refused (409). */
455
+ if (parts[0] === 'skills' && parts.length === 2 && req.method === 'DELETE') {
456
+ const removed = removeSkill(parts[1]);
457
+ const card = userStyles().find((one) => one.skill === removed.id);
458
+ if (card) removeUserStyle(card.id);
459
+ return json(res, 200, { ...removed, card: card?.id ?? null });
460
+ }
451
461
  if (parts[0] === 'skills' && parts[1] === 'github' && parts.length === 2 && req.method === 'POST') {
452
462
  const { repo } = /** @type {{ repo?: string }} */ (await readJson(req));
453
463
  try {
@@ -458,6 +468,33 @@ export async function startStudio({ port = 4747, key, openBrowser = systemBrowse
458
468
  }
459
469
  }
460
470
 
471
+ /* the styles a person added from a repository (styles-store.mjs): POST `styles/github` { repo } fetches the
472
+ repository's skills (skills.mjs) and makes one style card of the Templates page per skill — the project it
473
+ starts carries that skill, and the card's picture is the starter film drawn for real. DELETE `styles/:id`
474
+ takes a card away; its skill stays in the library. */
475
+ if (parts[0] === 'styles' && parts[1] === 'github' && parts.length === 2 && req.method === 'POST') {
476
+ const { repo } = /** @type {{ repo?: string }} */ (await readJson(req));
477
+ try {
478
+ const { skills } = await addSkillsFromGitHub(String(repo ?? ''));
479
+ return json(res, 200, { styles: addUserStyles(skills) });
480
+ } catch (e) {
481
+ if (e instanceof FetchError) throw new HttpError(e.status, e.message);
482
+ throw e;
483
+ }
484
+ }
485
+ /* one skill made a style card of its own (the Skills page's switch): the skill is already in the library — the ones
486
+ AICUT brings and the ones fetched — so this only decides whether the Templates page offers a film in its name. */
487
+ if (parts[0] === 'styles' && parts.length === 1 && req.method === 'POST') {
488
+ const { skill } = /** @type {{ skill?: string }} */ (await readJson(req));
489
+ const asked = listSkills().find((one) => one.id === String(skill ?? ''));
490
+ if (!asked) throw new HttpError(404, 'no such skill');
491
+ addUserStyles([asked]);
492
+ return json(res, 200, { styles: userStyles() });
493
+ }
494
+ if (parts[0] === 'styles' && parts.length === 2 && req.method === 'DELETE') {
495
+ return json(res, 200, { removed: removeUserStyle(parts[1]) });
496
+ }
497
+
461
498
  /* the Projects window's recycle bin (recycle.mjs): where a deleted project waits 30 days before it is gone for good.
462
499
  GET recycle → { entries }, newest first, each with the days it has left
463
500
  POST recycle/:id/restore → { project }: its folder back where it was, and on the list again
@@ -0,0 +1,60 @@
1
+ // @ts-check
2
+ /**
3
+ * One line of each skill's own words, in a language a person reads — the Skills page and the style cards on the
4
+ * Templates page say this instead of the frontmatter's paragraph.
5
+ *
6
+ * A skill's `description` in its SKILL.md is written for the agent: the whole of what it covers, in the upstream
7
+ * project's own language, several hundred characters of it. That is what the agent needs and a person scanning a list
8
+ * does not. So each row says one line here (`zh-CN` written by hand, for the skills AICUT ships), and anything without a
9
+ * line of its own falls back to the first sentence of its description — never to nothing.
10
+ *
11
+ * A skill fetched from a repository later has no line: nobody has read it yet. `firstSentence` still gives it a short
12
+ * line, in its own words, which is the honest thing to show.
13
+ */
14
+
15
+ /**
16
+ * Hand-written lines, by language, by skill id. Only the languages actually written appear: a language with no entry
17
+ * falls through to the description.
18
+ * @type {Record<string, Record<string, string>>}
19
+ */
20
+ export const SKILL_SUMMARIES = {
21
+ 'zh-CN': {
22
+ aicut: '做片、剪辑、检查、渲染,一条龙:写 film.html、逐段检查画面、导出成片,也能直接开 Studio。',
23
+ 'aicut-motion': '给片子做美术指导:配色、字体、真转场、按节拍排布;选题只有一句话时,先从 86 套归档风格挑三种摆成卡让你选。',
24
+ },
25
+ };
26
+
27
+ /** The first sentence of a text, short enough for one line: the fallback for a skill with no line of its own.
28
+ * @param {string} [text] @param {number} [limit] @returns {string} */
29
+ export function firstSentence(text, limit = 64) {
30
+ const one = String(text ?? '').replace(/\s+/g, ' ').trim();
31
+ if (!one) return '';
32
+ /* a sentence ends at a CJK full stop, or at a Western one that ends a word; `e.g.`, `i.e.` and `1.5` do not */
33
+ let at = -1;
34
+ const cjk = /[。!?]/.exec(one);
35
+ if (cjk) at = cjk.index;
36
+ const western = /[.!?](?=\s|$)/g;
37
+ let found;
38
+ while ((found = western.exec(one))) {
39
+ const tail = one.slice(Math.max(0, found.index - 3), found.index + 1);
40
+ if (/^[A-Za-z]\.[A-Za-z]\.$/.test(tail)) continue;
41
+ at = at < 0 ? found.index : Math.min(at, found.index);
42
+ break;
43
+ }
44
+ const cut = at >= 0 ? one.slice(0, at + 1) : one;
45
+ return cut.length > limit ? `${cut.slice(0, limit).trimEnd()}…` : cut;
46
+ }
47
+
48
+ /**
49
+ * What a skill says of itself, one line, in `lang` when a line was written: the hand-written one, else its own first
50
+ * sentence. @param {string} id @param {string} description @param {string} [lang] @returns {string}
51
+ */
52
+ export function summaryFor(id, description, lang = '') {
53
+ return SKILL_SUMMARIES[lang]?.[id] ?? firstSentence(description);
54
+ }
55
+
56
+ /** Whether a hand-written line exists for this skill in this language (tests and the Skills page's hint use it).
57
+ * @param {string} id @param {string} lang @returns {boolean} */
58
+ export function hasSummary(id, lang) {
59
+ return Boolean(SKILL_SUMMARIES[lang]?.[id]);
60
+ }