solmate-skills 1.0.2 → 2.0.1

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 (427) hide show
  1. package/AGENTS.md +49 -15
  2. package/CLAUDE.md +77 -0
  3. package/README.md +114 -60
  4. package/bin/cli.js +20 -0
  5. package/{business-plan → docs-business}/SKILL.md +8 -8
  6. package/{dev-docs → docs-dev}/SKILL.md +9 -6
  7. package/{pitch-deck → docs-pitch}/SKILL.md +8 -35
  8. package/{plan-docs → docs-plan}/SKILL.md +3 -5
  9. package/ext-awesome-design/SKILL.md +19 -0
  10. package/ext-k-skill/SKILL.md +21 -0
  11. package/hooks/install.sh +131 -0
  12. package/hooks/suggest-skills.sh +94 -0
  13. package/hooks/watch-files.sh +86 -0
  14. package/manage-decisions/SKILL.md +215 -0
  15. package/package.json +1 -1
  16. package/{dev-conventions → rules-dev}/SKILL.md +2 -2
  17. package/{manage-docs → rules-docs}/SKILL.md +14 -10
  18. package/{product-workflow → rules-product}/SKILL.md +90 -100
  19. package/{react-components → rules-react}/README.md +1 -1
  20. package/rules-react/SKILL.md +39 -0
  21. package/rules-react/package.json +15 -0
  22. package/{implementation-workflow → rules-workflow}/SKILL.md +2 -2
  23. package/{obsidian-sync → tools-obsidian}/SKILL.md +2 -2
  24. package/{shadcn-ui → tools-shadcn}/SKILL.md +1 -1
  25. package/verify-code/SKILL.md +134 -0
  26. package/verify-docs/SKILL.md +3 -2
  27. package/verify-performance/SKILL.md +221 -0
  28. package/verify-security/SKILL.md +205 -0
  29. package/design-md/README.md +0 -34
  30. package/design-md/SKILL.md +0 -172
  31. package/design-md/examples/DESIGN.md +0 -154
  32. package/enhance-prompt/README.md +0 -34
  33. package/enhance-prompt/SKILL.md +0 -204
  34. package/enhance-prompt/references/KEYWORDS.md +0 -114
  35. package/react-components/SKILL.md +0 -47
  36. package/react-components/package.json +0 -16
  37. package/remotion/README.md +0 -105
  38. package/remotion/SKILL.md +0 -393
  39. package/remotion/examples/WalkthroughComposition.tsx +0 -78
  40. package/remotion/examples/screens.json +0 -56
  41. package/remotion/resources/composition-checklist.md +0 -124
  42. package/remotion/resources/screen-slide-template.tsx +0 -123
  43. package/remotion/scripts/download-stitch-asset.sh +0 -38
  44. package/stitch-loop/README.md +0 -54
  45. package/stitch-loop/SKILL.md +0 -203
  46. package/stitch-loop/examples/SITE.md +0 -73
  47. package/stitch-loop/examples/next-prompt.md +0 -25
  48. package/stitch-loop/resources/baton-schema.md +0 -61
  49. package/stitch-loop/resources/site-template.md +0 -104
  50. /package/{awesome-design-md → ext-awesome-design}/.github/FUNDING.yml +0 -0
  51. /package/{awesome-design-md → ext-awesome-design}/.github/ISSUE_TEMPLATE/design-md-request.yml +0 -0
  52. /package/{awesome-design-md → ext-awesome-design}/CONTRIBUTING.md +0 -0
  53. /package/{awesome-design-md → ext-awesome-design}/LICENSE +0 -0
  54. /package/{awesome-design-md → ext-awesome-design}/README.md +0 -0
  55. /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/DESIGN.md +0 -0
  56. /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/README.md +0 -0
  57. /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/preview-dark.html +0 -0
  58. /package/{awesome-design-md → ext-awesome-design}/design-md/airbnb/preview.html +0 -0
  59. /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/DESIGN.md +0 -0
  60. /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/README.md +0 -0
  61. /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/preview-dark.html +0 -0
  62. /package/{awesome-design-md → ext-awesome-design}/design-md/airtable/preview.html +0 -0
  63. /package/{awesome-design-md → ext-awesome-design}/design-md/apple/DESIGN.md +0 -0
  64. /package/{awesome-design-md → ext-awesome-design}/design-md/apple/README.md +0 -0
  65. /package/{awesome-design-md → ext-awesome-design}/design-md/apple/preview-dark.html +0 -0
  66. /package/{awesome-design-md → ext-awesome-design}/design-md/apple/preview.html +0 -0
  67. /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/DESIGN.md +0 -0
  68. /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/README.md +0 -0
  69. /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/preview-dark.html +0 -0
  70. /package/{awesome-design-md → ext-awesome-design}/design-md/bmw/preview.html +0 -0
  71. /package/{awesome-design-md → ext-awesome-design}/design-md/cal/DESIGN.md +0 -0
  72. /package/{awesome-design-md → ext-awesome-design}/design-md/cal/README.md +0 -0
  73. /package/{awesome-design-md → ext-awesome-design}/design-md/cal/preview-dark.html +0 -0
  74. /package/{awesome-design-md → ext-awesome-design}/design-md/cal/preview.html +0 -0
  75. /package/{awesome-design-md → ext-awesome-design}/design-md/claude/DESIGN.md +0 -0
  76. /package/{awesome-design-md → ext-awesome-design}/design-md/claude/README.md +0 -0
  77. /package/{awesome-design-md → ext-awesome-design}/design-md/claude/preview-dark.html +0 -0
  78. /package/{awesome-design-md → ext-awesome-design}/design-md/claude/preview.html +0 -0
  79. /package/{awesome-design-md → ext-awesome-design}/design-md/clay/DESIGN.md +0 -0
  80. /package/{awesome-design-md → ext-awesome-design}/design-md/clay/README.md +0 -0
  81. /package/{awesome-design-md → ext-awesome-design}/design-md/clay/preview-dark.html +0 -0
  82. /package/{awesome-design-md → ext-awesome-design}/design-md/clay/preview.html +0 -0
  83. /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/DESIGN.md +0 -0
  84. /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/README.md +0 -0
  85. /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/preview-dark.html +0 -0
  86. /package/{awesome-design-md → ext-awesome-design}/design-md/clickhouse/preview.html +0 -0
  87. /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/DESIGN.md +0 -0
  88. /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/README.md +0 -0
  89. /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/preview-dark.html +0 -0
  90. /package/{awesome-design-md → ext-awesome-design}/design-md/cohere/preview.html +0 -0
  91. /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/DESIGN.md +0 -0
  92. /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/README.md +0 -0
  93. /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/preview-dark.html +0 -0
  94. /package/{awesome-design-md → ext-awesome-design}/design-md/coinbase/preview.html +0 -0
  95. /package/{awesome-design-md → ext-awesome-design}/design-md/composio/DESIGN.md +0 -0
  96. /package/{awesome-design-md → ext-awesome-design}/design-md/composio/README.md +0 -0
  97. /package/{awesome-design-md → ext-awesome-design}/design-md/composio/preview-dark.html +0 -0
  98. /package/{awesome-design-md → ext-awesome-design}/design-md/composio/preview.html +0 -0
  99. /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/DESIGN.md +0 -0
  100. /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/README.md +0 -0
  101. /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/preview-dark.html +0 -0
  102. /package/{awesome-design-md → ext-awesome-design}/design-md/cursor/preview.html +0 -0
  103. /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/DESIGN.md +0 -0
  104. /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/README.md +0 -0
  105. /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/preview-dark.html +0 -0
  106. /package/{awesome-design-md → ext-awesome-design}/design-md/elevenlabs/preview.html +0 -0
  107. /package/{awesome-design-md → ext-awesome-design}/design-md/expo/DESIGN.md +0 -0
  108. /package/{awesome-design-md → ext-awesome-design}/design-md/expo/README.md +0 -0
  109. /package/{awesome-design-md → ext-awesome-design}/design-md/expo/preview-dark.html +0 -0
  110. /package/{awesome-design-md → ext-awesome-design}/design-md/expo/preview.html +0 -0
  111. /package/{awesome-design-md → ext-awesome-design}/design-md/figma/DESIGN.md +0 -0
  112. /package/{awesome-design-md → ext-awesome-design}/design-md/figma/README.md +0 -0
  113. /package/{awesome-design-md → ext-awesome-design}/design-md/figma/preview-dark.html +0 -0
  114. /package/{awesome-design-md → ext-awesome-design}/design-md/figma/preview.html +0 -0
  115. /package/{awesome-design-md → ext-awesome-design}/design-md/framer/DESIGN.md +0 -0
  116. /package/{awesome-design-md → ext-awesome-design}/design-md/framer/README.md +0 -0
  117. /package/{awesome-design-md → ext-awesome-design}/design-md/framer/preview-dark.html +0 -0
  118. /package/{awesome-design-md → ext-awesome-design}/design-md/framer/preview.html +0 -0
  119. /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/DESIGN.md +0 -0
  120. /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/README.md +0 -0
  121. /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/preview-dark.html +0 -0
  122. /package/{awesome-design-md → ext-awesome-design}/design-md/hashicorp/preview.html +0 -0
  123. /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/DESIGN.md +0 -0
  124. /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/README.md +0 -0
  125. /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/preview-dark.html +0 -0
  126. /package/{awesome-design-md → ext-awesome-design}/design-md/ibm/preview.html +0 -0
  127. /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/DESIGN.md +0 -0
  128. /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/README.md +0 -0
  129. /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/preview-dark.html +0 -0
  130. /package/{awesome-design-md → ext-awesome-design}/design-md/intercom/preview.html +0 -0
  131. /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/DESIGN.md +0 -0
  132. /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/README.md +0 -0
  133. /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/preview-dark.html +0 -0
  134. /package/{awesome-design-md → ext-awesome-design}/design-md/kraken/preview.html +0 -0
  135. /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/DESIGN.md +0 -0
  136. /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/README.md +0 -0
  137. /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/preview-dark.html +0 -0
  138. /package/{awesome-design-md → ext-awesome-design}/design-md/linear.app/preview.html +0 -0
  139. /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/DESIGN.md +0 -0
  140. /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/README.md +0 -0
  141. /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/preview-dark.html +0 -0
  142. /package/{awesome-design-md → ext-awesome-design}/design-md/lovable/preview.html +0 -0
  143. /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/DESIGN.md +0 -0
  144. /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/README.md +0 -0
  145. /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/preview-dark.html +0 -0
  146. /package/{awesome-design-md → ext-awesome-design}/design-md/minimax/preview.html +0 -0
  147. /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/DESIGN.md +0 -0
  148. /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/README.md +0 -0
  149. /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/preview-dark.html +0 -0
  150. /package/{awesome-design-md → ext-awesome-design}/design-md/mintlify/preview.html +0 -0
  151. /package/{awesome-design-md → ext-awesome-design}/design-md/miro/DESIGN.md +0 -0
  152. /package/{awesome-design-md → ext-awesome-design}/design-md/miro/README.md +0 -0
  153. /package/{awesome-design-md → ext-awesome-design}/design-md/miro/preview-dark.html +0 -0
  154. /package/{awesome-design-md → ext-awesome-design}/design-md/miro/preview.html +0 -0
  155. /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/DESIGN.md +0 -0
  156. /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/README.md +0 -0
  157. /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/preview-dark.html +0 -0
  158. /package/{awesome-design-md → ext-awesome-design}/design-md/mistral.ai/preview.html +0 -0
  159. /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/DESIGN.md +0 -0
  160. /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/README.md +0 -0
  161. /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/preview-dark.html +0 -0
  162. /package/{awesome-design-md → ext-awesome-design}/design-md/mongodb/preview.html +0 -0
  163. /package/{awesome-design-md → ext-awesome-design}/design-md/notion/DESIGN.md +0 -0
  164. /package/{awesome-design-md → ext-awesome-design}/design-md/notion/README.md +0 -0
  165. /package/{awesome-design-md → ext-awesome-design}/design-md/notion/preview-dark.html +0 -0
  166. /package/{awesome-design-md → ext-awesome-design}/design-md/notion/preview.html +0 -0
  167. /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/DESIGN.md +0 -0
  168. /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/README.md +0 -0
  169. /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/preview-dark.html +0 -0
  170. /package/{awesome-design-md → ext-awesome-design}/design-md/nvidia/preview.html +0 -0
  171. /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/DESIGN.md +0 -0
  172. /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/README.md +0 -0
  173. /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/preview-dark.html +0 -0
  174. /package/{awesome-design-md → ext-awesome-design}/design-md/ollama/preview.html +0 -0
  175. /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/DESIGN.md +0 -0
  176. /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/README.md +0 -0
  177. /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/preview-dark.html +0 -0
  178. /package/{awesome-design-md → ext-awesome-design}/design-md/opencode.ai/preview.html +0 -0
  179. /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/DESIGN.md +0 -0
  180. /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/README.md +0 -0
  181. /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/preview-dark.html +0 -0
  182. /package/{awesome-design-md → ext-awesome-design}/design-md/pinterest/preview.html +0 -0
  183. /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/DESIGN.md +0 -0
  184. /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/README.md +0 -0
  185. /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/preview-dark.html +0 -0
  186. /package/{awesome-design-md → ext-awesome-design}/design-md/posthog/preview.html +0 -0
  187. /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/DESIGN.md +0 -0
  188. /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/README.md +0 -0
  189. /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/preview-dark.html +0 -0
  190. /package/{awesome-design-md → ext-awesome-design}/design-md/raycast/preview.html +0 -0
  191. /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/DESIGN.md +0 -0
  192. /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/README.md +0 -0
  193. /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/preview-dark.html +0 -0
  194. /package/{awesome-design-md → ext-awesome-design}/design-md/replicate/preview.html +0 -0
  195. /package/{awesome-design-md → ext-awesome-design}/design-md/resend/DESIGN.md +0 -0
  196. /package/{awesome-design-md → ext-awesome-design}/design-md/resend/README.md +0 -0
  197. /package/{awesome-design-md → ext-awesome-design}/design-md/resend/preview-dark.html +0 -0
  198. /package/{awesome-design-md → ext-awesome-design}/design-md/resend/preview.html +0 -0
  199. /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/DESIGN.md +0 -0
  200. /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/README.md +0 -0
  201. /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/preview-dark.html +0 -0
  202. /package/{awesome-design-md → ext-awesome-design}/design-md/revolut/preview.html +0 -0
  203. /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/DESIGN.md +0 -0
  204. /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/README.md +0 -0
  205. /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/preview-dark.html +0 -0
  206. /package/{awesome-design-md → ext-awesome-design}/design-md/runwayml/preview.html +0 -0
  207. /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/DESIGN.md +0 -0
  208. /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/README.md +0 -0
  209. /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/preview-dark.html +0 -0
  210. /package/{awesome-design-md → ext-awesome-design}/design-md/sanity/preview.html +0 -0
  211. /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/DESIGN.md +0 -0
  212. /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/README.md +0 -0
  213. /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/preview-dark.html +0 -0
  214. /package/{awesome-design-md → ext-awesome-design}/design-md/sentry/preview.html +0 -0
  215. /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/DESIGN.md +0 -0
  216. /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/README.md +0 -0
  217. /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/preview-dark.html +0 -0
  218. /package/{awesome-design-md → ext-awesome-design}/design-md/spacex/preview.html +0 -0
  219. /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/DESIGN.md +0 -0
  220. /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/README.md +0 -0
  221. /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/preview-dark.html +0 -0
  222. /package/{awesome-design-md → ext-awesome-design}/design-md/spotify/preview.html +0 -0
  223. /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/DESIGN.md +0 -0
  224. /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/README.md +0 -0
  225. /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/preview-dark.html +0 -0
  226. /package/{awesome-design-md → ext-awesome-design}/design-md/stripe/preview.html +0 -0
  227. /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/DESIGN.md +0 -0
  228. /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/README.md +0 -0
  229. /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/preview-dark.html +0 -0
  230. /package/{awesome-design-md → ext-awesome-design}/design-md/supabase/preview.html +0 -0
  231. /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/DESIGN.md +0 -0
  232. /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/README.md +0 -0
  233. /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/preview-dark.html +0 -0
  234. /package/{awesome-design-md → ext-awesome-design}/design-md/superhuman/preview.html +0 -0
  235. /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/DESIGN.md +0 -0
  236. /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/README.md +0 -0
  237. /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/preview-dark.html +0 -0
  238. /package/{awesome-design-md → ext-awesome-design}/design-md/together.ai/preview.html +0 -0
  239. /package/{awesome-design-md → ext-awesome-design}/design-md/uber/DESIGN.md +0 -0
  240. /package/{awesome-design-md → ext-awesome-design}/design-md/uber/README.md +0 -0
  241. /package/{awesome-design-md → ext-awesome-design}/design-md/uber/preview-dark.html +0 -0
  242. /package/{awesome-design-md → ext-awesome-design}/design-md/uber/preview.html +0 -0
  243. /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/DESIGN.md +0 -0
  244. /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/README.md +0 -0
  245. /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/preview-dark.html +0 -0
  246. /package/{awesome-design-md → ext-awesome-design}/design-md/vercel/preview.html +0 -0
  247. /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/DESIGN.md +0 -0
  248. /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/README.md +0 -0
  249. /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/preview-dark.html +0 -0
  250. /package/{awesome-design-md → ext-awesome-design}/design-md/voltagent/preview.html +0 -0
  251. /package/{awesome-design-md → ext-awesome-design}/design-md/warp/DESIGN.md +0 -0
  252. /package/{awesome-design-md → ext-awesome-design}/design-md/warp/README.md +0 -0
  253. /package/{awesome-design-md → ext-awesome-design}/design-md/warp/preview-dark.html +0 -0
  254. /package/{awesome-design-md → ext-awesome-design}/design-md/warp/preview.html +0 -0
  255. /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/DESIGN.md +0 -0
  256. /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/README.md +0 -0
  257. /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/preview-dark.html +0 -0
  258. /package/{awesome-design-md → ext-awesome-design}/design-md/webflow/preview.html +0 -0
  259. /package/{awesome-design-md → ext-awesome-design}/design-md/wise/DESIGN.md +0 -0
  260. /package/{awesome-design-md → ext-awesome-design}/design-md/wise/README.md +0 -0
  261. /package/{awesome-design-md → ext-awesome-design}/design-md/wise/preview-dark.html +0 -0
  262. /package/{awesome-design-md → ext-awesome-design}/design-md/wise/preview.html +0 -0
  263. /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/DESIGN.md +0 -0
  264. /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/README.md +0 -0
  265. /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/preview-dark.html +0 -0
  266. /package/{awesome-design-md → ext-awesome-design}/design-md/x.ai/preview.html +0 -0
  267. /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/DESIGN.md +0 -0
  268. /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/README.md +0 -0
  269. /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/preview-dark.html +0 -0
  270. /package/{awesome-design-md → ext-awesome-design}/design-md/zapier/preview.html +0 -0
  271. /package/{k-skill → ext-k-skill}/.changeset/config.json +0 -0
  272. /package/{k-skill → ext-k-skill}/.github/release-please/python-config.json +0 -0
  273. /package/{k-skill → ext-k-skill}/.github/release-please/python-manifest.json +0 -0
  274. /package/{k-skill → ext-k-skill}/.github/workflows/ci.yml +0 -0
  275. /package/{k-skill → ext-k-skill}/.github/workflows/release-npm.yml +0 -0
  276. /package/{k-skill → ext-k-skill}/.github/workflows/release-python.yml +0 -0
  277. /package/{k-skill → ext-k-skill}/AGENTS.md +0 -0
  278. /package/{k-skill → ext-k-skill}/CLAUDE.md +0 -0
  279. /package/{k-skill → ext-k-skill}/LICENSE +0 -0
  280. /package/{k-skill → ext-k-skill}/README.md +0 -0
  281. /package/{k-skill → ext-k-skill}/blue-ribbon-nearby/SKILL.md +0 -0
  282. /package/{k-skill → ext-k-skill}/coupang-product-search/SKILL.md +0 -0
  283. /package/{k-skill → ext-k-skill}/daiso-product-search/SKILL.md +0 -0
  284. /package/{k-skill → ext-k-skill}/delivery-tracking/SKILL.md +0 -0
  285. /package/{k-skill → ext-k-skill}/docs/assets/k-skill-thumbnail.png +0 -0
  286. /package/{k-skill → ext-k-skill}/docs/features/blue-ribbon-nearby.md +0 -0
  287. /package/{k-skill → ext-k-skill}/docs/features/coupang-product-search.md +0 -0
  288. /package/{k-skill → ext-k-skill}/docs/features/daiso-product-search.md +0 -0
  289. /package/{k-skill → ext-k-skill}/docs/features/delivery-tracking.md +0 -0
  290. /package/{k-skill → ext-k-skill}/docs/features/fine-dust-location.md +0 -0
  291. /package/{k-skill → ext-k-skill}/docs/features/hwp.md +0 -0
  292. /package/{k-skill → ext-k-skill}/docs/features/k-skill-proxy.md +0 -0
  293. /package/{k-skill → ext-k-skill}/docs/features/kakao-bar-nearby.md +0 -0
  294. /package/{k-skill → ext-k-skill}/docs/features/kakaotalk-mac.md +0 -0
  295. /package/{k-skill → ext-k-skill}/docs/features/kbo-results.md +0 -0
  296. /package/{k-skill → ext-k-skill}/docs/features/kleague-results.md +0 -0
  297. /package/{k-skill → ext-k-skill}/docs/features/korean-law-search.md +0 -0
  298. /package/{k-skill → ext-k-skill}/docs/features/ktx-booking.md +0 -0
  299. /package/{k-skill → ext-k-skill}/docs/features/lotto-results.md +0 -0
  300. /package/{k-skill → ext-k-skill}/docs/features/seoul-subway-arrival.md +0 -0
  301. /package/{k-skill → ext-k-skill}/docs/features/srt-booking.md +0 -0
  302. /package/{k-skill → ext-k-skill}/docs/features/toss-securities.md +0 -0
  303. /package/{k-skill → ext-k-skill}/docs/features/used-car-price-search.md +0 -0
  304. /package/{k-skill → ext-k-skill}/docs/features/zipcode-search.md +0 -0
  305. /package/{k-skill → ext-k-skill}/docs/install.md +0 -0
  306. /package/{k-skill → ext-k-skill}/docs/releasing.md +0 -0
  307. /package/{k-skill → ext-k-skill}/docs/roadmap.md +0 -0
  308. /package/{k-skill → ext-k-skill}/docs/security-and-secrets.md +0 -0
  309. /package/{k-skill → ext-k-skill}/docs/setup.md +0 -0
  310. /package/{k-skill → ext-k-skill}/docs/sources.md +0 -0
  311. /package/{k-skill → ext-k-skill}/ecosystem.config.cjs +0 -0
  312. /package/{k-skill → ext-k-skill}/examples/secrets.env.example +0 -0
  313. /package/{k-skill → ext-k-skill}/fine-dust-location/SKILL.md +0 -0
  314. /package/{k-skill → ext-k-skill}/hwp/SKILL.md +0 -0
  315. /package/{k-skill → ext-k-skill}/k-skill-setup/SKILL.md +0 -0
  316. /package/{k-skill → ext-k-skill}/kakao-bar-nearby/SKILL.md +0 -0
  317. /package/{k-skill → ext-k-skill}/kakaotalk-mac/SKILL.md +0 -0
  318. /package/{k-skill → ext-k-skill}/kbo-results/SKILL.md +0 -0
  319. /package/{k-skill → ext-k-skill}/kleague-results/SKILL.md +0 -0
  320. /package/{k-skill → ext-k-skill}/korean-law-search/SKILL.md +0 -0
  321. /package/{k-skill → ext-k-skill}/ktx-booking/SKILL.md +0 -0
  322. /package/{k-skill → ext-k-skill}/lotto-results/SKILL.md +0 -0
  323. /package/{k-skill → ext-k-skill}/package.json +0 -0
  324. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/CHANGELOG.md +0 -0
  325. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/README.md +0 -0
  326. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/package.json +0 -0
  327. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/src/index.js +0 -0
  328. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/src/parse.js +0 -0
  329. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/fixtures/restaurants-map.json +0 -0
  330. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/fixtures/search-zone.html +0 -0
  331. /package/{k-skill → ext-k-skill}/packages/blue-ribbon-nearby/test/index.test.js +0 -0
  332. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/CHANGELOG.md +0 -0
  333. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/README.md +0 -0
  334. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/package.json +0 -0
  335. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/src/index.js +0 -0
  336. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/src/parse.js +0 -0
  337. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/online-stock.json +0 -0
  338. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/search-goods.json +0 -0
  339. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-detail.json +0 -0
  340. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-pickup-stock.json +0 -0
  341. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/fixtures/store-search.json +0 -0
  342. /package/{k-skill → ext-k-skill}/packages/daiso-product-search/test/index.test.js +0 -0
  343. /package/{k-skill → ext-k-skill}/packages/k-lotto/CHANGELOG.md +0 -0
  344. /package/{k-skill → ext-k-skill}/packages/k-lotto/README.md +0 -0
  345. /package/{k-skill → ext-k-skill}/packages/k-lotto/package.json +0 -0
  346. /package/{k-skill → ext-k-skill}/packages/k-lotto/src/index.js +0 -0
  347. /package/{k-skill → ext-k-skill}/packages/k-lotto/src/parse.js +0 -0
  348. /package/{k-skill → ext-k-skill}/packages/k-lotto/test/fixtures/latest-result.html +0 -0
  349. /package/{k-skill → ext-k-skill}/packages/k-lotto/test/fixtures/round-1216.json +0 -0
  350. /package/{k-skill → ext-k-skill}/packages/k-lotto/test/index.test.js +0 -0
  351. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/README.md +0 -0
  352. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/package.json +0 -0
  353. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/src/airkorea.js +0 -0
  354. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/src/server.js +0 -0
  355. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/test/airkorea.test.js +0 -0
  356. /package/{k-skill → ext-k-skill}/packages/k-skill-proxy/test/server.test.js +0 -0
  357. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/CHANGELOG.md +0 -0
  358. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/README.md +0 -0
  359. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/package.json +0 -0
  360. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/src/index.js +0 -0
  361. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/src/parse.js +0 -0
  362. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/anchor-panel.json +0 -0
  363. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/anchor-search.html +0 -0
  364. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/bar-search.html +0 -0
  365. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/closed-bar-panel.json +0 -0
  366. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/non-bar-panel.json +0 -0
  367. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/fixtures/open-bar-panel.json +0 -0
  368. /package/{k-skill → ext-k-skill}/packages/kakao-bar-nearby/test/index.test.js +0 -0
  369. /package/{k-skill → ext-k-skill}/packages/kleague-results/CHANGELOG.md +0 -0
  370. /package/{k-skill → ext-k-skill}/packages/kleague-results/README.md +0 -0
  371. /package/{k-skill → ext-k-skill}/packages/kleague-results/package.json +0 -0
  372. /package/{k-skill → ext-k-skill}/packages/kleague-results/src/index.js +0 -0
  373. /package/{k-skill → ext-k-skill}/packages/kleague-results/src/parse.js +0 -0
  374. /package/{k-skill → ext-k-skill}/packages/kleague-results/test/fixtures/schedule-kleague1-2026-03.json +0 -0
  375. /package/{k-skill → ext-k-skill}/packages/kleague-results/test/fixtures/standings-kleague1-2026.json +0 -0
  376. /package/{k-skill → ext-k-skill}/packages/kleague-results/test/index.test.js +0 -0
  377. /package/{k-skill → ext-k-skill}/packages/toss-securities/CHANGELOG.md +0 -0
  378. /package/{k-skill → ext-k-skill}/packages/toss-securities/README.md +0 -0
  379. /package/{k-skill → ext-k-skill}/packages/toss-securities/package.json +0 -0
  380. /package/{k-skill → ext-k-skill}/packages/toss-securities/src/index.js +0 -0
  381. /package/{k-skill → ext-k-skill}/packages/toss-securities/src/parse.js +0 -0
  382. /package/{k-skill → ext-k-skill}/packages/toss-securities/test/index.test.js +0 -0
  383. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/CHANGELOG.md +0 -0
  384. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/README.md +0 -0
  385. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/package.json +0 -0
  386. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/index.js +0 -0
  387. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/providers/sk-tagobuy.js +0 -0
  388. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/search.js +0 -0
  389. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/src/util.js +0 -0
  390. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/fixtures/tb-empty.html +0 -0
  391. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/fixtures/tb-page.html +0 -0
  392. /package/{k-skill → ext-k-skill}/packages/used-car-price-search/test/index.test.js +0 -0
  393. /package/{k-skill → ext-k-skill}/python-packages/README.md +0 -0
  394. /package/{k-skill → ext-k-skill}/scripts/check-setup.sh +0 -0
  395. /package/{k-skill → ext-k-skill}/scripts/fine_dust.py +0 -0
  396. /package/{k-skill → ext-k-skill}/scripts/fixtures/delivery-tracking-public-provenance.json +0 -0
  397. /package/{k-skill → ext-k-skill}/scripts/fixtures/delivery-tracking-public-samples.json +0 -0
  398. /package/{k-skill → ext-k-skill}/scripts/fixtures/fine-dust-measurements.json +0 -0
  399. /package/{k-skill → ext-k-skill}/scripts/fixtures/fine-dust-stations.json +0 -0
  400. /package/{k-skill → ext-k-skill}/scripts/ktx_booking.py +0 -0
  401. /package/{k-skill → ext-k-skill}/scripts/run-k-skill-proxy.sh +0 -0
  402. /package/{k-skill → ext-k-skill}/scripts/skill-docs.test.js +0 -0
  403. /package/{k-skill → ext-k-skill}/scripts/test_fine_dust.py +0 -0
  404. /package/{k-skill → ext-k-skill}/scripts/test_ktx_booking.py +0 -0
  405. /package/{k-skill → ext-k-skill}/scripts/validate-skills.sh +0 -0
  406. /package/{k-skill → ext-k-skill}/seoul-subway-arrival/SKILL.md +0 -0
  407. /package/{k-skill → ext-k-skill}/srt-booking/SKILL.md +0 -0
  408. /package/{k-skill → ext-k-skill}/toss-securities/SKILL.md +0 -0
  409. /package/{k-skill → ext-k-skill}/tsconfig.json +0 -0
  410. /package/{k-skill → ext-k-skill}/used-car-price-search/SKILL.md +0 -0
  411. /package/{k-skill → ext-k-skill}/zipcode-search/SKILL.md +0 -0
  412. /package/{react-components → rules-react}/examples/gold-standard-card.tsx +0 -0
  413. /package/{react-components → rules-react}/resources/architecture-checklist.md +0 -0
  414. /package/{react-components → rules-react}/resources/component-template.tsx +0 -0
  415. /package/{react-components → rules-react}/resources/stitch-api-reference.md +0 -0
  416. /package/{react-components → rules-react}/resources/style-guide.json +0 -0
  417. /package/{react-components → rules-react}/scripts/fetch-stitch.sh +0 -0
  418. /package/{react-components → rules-react}/scripts/validate.js +0 -0
  419. /package/{shadcn-ui → tools-shadcn}/README.md +0 -0
  420. /package/{shadcn-ui → tools-shadcn}/examples/auth-layout.tsx +0 -0
  421. /package/{shadcn-ui → tools-shadcn}/examples/data-table.tsx +0 -0
  422. /package/{shadcn-ui → tools-shadcn}/examples/form-pattern.tsx +0 -0
  423. /package/{shadcn-ui → tools-shadcn}/resources/component-catalog.md +0 -0
  424. /package/{shadcn-ui → tools-shadcn}/resources/customization-guide.md +0 -0
  425. /package/{shadcn-ui → tools-shadcn}/resources/migration-guide.md +0 -0
  426. /package/{shadcn-ui → tools-shadcn}/resources/setup-guide.md +0 -0
  427. /package/{shadcn-ui → tools-shadcn}/scripts/verify-setup.sh +0 -0
package/remotion/SKILL.md DELETED
@@ -1,393 +0,0 @@
1
- ---
2
- name: remotion
3
- description: Generate walkthrough videos from Stitch projects using Remotion with smooth transitions, zooming, and text overlays
4
- allowed-tools:
5
- - "stitch*:*"
6
- - "remotion*:*"
7
- - "Bash"
8
- - "Read"
9
- - "Write"
10
- - "web_fetch"
11
- ---
12
-
13
- # Stitch to Remotion Walkthrough Videos
14
-
15
- You are a video production specialist focused on creating engaging walkthrough videos from app designs. You combine Stitch's screen retrieval capabilities with Remotion's programmatic video generation to produce smooth, professional presentations.
16
-
17
- ## Overview
18
-
19
- This skill enables you to create walkthrough videos that showcase app screens with professional transitions, zoom effects, and contextual text overlays. The workflow retrieves screens from Stitch projects and orchestrates them into a Remotion video composition.
20
-
21
- ## Prerequisites
22
-
23
- **Required:**
24
- - Access to the Stitch MCP Server
25
- - Access to the Remotion MCP Server (or Remotion CLI)
26
- - Node.js and npm installed
27
- - A Stitch project with designed screens
28
-
29
- **Recommended:**
30
- - Familiarity with Remotion's video capabilities
31
- - Understanding of React components (Remotion uses React)
32
-
33
- ## Retrieval and Networking
34
-
35
- ### Step 1: Discover Available MCP Servers
36
-
37
- Run `list_tools` to identify available MCP servers and their prefixes:
38
- - **Stitch MCP**: Look for `stitch:` or `mcp_stitch:` prefix
39
- - **Remotion MCP**: Look for `remotion:` or `mcp_remotion:` prefix
40
-
41
- ### Step 2: Retrieve Stitch Project Information
42
-
43
- 1. **Project lookup** (if Project ID is not provided):
44
- - Call `[stitch_prefix]:list_projects` with `filter: "view=owned"`
45
- - Identify target project by title (e.g., "Calculator App")
46
- - Extract Project ID from `name` field (e.g., `projects/13534454087919359824`)
47
-
48
- 2. **Screen retrieval**:
49
- - Call `[stitch_prefix]:list_screens` with the project ID (numeric only)
50
- - Review screen titles to identify all screens for the walkthrough
51
- - Extract Screen IDs from each screen's `name` field
52
-
53
- 3. **Screen metadata fetch**:
54
- For each screen:
55
- - Call `[stitch_prefix]:get_screen` with `projectId` and `screenId`
56
- - Retrieve:
57
- - `screenshot.downloadUrl` — Visual asset for the video
58
- - `htmlCode.downloadUrl` — Optional: for extracting text/content
59
- - `width`, `height` — Screen dimensions for proper scaling
60
- - Screen title and description for text overlays
61
-
62
- 4. **Asset download**:
63
- - Use `web_fetch` or `Bash` with `curl` to download screenshots
64
- - Save to a staging directory: `assets/screens/{screen-name}.png`
65
- - Organize assets in order of the intended walkthrough flow
66
-
67
- ### Step 3: Set Up Remotion Project
68
-
69
- 1. **Check for existing Remotion project**:
70
- - Look for `remotion.config.ts` or `package.json` with Remotion dependencies
71
- - If exists, use the existing project structure
72
-
73
- 2. **Create new Remotion project** (if needed):
74
- ```bash
75
- npm create video@latest -- --blank
76
- ```
77
- - Choose TypeScript template
78
- - Set up in a dedicated `video/` directory
79
-
80
- 3. **Install dependencies**:
81
- ```bash
82
- cd video
83
- npm install @remotion/transitions @remotion/animated-emoji
84
- ```
85
-
86
- ## Video Composition Strategy
87
-
88
- ### Architecture
89
-
90
- Create a modular Remotion composition with these components:
91
-
92
- 1. **`ScreenSlide.tsx`** — Individual screen display component
93
- - Props: `imageSrc`, `title`, `description`, `width`, `height`
94
- - Features: Zoom-in animation, fade transitions
95
- - Duration: Configurable (default 3-5 seconds per screen)
96
-
97
- 2. **`WalkthroughComposition.tsx`** — Main video composition
98
- - Sequences multiple `ScreenSlide` components
99
- - Handles transitions between screens
100
- - Adds text overlays and annotations
101
-
102
- 3. **`config.ts`** — Video configuration
103
- - Frame rate (default: 30 fps)
104
- - Video dimensions (match Stitch screen dimensions or scale appropriately)
105
- - Total duration calculation
106
-
107
- ### Transition Effects
108
-
109
- Use Remotion's `@remotion/transitions` for professional effects:
110
-
111
- - **Fade**: Smooth cross-fade between screens
112
- ```tsx
113
- import {fade} from '@remotion/transitions/fade';
114
- ```
115
-
116
- - **Slide**: Directional slide transitions
117
- ```tsx
118
- import {slide} from '@remotion/transitions/slide';
119
- ```
120
-
121
- - **Zoom**: Zoom in/out effects for emphasis
122
- - Use `spring()` animation for smooth zoom
123
- - Apply to important UI elements
124
-
125
- ### Text Overlays
126
-
127
- Add contextual information using Remotion's text rendering:
128
-
129
- 1. **Screen titles**: Display at the top or bottom of each frame
130
- 2. **Feature callouts**: Highlight specific UI elements with animated pointers
131
- 3. **Descriptions**: Fade in descriptive text for each screen
132
- 4. **Progress indicator**: Show current screen position in walkthrough
133
-
134
- ## Execution Steps
135
-
136
- ### Step 1: Gather Screen Assets
137
-
138
- 1. Identify target Stitch project
139
- 2. List all screens in the project
140
- 3. Download screenshots for each screen
141
- 4. Organize in order of walkthrough flow
142
- 5. Create a manifest file (`screens.json`):
143
-
144
- ```json
145
- {
146
- "projectName": "Calculator App",
147
- "screens": [
148
- {
149
- "id": "1",
150
- "title": "Home Screen",
151
- "description": "Main calculator interface with number pad",
152
- "imagePath": "assets/screens/home.png",
153
- "width": 1200,
154
- "height": 800,
155
- "duration": 4
156
- },
157
- {
158
- "id": "2",
159
- "title": "History View",
160
- "description": "View of previous calculations",
161
- "imagePath": "assets/screens/history.png",
162
- "width": 1200,
163
- "height": 800,
164
- "duration": 3
165
- }
166
- ]
167
- }
168
- ```
169
-
170
- ### Step 2: Generate Remotion Components
171
-
172
- Create the video components following Remotion best practices:
173
-
174
- 1. **Create `ScreenSlide.tsx`**:
175
- - Use `useCurrentFrame()` and `spring()` for animations
176
- - Implement zoom and fade effects
177
- - Add text overlays with proper timing
178
-
179
- 2. **Create `WalkthroughComposition.tsx`**:
180
- - Import screen manifest
181
- - Sequence screens with `<Sequence>` components
182
- - Apply transitions between screens
183
- - Calculate proper timing and offsets
184
-
185
- 3. **Update `remotion.config.ts`**:
186
- - Set composition ID
187
- - Configure video dimensions
188
- - Set frame rate and duration
189
-
190
- **Reference Resources:**
191
- - Use `resources/screen-slide-template.tsx` as starting point
192
- - Follow `resources/composition-checklist.md` for completeness
193
- - Review examples in `examples/walkthrough/` directory
194
-
195
- ### Step 3: Preview and Refine
196
-
197
- 1. **Start Remotion Studio**:
198
- ```bash
199
- npm run dev
200
- ```
201
- - Opens browser-based preview
202
- - Allows real-time editing and refinement
203
-
204
- 2. **Adjust timing**:
205
- - Ensure each screen has appropriate display duration
206
- - Verify transitions are smooth
207
- - Check text overlay timing
208
-
209
- 3. **Fine-tune animations**:
210
- - Adjust spring configurations for zoom effects
211
- - Modify easing functions for transitions
212
- - Ensure text is readable at all times
213
-
214
- ### Step 4: Render Video
215
-
216
- 1. **Render using Remotion CLI**:
217
- ```bash
218
- npx remotion render WalkthroughComposition output.mp4
219
- ```
220
-
221
- 2. **Alternative: Use Remotion MCP** (if available):
222
- - Call `[remotion_prefix]:render` with composition details
223
- - Specify output format (MP4, WebM, etc.)
224
-
225
- 3. **Optimization options**:
226
- - Set quality level (`--quality`)
227
- - Configure codec (`--codec h264` or `h265`)
228
- - Enable parallel rendering (`--concurrency`)
229
-
230
- ## Advanced Features
231
-
232
- ### Interactive Hotspots
233
-
234
- Highlight clickable elements or important features:
235
-
236
- ```tsx
237
- import {interpolate, useCurrentFrame} from 'remotion';
238
-
239
- const Hotspot = ({x, y, label}) => {
240
- const frame = useCurrentFrame();
241
- const scale = spring({
242
- frame,
243
- fps: 30,
244
- config: {damping: 10, stiffness: 100}
245
- });
246
-
247
- return (
248
- <div style={{
249
- position: 'absolute',
250
- left: x,
251
- top: y,
252
- transform: `scale(${scale})`
253
- }}>
254
- <div className="pulse-ring" />
255
- <span>{label}</span>
256
- </div>
257
- );
258
- };
259
- ```
260
-
261
- ### Voiceover Integration
262
-
263
- Add narration to the walkthrough:
264
-
265
- 1. Generate voiceover script from screen descriptions
266
- 2. Use text-to-speech or record audio
267
- 3. Import audio into Remotion with `<Audio>` component
268
- 4. Sync screen timing with voiceover pacing
269
-
270
- ### Dynamic Text Extraction
271
-
272
- Extract text from Stitch HTML code for automatic annotations:
273
-
274
- 1. Download `htmlCode.downloadUrl` for each screen
275
- 2. Parse HTML to extract key text elements (headings, buttons, labels)
276
- 3. Generate automatic callouts for important UI elements
277
- 4. Add to composition as timed text overlays
278
-
279
- ## File Structure
280
-
281
- ```
282
- project/
283
- ├── video/ # Remotion project directory
284
- │ ├── src/
285
- │ │ ├── WalkthroughComposition.tsx
286
- │ │ ├── ScreenSlide.tsx
287
- │ │ ├── components/
288
- │ │ │ ├── Hotspot.tsx
289
- │ │ │ └── TextOverlay.tsx
290
- │ │ └── Root.tsx
291
- │ ├── public/
292
- │ │ └── assets/
293
- │ │ └── screens/ # Downloaded Stitch screenshots
294
- │ │ ├── home.png
295
- │ │ └── history.png
296
- │ ├── remotion.config.ts
297
- │ └── package.json
298
- ├── screens.json # Screen manifest
299
- └── output.mp4 # Rendered video
300
- ```
301
-
302
- ## Integration with Remotion Skills
303
-
304
- Remotion maintains its own Agent Skills that define best practices. Review these for advanced techniques:
305
-
306
- - **Repository**: https://github.com/remotion-dev/remotion/tree/main/packages/skills
307
- - **Installation**: `npx skills add remotion-dev/skills`
308
-
309
- Key Remotion skills to leverage:
310
- - Animation timing and easing
311
- - Composition architecture patterns
312
- - Performance optimization
313
- - Audio synchronization
314
-
315
- ## Common Patterns
316
-
317
- ### Pattern 1: Simple Slide Show
318
-
319
- Basic walkthrough with fade transitions:
320
- - 3-5 seconds per screen
321
- - Cross-fade transitions
322
- - Bottom text overlay with screen title
323
- - Progress bar at top
324
-
325
- ### Pattern 2: Feature Highlight
326
-
327
- Focus on specific UI elements:
328
- - Zoom into specific regions
329
- - Animated circles/arrows pointing to features
330
- - Slow-motion emphasis on key interactions
331
- - Side-by-side before/after comparisons
332
-
333
- ### Pattern 3: User Flow
334
-
335
- Show step-by-step user journey:
336
- - Sequential screen flow with directional slides
337
- - Numbered steps overlay
338
- - Highlight user actions (clicks, taps)
339
- - Connect screens with animated paths
340
-
341
- ## Troubleshooting
342
-
343
- | Issue | Solution |
344
- |-------|----------|
345
- | **Blurry screenshots** | Ensure downloaded images are at full resolution; check `screenshot.downloadUrl` quality settings |
346
- | **Misaligned text** | Verify screen dimensions match composition size; adjust text positioning based on actual screen size |
347
- | **Choppy animations** | Increase frame rate to 60fps; use proper spring configurations with appropriate damping |
348
- | **Remotion build fails** | Check Node version compatibility; ensure all dependencies are installed; review Remotion docs |
349
- | **Timing feels off** | Adjust duration per screen in manifest; preview in Remotion Studio; test with actual users |
350
-
351
- ## Best Practices
352
-
353
- 1. **Maintain aspect ratio**: Use actual Stitch screen dimensions or scale proportionally
354
- 2. **Consistent timing**: Keep screen display duration consistent unless emphasizing specific screens
355
- 3. **Readable text**: Ensure sufficient contrast; use appropriate font sizes; avoid cluttered overlays
356
- 4. **Smooth transitions**: Use spring animations for natural motion; avoid jarring cuts
357
- 5. **Preview thoroughly**: Always preview in Remotion Studio before final render
358
- 6. **Optimize assets**: Compress images appropriately; use efficient formats (PNG for UI, JPG for photos)
359
-
360
- ## Example Usage
361
-
362
- **User prompt:**
363
- ```
364
- Look up the screens in my Stitch project "Calculator App" and build a remotion video
365
- that shows a walkthrough of the screens.
366
- ```
367
-
368
- **Agent workflow:**
369
- 1. List Stitch projects → Find "Calculator App" → Extract project ID
370
- 2. List screens in project → Identify all screens (Home, History, Settings)
371
- 3. Download screenshots for each screen → Save to `assets/screens/`
372
- 4. Create `screens.json` manifest with screen metadata
373
- 5. Generate Remotion components (`ScreenSlide.tsx`, `WalkthroughComposition.tsx`)
374
- 6. Preview in Remotion Studio → Refine timing and transitions
375
- 7. Render final video → `calculator-walkthrough.mp4`
376
- 8. Report completion with video preview link
377
-
378
- ## Tips for Success
379
-
380
- - **Start simple**: Begin with basic fade transitions before adding complex animations
381
- - **Follow Remotion patterns**: Leverage Remotion's official skills and documentation
382
- - **Use manifest files**: Keep screen data organized in JSON for easy updates
383
- - **Preview frequently**: Use Remotion Studio to catch issues early
384
- - **Consider accessibility**: Add captions; ensure text is readable; use clear visuals
385
- - **Optimize for platform**: Match video dimensions to target platform (YouTube, social media, etc.)
386
-
387
- ## References
388
-
389
- - **Stitch Documentation**: https://stitch.withgoogle.com/docs/
390
- - **Remotion Documentation**: https://www.remotion.dev/docs/
391
- - **Remotion Skills**: https://www.remotion.dev/docs/ai/skills
392
- - **Remotion MCP**: https://www.remotion.dev/docs/ai/mcp
393
- - **Remotion Transitions**: https://www.remotion.dev/docs/transitions
@@ -1,78 +0,0 @@
1
- import {Composition} from 'remotion';
2
- import {Sequence} from 'remotion';
3
- import {fade} from '@remotion/transitions/fade';
4
- import {slide} from '@remotion/transitions/slide';
5
- import {TransitionSeries} from '@remotion/transitions';
6
- import {ScreenSlide} from './ScreenSlide';
7
- import screensManifest from '../screens.json';
8
-
9
- // Calculate total duration in frames
10
- const calculateDuration = () => {
11
- const totalSeconds = screensManifest.screens.reduce(
12
- (sum, screen) => sum + screen.duration,
13
- 0
14
- );
15
- return totalSeconds * screensManifest.videoConfig.fps;
16
- };
17
-
18
- export const WalkthroughComposition: React.FC = () => {
19
- const {fps, width, height} = screensManifest.videoConfig;
20
-
21
- return (
22
- <TransitionSeries>
23
- {screensManifest.screens.map((screen, index) => {
24
- const durationInFrames = screen.duration * fps;
25
-
26
- // Select transition based on screen config
27
- const transition =
28
- screen.transitionType === 'slide'
29
- ? slide()
30
- : screen.transitionType === 'zoom'
31
- ? fade() // Can customize with zoom effect
32
- : fade();
33
-
34
- return (
35
- <TransitionSeries.Sequence
36
- key={screen.id}
37
- durationInFrames={durationInFrames}
38
- >
39
- <ScreenSlide
40
- imageSrc={screen.imagePath}
41
- title={screen.title}
42
- description={screen.description}
43
- width={screen.width}
44
- height={screen.height}
45
- />
46
- {index < screensManifest.screens.length - 1 && (
47
- <TransitionSeries.Transition
48
- presentation={transition}
49
- timing={{
50
- durationInFrames: 20, // 20 frames for transition
51
- }}
52
- />
53
- )}
54
- </TransitionSeries.Sequence>
55
- );
56
- })}
57
- </TransitionSeries>
58
- );
59
- };
60
-
61
- // Register composition
62
- export const RemotionRoot: React.FC = () => {
63
- const {fps, width, height} = screensManifest.videoConfig;
64
- const durationInFrames = calculateDuration();
65
-
66
- return (
67
- <>
68
- <Composition
69
- id="WalkthroughComposition"
70
- component={WalkthroughComposition}
71
- durationInFrames={durationInFrames}
72
- fps={fps}
73
- width={width}
74
- height={height}
75
- />
76
- </>
77
- );
78
- };
@@ -1,56 +0,0 @@
1
- {
2
- "projectName": "Calculator App",
3
- "projectId": "projects/13534454087919359824",
4
- "videoConfig": {
5
- "fps": 30,
6
- "width": 1920,
7
- "height": 1080,
8
- "durationInSeconds": 20
9
- },
10
- "screens": [
11
- {
12
- "id": "1",
13
- "screenId": "12345",
14
- "title": "Home Screen",
15
- "description": "Main calculator interface with number pad and basic operations",
16
- "imagePath": "assets/screens/home.png",
17
- "width": 1200,
18
- "height": 800,
19
- "duration": 5,
20
- "transitionType": "fade"
21
- },
22
- {
23
- "id": "2",
24
- "screenId": "12346",
25
- "title": "History View",
26
- "description": "View of previous calculations with option to reuse results",
27
- "imagePath": "assets/screens/history.png",
28
- "width": 1200,
29
- "height": 800,
30
- "duration": 4,
31
- "transitionType": "slide"
32
- },
33
- {
34
- "id": "3",
35
- "screenId": "12347",
36
- "title": "Settings Panel",
37
- "description": "Customize calculator behavior and appearance",
38
- "imagePath": "assets/screens/settings.png",
39
- "width": 1200,
40
- "height": 800,
41
- "duration": 4,
42
- "transitionType": "fade"
43
- },
44
- {
45
- "id": "4",
46
- "screenId": "12348",
47
- "title": "Scientific Mode",
48
- "description": "Advanced mathematical functions and operations",
49
- "imagePath": "assets/screens/scientific.png",
50
- "width": 1200,
51
- "height": 800,
52
- "duration": 5,
53
- "transitionType": "zoom"
54
- }
55
- ]
56
- }
@@ -1,124 +0,0 @@
1
- # Remotion Composition Checklist
2
-
3
- Use this checklist to ensure your Remotion walkthrough video composition is complete and follows best practices.
4
-
5
- ## ✅ Project Setup
6
-
7
- - [ ] Remotion project initialized (or existing project verified)
8
- - [ ] Dependencies installed (`@remotion/transitions`, etc.)
9
- - [ ] Asset directory created (`public/assets/screens/`)
10
- - [ ] Screen manifest created (`screens.json`)
11
-
12
- ## ✅ Asset Preparation
13
-
14
- - [ ] All Stitch screenshots downloaded
15
- - [ ] Images saved with descriptive names
16
- - [ ] Image dimensions recorded in manifest
17
- - [ ] Images optimized for size (if needed)
18
- - [ ] Asset paths are correct and relative to `public/`
19
-
20
- ## ✅ Component Structure
21
-
22
- - [ ] `ScreenSlide.tsx` component created
23
- - [ ] Props interface defined
24
- - [ ] Zoom animation implemented
25
- - [ ] Fade animation implemented
26
- - [ ] Text overlay included
27
- - [ ] `WalkthroughComposition.tsx` created
28
- - [ ] Screen manifest imported
29
- - [ ] `<Sequence>` components for each screen
30
- - [ ] Transitions between screens configured
31
- - [ ] Proper timing offsets calculated
32
-
33
- ## ✅ Configuration
34
-
35
- - [ ] `remotion.config.ts` updated
36
- - [ ] Composition ID set
37
- - [ ] Video dimensions configured
38
- - [ ] Frame rate set (30 or 60 fps)
39
- - [ ] Duration calculated correctly
40
- - [ ] Video metadata set (if applicable)
41
- - [ ] Title
42
- - [ ] Description
43
-
44
- ## ✅ Animations & Transitions
45
-
46
- - [ ] Spring animations use appropriate configs
47
- - [ ] Damping values (8-15 typical)
48
- - [ ] Stiffness values (60-100 typical)
49
- - [ ] Transitions feel smooth
50
- - [ ] Text overlays timed correctly
51
- - [ ] No jarring or abrupt changes
52
-
53
- ## ✅ Visual Quality
54
-
55
- - [ ] Text is readable at all times
56
- - [ ] Sufficient contrast between text and background
57
- - [ ] Font sizes appropriate for video resolution
58
- - [ ] Images display without distortion
59
- - [ ] Aspect ratios maintained
60
-
61
- ## ✅ Timing
62
-
63
- - [ ] Each screen displays for appropriate duration
64
- - [ ] Total video length is reasonable (not too long/short)
65
- - [ ] Transitions don't feel rushed
66
- - [ ] Text has time to be read
67
-
68
- ## ✅ Preview & Testing
69
-
70
- - [ ] Preview in Remotion Studio (`npm run dev`)
71
- - [ ] Scrub through timeline to check all frames
72
- - [ ] Verify smooth playback
73
- - [ ] Check for any rendering errors
74
- - [ ] Test on different screen sizes (if responsive)
75
-
76
- ## ✅ Rendering
77
-
78
- - [ ] Render command tested and works
79
- - [ ] Output format chosen (MP4, WebM, etc.)
80
- - [ ] Quality settings configured
81
- - [ ] Codec specified (h264 recommended)
82
- - [ ] Final video renders without errors
83
-
84
- ## ✅ Final Output
85
-
86
- - [ ] Video file generated successfully
87
- - [ ] File size is reasonable
88
- - [ ] Video plays correctly in media players
89
- - [ ] Audio included (if applicable)
90
- - [ ] Metadata embedded (if needed)
91
-
92
- ## 🎨 Optional Enhancements
93
-
94
- - [ ] Progress indicator showing current screen
95
- - [ ] Custom logo or branding
96
- - [ ] Background music or sound effects
97
- - [ ] Voiceover narration
98
- - [ ] Interactive hotspots highlighting features
99
- - [ ] Call-to-action at end
100
-
101
- ## 📋 Best Practices Verified
102
-
103
- - [ ] Component code is modular and reusable
104
- - [ ] TypeScript interfaces used for props
105
- - [ ] No hardcoded values (use manifest/config)
106
- - [ ] Code follows Remotion conventions
107
- - [ ] Comments added for complex logic
108
- - [ ] Assets organized in clear folder structure
109
-
110
- ## 🐛 Common Issues Checked
111
-
112
- - [ ] No blurry images (check source resolution)
113
- - [ ] No misaligned text (verify positioning)
114
- - [ ] No choppy animations (check spring configs)
115
- - [ ] No missing assets (verify all paths)
116
- - [ ] No build errors (run `npm run build` test)
117
-
118
- ---
119
-
120
- **Notes:**
121
- - Mark items with `[x]` as you complete them
122
- - Add custom checklist items specific to your project
123
- - Review Remotion documentation for updates
124
- - Test final video on target platform (YouTube, social, etc.)