@autoaiai/aicut 0.1.7 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (796) hide show
  1. package/MANUAL.md +10 -0
  2. package/package.json +1 -1
  3. package/product.json +2 -1
  4. package/skills/30x-web-to-video/SKILL.md +421 -0
  5. package/skills/30x-web-to-video/examples/INDEX.md +26 -0
  6. package/skills/30x-web-to-video/references/animations.md +539 -0
  7. package/skills/30x-web-to-video/references/audio.md +256 -0
  8. package/skills/30x-web-to-video/references/components.md +340 -0
  9. package/skills/30x-web-to-video/references/lottie.md +174 -0
  10. package/skills/30x-web-to-video/references/visual-effects.md +157 -0
  11. package/skills/30x-web-to-video/remotion-best-practices/rules/audio.md +169 -0
  12. package/skills/30x-web-to-video/remotion-best-practices/rules/calculate-metadata.md +134 -0
  13. package/skills/30x-web-to-video/remotion-best-practices/rules/charts.md +120 -0
  14. package/skills/30x-web-to-video/remotion-best-practices/rules/compositions.md +154 -0
  15. package/skills/30x-web-to-video/remotion-best-practices/rules/ffmpeg.md +38 -0
  16. package/skills/30x-web-to-video/remotion-best-practices/rules/fonts.md +152 -0
  17. package/skills/3d-asset-generation/SKILL.md +142 -0
  18. package/skills/action-fight-prompt/SKILL.md +136 -0
  19. package/skills/action-fight-prompt/references/camera-and-impact.md +64 -0
  20. package/skills/action-fight-prompt/references/example-15s-duel.md +59 -0
  21. package/skills/action-fight-prompt/references/scene-patterns.md +80 -0
  22. package/skills/ad-creative-video/SKILL.md +205 -0
  23. package/skills/ad-creative-video/references/batch-ad-pipeline.md +289 -0
  24. package/skills/ad-creative-video/references/platform-specs.md +72 -0
  25. package/skills/after-effects/SKILL.md +123 -0
  26. package/skills/after-effects/references/export-recipes.md +168 -0
  27. package/skills/after-effects/references/expression-library.md +184 -0
  28. package/skills/after-effects/references/expressions.md +134 -0
  29. package/skills/after-effects/references/performance-triage.md +138 -0
  30. package/skills/after-effects/references/project-hygiene.md +188 -0
  31. package/skills/ai-media-quality-review/SKILL.md +72 -0
  32. package/skills/ai-product-video/SKILL.md +296 -0
  33. package/skills/ai-product-video/references/aesthetic-rules.md +177 -0
  34. package/skills/ai-product-video/references/final-review.md +110 -0
  35. package/skills/ai-product-video/references/guided-free-creation.md +194 -0
  36. package/skills/ai-product-video/references/music-beat-sync.md +219 -0
  37. package/skills/ai-product-video/references/pipeline.md +392 -0
  38. package/skills/ai-product-video/references/sequences/promo-energy-arc.md +50 -0
  39. package/skills/ai-product-video/references/shots/ATTRIBUTION.md +65 -0
  40. package/skills/ai-product-video/references/shots/camera/basic-3d-scene.md +37 -0
  41. package/skills/ai-product-video/references/shots/camera/crash-zoom-punch.md +39 -0
  42. package/skills/ai-product-video/references/shots/camera/cursor-flyover.md +38 -0
  43. package/skills/ai-product-video/references/shots/camera/depth-layer-moves.md +40 -0
  44. package/skills/ai-product-video/references/shots/camera/graze-face-tour.md +57 -0
  45. package/skills/aicut/SKILL.md +4 -4
  46. package/skills/aicut/references/commands.md +15 -15
  47. package/skills/aicut/references/film-format.md +1 -1
  48. package/skills/aicut/references/recipes.md +4 -4
  49. package/skills/aicut/references/troubleshooting.md +2 -2
  50. package/skills/aicut-motion/SKILL.md +6 -6
  51. package/skills/aicut-motion/references/design-systems/README.md +1 -1
  52. package/skills/aicut-motion/references/pages.md +1 -1
  53. package/skills/anidoodle/SKILL.md +185 -0
  54. package/skills/anidoodle/references/anatomy.md +91 -0
  55. package/skills/anidoodle/references/backends-and-adapters.md +82 -0
  56. package/skills/anidoodle/references/camera.md +148 -0
  57. package/skills/anidoodle/references/craft-bar.md +72 -0
  58. package/skills/anidoodle/references/determinism-and-contract.md +46 -0
  59. package/skills/anidoodle/references/formats.md +121 -0
  60. package/skills/anidoodle/references/motion-grammar.md +234 -0
  61. package/skills/anidoodle/references/music/compose.md +388 -0
  62. package/skills/anidoodle/references/music/sound-design.md +245 -0
  63. package/skills/anidoodle/references/music/sounds-licenses.md +69 -0
  64. package/skills/anidoodle/references/music/styles/lofi-electronic.md +112 -0
  65. package/skills/anidoodle/references/music/styles/music-box.md +57 -0
  66. package/skills/animated-component-libraries/SKILL.md +820 -0
  67. package/skills/animated-component-libraries/references/customization_guide.md +699 -0
  68. package/skills/animated-component-libraries/references/magic_ui_components.md +422 -0
  69. package/skills/animated-component-libraries/references/react_bits_components.md +587 -0
  70. package/skills/animated-infographic/SKILL.md +211 -0
  71. package/skills/animated-infographic/references/sequenced-infographic.md +286 -0
  72. package/skills/appshot-core/SKILL.md +872 -0
  73. package/skills/article-highlights/SKILL.md +151 -0
  74. package/skills/avatar-mix/SKILL.md +301 -0
  75. package/skills/bang-motion/SKILL.md +583 -0
  76. package/skills/bang-motion/references/ae-bridge-higgsfield.md +160 -0
  77. package/skills/bang-motion/references/anti-ppt.md +110 -0
  78. package/skills/bang-motion/references/architecture.md +188 -0
  79. package/skills/bang-motion/references/explainer.md +579 -0
  80. package/skills/bang-motion/references/kartun-panggung.md +221 -0
  81. package/skills/bang-motion/references/opener-konsep.md +817 -0
  82. package/skills/bang-motion/references/roadmap.md +85 -0
  83. package/skills/bang-motion/references/techniques.md +690 -0
  84. package/skills/beat-sync-edit/SKILL.md +148 -0
  85. package/skills/book-video-factory/SKILL.md +139 -0
  86. package/skills/book-video-factory/references/first-run.md +50 -0
  87. package/skills/book-video-factory/references/paper-collage-explainer.md +127 -0
  88. package/skills/book-video-factory/references/quality-gates.md +87 -0
  89. package/skills/book-video-production/SKILL.md +211 -0
  90. package/skills/brag/SKILL.md +195 -0
  91. package/skills/brag/references/audio.md +312 -0
  92. package/skills/brag/references/step-1-inspect.md +125 -0
  93. package/skills/brag/references/step-2-plan.md +234 -0
  94. package/skills/brag/references/step-3-compose.md +199 -0
  95. package/skills/brag/references/step-4-deliver.md +141 -0
  96. package/skills/brag/references/tones.md +231 -0
  97. package/skills/brand-setup/SKILL.md +228 -0
  98. package/skills/brewreel/SKILL.md +491 -0
  99. package/skills/brewreel/docs/broll.en.md +252 -0
  100. package/skills/brewreel/docs/broll.md +252 -0
  101. package/skills/brewreel/docs/custom-shot.en.md +66 -0
  102. package/skills/brewreel/docs/custom-shot.md +103 -0
  103. package/skills/brewreel/docs/faq.en.md +90 -0
  104. package/skills/brewreel/docs/faq.md +90 -0
  105. package/skills/brewreel/docs/features.en.md +157 -0
  106. package/skills/brewreel/docs/features.md +157 -0
  107. package/skills/brewreel/docs/gallery.en.md +44 -0
  108. package/skills/brewreel/docs/gallery.md +44 -0
  109. package/skills/brewreel/docs/how-it-works.en.md +64 -0
  110. package/skills/brewreel/docs/how-it-works.md +64 -0
  111. package/skills/caption-animation/SKILL.md +216 -0
  112. package/skills/caption-animation/references/word-timed-captions.md +254 -0
  113. package/skills/cartcut-editing/SKILL.md +615 -0
  114. package/skills/cartcut-editing/references/html-typography.md +277 -0
  115. package/skills/cassette-video-edit/SKILL.md +129 -0
  116. package/skills/ccvideo/SKILL.md +264 -0
  117. package/skills/chekhov-dramaturgy/SKILL.md +367 -0
  118. package/skills/chekhov-dramaturgy/reference.md +375 -0
  119. package/skills/chengfeng-check-updates/SKILL.md +283 -0
  120. package/skills/cinematic-product-promo-skill/SKILL.md +295 -0
  121. package/skills/cinematic-product-promo-skill/references/aesthetic-rules.md +187 -0
  122. package/skills/cinematic-product-promo-skill/references/final-review.md +116 -0
  123. package/skills/cinematic-product-promo-skill/references/guided-free-creation.md +199 -0
  124. package/skills/cinematic-product-promo-skill/references/jianying-export.md +183 -0
  125. package/skills/cinematic-product-promo-skill/references/music-beat-sync.md +257 -0
  126. package/skills/cinematic-product-promo-skill/references/pipeline.md +393 -0
  127. package/skills/cinematic-product-promo-skill/references/sequences/promo-energy-arc.md +50 -0
  128. package/skills/cinematic-product-promo-skill/references/shots/ATTRIBUTION.md +65 -0
  129. package/skills/cinematic-product-promo-skill/references/shots/camera/basic-3d-scene.md +37 -0
  130. package/skills/cinematic-product-promo-skill/references/shots/camera/crash-zoom-punch.md +39 -0
  131. package/skills/cinematic-product-promo-skill/references/shots/camera/cursor-flyover.md +38 -0
  132. package/skills/cinematic-product-promo-skill/references/shots/camera/depth-layer-moves.md +40 -0
  133. package/skills/claude-gif/SKILL.md +211 -0
  134. package/skills/claude-gif/references/gif-optimization.md +209 -0
  135. package/skills/claude-gif/references/perfect-loops.md +295 -0
  136. package/skills/claude-gif/references/platform-specs.md +138 -0
  137. package/skills/claude-gif/references/prompt-engineering.md +211 -0
  138. package/skills/claude-gif/references/remotion-gif.md +560 -0
  139. package/skills/codex-video-pipeline/SKILL.md +213 -0
  140. package/skills/codex-video-pipeline/examples/ai-meeting-notes/INPUT.md +10 -0
  141. package/skills/codex-video-pipeline/examples/ai-meeting-notes/expected/action-list.md +22 -0
  142. package/skills/codex-video-pipeline/references/captions.md +39 -0
  143. package/skills/codex-video-pipeline/references/cover-system.md +72 -0
  144. package/skills/codex-video-pipeline/references/cross-platform.md +77 -0
  145. package/skills/codex-video-pipeline/references/example-run.md +54 -0
  146. package/skills/codex-video-pipeline/references/first-run.md +130 -0
  147. package/skills/codex-video-pipeline/references/project-contract.md +54 -0
  148. package/skills/codex-video-pipeline/references/quality-gates.md +44 -0
  149. package/skills/codex-video-pipeline/references/research-and-script.md +50 -0
  150. package/skills/collage-broll-explainers/SKILL.md +429 -0
  151. package/skills/create-onboarding-video/SKILL.md +233 -0
  152. package/skills/cs-shotcraft-skill/SKILL.md +218 -0
  153. package/skills/cs-shotcraft-skill/references/aesthetic-rules.md +207 -0
  154. package/skills/cs-shotcraft-skill/references/camera-table.md +88 -0
  155. package/skills/cs-shotcraft-skill/references/engineering.md +132 -0
  156. package/skills/cs-shotcraft-skill/references/final-review.md +118 -0
  157. package/skills/cs-shotcraft-skill/references/guided-free-creation.md +199 -0
  158. package/skills/cs-shotcraft-skill/references/jianying-export.md +183 -0
  159. package/skills/cs-shotcraft-skill/references/music-beat-sync.md +257 -0
  160. package/skills/cs-shotcraft-skill/references/pipeline.md +408 -0
  161. package/skills/cs-shotcraft-skill/references/product-machine.md +56 -0
  162. package/skills/cs-shotcraft-skill/references/sequences/promo-energy-arc.md +50 -0
  163. package/skills/cs-shotcraft-skill/references/shots/ATTRIBUTION.md +65 -0
  164. package/skills/cs-shotcraft-skill/references/shots/camera/basic-3d-scene.md +37 -0
  165. package/skills/cut-video/SKILL.md +387 -0
  166. package/skills/cyxj-hyperframes-overlay/SKILL.md +75 -0
  167. package/skills/cyxj-remotion-evolve/SKILL.md +123 -0
  168. package/skills/cyxj-remotion-evolve-vibe-motion/SKILL.md +123 -0
  169. package/skills/demo-video-creation-skill/SKILL.md +152 -0
  170. package/skills/demo-video-creation-skill/references/capture-workflow.md +74 -0
  171. package/skills/demo-video-creation-skill/references/qc-checklist.md +61 -0
  172. package/skills/demo-video-creation-skill/references/remotion-ffmpeg.md +94 -0
  173. package/skills/demo-video-creation-skill/references/storytelling.md +86 -0
  174. package/skills/demo-video-creation-skill/references/visual-system.md +83 -0
  175. package/skills/demoday/SKILL.md +148 -0
  176. package/skills/develop-premiere-pro-mcp/SKILL.md +131 -0
  177. package/skills/diagram-animation/SKILL.md +200 -0
  178. package/skills/diagram-animation/references/diagram-and-chart-recipes.md +218 -0
  179. package/skills/diagram-tour/SKILL.md +287 -0
  180. package/skills/diagram-tour/examples/agent-architecture/agent-architecture-tour.md +78 -0
  181. package/skills/docvideoer/SKILL.md +139 -0
  182. package/skills/draftcut/SKILL.md +104 -0
  183. package/skills/draftcut/docs/agent-bootstrap.md +64 -0
  184. package/skills/draftcut/docs/approvals.md +45 -0
  185. package/skills/draftcut/docs/audio-first-migration.md +35 -0
  186. package/skills/draftcut/docs/configuration.md +54 -0
  187. package/skills/draftcut/docs/getting-started.md +63 -0
  188. package/skills/draftcut/docs/harness-case-study.en.md +23 -0
  189. package/skills/draftcut/docs/harness-case-study.md +47 -0
  190. package/skills/draftcut/references/01-plan.md +30 -0
  191. package/skills/draftcut/references/03-deliver.md +26 -0
  192. package/skills/draftcut/references/04-reference-theme-prompt.md +7 -0
  193. package/skills/draftcut/references/05-social-loudness.md +58 -0
  194. package/skills/draftcut/references/06-modern-components.md +72 -0
  195. package/skills/easyedit/SKILL.md +66 -0
  196. package/skills/erduo-broll-loop-engineering/SKILL.md +136 -0
  197. package/skills/erduo-broll-loop-engineering/references/animation-craft.md +208 -0
  198. package/skills/erduo-broll-loop-engineering/references/first-run-onboarding.md +107 -0
  199. package/skills/erduo-broll-loop-engineering/references/handoff-template.md +70 -0
  200. package/skills/erduo-broll-loop-engineering/references/motion-layout-lint.md +122 -0
  201. package/skills/erduo-broll-loop-engineering/references/parent-review-checklist.md +171 -0
  202. package/skills/erduo-broll-loop-engineering/references/prompt-first-workflow.md +322 -0
  203. package/skills/erduo-broll-loop-engineering/references/remotion-backend.md +334 -0
  204. package/skills/erduo-broll-loop-engineering/references/runtime/remotion-hyperframes-map.md +76 -0
  205. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-contract.md +174 -0
  206. package/skills/erduo-broll-loop-engineering/references/runtime/runtime-selection.md +135 -0
  207. package/skills/erduo-broll-loop-engineering/references/shotcraft/remotion-sources/SOURCE.md +7 -0
  208. package/skills/erduo-broll-loop-engineering/references/shotcraft/upstream-attribution.md +65 -0
  209. package/skills/explainer-assets/SKILL.md +98 -0
  210. package/skills/explainer-video/SKILL.md +146 -0
  211. package/skills/framewright/SKILL.md +324 -0
  212. package/skills/framewright/references/audio.md +230 -0
  213. package/skills/framewright/references/guide.md +276 -0
  214. package/skills/framewright/references/painting.md +425 -0
  215. package/skills/framewright/references/photo.md +75 -0
  216. package/skills/framewright/references/questionnaire.md +115 -0
  217. package/skills/framewright/references/styles.md +388 -0
  218. package/skills/framewright/references/troubleshooting.md +119 -0
  219. package/skills/framewright/references/world.md +215 -0
  220. package/skills/gbro-collage-broll/SKILL.md +435 -0
  221. package/skills/gbro-collage-info/SKILL.md +135 -0
  222. package/skills/gbro-collage-info/references/motion-grammar.md +66 -0
  223. package/skills/gbro-collage-info/references/production.md +67 -0
  224. package/skills/gbro-collage-info/references/style-system.md +38 -0
  225. package/skills/gemini-tts/SKILL.md +208 -0
  226. package/skills/gemini-tts/references/prompting-guide.md +169 -0
  227. package/skills/gen/SKILL.md +282 -0
  228. package/skills/ghost-editor/SKILL.md +437 -0
  229. package/skills/ghost-editor/docs/HOW-IT-WORKS.md +82 -0
  230. package/skills/ghost-editor/docs/PLAYBOOK.md +139 -0
  231. package/skills/ghost-editor/docs/THIRD_PARTY/audio.md +17 -0
  232. package/skills/ghost-editor/docs/THIRD_PARTY/audioqa.md +13 -0
  233. package/skills/ghost-editor/docs/THIRD_PARTY/captions.md +20 -0
  234. package/skills/ghost-editor/docs/THIRD_PARTY/fonts.md +17 -0
  235. package/skills/ghost-editor/docs/THIRD_PARTY/kinetic.md +22 -0
  236. package/skills/ghost-editor/docs/THIRD_PARTY/looks.md +22 -0
  237. package/skills/ghost-editor/docs/THIRD_PARTY/matte.md +20 -0
  238. package/skills/ghost-editor/docs/THIRD_PARTY/models.md +11 -0
  239. package/skills/ghost-editor/docs/THIRD_PARTY/runtime.md +13 -0
  240. package/skills/ghost-editor/docs/THIRD_PARTY/shaders.md +15 -0
  241. package/skills/git-story-film/SKILL.md +220 -0
  242. package/skills/git-story-film/examples/raven-story/FONTS.md +8 -0
  243. package/skills/git-story-film/examples/raven-story/OUTLINE.md +93 -0
  244. package/skills/git-story-film/references/craft.md +148 -0
  245. package/skills/git-story-film/references/directing.md +185 -0
  246. package/skills/git-story-film/references/forms.md +150 -0
  247. package/skills/git-story-film/references/production.md +150 -0
  248. package/skills/git-story-film/references/story.md +137 -0
  249. package/skills/git-story-film/references/text-and-fonts.md +90 -0
  250. package/skills/guizang-product-video-skill/SKILL.md +96 -0
  251. package/skills/guizang-product-video-skill/references/audio-and-qa.md +113 -0
  252. package/skills/guizang-product-video-skill/references/audio-sourcing.md +80 -0
  253. package/skills/guizang-product-video-skill/references/case-study.md +63 -0
  254. package/skills/guizang-product-video-skill/references/component-pipeline.md +86 -0
  255. package/skills/guizang-product-video-skill/references/cover.md +43 -0
  256. package/skills/guizang-product-video-skill/references/direction.md +91 -0
  257. package/skills/guizang-product-video-skill/references/onboarding.md +98 -0
  258. package/skills/guizang-product-video-skill/references/repo-and-style.md +44 -0
  259. package/skills/guizang-product-video-skill/references/review.md +38 -0
  260. package/skills/guizang-product-video-skill/references/starter.md +168 -0
  261. package/skills/guizang-product-video-skill/references/story-and-copy.md +88 -0
  262. package/skills/guizang-product-video-skill/references/visual-vocabulary.md +78 -0
  263. package/skills/guofeng-paper-video/SKILL.md +159 -0
  264. package/skills/guofeng-paper-video/style/design.md +43 -0
  265. package/skills/guofeng-paper-video/style/palette.md +21 -0
  266. package/skills/guofeng-paper-video/style/prompts/01-/345/210/206/351/225/234/350/241/250.md +19 -0
  267. package/skills/guofeng-paper-video/style/prompts/02-/347/224/237/346/210/220/347/272/270/347/211/207.md +37 -0
  268. package/skills/guofeng-paper-video/style/prompts/03-/351/205/215/351/237/263/350/204/232/346/234/254.md +27 -0
  269. package/skills/guofeng-paper-video/style//345/210/206/351/225/234/344/270/216/345/233/276/345/261/202/350/247/204/350/214/203.md +67 -0
  270. package/skills/guofeng-paper-video/style//347/272/270/347/211/207/347/264/240/346/235/220/350/247/204/350/214/203.md +29 -0
  271. package/skills/hand-drawn-explainer-video-nikola/SKILL.md +113 -0
  272. package/skills/hand-drawn-explainer-video-nikola/docs/ARCHITECTURE.md +18 -0
  273. package/skills/hand-drawn-explainer-video-nikola/docs/CONFIGURATION.md +22 -0
  274. package/skills/hand-drawn-explainer-video-nikola/docs/STYLES.md +28 -0
  275. package/skills/hand-drawn-explainer-video-nikola/docs/TROUBLESHOOTING.md +35 -0
  276. package/skills/hand-drawn-explainer-video-nikola/examples/program-animation/skill-demo/DESIGN.md +24 -0
  277. package/skills/hand-drawn-explainer-video-nikola/references/automation-workflow.md +67 -0
  278. package/skills/hand-drawn-explainer-video-nikola/references/output-example.md +79 -0
  279. package/skills/hand-drawn-explainer-video-nikola/references/preflight-and-recovery.md +49 -0
  280. package/skills/hand-drawn-explainer-video-nikola/references/style-guide.md +82 -0
  281. package/skills/hand-drawn-explainer-video-nikola/references/style-selection-and-updates.md +39 -0
  282. package/skills/hand-drawn-explainer-video-nikola/references/upstream-whiteboard-review.md +30 -0
  283. package/skills/hand-drawn-explainer-video-nikola/references/voiceover.md +37 -0
  284. package/skills/hbg-life-simulation/SKILL.md +285 -0
  285. package/skills/hbg-life-simulation/references/image-generation.md +53 -0
  286. package/skills/hbg-life-simulation/references/local-account-api.md +112 -0
  287. package/skills/hbg-life-simulation/references/opening-system.md +45 -0
  288. package/skills/hbg-life-simulation/references/project-spec.md +62 -0
  289. package/skills/hbg-life-simulation/references/render-and-qa.md +107 -0
  290. package/skills/hbg-life-simulation/references/storyboarding.md +69 -0
  291. package/skills/hbg-life-simulation/references/style-system.md +80 -0
  292. package/skills/hbg-life-simulation/references/visual-system.md +44 -0
  293. package/skills/heygen-avatar/SKILL.md +489 -0
  294. package/skills/heygen-avatar/references/asset-routing.md +86 -0
  295. package/skills/heygen-avatar/references/avatar-creation.md +181 -0
  296. package/skills/heygen-avatar/references/troubleshooting.md +137 -0
  297. package/skills/heytea-doodle-poster/SKILL.md +132 -0
  298. package/skills/heytea-doodle-poster/references/desktop-pet-character-modes.md +103 -0
  299. package/skills/heytea-doodle-poster/references/desktop-pet-environment.md +122 -0
  300. package/skills/heytea-doodle-poster/references/desktop-pet-pack.md +106 -0
  301. package/skills/heytea-doodle-poster/references/desktop-pet-workflow.md +264 -0
  302. package/skills/heytea-doodle-poster/references/evaluation.md +246 -0
  303. package/skills/heytea-doodle-poster/references/lettering-guide.md +213 -0
  304. package/skills/heytea-doodle-poster/references/mixed-media-style-guide.md +101 -0
  305. package/skills/heytea-doodle-poster/references/monster-poster-workflow.md +56 -0
  306. package/skills/heytea-doodle-poster/references/style-guide.md +412 -0
  307. package/skills/heytea-doodle-poster-hosted/SKILL.md +132 -0
  308. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-character-modes.md +103 -0
  309. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-environment.md +122 -0
  310. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-pack.md +106 -0
  311. package/skills/heytea-doodle-poster-hosted/references/desktop-pet-workflow.md +264 -0
  312. package/skills/heytea-doodle-poster-hosted/references/evaluation.md +246 -0
  313. package/skills/heytea-doodle-poster-hosted/references/lettering-guide.md +213 -0
  314. package/skills/heytea-doodle-poster-hosted/references/mixed-media-style-guide.md +101 -0
  315. package/skills/heytea-doodle-poster-hosted/references/monster-poster-workflow.md +56 -0
  316. package/skills/heytea-doodle-poster-hosted/references/style-guide.md +412 -0
  317. package/skills/html2video/SKILL.md +290 -0
  318. package/skills/html2video/references/cjk-type.md +173 -0
  319. package/skills/html2video/references/editorial.md +145 -0
  320. package/skills/html2video/references/narration.md +111 -0
  321. package/skills/html2video/references/pitfalls.md +238 -0
  322. package/skills/html2video/references/shots.md +198 -0
  323. package/skills/html2video/references/storyboard.md +323 -0
  324. package/skills/hyperdirector/SKILL.md +202 -0
  325. package/skills/hyperdirector/docs/audio-workflow.md +160 -0
  326. package/skills/hyperdirector/docs/audio-workflow.zh-CN.md +244 -0
  327. package/skills/hyperdirector/docs/brand-kit-setup.md +322 -0
  328. package/skills/hyperdirector/docs/brand-kit-setup.zh-CN.md +277 -0
  329. package/skills/hyperdirector/docs/cursor-development-notes.md +474 -0
  330. package/skills/hyperdirector/docs/faq.md +285 -0
  331. package/skills/hyperdirector/docs/faq.zh-CN.md +198 -0
  332. package/skills/hyperdirector/docs/first-video.md +320 -0
  333. package/skills/hyperdirector/docs/first-video.zh-CN.md +265 -0
  334. package/skills/hyperdirector/docs/installation.md +254 -0
  335. package/skills/hyperdirector/docs/installation.zh-CN.md +222 -0
  336. package/skills/hyperdirector/docs/quickstart.md +203 -0
  337. package/skills/hyperframes/SKILL.md +117 -0
  338. package/skills/hyperframes/references/captions.md +46 -0
  339. package/skills/hyperframes/references/film.md +48 -0
  340. package/skills/hyperframes/references/format.md +158 -0
  341. package/skills/hyperframes/references/look.md +69 -0
  342. package/skills/hyperframes/references/motion.md +95 -0
  343. package/skills/hyperframes/references/overlays.md +39 -0
  344. package/skills/hyperframes/references/review.md +51 -0
  345. package/skills/hyperframes/references/runtimes.md +69 -0
  346. package/skills/hyperframes/references/skill-lifecycle.md +49 -0
  347. package/skills/hyperframes/references/sound.md +43 -0
  348. package/skills/hyperframes/references/spec.md +76 -0
  349. package/skills/hyperframes/references/story.md +103 -0
  350. package/skills/hyperframes-motion-director/SKILL.md +920 -0
  351. package/skills/hyperframes-motion-director/references/asset-choreography-and-render-qa.md +185 -0
  352. package/skills/hyperframes-motion-director/references/audio-sync.md +83 -0
  353. package/skills/hyperframes-motion-director/references/design-engineering.md +156 -0
  354. package/skills/hyperframes-motion-director/references/gsap-choreography.md +202 -0
  355. package/skills/hyperframes-motion-director/references/hyperframes-stability.md +99 -0
  356. package/skills/hyperframes-motion-director/references/imagegen-asset-pipeline.md +227 -0
  357. package/skills/hyperframes-motion-director/references/motion-background-system.md +165 -0
  358. package/skills/hyperframes-motion-director/references/motion-craft.md +182 -0
  359. package/skills/hyperframes-motion-director/references/premium-product-promo.md +287 -0
  360. package/skills/hyperframes-motion-director/references/text-over-background-layout.md +221 -0
  361. package/skills/hyperframes-motion-director/references/visual-standard.md +174 -0
  362. package/skills/hyperframes-motion-director/references/workflow.md +320 -0
  363. package/skills/hypit/SKILL.md +367 -0
  364. package/skills/hypit/references/creation/brief.md +93 -0
  365. package/skills/hypit/references/creation/script-and-time.md +259 -0
  366. package/skills/hypit/references/creation/transformations.md +143 -0
  367. package/skills/hypit/references/playbooks/craft/b-roll.md +94 -0
  368. package/skills/hypit/references/playbooks/craft/caption-tracking.md +126 -0
  369. package/skills/hypit/references/playbooks/craft/captions.md +253 -0
  370. package/skills/hypit/references/playbooks/craft/generated-dependencies.md +38 -0
  371. package/skills/hypit/references/playbooks/craft/graphic-compositions.md +85 -0
  372. package/skills/hypit/references/playbooks/craft/motion-graphics.md +68 -0
  373. package/skills/hypit/references/playbooks/craft/screen-demonstrations.md +51 -0
  374. package/skills/hypit/references/playbooks/craft/sound-mix.md +70 -0
  375. package/skills/hypit/references/playbooks/formats/narration-led-demo.md +87 -0
  376. package/skills/image/SKILL.md +153 -0
  377. package/skills/image/references/characters.md +86 -0
  378. package/skills/image/references/creative-direction.md +137 -0
  379. package/skills/image/references/de-slop.md +95 -0
  380. package/skills/image/references/dimensional.md +88 -0
  381. package/skills/image/references/editing.md +112 -0
  382. package/skills/image/references/golden-rules.md +198 -0
  383. package/skills/image/references/gpt-image.md +228 -0
  384. package/skills/image/references/models.md +78 -0
  385. package/skills/image/references/multi-panel.md +354 -0
  386. package/skills/image/references/nano-banana.md +150 -0
  387. package/skills/image/references/patterns/character-design.md +150 -0
  388. package/skills/image/references/patterns/ecommerce.md +124 -0
  389. package/skills/image-smixs/SKILL.md +153 -0
  390. package/skills/image-smixs/references/characters.md +86 -0
  391. package/skills/image-smixs/references/creative-direction.md +137 -0
  392. package/skills/image-smixs/references/de-slop.md +95 -0
  393. package/skills/image-smixs/references/dimensional.md +88 -0
  394. package/skills/image-smixs/references/editing.md +112 -0
  395. package/skills/image-smixs/references/golden-rules.md +198 -0
  396. package/skills/image-smixs/references/gpt-image.md +228 -0
  397. package/skills/image-smixs/references/models.md +78 -0
  398. package/skills/image-smixs/references/multi-panel.md +354 -0
  399. package/skills/image-smixs/references/nano-banana.md +150 -0
  400. package/skills/image-smixs/references/patterns/character-design.md +150 -0
  401. package/skills/image-smixs/references/patterns/ecommerce.md +124 -0
  402. package/skills/image-story-video-wizard/SKILL.md +148 -0
  403. package/skills/image-story-video-wizard/docs/ARTICLE_ALIGNMENT.md +29 -0
  404. package/skills/image-story-video-wizard/references/host-routing.md +44 -0
  405. package/skills/image-story-video-wizard/references/state-schema.md +79 -0
  406. package/skills/image-story-video-wizard/references/workflow.md +203 -0
  407. package/skills/image-story-video-wizard/references/writing-and-review.md +60 -0
  408. package/skills/ip-as-logo/SKILL.md +151 -0
  409. package/skills/ip-as-logo-s1dashu/SKILL.md +151 -0
  410. package/skills/jtxvideo-skill/SKILL.md +337 -0
  411. package/skills/kinetic-reel/SKILL.md +140 -0
  412. package/skills/kinetic-reel/examples/work-reel-26/STORYBOARD.md +51 -0
  413. package/skills/kinetic-reel/references/sound.md +40 -0
  414. package/skills/kinetic-reel/references/style-guide.md +79 -0
  415. package/skills/knowledge-explainer-skill/SKILL.md +149 -0
  416. package/skills/knowledge-explainer-skill/examples/ai_video_3steps.md +61 -0
  417. package/skills/knowledge-explainer-skill/examples/algorithm_bubble.md +20 -0
  418. package/skills/knowledge-explainer-skill/examples/before_after_demo.md +38 -0
  419. package/skills/knowledge-explainer-skill/examples/cta_outro.md +11 -0
  420. package/skills/knowledge-explainer-skill/examples/double_pendulum.md +20 -0
  421. package/skills/knowledge-explainer-skill/examples/paper_fold.md +20 -0
  422. package/skills/knowledge-explainer-skill/examples/script.md +40 -0
  423. package/skills/lanshu-create-ai-presenter-video/SKILL.md +253 -0
  424. package/skills/lanshu-create-ai-presenter-video/references/editing.md +67 -0
  425. package/skills/lanshu-create-ai-presenter-video/references/generation.md +94 -0
  426. package/skills/lanshu-create-ai-presenter-video/references/qa-recovery.md +83 -0
  427. package/skills/lanshu-create-ai-presenter-video/references/styled-explainer.md +189 -0
  428. package/skills/laoxu-video-script/SKILL.md +117 -0
  429. package/skills/laoxu-video-script/references/cases.md +305 -0
  430. package/skills/laoxu-video-script/references/de-ai.md +32 -0
  431. package/skills/laoxu-video-script/references/diagnostics.md +67 -0
  432. package/skills/laoxu-video-script/references/format.md +62 -0
  433. package/skills/laoxu-video-script/references/formulas.md +43 -0
  434. package/skills/laoxu-video-script/references/method.md +115 -0
  435. package/skills/laoxu-video-script/references/motifs-and-lines.md +829 -0
  436. package/skills/laoxu-video-script/references/persona.md +38 -0
  437. package/skills/laoxu-video-script/references/qihao-path.md +35 -0
  438. package/skills/laoxu-video-script/references/qihao-xinfa.md +39 -0
  439. package/skills/laoxu-video-script/references/redlines.md +26 -0
  440. package/skills/lemo-opuscar/SKILL.md +67 -0
  441. package/skills/lipnardo/SKILL.md +308 -0
  442. package/skills/lipnardo/examples/batch-personalized.md +44 -0
  443. package/skills/lipnardo/examples/photo-to-avatar-pipeline.md +56 -0
  444. package/skills/lipnardo/examples/single-video.md +44 -0
  445. package/skills/lipnardo/references/avatar-types.md +42 -0
  446. package/skills/lipnardo/references/credit-costs.md +39 -0
  447. package/skills/lipnardo/references/error-codes.md +66 -0
  448. package/skills/lipnardo/references/heygen-api-reference.md +416 -0
  449. package/skills/ll-video-decomposer/SKILL.md +105 -0
  450. package/skills/ll-video-decomposer/references/audiovisual-analysis-guide.md +44 -0
  451. package/skills/ll-video-decomposer/references/evidence-and-confidence-rules.md +41 -0
  452. package/skills/ll-video-decomposer/references/multi-video-comparison-template.md +48 -0
  453. package/skills/ll-video-decomposer/references/single-video-report-template.md +47 -0
  454. package/skills/ll-video-decomposer/references/tool-discovery-workflow.md +30 -0
  455. package/skills/ll-video-decomposer/references/transcription-routing.md +65 -0
  456. package/skills/ll-video-decomposer/references/video-acquisition-workflow.md +30 -0
  457. package/skills/ltx2-video/SKILL.md +193 -0
  458. package/skills/ltx2-video/references/mode_ux.md +293 -0
  459. package/skills/make-ai-short/SKILL.md +130 -0
  460. package/skills/make-blender-education-video/SKILL.md +247 -0
  461. package/skills/make-blender-education-video/references/evidence-and-explanation.md +62 -0
  462. package/skills/make-blender-education-video/references/github-workflow-discovery.md +55 -0
  463. package/skills/make-blender-education-video/references/production-workflow.md +62 -0
  464. package/skills/make-blender-education-video/references/story-patterns.md +65 -0
  465. package/skills/make-blender-education-video/references/visual-quality.md +82 -0
  466. package/skills/manage-storyboard-projects/SKILL.md +128 -0
  467. package/skills/manim-composer/SKILL.md +176 -0
  468. package/skills/manim-composer/references/narrative-patterns.md +125 -0
  469. package/skills/manim-composer/references/scene-examples.md +216 -0
  470. package/skills/manim-composer/references/visual-techniques.md +223 -0
  471. package/skills/manim-composer/templates/scenes-template.md +147 -0
  472. package/skills/monet-ai-editor-monet/SKILL.md +367 -0
  473. package/skills/motion-graphics/SKILL.md +206 -0
  474. package/skills/motion-graphics/references/craft.md +136 -0
  475. package/skills/motion-graphics/references/engine.md +130 -0
  476. package/skills/motion-graphics/references/export.md +67 -0
  477. package/skills/motion-graphics/references/physics.md +100 -0
  478. package/skills/motion-graphics/references/verify.md +124 -0
  479. package/skills/motion-video/SKILL.md +133 -0
  480. package/skills/motion-video/references/audio-and-beat-sync.md +109 -0
  481. package/skills/motion-video/references/composition-contract.md +107 -0
  482. package/skills/motion-video/references/production-pipeline.md +147 -0
  483. package/skills/motion-video/references/style-comic-spiderverse.md +87 -0
  484. package/skills/motion-video/references/style-glass-keynote.md +69 -0
  485. package/skills/motion-video-maker/SKILL.md +1452 -0
  486. package/skills/motion-video-maker/reference/components.md +451 -0
  487. package/skills/motion-video-maker/reference/workflow.md +190 -0
  488. package/skills/motioncraft/SKILL.md +221 -0
  489. package/skills/motioncraft/references/animation-system.md +57 -0
  490. package/skills/motioncraft/references/assets-and-licensing.md +21 -0
  491. package/skills/motioncraft/references/customization.md +52 -0
  492. package/skills/motioncraft/references/gpu-cloud-render.md +15 -0
  493. package/skills/motioncraft/references/music.md +43 -0
  494. package/skills/motioncraft/references/phase1-planning-and-preview.md +74 -0
  495. package/skills/motioncraft/references/phase2-timeline-audio.md +33 -0
  496. package/skills/motioncraft/references/phase3-pixel-review.md +13 -0
  497. package/skills/motioncraft/references/phase4-templates.md +30 -0
  498. package/skills/motioncraft/references/preflight.md +27 -0
  499. package/skills/motioncraft/references/qa.md +53 -0
  500. package/skills/motioncraft/references/reference-analysis.md +37 -0
  501. package/skills/narrator-ai-cli/SKILL.md +256 -0
  502. package/skills/narrator-ai-cli/references/magic-video.md +205 -0
  503. package/skills/narrator-ai-cli/references/operations.md +230 -0
  504. package/skills/narrator-ai-cli/references/resources.md +126 -0
  505. package/skills/narrator-ai-cli/references/workflows.md +332 -0
  506. package/skills/newcut-video-clipping/SKILL.md +194 -0
  507. package/skills/newcut-video-clipping/references/examples.md +59 -0
  508. package/skills/newcut-video-clipping/references/provider-config.md +110 -0
  509. package/skills/newcut-video-clipping/references/quality-check.md +35 -0
  510. package/skills/newcut-video-clipping/references/semantic-plan.md +65 -0
  511. package/skills/notes-to-video/SKILL.md +476 -0
  512. package/skills/openchatcut/SKILL.md +100 -0
  513. package/skills/openchatcut/references/editing-workflow.md +54 -0
  514. package/skills/openchatcut/references/getting-started.md +106 -0
  515. package/skills/openchatcut/references/known-errors.md +62 -0
  516. package/skills/openstoryline-install/SKILL.md +228 -0
  517. package/skills/orca-motion/SKILL.md +100 -0
  518. package/skills/orca-motion/references/api.md +100 -0
  519. package/skills/orca-motion/references/integration.md +59 -0
  520. package/skills/orca-motion/references/kinetic-type.md +59 -0
  521. package/skills/orca-motion/references/principles.md +76 -0
  522. package/skills/package-talking-head-video/SKILL.md +90 -0
  523. package/skills/package-talking-head-video/docs/EXAMPLES.md +18 -0
  524. package/skills/package-talking-head-video/docs/TROUBLESHOOTING.md +29 -0
  525. package/skills/package-talking-head-video/docs/USAGE.md +83 -0
  526. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-multicolor-center-speaker.md +144 -0
  527. package/skills/package-talking-head-video/docs/superpowers/plans/2026-08-08-semantic-template-system-v2.md +1099 -0
  528. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-multicolor-center-speaker-design.md +154 -0
  529. package/skills/package-talking-head-video/docs/superpowers/specs/2026-08-08-semantic-template-system-v2-design.md +365 -0
  530. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_A.md +56 -0
  531. package/skills/package-talking-head-video/examples/auto-editing-0/GATE_D.md +8 -0
  532. package/skills/package-talking-head-video/examples/auto-editing-0/QA_REPORT.md +34 -0
  533. package/skills/package-talking-head-video/references/director-rules.md +29 -0
  534. package/skills/package-talking-head-video/references/motion-and-illustration.md +25 -0
  535. package/skills/paper-cut/SKILL.md +164 -0
  536. package/skills/paper-cut/references/asset-spec.md +47 -0
  537. package/skills/paper-cut/references/audio-and-chatcut.md +26 -0
  538. package/skills/paper-cut/references/hyperframes-assembly.md +47 -0
  539. package/skills/paper-cut/references/image-led-production.md +65 -0
  540. package/skills/paper-cut/references/storyboard-schema.md +48 -0
  541. package/skills/paper-cut/references/workflow.md +39 -0
  542. package/skills/personal-ip-brand-intro/SKILL.md +216 -0
  543. package/skills/personal-ip-brand-intro/references/intake-schema.md +79 -0
  544. package/skills/personal-ip-brand-intro/references/music-upload-workflow.md +40 -0
  545. package/skills/personal-ip-brand-intro/references/originality-rules.md +42 -0
  546. package/skills/personal-ip-brand-intro/references/qa-checklist.md +60 -0
  547. package/skills/personal-ip-brand-intro/references/rhythm-routing.md +41 -0
  548. package/skills/personal-ip-brand-intro/references/storyboard-contract.md +42 -0
  549. package/skills/pixel2motion/SKILL.md +279 -0
  550. package/skills/pixel2motion/references/html-delivery-template.md +42 -0
  551. package/skills/pixel2motion/references/motion-personality.md +109 -0
  552. package/skills/pixel2motion/references/reveal-patterns.md +163 -0
  553. package/skills/pixel2motion/references/ribbon-fitting.md +90 -0
  554. package/skills/pixel2motion/references/twelve-principles-for-logos.md +116 -0
  555. package/skills/premiere-batch-delivery/SKILL.md +71 -0
  556. package/skills/premiere-pro-mcp/SKILL.md +161 -0
  557. package/skills/promo-creator-skills/SKILL.md +209 -0
  558. package/skills/promo-creator-skills/references/mureka_prompt_guide.md +251 -0
  559. package/skills/promo-creator-skills/references/product_promo_bgm_prompting.md +100 -0
  560. package/skills/promo-video/SKILL.md +408 -0
  561. package/skills/qisi-video-remix/SKILL.md +134 -0
  562. package/skills/qisi-video-remix/examples/creative-plan.md +133 -0
  563. package/skills/qisi-video-remix/references/delivery-guide.md +63 -0
  564. package/skills/reel-video/SKILL.md +237 -0
  565. package/skills/remotion-ad-video/SKILL.md +252 -0
  566. package/skills/remotion-ad-video/references/ad-aesthetic-qa.md +60 -0
  567. package/skills/remotion-ad-video/references/ad-brief-contract.md +235 -0
  568. package/skills/remotion-ad-video/references/ad-exemplars.md +186 -0
  569. package/skills/remotion-ad-video/references/ad-intake.md +54 -0
  570. package/skills/remotion-ad-video/references/asset-harvest.md +56 -0
  571. package/skills/remotion-ad-video/references/audio-caption-system.md +202 -0
  572. package/skills/remotion-ad-video/references/concept-contract.md +128 -0
  573. package/skills/remotion-ad-video/references/creative-direction.md +146 -0
  574. package/skills/remotion-ad-video/references/fast-test-workflow.md +86 -0
  575. package/skills/remotion-ad-video/references/game-ad-patterns.md +75 -0
  576. package/skills/remotion-ad-video/references/hyperframes-output.md +90 -0
  577. package/skills/remotion-ad-video/references/industry-angle-library.md +71 -0
  578. package/skills/remotion-ads/SKILL.md +278 -0
  579. package/skills/remotion-ads/references/ad-copywriting.md +229 -0
  580. package/skills/remotion-ads/references/animations.md +693 -0
  581. package/skills/remotion-ads/references/brand-config-template.md +355 -0
  582. package/skills/remotion-ads/references/captions.md +529 -0
  583. package/skills/remotion-ads/references/carousels.md +580 -0
  584. package/skills/remotion-ads/references/components.md +897 -0
  585. package/skills/remotion-ads/references/copy-frameworks.md +144 -0
  586. package/skills/remotion-ads/references/formats.md +436 -0
  587. package/skills/remotion-ads/references/gemini-tts.md +473 -0
  588. package/skills/remotion-ads/references/html-in-canvas.md +555 -0
  589. package/skills/remotion-ads/references/local-assets.md +543 -0
  590. package/skills/remotion-ads/references/music.md +656 -0
  591. package/skills/remotion-code-motion-explainer/SKILL.md +178 -0
  592. package/skills/remotion-code-motion-explainer/references/code-motion-design.md +86 -0
  593. package/skills/remotion-code-motion-explainer/references/motion-production-patterns.md +93 -0
  594. package/skills/remotion-code-motion-explainer/references/production-and-qc.md +99 -0
  595. package/skills/remotion-code-motion-explainer/references/reference-reconstruction.md +48 -0
  596. package/skills/remotion-code-motion-explainer/references/ui-motion-shot-library.md +62 -0
  597. package/skills/remotion-motion-graphics/SKILL.md +169 -0
  598. package/skills/remotion-motion-graphics/references/patterns.md +355 -0
  599. package/skills/remotion-motion-graphics/references/polish.md +102 -0
  600. package/skills/remotion-motion-graphics/references/scaffold.md +144 -0
  601. package/skills/remotion-motion-graphics/references/traps.md +152 -0
  602. package/skills/remotion-resemble-ai/SKILL.md +879 -0
  603. package/skills/remotion-resemble-ai/rules/resemble-captions.md +350 -0
  604. package/skills/remotion-resemble-ai/rules/resemble-remotion-integration.md +305 -0
  605. package/skills/remotion-resemble-ai/rules/resemble-setup.md +284 -0
  606. package/skills/remotion-resemble-ai/rules/resemble-streaming-tts.md +225 -0
  607. package/skills/remotion-resemble-ai/rules/resemble-sync-tts.md +239 -0
  608. package/skills/remotion-resemble-ai/rules/resemble-voices.md +213 -0
  609. package/skills/remotion-resemble-ai/rules/visual-animations.md +567 -0
  610. package/skills/riffkit/SKILL.md +196 -0
  611. package/skills/riffkit/examples/any-look-styles.md +11 -0
  612. package/skills/riffkit/examples/faceless-and-auto.md +16 -0
  613. package/skills/riffkit/examples/localize-spanish.md +18 -0
  614. package/skills/riffkit/examples/tiktok-shop-product.md +22 -0
  615. package/skills/riffkit/references/anchor.md +62 -0
  616. package/skills/riffkit/references/api.md +806 -0
  617. package/skills/riffkit/references/details.md +153 -0
  618. package/skills/riffkit/references/errors.md +69 -0
  619. package/skills/riffkit/references/intents.md +29 -0
  620. package/skills/saas-motion-video/SKILL.md +71 -0
  621. package/skills/script-to-video/SKILL.md +2627 -0
  622. package/skills/shorts/SKILL.md +372 -0
  623. package/skills/shorts/references/caption-styles.md +105 -0
  624. package/skills/shorts/references/platform-specs.md +149 -0
  625. package/skills/shorts/references/remotion-patterns.md +180 -0
  626. package/skills/shorts/references/scoring-rubric.md +106 -0
  627. package/skills/smart-video-editor/SKILL.md +327 -0
  628. package/skills/smart-video-editor/docs/FONTS.md +57 -0
  629. package/skills/story-telling/SKILL.md +222 -0
  630. package/skills/story-telling/rules/composition.md +130 -0
  631. package/skills/story-telling/rules/images.md +119 -0
  632. package/skills/story-telling/rules/models.md +98 -0
  633. package/skills/story-telling/rules/narration.md +87 -0
  634. package/skills/story-telling/rules/pitfalls.md +140 -0
  635. package/skills/story-telling/rules/story-formats.md +108 -0
  636. package/skills/story-telling/rules/story-json.md +143 -0
  637. package/skills/story-telling/rules/voices.md +114 -0
  638. package/skills/story-telling/rules/workflow.md +105 -0
  639. package/skills/story-to-handdrawn-video/SKILL.md +216 -0
  640. package/skills/story-to-handdrawn-video/references/asset-workflow.md +24 -0
  641. package/skills/story-to-handdrawn-video/references/reference-style-workflow.md +27 -0
  642. package/skills/su-card-to-video/SKILL.md +103 -0
  643. package/skills/talking-head-video-pipeline/SKILL.md +224 -0
  644. package/skills/talking-head-video-pipeline/examples/prompts.md +217 -0
  645. package/skills/talking-head-video-pipeline/references/asr-adapters.md +51 -0
  646. package/skills/talking-head-video-pipeline/references/caption-workflow.md +53 -0
  647. package/skills/talking-head-video-pipeline/references/export-recipes.md +78 -0
  648. package/skills/talking-head-video-pipeline/references/layout-safety.md +49 -0
  649. package/skills/talking-head-video-pipeline/references/video-use-integration.md +71 -0
  650. package/skills/talking-head-video-pipeline/references/workflows/captions.md +52 -0
  651. package/skills/talking-head-video-pipeline/references/workflows/design.md +77 -0
  652. package/skills/talking-head-video-pipeline/references/workflows/doctor.md +51 -0
  653. package/skills/talking-head-video-pipeline/references/workflows/export.md +50 -0
  654. package/skills/talking-head-video-pipeline/references/workflows/init.md +51 -0
  655. package/skills/talking-head-video-pipeline/references/workflows/learn.md +36 -0
  656. package/skills/text-to-lottie/SKILL.md +202 -0
  657. package/skills/text-to-lottie/references/chapterization-transition-grammar.md +132 -0
  658. package/skills/text-to-lottie/references/design-taste.md +292 -0
  659. package/skills/text-to-lottie/references/lottie-spec-map.md +82 -0
  660. package/skills/text-to-lottie/references/motion-taste.md +260 -0
  661. package/skills/text-to-lottie/references/player-contract.md +325 -0
  662. package/skills/text-to-lottie/references/recipe-camera-scene-motion.md +65 -0
  663. package/skills/text-to-lottie/references/recipe-data-stats.md +104 -0
  664. package/skills/text-to-lottie/references/recipe-diagram-technical.md +106 -0
  665. package/skills/text-to-lottie/references/recipe-loaders-icons.md +70 -0
  666. package/skills/text-to-lottie/references/recipe-logo.md +72 -0
  667. package/skills/text-to-lottie/references/recipe-lower-thirds.md +62 -0
  668. package/skills/text-to-lottie/references/recipe-product-promo.md +99 -0
  669. package/skills/ultrademo/SKILL.md +212 -0
  670. package/skills/video-assemble/SKILL.md +101 -0
  671. package/skills/video-assemble-zenstory-ai/SKILL.md +153 -0
  672. package/skills/video-assemble-zenstory-ai/references/audio-modes.md +63 -0
  673. package/skills/video-assemble-zenstory-ai/references/explicit-audio-mix.md +77 -0
  674. package/skills/video-assemble-zenstory-ai/references/jianying/SOURCE.md +14 -0
  675. package/skills/video-assemble-zenstory-ai/references/narration-adoption.md +103 -0
  676. package/skills/video-assemble-zenstory-ai/references/packaging.md +44 -0
  677. package/skills/video-assemble-zenstory-ai/references/source-score.md +146 -0
  678. package/skills/video-assemble-zenstory-ai/references/subtitle-track.md +202 -0
  679. package/skills/video-editing/SKILL.md +688 -0
  680. package/skills/video-explainer/SKILL.md +163 -0
  681. package/skills/video-explainer/references/brief-to-script.md +56 -0
  682. package/skills/video-explainer/references/errors-and-privacy.md +18 -0
  683. package/skills/video-explainer/references/motion-storyboard.md +82 -0
  684. package/skills/video-explainer/references/render-and-verify.md +62 -0
  685. package/skills/video-explainer/references/review-gate.md +82 -0
  686. package/skills/video-explainer/references/setup-and-doctor.md +33 -0
  687. package/skills/video-script-builder/SKILL.md +329 -0
  688. package/skills/video-script-builder/examples/quick-start-transcript.md +19 -0
  689. package/skills/video-script-builder/references/audio-workflow.md +84 -0
  690. package/skills/video-script-builder/references/caption-components.md +70 -0
  691. package/skills/video-script-builder/references/common-pitfalls.md +80 -0
  692. package/skills/video-script-builder/references/component-catalog.md +197 -0
  693. package/skills/video-script-builder/references/component-recipes.md +165 -0
  694. package/skills/video-script-builder/references/gsap-patterns.md +112 -0
  695. package/skills/video-script-builder/references/pacing-rules.md +78 -0
  696. package/skills/video-script-builder/references/quality-checklist.md +98 -0
  697. package/skills/video-script-builder/references/remotion-patterns.md +211 -0
  698. package/skills/video-script-builder/references/shader-transitions.md +115 -0
  699. package/skills/video-script-builder/references/taste-principles.md +160 -0
  700. package/skills/video-scrub/SKILL.md +216 -0
  701. package/skills/video-scrub/references/profiles.md +89 -0
  702. package/skills/video-scrub/references/residue-map.md +204 -0
  703. package/skills/video-short-maker/SKILL.md +182 -0
  704. package/skills/video-shot-analysis-feishu/SKILL.md +173 -0
  705. package/skills/video-shotcraft/SKILL.md +267 -0
  706. package/skills/video-shotcraft/docs/deepseek-harness.md +69 -0
  707. package/skills/video-shotcraft/references/aesthetic-rules.md +177 -0
  708. package/skills/video-shotcraft/references/final-review.md +112 -0
  709. package/skills/video-shotcraft/references/guided-free-creation.md +199 -0
  710. package/skills/video-shotcraft/references/jianying-export.md +182 -0
  711. package/skills/video-shotcraft/references/music-beat-sync.md +219 -0
  712. package/skills/video-shotcraft/references/pipeline.md +390 -0
  713. package/skills/video-shotcraft/references/sequences/promo-energy-arc.md +50 -0
  714. package/skills/video-shotcraft/references/shots/ATTRIBUTION.md +65 -0
  715. package/skills/video-shotcraft/references/shots/camera/basic-3d-scene.md +37 -0
  716. package/skills/video-shotcraft/references/shots/camera/crash-zoom-punch.md +39 -0
  717. package/skills/video-shotcraft/references/shots/camera/cursor-flyover.md +38 -0
  718. package/skills/video-shotcraft-vincentwei10/SKILL.md +316 -0
  719. package/skills/video-shotcraft-vincentwei10/references/aesthetic-rules.md +187 -0
  720. package/skills/video-shotcraft-vincentwei10/references/final-review.md +116 -0
  721. package/skills/video-shotcraft-vincentwei10/references/guided-free-creation.md +199 -0
  722. package/skills/video-shotcraft-vincentwei10/references/jianying-export.md +183 -0
  723. package/skills/video-shotcraft-vincentwei10/references/music-beat-sync.md +257 -0
  724. package/skills/video-shotcraft-vincentwei10/references/pipeline.md +401 -0
  725. package/skills/video-shotcraft-vincentwei10/references/publish-upload-post.md +111 -0
  726. package/skills/video-shotcraft-vincentwei10/references/sequences/promo-energy-arc.md +50 -0
  727. package/skills/video-shotcraft-vincentwei10/references/shots/ATTRIBUTION.md +62 -0
  728. package/skills/video-shotcraft-vincentwei10/references/shots/camera/basic-3d-scene.md +41 -0
  729. package/skills/video-shotcraft-vincentwei10/references/shots/camera/crash-zoom-punch.md +52 -0
  730. package/skills/video-shotcraft-vincentwei10/references/shots/camera/cursor-flyover.md +39 -0
  731. package/skills/video-structure-analyzer/SKILL.md +148 -0
  732. package/skills/video-structure-analyzer/examples/xhs-rook-time-spend/xhs-rook-time-spend_/346/213/211/347/211/207/346/213/206/350/247/243.md +50 -0
  733. package/skills/video-structure-analyzer/examples/xhs-smelly-cat/xhs-smelly-cat_/346/213/211/347/211/207/346/213/206/350/247/243.md +19 -0
  734. package/skills/video-toolkit/SKILL.md +686 -0
  735. package/skills/videocut/SKILL.md +159 -0
  736. package/skills/videodb/SKILL.md +497 -0
  737. package/skills/videodb/reference/api-reference.md +741 -0
  738. package/skills/videodb/reference/capture-reference.md +399 -0
  739. package/skills/videodb/reference/capture.md +110 -0
  740. package/skills/videodb/reference/editor-reference.md +506 -0
  741. package/skills/videodb/reference/editor.md +389 -0
  742. package/skills/videodb/reference/generative.md +344 -0
  743. package/skills/videodb/reference/indexing-reference.md +481 -0
  744. package/skills/videodb/reference/indexing.md +537 -0
  745. package/skills/videodb/reference/legacy/index-reference.md +223 -0
  746. package/skills/videodb/reference/legacy/index.md +241 -0
  747. package/skills/videodb/reference/legacy/search.md +249 -0
  748. package/skills/videodb/reference/migration.md +113 -0
  749. package/skills/vlog-auto-edit/SKILL.md +982 -0
  750. package/skills/vlog-auto-edit/examples/project_structure.md +84 -0
  751. package/skills/vox-animated-ad-mcp/SKILL.md +419 -0
  752. package/skills/vox-director/SKILL.md +351 -0
  753. package/skills/vox-director/references/beat-layer.md +143 -0
  754. package/skills/vox-director/references/host-mode.md +120 -0
  755. package/skills/vox-director/references/local-engine.md +73 -0
  756. package/skills/vox-director/references/models-and-gotchas.md +91 -0
  757. package/skills/vox-director/references/prompt-guide.md +275 -0
  758. package/skills/vox-director/references/voices.md +59 -0
  759. package/skills/xingchen-vox-collage/SKILL.md +251 -0
  760. package/skills/xingchen-vox-collage/references/asset-layer-contract.md +98 -0
  761. package/skills/xingchen-vox-collage/references/creative-exploration.md +19 -0
  762. package/skills/xingchen-vox-collage/references/learned-branches.md +34 -0
  763. package/skills/xingchen-vox-collage/references/remotion-scene-contract.md +77 -0
  764. package/skills/xingchen-vox-collage/references/visual-language.md +74 -0
  765. package/skills/xingchen-vox-collage/references/visual-qa.md +59 -0
  766. package/skills/youtube/SKILL.md +147 -0
  767. package/skills/youtube/references/algorithm-guide.md +59 -0
  768. package/skills/youtube/references/analytics-benchmarks.md +67 -0
  769. package/skills/youtube/references/dataforseo-integration.md +51 -0
  770. package/skills/youtube/references/monetization-guide.md +62 -0
  771. package/skills/youtube/references/repurposing-guide.md +54 -0
  772. package/skills/youtube/references/retention-scripting-guide.md +75 -0
  773. package/skills/youtube/references/seo-playbook.md +77 -0
  774. package/skills/youtube/references/shorts-playbook.md +64 -0
  775. package/skills/youtube/references/thumbnail-ctr-guide.md +73 -0
  776. package/skills/youtube-shorts-factory/SKILL.md +358 -0
  777. package/skills/youtube-shorts-factory/resources/adaptation-guide.md +133 -0
  778. package/skills/youtube-shorts-factory/resources/storyboard-template.md +271 -0
  779. package/skills/youtube-shorts-factory/resources/workflow-steps.md +139 -0
  780. package/studio/client.mjs +3 -3
  781. package/studio/server/server.mjs +31 -3
  782. package/studio/ui/dist/assets/ExportCenter-DEyy1vs_.js +1 -0
  783. package/studio/ui/dist/assets/SettingsModal-CQmsA2A2.js +2 -0
  784. package/studio/ui/dist/assets/apple-touch-icon-ClxQ7j-O.png +0 -0
  785. package/studio/ui/dist/assets/{es-BRUzvuoM.js → es-AqUfIkAy.js} +1 -1
  786. package/studio/ui/dist/assets/favicon-Blwx8Trs.png +0 -0
  787. package/studio/ui/dist/assets/index-C7moXjTY.css +1 -0
  788. package/studio/ui/dist/assets/index-DdU5QNpY.js +1623 -0
  789. package/studio/ui/dist/assets/{ja-Cth-uDcW.js → ja-YwiCB4QQ.js} +1 -1
  790. package/studio/ui/dist/assets/{ko-upvw591D.js → ko-CKtBPDze.js} +1 -1
  791. package/studio/ui/dist/assets/{zh-CN-BCfJFazB.js → zh-CN-DtNEwKWJ.js} +1 -1
  792. package/studio/ui/dist/index.html +4 -3
  793. package/studio/ui/dist/assets/ExportCenter-F-2vF-lQ.js +0 -1
  794. package/studio/ui/dist/assets/SettingsModal-BgVYguNu.js +0 -2
  795. package/studio/ui/dist/assets/index-Bhg-9dA3.css +0 -1
  796. package/studio/ui/dist/assets/index-CWur1Iw9.js +0 -1625
@@ -0,0 +1,872 @@
1
+ ---
2
+ name: appshot-core
3
+ description: "Foundation skill for Appshot. Defines the AICUT project architecture, primitives library, config schema, device presets, and store requirements. Owns the shared extraction phase used by appshot-videos and appshot-images. Runs in AICUT: the film is film.html, a page per shot, drawn by `aicut look` and `aicut render`."
4
+ license: MIT
5
+ source: "trunghaiy/appshot"
6
+ ---
7
+
8
+ # Appshot Core — Foundation
9
+
10
+ ## Running it in AICUT
11
+
12
+ AICUT's film is `film.html`: it cuts pages, footage, pictures and sound together on tracks. A page is a web page that
13
+ sets `window.film = { frame(t) }` and draws that moment — no framework, no build step, no composition object, no
14
+ `registerRoot`. Five shots are five pages cut together, not one page that changes scene, so each shot stays trimmable
15
+ and replaceable in Studio.
16
+
17
+ ```sh
18
+ npx -y @autoaiai/aicut@latest # the manual: the format and the commands, always current
19
+ npx -y @autoaiai/aicut@latest open . # make this folder a film and print Studio's address
20
+ npx -y @autoaiai/aicut@latest look # a contact sheet of the whole film, its sound, and a determinism check
21
+ npx -y @autoaiai/aicut@latest look 4.5 # one frame, full size — look at the PNG, not at the code
22
+ npx -y @autoaiai/aicut@latest render # the MP4, beside film.html
23
+ ```
24
+
25
+ Run the manual before the first film: it is authoritative for the format, and this skill is about the method above it.
26
+
27
+ Where the words below name another program's part, it becomes this:
28
+
29
+ | elsewhere | in AICUT |
30
+ |---|---|
31
+ | composition, timeline, project file | `film.html`; tracks and clips inside it |
32
+ | a scene, a sequence, a slide | a page (`pages/<name>.html`) cut onto a track |
33
+ | `useCurrentFrame()`, `interpolate()` | `frame(t)` — the picture depends only on `t`, never on state or `Date.now()` |
34
+ | a still, a screengrab | `aicut look <t>` |
35
+ | `render` / `build` / `export` | `aicut render` (the person can also export from Studio) |
36
+ | a dev server, a preview window | `aicut open` and the Studio address it prints |
37
+
38
+ Hard rules that hold whatever the method says: the picture depends only on `t`; every value in the person's prompt is
39
+ binding; look at the frames `look` writes before saying a film is done.
40
+
41
+
42
+ Reference skill for all Appshot skills. Read this before executing `appshot-videos` or `appshot-images`.
43
+
44
+ ## Architecture
45
+
46
+ - **Remotion 4.0** + React 18 + Tailwind CSS 3.4
47
+ - Config defines app metadata and brand only — scenes are custom `.tsx` files, not config entries
48
+ - Each project has an orchestrator component (e.g., `FooPreview.tsx`) that sequences custom scenes via Remotion `<Sequence>` + `<SceneWrap>`
49
+ - All primitives are brand-aware via a `brand` prop derived from the config's `BrandColors`
50
+
51
+ ## Project Context (auto-injected)
52
+
53
+ - Package manifest: !`cat package.json 2>/dev/null || cat pubspec.yaml 2>/dev/null || cat app.json 2>/dev/null`
54
+ - App colors: !`find . -maxdepth 4 \( -name 'colors.xml' -o -name 'Colors.swift' -o -name 'colors.ts' -o -name 'theme.ts' -o -name 'Color.kt' -o -name 'tailwind.config.js' -o -name 'tailwind.config.ts' \) 2>/dev/null | head -5 | xargs head -50 2>/dev/null`
55
+ - App icon: !`find . -maxdepth 5 \( -name 'ic_launcher.png' -o -name 'icon.png' \) -type f 2>/dev/null | head -3`
56
+ - Store metadata: !`cat fastlane/metadata/en-US/full_description.txt 2>/dev/null || cat fastlane/metadata/en-US/description.txt 2>/dev/null || cat fastlane/metadata/android/en-US/full_description.txt 2>/dev/null`
57
+ - README excerpt: !`head -80 README.md 2>/dev/null`
58
+
59
+ ## Extraction & Context Caching
60
+
61
+ Both `appshot-videos` and `appshot-images` use this extraction process. Results are cached to `.appshot-context.json` so extraction only runs once per project.
62
+
63
+ ### Check for cached context
64
+
65
+ Before scanning, check if `.appshot-context.json` exists in the project root. If it does:
66
+ 1. Load and present a summary to the user
67
+ 2. Ask: "I found a previous extraction. Confirm this is still correct, or re-scan?"
68
+ 3. If confirmed, skip extraction and proceed to the calling skill's next phase
69
+ 4. If re-scan requested, run extraction below and overwrite the file
70
+
71
+ ### Extraction steps
72
+
73
+ #### Step 1: Detect framework
74
+
75
+ Check for marker files in this order. Stop at the first match.
76
+
77
+ | Framework | Marker files |
78
+ |---|---|
79
+ | Expo / React Native | `app.json`, `app.config.ts`, `app.config.js` |
80
+ | Flutter | `pubspec.yaml` |
81
+ | iOS (Swift) | `*.xcodeproj/`, `*.xcworkspace/`, `Package.swift` |
82
+ | Android (Kotlin/Java) | `app/src/main/AndroidManifest.xml`, `build.gradle.kts`, `build.gradle` |
83
+ | Next.js | `next.config.js`, `next.config.ts`, `next.config.mjs` |
84
+ | SvelteKit | `svelte.config.js` |
85
+ | Nuxt | `nuxt.config.ts`, `nuxt.config.js` |
86
+ | Astro | `astro.config.mjs`, `astro.config.ts` |
87
+ | Remix | `remix.config.js`, `app/root.tsx` (with @remix-run import) |
88
+ | Vite (React/Vue/Solid) | `vite.config.ts`, `vite.config.js` (check `package.json` for react/vue/solid) |
89
+
90
+ Use `ls` or `find . -maxdepth 3` to check. If none match, note that no framework was detected and move on — the user may describe their app verbally.
91
+
92
+ #### Step 2: Extract app identity
93
+
94
+ **Expo / React Native:**
95
+ - **Name**: `app.json` -> `expo.name` or `name`
96
+ - **Description/tagline**: `app.json` -> `expo.description` or `description`
97
+ - **Bundle ID**: `app.json` -> `expo.ios.bundleIdentifier` or `expo.android.package`
98
+ - **Also check**: `package.json` -> `name`, `description`
99
+
100
+ **Flutter:**
101
+ - **Name**: `pubspec.yaml` -> `name:`
102
+ - **Description**: `pubspec.yaml` -> `description:`
103
+ - **Also check**: `android/app/src/main/AndroidManifest.xml` -> `android:label`, `ios/Runner/Info.plist` -> `CFBundleDisplayName`
104
+
105
+ **iOS (Swift):**
106
+ - **Name**: `Info.plist` -> `CFBundleDisplayName` or `CFBundleName`
107
+ - **Bundle ID**: `Info.plist` -> `CFBundleIdentifier`
108
+ - **Also check**: `project.pbxproj` for product name
109
+
110
+ **Android (Kotlin/Java):**
111
+ - **Name**: `app/src/main/res/values/strings.xml` -> `<string name="app_name">`
112
+ - **Package**: `AndroidManifest.xml` -> `package` attribute
113
+ - **Also check**: `build.gradle.kts` or `build.gradle` -> `applicationId`
114
+
115
+ **Next.js:**
116
+ - **Name**: `package.json` → `name`; also check `next.config.*` → `env.APP_NAME`
117
+ - **Description/tagline**: `package.json` → `description`; also check `app/layout.tsx` → `metadata.description`
118
+ - **URL**: check `.env` or `.env.local` → `NEXT_PUBLIC_APP_URL`, `NEXT_PUBLIC_SITE_URL`
119
+
120
+ **SvelteKit:**
121
+ - **Name**: `package.json` → `name`
122
+ - **Description**: `package.json` → `description`; check `src/app.html` → `<title>`, `<meta name="description">`
123
+
124
+ **Vite (React/Vue):**
125
+ - **Name**: `package.json` → `name`
126
+ - **Description**: `package.json` → `description`; check `index.html` → `<title>`, `<meta name="description">`
127
+
128
+ #### Step 3: Extract brand colors
129
+
130
+ Search for color definitions. Read the first match in each framework.
131
+
132
+ **Expo / React Native** — search paths (in order):
133
+ 1. `src/theme.ts` or `src/theme.js`
134
+ 2. `src/colors.ts` or `src/constants/colors.ts`
135
+ 3. `theme/colors.ts` or `theme/index.ts`
136
+ 4. `tailwind.config.js` or `tailwind.config.ts` -> `theme.extend.colors`
137
+ 5. `app.json` -> `expo.primaryColor`, `expo.backgroundColor`
138
+
139
+ Look for: named color exports (`primary`, `secondary`, `background`, `surface`, `accent`, `success`, `danger/error`), hex strings, `rgb()` values.
140
+
141
+ **Flutter** — search paths:
142
+ 1. `lib/theme.dart` or `lib/theme/app_theme.dart`
143
+ 2. `lib/theme/colors.dart` or `lib/constants/colors.dart`
144
+ 3. `lib/main.dart` -> `ThemeData()`
145
+
146
+ Look for: `Color(0xFF...)` constants, `primaryColor`, `accentColor`, `colorScheme` definitions.
147
+
148
+ **iOS (Swift)** — search paths:
149
+ 1. `*.xcassets/Colors/**/*.colorset/Contents.json` — parse `components` for RGB
150
+ 2. `**/Theme.swift` or `**/Colors.swift` or `**/ColorScheme.swift`
151
+
152
+ Look for: static `Color` properties, `UIColor` hex initializers, asset catalog color definitions.
153
+
154
+ **Android** — search paths:
155
+ 1. `app/src/main/res/values/colors.xml` — `<color name="primary">#RRGGBB</color>`
156
+ 2. `app/src/main/res/values/themes.xml` — `<item name="colorPrimary">`
157
+ 3. `**/ui/theme/Color.kt` — Jetpack Compose `Color()` definitions
158
+
159
+ **Web (all frameworks)** — search paths (in order):
160
+ 1. `tailwind.config.js` or `tailwind.config.ts` → `theme.extend.colors`
161
+ 2. `src/styles/globals.css` or `src/app/globals.css` → CSS custom properties (`--primary`, `--background`, etc.)
162
+ 3. `src/theme.*` or `src/lib/theme.*`
163
+ 4. `src/styles/variables.css`
164
+
165
+ #### Step 4: Find app icon
166
+
167
+ | Framework | Where to look |
168
+ |---|---|
169
+ | Expo/RN | `app.json` -> `expo.icon` field (usually `./assets/icon.png`) |
170
+ | Flutter | `android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png` or `ios/Runner/Assets.xcassets/AppIcon.appiconset/` |
171
+ | iOS | `*.xcassets/AppIcon.appiconset/` -> find the largest `.png` |
172
+ | Android | `app/src/main/res/mipmap-xxxhdpi/ic_launcher.png` |
173
+ | Web (all) | `public/favicon.svg`, `public/favicon.ico`, `public/logo.svg`, `public/logo.png`, `app/favicon.ico`, `src/assets/logo.*` |
174
+
175
+ #### Step 5: Extract features & store metadata
176
+
177
+ These sources exist across all frameworks:
178
+
179
+ | Source | Path | What to extract |
180
+ |---|---|---|
181
+ | Fastlane (iOS) | `fastlane/metadata/en-US/description.txt` or `full_description.txt` | Full store description |
182
+ | Fastlane (iOS) | `fastlane/metadata/en-US/subtitle.txt` | App Store subtitle |
183
+ | Fastlane (iOS) | `fastlane/metadata/en-US/keywords.txt` | Search keywords |
184
+ | Fastlane (Android) | `fastlane/metadata/android/en-US/full_description.txt` | Play Store description |
185
+ | Fastlane (Android) | `fastlane/metadata/android/en-US/short_description.txt` | Short description |
186
+ | README | `README.md` | First 80 lines — app description, feature bullets |
187
+ | CLAUDE.md | `CLAUDE.md` | Project description if present |
188
+
189
+ #### Step 5b: Extract ASO keywords
190
+
191
+ Apple and Google can now read text in screenshots and videos via visual intelligence. Extract a keyword list so overlay text can naturally incorporate high-value search terms.
192
+
193
+ **Primary source:** `fastlane/metadata/en-US/keywords.txt` (comma-separated). This is the developer's own keyword strategy — use it as the authoritative list.
194
+
195
+ **Fallback sources** (if no Fastlane keywords exist): derive 8-12 keyword candidates from:
196
+ 1. App Store subtitle (`fastlane/metadata/en-US/subtitle.txt`) — split into individual terms
197
+ 2. Store description — extract the most repeated nouns and action verbs
198
+ 3. Feature names from extraction — map feature names to user-facing search terms
199
+ 4. App category terms from Step 6 signals table
200
+
201
+ **Output:** A ranked list of keywords, most important first. Include both single words ("habits", "streak") and short phrases ("reading tracker", "book log"). Cap at 12 keywords.
202
+
203
+ #### Step 6: Infer app category
204
+
205
+ Based on extracted keywords, description, and feature names, infer the app category:
206
+
207
+ | Category | Signals |
208
+ |---|---|
209
+ | Habit tracking | streak, habit, daily, routine, consistency, track days |
210
+ | Fitness | workout, exercise, gym, reps, sets, calories, steps |
211
+ | Finance | budget, expense, money, savings, transactions, spending |
212
+ | Productivity | task, todo, note, project, organize, calendar |
213
+ | Social | chat, message, friend, follow, post, share |
214
+ | Education | learn, quiz, study, course, flashcard, practice |
215
+ | Health | meditation, sleep, mood, journal, wellness, mindful |
216
+ | Travel | trip, itinerary, booking, destination, explore |
217
+ | Food | recipe, meal, restaurant, cooking, ingredients |
218
+ | SaaS | dashboard, subscription, plan, pricing, onboarding, workspace, team, analytics |
219
+ | E-commerce | cart, checkout, product, shop, order, payment, inventory |
220
+ | Developer tool | API, SDK, CLI, documentation, playground, sandbox, webhook |
221
+ | Content/publishing | blog, article, post, publish, editor, CMS, newsletter |
222
+ | AI/ML | model, inference, prompt, generate, embed, vector, chat, completion |
223
+ | Community | forum, discussion, thread, community, member, profile |
224
+
225
+ If no clear match, note "uncategorized" — the user will clarify.
226
+
227
+ ### Deep analysis
228
+
229
+ Go beyond identity and colors. Understand what the app actually does.
230
+
231
+ **Screen inventory.** Scan navigation files to discover all screens:
232
+ - React Native / Expo: read `App.tsx`, any `*Navigator.tsx`, `*Router.tsx`, tab bar configs, `react-navigation` setup
233
+ - Flutter: read `lib/main.dart`, router config, `GoRouter` or `MaterialApp` routes
234
+ - iOS: read storyboard references, `UITabBarController` setup, SwiftUI `NavigationStack`/`TabView`
235
+ - Look for: screen names, tab labels, navigation structure (tabs, stacks, drawers)
236
+
237
+ **Navigation chrome extraction.** For realistic mock screens, extract the navigation patterns the user actually sees:
238
+ - **Navigation type**: tabs, stack, drawer, or combination
239
+ - **Tab bar**: label text for each tab, icon descriptions (e.g., "house icon", "magnifying glass", "person circle"), which tab is default/home
240
+ - **Navigation headers**: title style (large title vs inline), back button presence, right bar button items (e.g., "gear icon", "plus", "bell")
241
+ - **Status bar style**: light content (white text, for dark backgrounds) or dark content (black text, for light backgrounds)
242
+ - **Home indicator**: present on all modern iPhones (bottom bar), absent on older devices
243
+
244
+ Where to find this:
245
+ - React Native / Expo: `screenOptions`, `tabBarLabel`, `tabBarIcon`, `headerTitle`, `headerRight`, `navigationOptions` in navigator files
246
+ - Flutter: `BottomNavigationBar` items, `AppBar` title/actions, `Scaffold` configuration
247
+ - iOS: `UITabBarItem` setup, `navigationItem.title`, `navigationItem.rightBarButtonItems`, SwiftUI `.tabItem` / `.navigationTitle` / `.toolbar`
248
+ - Android: `BottomNavigationView` menu XML, `Toolbar`/`TopAppBar` setup, Jetpack Compose `NavigationBar` items
249
+
250
+ **Page/route inventory (web).** Scan router config to discover all pages:
251
+ - Next.js: read `app/` directory structure (each folder with `page.tsx` = route), or `pages/` directory
252
+ - SvelteKit: read `src/routes/` directory structure (each folder with `+page.svelte` = route)
253
+ - Vite/React: read router config (`react-router`, `tanstack-router`), or scan for route definitions
254
+ - Look for: page names, layout structure, protected vs public routes
255
+
256
+ **Landing page analysis.** If a landing/marketing page exists:
257
+ - Extract hero headline and subheadline
258
+ - Extract feature sections
259
+ - Note CTA text ("Get Started", "Sign Up Free", etc.)
260
+ - Note pricing structure if visible
261
+
262
+ **Feature analysis.** For each discovered screen, read the component file to understand:
263
+ - What data it displays
264
+ - What actions the user can take
265
+ - What makes it visually interesting or unique
266
+
267
+ **UI pattern extraction.** Scan component styling to capture the app's visual design language. Mock screens that don't match the real app's look undermine credibility — this data closes the gap.
268
+
269
+ What to extract:
270
+ - **Border radius**: button radius, card radius, input radius (e.g., "fully rounded buttons", "8px card corners", "pill-shaped inputs")
271
+ - **Spacing rhythm**: padding/margin values used in containers and between elements (e.g., "16px horizontal padding", "24px section gaps")
272
+ - **Typography**: font family (custom or system), heading weights (e.g., 700 vs 800), body size, whether the app uses ALL CAPS for section headers
273
+ - **Button style**: shape (rounded rectangle, pill, circle), size, fill vs outline, icon-only buttons
274
+ - **Card style**: background color, border, shadow depth, glass/blur effects
275
+ - **Icon library**: which icon set (SF Symbols, Material Icons, Lucide, custom SVGs, Ionicons)
276
+ - **Special UI elements**: waveform visualizers, progress rings, gradient backgrounds, tag/chip styles, badge indicators
277
+
278
+ Where to find this:
279
+ - React Native / Expo: `StyleSheet.create()` blocks, inline `style={}`, NativeWind/Tailwind classes, component library imports (`react-native-paper`, `tamagui`, `gluestack`)
280
+ - Flutter: `BoxDecoration`, `BorderRadius`, `TextStyle`, `ButtonStyle` in widget files and theme data
281
+ - iOS (Swift): `.cornerRadius`, `.font()`, `.padding()`, `UIFont` descriptors, SF Symbol names in SwiftUI/UIKit
282
+ - Android: `shapes.xml`, `styles.xml`, Compose `RoundedCornerShape()`, `MaterialTheme.typography`, Material icon imports
283
+
284
+ **Value props / differentiators.** Extract from README, store description, CLAUDE.md, marketing copy, or landing page:
285
+ - What problem does this app solve?
286
+ - How is it different from competitors?
287
+ - What is the emotional promise?
288
+
289
+ **Core action loop.** Identify the single most frequent user action:
290
+ - What does a user do every time they open the app?
291
+ - How many taps/steps does it take?
292
+ - What feedback do they get after completing it?
293
+
294
+ **Theme detection.** Check if the app supports light/dark modes:
295
+ - Look for theme toggle, `useColorScheme`, `Appearance`, `ThemeProvider`, `darkMode` in config
296
+ - Note which is the default or primary theme
297
+ - Note if the app is dark-theme-only (some brands like Spotify, cinema apps)
298
+
299
+ ### Save context
300
+
301
+ After extraction and user confirmation, save results to `.appshot-context.json` in the project root:
302
+
303
+ ```json
304
+ {
305
+ "version": 2,
306
+ "extractedAt": "ISO timestamp",
307
+ "app": { "name": "", "tagline": "", "icon": "", "platform": "", "framework": "", "url": "string or null" },
308
+ "brand": { "primary": "", "primaryLight": "", "background": "", "surface": "", "textPrimary": "", "textSecondary": "", "success": "", "danger": "", "accent": "" },
309
+ "category": "string",
310
+ "theme": "light | dark | both",
311
+ "themeDefault": "light | dark",
312
+ "navigation": {
313
+ "type": "tabs | stack | drawer | tabs+stack",
314
+ "tabs": [{ "label": "", "iconDescription": "", "isDefault": false }],
315
+ "headerStyle": "largeTitle | inline",
316
+ "statusBarStyle": "light | dark"
317
+ },
318
+ "screens": [{ "name": "", "tab": "", "description": "" }],
319
+ "pages": [{ "route": "", "name": "", "description": "", "layout": "" }],
320
+ "landingPage": { "heroHeadline": "string or null", "heroSubheadline": "string or null", "cta": "string or null", "featureSections": ["string"] },
321
+ "uiPatterns": {
322
+ "borderRadius": { "button": "string", "card": "string", "input": "string" },
323
+ "spacing": { "horizontal": "string", "sectionGap": "string" },
324
+ "typography": { "fontFamily": "string or 'system'", "headingWeight": "number", "bodySize": "string", "capsHeaders": "boolean" },
325
+ "buttonStyle": "string — e.g., 'pill filled, 56px height' or 'rounded-lg outline'",
326
+ "cardStyle": "string — e.g., 'dark surface, 16px radius, no border, subtle shadow'",
327
+ "iconLibrary": "string — e.g., 'SF Symbols' or 'Ionicons' or 'custom SVG'",
328
+ "specialElements": ["string — e.g., 'waveform visualizer', 'gradient background', 'pill-shaped tags'"]
329
+ },
330
+ "features": ["string"],
331
+ "coreAction": "string",
332
+ "valueProps": ["string"],
333
+ "keywords": ["string — ranked ASO keywords, most important first, max 12"],
334
+ "screenshots": [{
335
+ "referenceFile": "original file path (for re-reading if needed)",
336
+ "screen": "matched screen name",
337
+ "description": "what this screenshot shows",
338
+ "visualSpec": "structured visual analysis — layout, colors, components, typography, special elements (the actual styling reference for mock UI)"
339
+ }],
340
+ "storeDescription": "string or null",
341
+ "sources": { "name": "source file", "colors": "source file", "keywords": "source file or 'derived'" }
342
+ }
343
+ ```
344
+ Notes on schema v2:
345
+ - `screenshots` — empty array if user chose auto-mock; populated if user provided real screenshots
346
+ - `app.framework` valid values: `"expo"` | `"flutter"` | `"ios"` | `"android"` | `"nextjs"` | `"sveltekit"` | `"nuxt"` | `"astro"` | `"remix"` | `"vite"` | `"web"`
347
+ - `app.platform` valid values: `"ios"` | `"android"` | `"both"` | `"web"`
348
+ - `pages` — web route inventory (empty array for mobile apps)
349
+ - `landingPage` — extracted landing page data (null for mobile apps)
350
+ ```
351
+
352
+ ### Present findings
353
+
354
+ Summarize what you found concisely. Always cite the source file so the user can verify.
355
+
356
+ ```
357
+ I scanned your project and found:
358
+
359
+ - **App:** [name] (from [source file])
360
+ - **Tagline:** [text] (from [source file])
361
+ - **Platform:** [iOS/Android/both] (from [evidence])
362
+ - **Colors:** primary [hex], background [hex], surface [hex], ... (from [source file])
363
+ - **Icon:** [file path]
364
+ - **Category:** [category] based on [keywords/description]
365
+ - **Store description:** [found at path / not found]
366
+ - **Theme:** [light only / dark only / both — default is X]
367
+
368
+ **Navigation:** [tabs / stack / drawer] — [header style: large title / inline]
369
+ **Tab bar:** [Tab1 (icon)] | [Tab2 (icon)] | [Tab3 (icon)] — default: [Tab1]
370
+ **Status bar:** [dark content / light content]
371
+
372
+ **Screen inventory:**
373
+ - [Tab 1]: [ScreenName] — [what it shows]
374
+ - [Tab 2]: [ScreenName] — [what it shows]
375
+ - [Modal/Detail]: [ScreenName] — [what it shows]
376
+ - ...
377
+
378
+ **Page inventory (web):**
379
+ - `/` — [Landing page] — [hero headline, feature sections]
380
+ - `/dashboard` — [Dashboard] — [what it shows]
381
+ - `/settings` — [Settings] — [configuration options]
382
+ - ...
383
+
384
+ **Landing page:** [hero headline] / [CTA text] / [number of feature sections]
385
+ **URL:** [extracted URL or "not found"]
386
+
387
+ **Key features:** [bullet list of 3-5 main features extracted from code/docs]
388
+
389
+ **Core action loop:** [what users do most — e.g., "tap Log -> enter page number -> save (3 taps, ~5 seconds)"]
390
+
391
+ **Value props:**
392
+ - [Primary differentiator]
393
+ - [Secondary differentiator]
394
+ - [Emotional promise]
395
+
396
+ **UI patterns:** [font family], [heading weight], [button style], [card style], [border radius], [icon library]
397
+ **Special elements:** [waveform, gradient bg, pill tags, ...]
398
+
399
+ **ASO keywords:** [keyword1], [keyword2], [keyword3], ... (from [fastlane/keywords.txt / derived])
400
+
401
+ **Pre-filled config:**
402
+ [Show the AppConfig object with app, brand, and video sections filled in]
403
+
404
+ Does this look right? Anything to correct before I proceed?
405
+ ```
406
+ ```
407
+ If fields are missing, note them: "I couldn't find brand colors — do you have a theme file, or should we pick colors together?"
408
+
409
+ Only after confirmation, proceed to the screenshot collection step below.
410
+ ```
411
+
412
+ ### Collect screenshots (optional)
413
+
414
+ After the extraction is confirmed, ask the user if they want to provide real app screenshots as visual references. Screenshots are **reference material, not content** — they are never embedded in the final output. Instead, the visual reference analysis extracts exact colors, shapes, spacing, and typography from the screenshots, which the skill uses to build animated mock UI that looks like the real app.
415
+
416
+ ```
417
+ AskUserQuestion({
418
+ questions: [{
419
+ question: "Do you have screenshots of your app to use as screen content?",
420
+ header: "Screenshots",
421
+ options: [
422
+ { label: "Yes, I'll provide screenshots", description: "Highest fidelity — your screenshots are analyzed and the mock UI is built to match exactly." },
423
+ { label: "No, generate mock screens", description: "Skill builds UI from extracted code patterns. Good for most cases." }
424
+ ],
425
+ multiSelect: false
426
+ }]
427
+ })
428
+ ```
429
+ ```
430
+ **If the user provides screenshots:**
431
+
432
+ 1. Ask the user to provide screenshot file paths or drop them in the conversation
433
+ 2. Read each screenshot image to understand what it shows
434
+ 3. Map each screenshot to a screen from the extraction:
435
+ ```
436
+ ```
437
+ I mapped your screenshots to app screens:
438
+
439
+ - recording.png → Voice Recording screen
440
+ - transcription.png → Transcription Detail screen
441
+ - scan-preview.png → Document Scan screen
442
+ - home.png → Home / Notes List screen
443
+
444
+ Missing: Settings screen (will use mock UI for this one)
445
+
446
+ Does this mapping look right?
447
+ ```
448
+ ```
449
+ 4. **Run visual reference analysis** on each screenshot (see below)
450
+ 5. Note any gaps — screens that have no screenshot. These will fall back to mock UI built from `uiPatterns`.
451
+ 6. Save the mapping AND the visual analysis to `screenshots` in `.appshot-context.json`
452
+ ```
453
+
454
+ ### Visual reference analysis
455
+
456
+ **CRITICAL:** This step is mandatory when screenshots are provided. Without it, mock scenes will look generic and not match the real app.
457
+
458
+ For each provided screenshot, study the image and write a structured visual spec. This spec is used in two ways:
459
+ - **Direct use scenes**: The screenshot is used as-is via `<Img>`, so the spec confirms what it shows
460
+ - **Mock scenes and gap-fill**: When a scene needs mock UI (for animation, missing screenshots, or modified content), the spec is the source of truth for how to style it
461
+
462
+ **For each screenshot, document:**
463
+
464
+ ## [filename] → [Screen Name]
465
+
466
+ **Layout:**
467
+ - [top-to-bottom description of what appears: nav bar, content sections, bottom bar]
468
+ - [approximate vertical proportions: "nav bar 8%, content 78%, tab bar 8%, home indicator 6%"]
469
+
470
+ **Colors (sample from the image):**
471
+ - Background: [exact color, e.g., "#0A1628 — very dark navy, NOT pure black"]
472
+ - Cards/surfaces: [e.g., "#1A2940 — slightly lighter navy with subtle border"]
473
+ - Accent: [e.g., "#3BB8E0 — teal/cyan for CTAs and active states"]
474
+ - Text primary: [e.g., "#E8ECF1 — off-white"]
475
+ - Text secondary: [e.g., "#6B7A8D — muted blue-grey"]
476
+ - Highlight/badge: [e.g., "#E5C044 — warm yellow for 'Voice Recording' badge"]
477
+
478
+ **Components (describe exactly what you see):**
479
+ - Back button: [e.g., "48px rounded-square (#1A2940 bg), white chevron, no text"]
480
+ - Nav actions: [e.g., "three icon buttons: more (⋯), share (↑), delete (🗑), same rounded-square style"]
481
+ - Type badge: [e.g., "'Voice Recording' in yellow text on dark pill, microphone emoji prefix"]
482
+ - Content cards: [e.g., "rounded-xl (~16px), #1A2940 bg, 1px border #2A3A50, 20px padding"]
483
+ - Buttons: [e.g., "'Enhance · 2 credits' — outlined, teal border, rounded-full, 48px height"]
484
+ - Tab bar: [e.g., "3 tabs with SF Symbol icons above labels, active=teal, inactive=grey, dark bg"]
485
+
486
+ **Typography:**
487
+ - Headings: [e.g., "32px, weight 700, white — 'May 28 at 11:03 PM'"]
488
+ - Section headers: [e.g., "ALL CAPS, 13px, weight 600, letter-spacing 1px, teal — 'TRANSCRIPTION'"]
489
+ - Body: [e.g., "16px, weight 400, off-white, line-height ~1.5"]
490
+ - Labels: [e.g., "12px, weight 500, muted grey — metadata, tab labels"]
491
+
492
+ **Special elements:**
493
+ - [e.g., "Waveform: grey rounded-rect container, horizontal bars, blue play button 48px circle"]
494
+ - [e.g., "Speed pills: row of 4 (0.75x, 1x, 1.5x, 2x), active has teal bg, others have dark bg"]
495
+ - [e.g., "Coral/red horizontal divider line below title, 2px height"]
496
+ - [e.g., "Vietnamese flag emoji + 'VI' in language selector pill"]
497
+ ```
498
+ **Rules for the analysis:**
499
+ - **Be exhaustive.** List EVERY distinct UI element visible in the screenshot. Count them. If you see 15 elements, document 15 elements. Common elements that get missed: nav bar action buttons (all of them, not just back), tab bar icons, speed/playback controls, CTAs, badge indicators, credit counters, language selectors, divider lines, home indicator.
500
+ - Be precise about colors — sample from the actual image, don't guess. "#0A1628" is very different from "#000000".
501
+ - Describe component shapes exactly: "48px rounded-square with 12px radius" not "rounded button".
502
+ - Note spacing: "20px padding inside cards", "12px gap between elements".
503
+ - Note what is NOT there: "no shadow on cards", "no border on buttons", "no separator between list items".
504
+ - This analysis overrides `uiPatterns` from code extraction when they conflict — the screenshot is the visual truth.
505
+ - **Sizes in the visual spec are phone-logical.** The 886px App Store Preview canvas is 2.25× wider than an iPhone 16 Pro (393px). All sizes must be multiplied by 2.25 when writing scene code: a 48px button becomes 108px, 16px text becomes 36px, 11px tab labels become 25px. The code-guide has a complete scale table.
506
+
507
+ **Screenshot requirements** (tell the user):
508
+ - Any resolution — these are reference images, not embedded in the output
509
+ - Clean state — no notifications or debug banners (so the analysis captures the real design)
510
+ - One screenshot per distinct screen/feature. Multiple states of the same screen welcome.
511
+ - The skill will analyze your screenshots and build animated mock UI that matches your app's look exactly.
512
+
513
+ **If the user declines**, set `screenshots: []` and proceed. The skill will generate mock UI from extracted patterns as before.
514
+
515
+ After this step, proceed to the calling skill's next phase.
516
+ ```
517
+
518
+ ## Project Structure
519
+
520
+ ```
521
+ src/
522
+ app-config.ts # App metadata, brand colors, video settings
523
+ Root.tsx # Remotion entry — registers the composition
524
+ [AppName]Preview.tsx # Orchestrator — sequences scenes with <Sequence> + <SceneWrap>
525
+ scenes/
526
+ S1_[Name].tsx # Custom scene components (one per scene)
527
+ S2_[Name].tsx
528
+ ...
529
+ components/ # Shared primitives library (imported from template)
530
+ PhoneFrame.tsx # Device frame with bezel, Dynamic Island, spring entrance
531
+ AmbientBackground.tsx # Animated gradient bg with floating orbs
532
+ Caption.tsx # Word-by-word animated caption with frosted pill
533
+ FadeIn.tsx # Directional spring fade-in wrapper
534
+ SceneWrap.tsx # Fade envelope for scene transitions
535
+ AppIcon.tsx # App icon with optional glow pulse
536
+ TypeWriter.tsx # Character-by-character text reveal
537
+ BrowserFrame.tsx # macOS browser chrome (light/dark)
538
+ AnimatedCursor.tsx # Bezier-interpolated cursor with click ripple
539
+ index.ts
540
+ config.ts # Type definitions, device dimensions, defaults
541
+ public/
542
+ icon.png # App icon
543
+ *.png # Screenshots, assets
544
+ ```
545
+
546
+ ## Config Schema
547
+
548
+ The config holds app identity, brand colors, and video settings. It does NOT contain scenes — scenes are custom components.
549
+
550
+ ```typescript
551
+ interface AppConfig {
552
+ app: {
553
+ name: string; // Display name
554
+ tagline: string; // One-line value prop
555
+ icon: string; // Filename in public/
556
+ platform: "ios" | "android" | "both";
557
+ };
558
+ brand: BrandColors;
559
+ video: {
560
+ fps: number; // 30
561
+ width: number; // 886
562
+ height: number; // 1920
563
+ device: DevicePreset;
564
+ backgroundMusic?: string; // Filename in public/
565
+ backgroundMusicVolume?: number; // 0-1
566
+ };
567
+ }
568
+
569
+ interface BrandColors {
570
+ primary: string; // Main brand color (hex)
571
+ primaryLight: string; // Tinted background
572
+ background: string; // App background
573
+ surface: string; // Card/container background
574
+ textPrimary: string; // Main text
575
+ textSecondary: string; // Secondary/muted text
576
+ success: string; // Positive states
577
+ danger: string; // Destructive/error states
578
+ accent?: string; // Optional secondary brand color
579
+ }
580
+
581
+ ## Primitives Library
582
+
583
+ Every component below is available in `src/components/`. Import from `"../components"`.
584
+
585
+ ### PhoneFrame
586
+
587
+ Device mockup with bezel, side buttons, and notch/Dynamic Island. Wraps any content to look like a real phone screen.
588
+
589
+ | Prop | Type | Default | Description |
590
+ |------|------|---------|-------------|
591
+ | `children` | `ReactNode` | required | Screen content |
592
+ | `device` | `DevicePreset` | `"iphone-15"` | Device model |
593
+ | `delay` | `number` | `0` | Entrance animation delay (frames) |
594
+ | `scale` | `number` | `1` | Scale multiplier |
595
+ | `screenBackground` | `string` | `"#FAFAF8"` | Background color inside the screen |
596
+
597
+ **When to use:** Any scene showing app UI inside a phone. The core visual anchor for mobile app videos.
598
+
599
+ ### AmbientBackground
600
+
601
+ Animated gradient background with floating blurred orbs. Sets the mood for each scene.
602
+
603
+ | Prop | Type | Default | Description |
604
+ |------|------|---------|-------------|
605
+ | `brand` | `BrandColors` | required | Colors for gradient and orbs |
606
+ | `variant` | `"light" \| "medium" \| "deep" \| "dark"` | `"light"` | Intensity/mood |
607
+
608
+ **When to use:** Behind every scene. Use `"light"` or `"medium"` for feature/solution scenes, `"dark"` for problem/contrast scenes, `"deep"` for emotional/proof scenes.
609
+
610
+ ### Caption
611
+
612
+ Bottom-anchored text overlay with word-by-word entrance animation. Dark pill background for readability.
613
+
614
+ | Prop | Type | Default | Description |
615
+ |------|------|---------|-------------|
616
+ | `text` | `string` | required | Caption text (max 8 words) |
617
+ | `delay` | `number` | `0` | Entrance delay (frames) |
618
+ | `fontSize` | `number` | `44` | Font size in px |
619
+ | `maxWidth` | `number` | `820` | Maximum container width |
620
+
621
+ **When to use:** Every scene should have one. Captions tell the story for sound-off viewers.
622
+
623
+ ### FadeIn
624
+
625
+ Wraps any element with a directional fade-in animation using Remotion spring.
626
+
627
+ | Prop | Type | Default | Description |
628
+ |------|------|---------|-------------|
629
+ | `children` | `ReactNode` | required | Content to animate |
630
+ | `delay` | `number` | `0` | Start frame |
631
+ | `direction` | `"up" \| "down" \| "left" \| "right" \| "none"` | `"up"` | Slide direction |
632
+ | `distance` | `number` | `40` | Slide distance in px |
633
+ | `className` | `string` | — | Tailwind classes |
634
+ | `style` | `CSSProperties` | — | Inline styles |
635
+
636
+ **When to use:** Stagger card reveals, headline entrances, any element that should animate in.
637
+
638
+ ### SceneWrap
639
+
640
+ Wraps each scene with fade-in/fade-out transitions (12 frames each). Used by the orchestrator.
641
+
642
+ | Prop | Type | Default | Description |
643
+ |------|------|---------|-------------|
644
+ | `children` | `ReactNode` | required | Scene content |
645
+ | `durationInFrames` | `number` | required | Total scene duration |
646
+ | `fadeIn` | `boolean` | `true` | Enable fade-in |
647
+ | `fadeOut` | `boolean` | `true` | Enable fade-out |
648
+
649
+ **When to use:** In the orchestrator component, wrap each scene inside `<Sequence>` + `<SceneWrap>`.
650
+
651
+ ### AppIcon
652
+
653
+ Renders the app icon with optional animated glow effect.
654
+
655
+ | Prop | Type | Default | Description |
656
+ |------|------|---------|-------------|
657
+ | `src` | `string` | required | Filename in `public/` or URL |
658
+ | `size` | `number` | `120` | Icon size in px |
659
+ | `glow` | `boolean` | `false` | Enable pulsing glow |
660
+ | `glowColor` | `string` | `"rgba(0,122,255,0.4)"` | Glow color |
661
+
662
+ **When to use:** CTA/closing scenes. Builds brand recognition.
663
+
664
+ ### TypeWriter
665
+
666
+ Character-by-character text reveal with optional blinking cursor.
667
+
668
+ | Prop | Type | Default | Description |
669
+ |------|------|---------|-------------|
670
+ | `text` | `string` | required | Full text to type out |
671
+ | `startFrame` | `number` | required | Frame to begin typing |
672
+ | `charsPerFrame` | `number` | `2` | Typing speed |
673
+ | `className` | `string` | — | Tailwind classes |
674
+ | `cursor` | `boolean` | `true` | Show blinking cursor |
675
+ | `cursorColor` | `string` | `"#2196F3"` | Cursor color |
676
+
677
+ **When to use:** Search bars, text inputs, chat messages, anywhere you want to simulate user typing.
678
+
679
+ ### BrowserFrame
680
+
681
+ macOS-style browser chrome with traffic lights, address bar, and content area. Light and dark variants.
682
+
683
+ | Prop | Type | Default | Description |
684
+ |------|------|---------|-------------|
685
+ | `children` | `ReactNode` | required | Page content |
686
+ | `url` | `string` | `"app.example.com"` | Address bar text |
687
+ | `delay` | `number` | `0` | Entrance animation delay (frames) |
688
+ | `scale` | `number` | `1` | Scale multiplier |
689
+ | `variant` | `"light" \| "dark"` | `"light"` | Chrome theme |
690
+
691
+ ### AnimatedCursor
692
+
693
+ Bezier-interpolated cursor that moves between keyframe positions with click ripple effect.
694
+
695
+ | Prop | Type | Default | Description |
696
+ |------|------|---------|-------------|
697
+ | `keyframes` | `CursorKeyframe[]` | required | `{ frame, x, y, click? }` positions |
698
+ | `visible` | `boolean` | `true` | Show/hide cursor |
699
+
700
+ ## Animation Patterns
701
+
702
+ The removed primitives (FloatingCard, StatCard, HeatMap, ProgressBar, AppStoreBadge, IconSet) were simple wrappers that constrained the agent with hardcoded sizes. Write these patterns inline instead, scaled appropriately for your canvas:
703
+
704
+ **Animated counter** (before/after stat):
705
+ ```tsx
706
+ const counter = spring({ frame, fps, delay: 10, config: { mass: 0.6, damping: 18, stiffness: 80 } });
707
+ const value = Math.round(interpolate(counter, [0, 1], [beforeValue, afterValue]));
708
+ ```
709
+ **Cell-by-cell grid fill** (heatmap/contribution grid):
710
+ ```
711
+ ```tsx
712
+ {cells.map((cell, i) => {
713
+ const cellEnter = spring({ frame, fps, delay: baseDelay + i * 0.4, config: { mass: 0.2, damping: 10, stiffness: 180 } });
714
+ return <div key={i} style={{ opacity: 0.3 + cellEnter * 0.7, transform: `scale(${0.6 + cellEnter * 0.4})` }} />;
715
+ })}
716
+ ```
717
+ **Progress bar fill**:
718
+ ```
719
+ ```tsx
720
+ const progress = interpolate(frame, [delay, delay + 30], [0, targetPercent], { extrapolateRight: "clamp" });
721
+ <div style={{ width: `${progress}%`, height, backgroundColor: color, borderRadius }} />
722
+ ```
723
+ **Spring-entrance card** (replaces FloatingCard):
724
+ ```
725
+ ```tsx
726
+ const entrance = spring({ frame, fps, delay, config: { mass: 0.8, damping: 14, stiffness: 120 } });
727
+ <div style={{ opacity: entrance, transform: `translateY(${(1 - entrance) * 20}px)`, borderRadius, padding, background }}>
728
+ ```
729
+ **App Store / Play Store badge** (for Marketing CTA scenes):
730
+ ```
731
+ ```tsx
732
+ // iOS badge — black rounded rect with Apple SVG
733
+ <div style={{ background: "#000", borderRadius: 14, padding: "14px 28px", display: "flex", alignItems: "center", gap: 12 }}>
734
+ <svg width="28" height="34" viewBox="0 0 28 34" fill="white">
735
+ <path d="M23.2 17.8c0-3.6 2.9-5.3 3-5.4-1.6-2.4-4.2-2.7-5.1-2.8-2.1-.2-4.2 1.3-5.3 1.3-1.1 0-2.8-1.2-4.6-1.2C8.5 9.8 6 11.2 4.6 13.5c-2.8 4.9-.7 12.1 2 16.1 1.3 1.9 2.9 4.1 5 4 2-.1 2.8-1.3 5.2-1.3 2.4 0 3.1 1.3 5.2 1.3 2.2 0 3.5-2 4.8-3.9 1.5-2.2 2.1-4.3 2.2-4.4 0-.1-4.2-1.6-4.2-6.4zM19.3 7.5c1.1-1.3 1.8-3.2 1.6-5-1.6.1-3.4 1-4.6 2.3-1 1.2-1.9 3-1.6 4.8 1.7.2 3.5-.9 4.6-2.1z" />
736
+ </svg>
737
+ <div>
738
+ <div style={{ fontSize: 16, color: "rgba(255,255,255,0.8)" }}>Download on the</div>
739
+ <div style={{ fontSize: 28, fontWeight: 600, color: "#FFF" }}>App Store</div>
740
+ </div>
741
+ </div>
742
+
743
+ ## Device Presets
744
+
745
+ | Preset | Screen | Notch | Store |
746
+ |--------|--------|-------|-------|
747
+ | `iphone-16-pro` | 393x852 | Dynamic Island | App Store |
748
+ | `iphone-15` | 375x812 | Dynamic Island | App Store |
749
+ | `ipad-pro-13` | 1024x1366 | None | App Store (iPad) |
750
+ | `pixel-9` | 412x915 | Punch hole | Play Store |
751
+
752
+ ### Store-to-Device Mapping
753
+
754
+ | Store | Composition ID suffix | Device preset |
755
+ |-------|----------------------|---------------|
756
+ | App Store | `-AppStore` | `iphone-16-pro` |
757
+ | Play Store | `-PlayStore` | `pixel-9` |
758
+
759
+ For multi-store projects, Root.tsx registers one `<Composition>` per store. Scenes are shared — only the device frame (and navigation chrome style) differ. Canvas stays 886×1920 for both. Note: App Store Preview videos do not include store badges in the CTA (redundant inside the store listing); Marketing videos include an inline store badge in the CTA (see Animation Patterns above for the SVG snippet).
760
+
761
+ ## Output Targets
762
+
763
+ AppShot supports two output targets with different visual rules:
764
+
765
+ | Target | Use case | Device frame | Overlay text | Screen content |
766
+ |--------|----------|-------------|-------------|----------------|
767
+ | **App Store Preview** | App Store / Play Store video previews and screenshots | **No device frame.** Full-bleed app screen fills the entire canvas edge-to-edge. | Text overlays appear *on top of* the app screen (semi-transparent pill background for readability). | Must include navigation chrome (status bar, nav bar, tab bar) to look like a real screenshot. |
768
+ | **Marketing** | Social media, website, pitch decks, ads | Device frame (PhoneFrame) wrapping the app screen. | Text and cards appear *beside* or *around* the device frame. | Navigation chrome optional (PhoneFrame provides the "device" context). |
769
+
770
+ **Why this matters:** Apple rejects App Store previews that include device frames or that don't sufficiently show the app in use. The App Store Preview target ensures compliance. The Marketing target preserves the current polished look for non-store contexts.
771
+
772
+ **Default:** App Store Preview for `appshot-videos` and `appshot-images`. Marketing for social/web contexts.
773
+
774
+ When the user selects **App Store Preview** target:
775
+ - Do NOT use PhoneFrame in any scene
776
+ - App UI fills the full 886×1920 canvas (videos) or store-required dimensions (screenshots)
777
+ - Include status bar, navigation bar, tab bar, and home indicator in every mock screen
778
+ - Caption/overlay text uses a semi-transparent pill background so it's readable over the app UI
779
+ - The result should look like a screen recording with text overlays
780
+
781
+ When the user selects **Marketing** target:
782
+ - Use PhoneFrame at scale 1.5 as before
783
+ - Text, cards, and badges appear outside/around the device frame
784
+ - Navigation chrome inside the phone is nice-to-have but not required
785
+
786
+ ## Store Requirements
787
+
788
+ ### Videos
789
+
790
+ | Platform | Dimensions | Duration | Format |
791
+ |----------|-----------|----------|--------|
792
+ | iPhone 6.7" | 886x1920 | 15-30s | H.264, MP4/MOV |
793
+ | iPhone 6.1" | 886x1920 | 15-30s | H.264, MP4/MOV |
794
+ | iPad 13" | 1200x1600 | 15-30s | H.264, MP4/MOV |
795
+ | Google Play | 886x1920 | 15-30s | H.264, MP4 |
796
+
797
+ Default output is 886×1920. This canvas works for both App Store (iPhone 6.7″ native) and Google Play. All sizing rules in appshot-videos are calibrated for this canvas width.
798
+
799
+ ### Screenshots
800
+
801
+ iOS App Store:
802
+ | Device | Dimensions (portrait) | Required |
803
+ |--------|----------------------|----------|
804
+ | iPhone 6.9" | 1320x2868 | Yes (mandatory primary) |
805
+ | iPhone 6.7" | 1290x2796 | Optional (Apple scales from 6.9") |
806
+ | iPhone 6.5" | 1242x2688 | Optional (legacy) |
807
+ | iPad 13" | 2064x2752 | Required if app supports iPad |
808
+
809
+ Google Play:
810
+ | Device | Dimensions (portrait) | Notes |
811
+ |--------|----------------------|-------|
812
+ | Phone | 1080x1920 | Recommended standard |
813
+ | 7" Tablet | 1200x1920 | If app targets 7" tablets |
814
+ | 10" Tablet | 1600x2560 | If app targets 10" tablets |
815
+
816
+ ## Project Setup
817
+
818
+ The skill scaffolds an `appshot-video/` directory inside the target project during Phase 3 code generation. See code-guide.md for the full scaffolding steps.
819
+
820
+ ```bash
821
+ cd appshot-video
822
+ npm run dev # Preview at localhost:3000
823
+ npm run build # Render to out/AppPreview.mp4
824
+ ```
825
+
826
+ ## Orchestrator Pattern
827
+
828
+ The orchestrator sequences scenes using Remotion `<Sequence>` and wraps each with `<SceneWrap>` for fade transitions.
829
+
830
+ ```tsx
831
+ import { Composition, Sequence } from "remotion";
832
+ import { SceneWrap } from "./components";
833
+ import { S1_Hook } from "./scenes/S1_Hook";
834
+ import { S2_Feature } from "./scenes/S2_Feature";
835
+ import { S3_CTA } from "./scenes/S3_CTA";
836
+
837
+ const scenes = [
838
+ { component: S1_Hook, duration: 120 },
839
+ { component: S2_Feature, duration: 150 },
840
+ { component: S3_CTA, duration: 120 },
841
+ ];
842
+
843
+ export const AppPreview: React.FC = () => {
844
+ let offset = 0;
845
+ return (
846
+ <>
847
+ {scenes.map(({ component: Scene, duration }, i) => {
848
+ const from = offset;
849
+ offset += duration;
850
+ return (
851
+ <Sequence key={i} from={from} durationInFrames={duration}>
852
+ <SceneWrap durationInFrames={duration}>
853
+ <Scene />
854
+ </SceneWrap>
855
+ </Sequence>
856
+ );
857
+ })}
858
+ </>
859
+ );
860
+ };
861
+
862
+ ## Shared Resources
863
+
864
+ - Copy principles: [copy-principles.md`copy-principles.md`
865
+ - Extraction logic is built into this skill (see Extraction & Context Caching above)
866
+
867
+ ## Source
868
+
869
+ Rewritten for AICUT from [`trunghaiy/appshot`](https://github.com/trunghaiy/appshot)
870
+ (MIT), skills/appshot-core/SKILL.md. The method is that skill's own; the way it runs is AICUT's.
871
+
872
+ The repository holds 4 skills; this is the one its entry stands for.