@muskanmeet/invoicing-design-system 0.1.0

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 (695) hide show
  1. package/.cache/replit/env/latest +78 -0
  2. package/.cache/replit/env/latest.json +1 -0
  3. package/.cache/replit/modules/nodejs-20.res +1 -0
  4. package/.cache/replit/modules/python-3.11.res +1 -0
  5. package/.cache/replit/modules/replit-rtld-loader.res +1 -0
  6. package/.cache/replit/modules/replit.res +1 -0
  7. package/.cache/replit/modules.stamp +0 -0
  8. package/.cache/replit/nix/dotreplitenv.json +1 -0
  9. package/.cache/replit/toolchain.json +1 -0
  10. package/.cache/typescript/5.9/package-lock.json +50 -0
  11. package/.cache/typescript/5.9/package.json +1 -0
  12. package/.config/nextjs-nodejs/config.json +7 -0
  13. package/.eslintrc.json +3 -0
  14. package/.local/.commit_message +31 -0
  15. package/.local/secondary_skills/LICENSE.txt +21 -0
  16. package/.local/secondary_skills/ad-creative/.fingerprint +1 -0
  17. package/.local/secondary_skills/ad-creative/SKILL.md +872 -0
  18. package/.local/secondary_skills/ai-recruiter/.fingerprint +1 -0
  19. package/.local/secondary_skills/ai-recruiter/SKILL.md +1087 -0
  20. package/.local/secondary_skills/ai-sdr/.fingerprint +1 -0
  21. package/.local/secondary_skills/ai-sdr/SKILL.md +204 -0
  22. package/.local/secondary_skills/ai-secretary/.fingerprint +1 -0
  23. package/.local/secondary_skills/ai-secretary/SKILL.md +1132 -0
  24. package/.local/secondary_skills/branding-generator/.fingerprint +1 -0
  25. package/.local/secondary_skills/branding-generator/SKILL.md +286 -0
  26. package/.local/secondary_skills/competitive-analysis/.fingerprint +1 -0
  27. package/.local/secondary_skills/competitive-analysis/SKILL.md +429 -0
  28. package/.local/secondary_skills/content-machine/.fingerprint +1 -0
  29. package/.local/secondary_skills/content-machine/SKILL.md +321 -0
  30. package/.local/secondary_skills/deep-research/.fingerprint +1 -0
  31. package/.local/secondary_skills/deep-research/SKILL.md +517 -0
  32. package/.local/secondary_skills/design-thinker/.fingerprint +1 -0
  33. package/.local/secondary_skills/design-thinker/SKILL.md +327 -0
  34. package/.local/secondary_skills/excel-generator/.fingerprint +1 -0
  35. package/.local/secondary_skills/excel-generator/SKILL.md +954 -0
  36. package/.local/secondary_skills/excel-generator/financial-models.md +289 -0
  37. package/.local/secondary_skills/file-converter/.fingerprint +1 -0
  38. package/.local/secondary_skills/file-converter/SKILL.md +823 -0
  39. package/.local/secondary_skills/flashcard-generator/.fingerprint +1 -0
  40. package/.local/secondary_skills/flashcard-generator/SKILL.md +233 -0
  41. package/.local/secondary_skills/geo/.fingerprint +1 -0
  42. package/.local/secondary_skills/geo/SKILL.md +378 -0
  43. package/.local/secondary_skills/geo/references/content-patterns.md +158 -0
  44. package/.local/secondary_skills/geo/references/platform-notes.md +128 -0
  45. package/.local/secondary_skills/geo/references/scorecard.md +113 -0
  46. package/.local/secondary_skills/geo/references/technical-checklist.md +257 -0
  47. package/.local/secondary_skills/github-solution-finder/.fingerprint +1 -0
  48. package/.local/secondary_skills/github-solution-finder/SKILL.md +174 -0
  49. package/.local/secondary_skills/infographic-builder/.fingerprint +1 -0
  50. package/.local/secondary_skills/infographic-builder/SKILL.md +317 -0
  51. package/.local/secondary_skills/infographic-builder/antv-syntax.md +470 -0
  52. package/.local/secondary_skills/infographic-builder/react-fallback.md +210 -0
  53. package/.local/secondary_skills/insurance-optimizer/.fingerprint +1 -0
  54. package/.local/secondary_skills/insurance-optimizer/SKILL.md +209 -0
  55. package/.local/secondary_skills/interview-prep/.fingerprint +1 -0
  56. package/.local/secondary_skills/interview-prep/SKILL.md +349 -0
  57. package/.local/secondary_skills/invoice-generator/.fingerprint +1 -0
  58. package/.local/secondary_skills/invoice-generator/SKILL.md +527 -0
  59. package/.local/secondary_skills/legal-contract/.fingerprint +1 -0
  60. package/.local/secondary_skills/legal-contract/SKILL.md +977 -0
  61. package/.local/secondary_skills/meal-planner/.fingerprint +1 -0
  62. package/.local/secondary_skills/meal-planner/SKILL.md +517 -0
  63. package/.local/secondary_skills/personal-shopper/.fingerprint +1 -0
  64. package/.local/secondary_skills/personal-shopper/SKILL.md +361 -0
  65. package/.local/secondary_skills/photo-editor/.fingerprint +1 -0
  66. package/.local/secondary_skills/photo-editor/SKILL.md +605 -0
  67. package/.local/secondary_skills/podcast-generator/.fingerprint +1 -0
  68. package/.local/secondary_skills/podcast-generator/SKILL.md +560 -0
  69. package/.local/secondary_skills/podcast-marketing/.fingerprint +1 -0
  70. package/.local/secondary_skills/podcast-marketing/SKILL.md +550 -0
  71. package/.local/secondary_skills/podcast-marketing/audio-processing.md +530 -0
  72. package/.local/secondary_skills/podcast-marketing/content-atoms.md +253 -0
  73. package/.local/secondary_skills/podcast-marketing/content-calendar.md +318 -0
  74. package/.local/secondary_skills/podcast-marketing/content-templates.md +325 -0
  75. package/.local/secondary_skills/podcast-marketing/quote-cards.md +238 -0
  76. package/.local/secondary_skills/podcast-marketing/rss-and-batch.md +359 -0
  77. package/.local/secondary_skills/podcast-marketing/video-clips.md +660 -0
  78. package/.local/secondary_skills/podcast-marketing/youtube-processing.md +328 -0
  79. package/.local/secondary_skills/product-manager/.fingerprint +1 -0
  80. package/.local/secondary_skills/product-manager/SKILL.md +272 -0
  81. package/.local/secondary_skills/programmatic-seo/.fingerprint +1 -0
  82. package/.local/secondary_skills/programmatic-seo/SKILL.md +1207 -0
  83. package/.local/secondary_skills/real-estate-analyzer/.fingerprint +1 -0
  84. package/.local/secondary_skills/real-estate-analyzer/SKILL.md +786 -0
  85. package/.local/secondary_skills/recipe-creator/.fingerprint +1 -0
  86. package/.local/secondary_skills/recipe-creator/SKILL.md +259 -0
  87. package/.local/secondary_skills/recreate-screenshot/.fingerprint +1 -0
  88. package/.local/secondary_skills/recreate-screenshot/SKILL.md +215 -0
  89. package/.local/secondary_skills/replit-migration-guardrails/.fingerprint +1 -0
  90. package/.local/secondary_skills/replit-migration-guardrails/SKILL.md +55 -0
  91. package/.local/secondary_skills/replit-migration-guardrails/references/base44.md +47 -0
  92. package/.local/secondary_skills/replit-migration-guardrails/references/vercel.md +78 -0
  93. package/.local/secondary_skills/resume-maker/.fingerprint +1 -0
  94. package/.local/secondary_skills/resume-maker/SKILL.md +790 -0
  95. package/.local/secondary_skills/seo-auditor/.fingerprint +1 -0
  96. package/.local/secondary_skills/seo-auditor/SKILL.md +448 -0
  97. package/.local/secondary_skills/skill-creator/.fingerprint +1 -0
  98. package/.local/secondary_skills/skill-creator/SKILL.md +214 -0
  99. package/.local/secondary_skills/skill-finder/.fingerprint +1 -0
  100. package/.local/secondary_skills/skill-finder/SKILL.md +299 -0
  101. package/.local/secondary_skills/stock-analyzer/.fingerprint +1 -0
  102. package/.local/secondary_skills/stock-analyzer/SKILL.md +798 -0
  103. package/.local/secondary_skills/storyboard/.fingerprint +1 -0
  104. package/.local/secondary_skills/storyboard/SKILL.md +558 -0
  105. package/.local/secondary_skills/supplier-research/.fingerprint +1 -0
  106. package/.local/secondary_skills/supplier-research/SKILL.md +213 -0
  107. package/.local/secondary_skills/tax-reviewer/.fingerprint +1 -0
  108. package/.local/secondary_skills/tax-reviewer/SKILL.md +131 -0
  109. package/.local/secondary_skills/travel-assistant/.fingerprint +1 -0
  110. package/.local/secondary_skills/travel-assistant/SKILL.md +667 -0
  111. package/.local/secondary_skills/video-editing/.fingerprint +1 -0
  112. package/.local/secondary_skills/video-editing/SKILL.md +705 -0
  113. package/.local/secondary_skills/video-editing/dead-space-and-chunking.md +1081 -0
  114. package/.local/secondary_skills/video-editing/operations.md +1719 -0
  115. package/.local/secondary_skills/video-editing/virality-scoring.md +1212 -0
  116. package/.local/secondary_skills/video-editing/voiceover.md +788 -0
  117. package/.local/secondary_skills/website-cloning/.fingerprint +1 -0
  118. package/.local/secondary_skills/website-cloning/SKILL.md +544 -0
  119. package/.local/secondary_skills/website-cloning/extraction.md +1207 -0
  120. package/.local/secondary_skills/website-cloning/pitfalls.md +297 -0
  121. package/.local/skills/LICENSE.txt +21 -0
  122. package/.local/skills/agent-inbox/.fingerprint +1 -0
  123. package/.local/skills/agent-inbox/SKILL.md +128 -0
  124. package/.local/skills/artifacts/.fingerprint +1 -0
  125. package/.local/skills/artifacts/SKILL.md +21 -0
  126. package/.local/skills/artifacts/artifacts/automation/artifact.yaml +40 -0
  127. package/.local/skills/artifacts/artifacts/automation/files/package.json.template +47 -0
  128. package/.local/skills/artifacts/artifacts/automation/files/scripts/build.sh +6 -0
  129. package/.local/skills/artifacts/artifacts/automation/files/scripts/inngest.sh +18 -0
  130. package/.local/skills/artifacts/artifacts/automation/files/src/global.d.ts +1 -0
  131. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/agents/agent.ts +89 -0
  132. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/index.ts +212 -0
  133. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/client.ts +17 -0
  134. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/inngest/index.ts +214 -0
  135. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/storage/index.ts +8 -0
  136. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/tools/exampleTool.ts +71 -0
  137. package/.local/skills/artifacts/artifacts/automation/files/src/mastra/workflows/workflow.ts +203 -0
  138. package/.local/skills/artifacts/artifacts/automation/files/src/triggers/cronTriggers.ts +61 -0
  139. package/.local/skills/artifacts/artifacts/automation/files/src/triggers/exampleConnectorTrigger.ts +153 -0
  140. package/.local/skills/artifacts/artifacts/automation/files/src/triggers/slackTriggers.ts +638 -0
  141. package/.local/skills/artifacts/artifacts/automation/files/src/triggers/telegramTriggers.ts +94 -0
  142. package/.local/skills/artifacts/artifacts/automation/files/tests/testCronAutomation.ts +86 -0
  143. package/.local/skills/artifacts/artifacts/automation/files/tests/testWebhookAutomation.ts +118 -0
  144. package/.local/skills/artifacts/artifacts/automation/files/tsconfig.json +26 -0
  145. package/.local/skills/artifacts/artifacts/data-visualization/artifact.yaml +48 -0
  146. package/.local/skills/artifacts/artifacts/expo/OWNERS +2 -0
  147. package/.local/skills/artifacts/artifacts/expo/artifact.yaml +47 -0
  148. package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/_layout.tsx +86 -0
  149. package/.local/skills/artifacts/artifacts/expo/files/app/(tabs)/index.tsx +28 -0
  150. package/.local/skills/artifacts/artifacts/expo/files/app/+not-found.tsx +45 -0
  151. package/.local/skills/artifacts/artifacts/expo/files/app/_layout.tsx +60 -0
  152. package/.local/skills/artifacts/artifacts/expo/files/app.json.template +38 -0
  153. package/.local/skills/artifacts/artifacts/expo/files/assets/images/icon.png +0 -0
  154. package/.local/skills/artifacts/artifacts/expo/files/babel.config.js +6 -0
  155. package/.local/skills/artifacts/artifacts/expo/files/components/ErrorBoundary.tsx +54 -0
  156. package/.local/skills/artifacts/artifacts/expo/files/components/ErrorFallback.tsx +278 -0
  157. package/.local/skills/artifacts/artifacts/expo/files/components/KeyboardAwareScrollViewCompat.tsx +29 -0
  158. package/.local/skills/artifacts/artifacts/expo/files/constants/colors.ts +59 -0
  159. package/.local/skills/artifacts/artifacts/expo/files/hooks/useColors.ts +24 -0
  160. package/.local/skills/artifacts/artifacts/expo/files/metro.config.js +3 -0
  161. package/.local/skills/artifacts/artifacts/expo/files/package.json.template +58 -0
  162. package/.local/skills/artifacts/artifacts/expo/files/scripts/build.js +573 -0
  163. package/.local/skills/artifacts/artifacts/expo/files/server/serve.js +135 -0
  164. package/.local/skills/artifacts/artifacts/expo/files/server/templates/landing-page.html +460 -0
  165. package/.local/skills/artifacts/artifacts/expo/files/tsconfig.json +23 -0
  166. package/.local/skills/artifacts/artifacts/mockup-sandbox/artifact.yaml +15 -0
  167. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/components.json +21 -0
  168. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/index.html +31 -0
  169. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/mockupPreviewPlugin.ts +199 -0
  170. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/package.json.template +75 -0
  171. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/public/favicon.svg +3 -0
  172. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/.generated/mockup-components.ts +3 -0
  173. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/App.tsx +146 -0
  174. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/accordion.tsx +55 -0
  175. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert-dialog.tsx +139 -0
  176. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/alert.tsx +59 -0
  177. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/aspect-ratio.tsx +5 -0
  178. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/avatar.tsx +50 -0
  179. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/badge.tsx +43 -0
  180. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/breadcrumb.tsx +115 -0
  181. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button-group.tsx +83 -0
  182. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/button.tsx +65 -0
  183. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/calendar.tsx +213 -0
  184. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/card.tsx +76 -0
  185. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/carousel.tsx +260 -0
  186. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/chart.tsx +367 -0
  187. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/checkbox.tsx +28 -0
  188. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/collapsible.tsx +11 -0
  189. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/command.tsx +153 -0
  190. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/context-menu.tsx +198 -0
  191. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dialog.tsx +120 -0
  192. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/drawer.tsx +116 -0
  193. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/dropdown-menu.tsx +201 -0
  194. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/empty.tsx +104 -0
  195. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/field.tsx +244 -0
  196. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/form.tsx +176 -0
  197. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/hover-card.tsx +27 -0
  198. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-group.tsx +168 -0
  199. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input-otp.tsx +69 -0
  200. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/input.tsx +22 -0
  201. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/item.tsx +193 -0
  202. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/kbd.tsx +28 -0
  203. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/label.tsx +26 -0
  204. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/menubar.tsx +254 -0
  205. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/navigation-menu.tsx +128 -0
  206. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/pagination.tsx +117 -0
  207. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/popover.tsx +31 -0
  208. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/progress.tsx +28 -0
  209. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/radio-group.tsx +42 -0
  210. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/resizable.tsx +45 -0
  211. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/scroll-area.tsx +46 -0
  212. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/select.tsx +159 -0
  213. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/separator.tsx +29 -0
  214. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sheet.tsx +140 -0
  215. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sidebar.tsx +727 -0
  216. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/skeleton.tsx +15 -0
  217. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/slider.tsx +26 -0
  218. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/sonner.tsx +31 -0
  219. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/spinner.tsx +16 -0
  220. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/switch.tsx +27 -0
  221. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/table.tsx +120 -0
  222. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tabs.tsx +53 -0
  223. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/textarea.tsx +22 -0
  224. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toast.tsx +127 -0
  225. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toaster.tsx +33 -0
  226. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle-group.tsx +61 -0
  227. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/toggle.tsx +43 -0
  228. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/components/ui/tooltip.tsx +32 -0
  229. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-mobile.tsx +19 -0
  230. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/hooks/use-toast.ts +189 -0
  231. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/index.css +158 -0
  232. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/lib/utils.ts +6 -0
  233. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/src/main.tsx +5 -0
  234. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/tsconfig.json +20 -0
  235. package/.local/skills/artifacts/artifacts/mockup-sandbox/files/vite.config.ts +72 -0
  236. package/.local/skills/artifacts/artifacts/react-vite/artifact.yaml +41 -0
  237. package/.local/skills/artifacts/artifacts/react-vite/files/components.json +20 -0
  238. package/.local/skills/artifacts/artifacts/react-vite/files/index.html.template +24 -0
  239. package/.local/skills/artifacts/artifacts/react-vite/files/package.json.template +77 -0
  240. package/.local/skills/artifacts/artifacts/react-vite/files/public/favicon.svg +3 -0
  241. package/.local/skills/artifacts/artifacts/react-vite/files/public/robots.txt +2 -0
  242. package/.local/skills/artifacts/artifacts/react-vite/files/src/App.tsx +42 -0
  243. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/accordion.tsx +55 -0
  244. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert-dialog.tsx +139 -0
  245. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/alert.tsx +59 -0
  246. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/aspect-ratio.tsx +5 -0
  247. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/avatar.tsx +50 -0
  248. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/badge.tsx +43 -0
  249. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/breadcrumb.tsx +115 -0
  250. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button-group.tsx +83 -0
  251. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/button.tsx +65 -0
  252. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/calendar.tsx +213 -0
  253. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/card.tsx +76 -0
  254. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/carousel.tsx +260 -0
  255. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/chart.tsx +367 -0
  256. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/checkbox.tsx +28 -0
  257. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/collapsible.tsx +11 -0
  258. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/command.tsx +153 -0
  259. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/context-menu.tsx +198 -0
  260. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dialog.tsx +120 -0
  261. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/drawer.tsx +116 -0
  262. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/dropdown-menu.tsx +201 -0
  263. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/empty.tsx +104 -0
  264. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/field.tsx +244 -0
  265. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/form.tsx +176 -0
  266. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/hover-card.tsx +27 -0
  267. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-group.tsx +168 -0
  268. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input-otp.tsx +69 -0
  269. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/input.tsx +22 -0
  270. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/item.tsx +193 -0
  271. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/kbd.tsx +28 -0
  272. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/label.tsx +26 -0
  273. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/menubar.tsx +254 -0
  274. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/navigation-menu.tsx +128 -0
  275. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/pagination.tsx +117 -0
  276. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/popover.tsx +31 -0
  277. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/progress.tsx +28 -0
  278. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/radio-group.tsx +42 -0
  279. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/resizable.tsx +45 -0
  280. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/scroll-area.tsx +46 -0
  281. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/select.tsx +159 -0
  282. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/separator.tsx +29 -0
  283. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sheet.tsx +140 -0
  284. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sidebar.tsx +727 -0
  285. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/skeleton.tsx +15 -0
  286. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/slider.tsx +26 -0
  287. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/sonner.tsx +31 -0
  288. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/spinner.tsx +16 -0
  289. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/switch.tsx +27 -0
  290. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/table.tsx +120 -0
  291. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tabs.tsx +53 -0
  292. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/textarea.tsx +22 -0
  293. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toast.tsx +127 -0
  294. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toaster.tsx +33 -0
  295. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle-group.tsx +61 -0
  296. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/toggle.tsx +43 -0
  297. package/.local/skills/artifacts/artifacts/react-vite/files/src/components/ui/tooltip.tsx +32 -0
  298. package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-mobile.tsx +19 -0
  299. package/.local/skills/artifacts/artifacts/react-vite/files/src/hooks/use-toast.ts +191 -0
  300. package/.local/skills/artifacts/artifacts/react-vite/files/src/index.css +393 -0
  301. package/.local/skills/artifacts/artifacts/react-vite/files/src/lib/utils.ts +6 -0
  302. package/.local/skills/artifacts/artifacts/react-vite/files/src/main.tsx +5 -0
  303. package/.local/skills/artifacts/artifacts/react-vite/files/src/pages/not-found.tsx +21 -0
  304. package/.local/skills/artifacts/artifacts/react-vite/files/tsconfig.json +22 -0
  305. package/.local/skills/artifacts/artifacts/react-vite/files/vite.config.ts +75 -0
  306. package/.local/skills/artifacts/artifacts/slides/artifact.yaml +33 -0
  307. package/.local/skills/artifacts/artifacts/slides/files/index.html.template +46 -0
  308. package/.local/skills/artifacts/artifacts/slides/files/package.json.template +30 -0
  309. package/.local/skills/artifacts/artifacts/slides/files/public/favicon.svg +3 -0
  310. package/.local/skills/artifacts/artifacts/slides/files/scripts/validate-slides.ts +193 -0
  311. package/.local/skills/artifacts/artifacts/slides/files/src/App.tsx +251 -0
  312. package/.local/skills/artifacts/artifacts/slides/files/src/data/slides-manifest.json +1 -0
  313. package/.local/skills/artifacts/artifacts/slides/files/src/data/slidesManifestSchema.ts +33 -0
  314. package/.local/skills/artifacts/artifacts/slides/files/src/index.css +48 -0
  315. package/.local/skills/artifacts/artifacts/slides/files/src/main.tsx +14 -0
  316. package/.local/skills/artifacts/artifacts/slides/files/src/slideLoader.ts +51 -0
  317. package/.local/skills/artifacts/artifacts/slides/files/tsconfig.json +17 -0
  318. package/.local/skills/artifacts/artifacts/slides/files/vite.config.ts +74 -0
  319. package/.local/skills/artifacts/artifacts/video-js/artifact.yaml +38 -0
  320. package/.local/skills/artifacts/artifacts/video-js/files/index.html.template +27 -0
  321. package/.local/skills/artifacts/artifacts/video-js/files/package.json.template +36 -0
  322. package/.local/skills/artifacts/artifacts/video-js/files/public/favicon.svg +3 -0
  323. package/.local/skills/artifacts/artifacts/video-js/files/scripts/validate-recording.sh +38 -0
  324. package/.local/skills/artifacts/artifacts/video-js/files/src/App.tsx +5 -0
  325. package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/ReplitLoadingScene.tsx +105 -0
  326. package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/VideoTemplate.tsx +30 -0
  327. package/.local/skills/artifacts/artifacts/video-js/files/src/components/video/index.ts +1 -0
  328. package/.local/skills/artifacts/artifacts/video-js/files/src/hooks/use-mobile.tsx +19 -0
  329. package/.local/skills/artifacts/artifacts/video-js/files/src/index.css +50 -0
  330. package/.local/skills/artifacts/artifacts/video-js/files/src/lib/utils.ts +6 -0
  331. package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/animations.ts +239 -0
  332. package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/hooks.ts +104 -0
  333. package/.local/skills/artifacts/artifacts/video-js/files/src/lib/video/index.ts +19 -0
  334. package/.local/skills/artifacts/artifacts/video-js/files/src/main.tsx +5 -0
  335. package/.local/skills/artifacts/artifacts/video-js/files/tsconfig.json +16 -0
  336. package/.local/skills/artifacts/artifacts/video-js/files/vite.config.ts +79 -0
  337. package/.local/skills/artifacts/bootstrap-legacy.js +115 -0
  338. package/.local/skills/artifacts/bootstrap.js +118 -0
  339. package/.local/skills/artifacts/references/multi-artifact-creation.md +94 -0
  340. package/.local/skills/canvas/.fingerprint +1 -0
  341. package/.local/skills/canvas/SKILL.md +534 -0
  342. package/.local/skills/canvas/__init__.py +1 -0
  343. package/.local/skills/code_review/.fingerprint +1 -0
  344. package/.local/skills/code_review/SKILL.md +82 -0
  345. package/.local/skills/database/.fingerprint +1 -0
  346. package/.local/skills/database/SKILL.md +351 -0
  347. package/.local/skills/database/references/database-migrations-on-publish.md +57 -0
  348. package/.local/skills/delegation/.fingerprint +1 -0
  349. package/.local/skills/delegation/SKILL.md +200 -0
  350. package/.local/skills/deployment/.fingerprint +1 -0
  351. package/.local/skills/deployment/SKILL.md +261 -0
  352. package/.local/skills/deployment/references/deployment-failure-debugging.md +243 -0
  353. package/.local/skills/deployment/references/deployment-logs.md +147 -0
  354. package/.local/skills/design/.fingerprint +1 -0
  355. package/.local/skills/design/SKILL.md +235 -0
  356. package/.local/skills/design-exploration/.fingerprint +1 -0
  357. package/.local/skills/design-exploration/SKILL.md +95 -0
  358. package/.local/skills/diagnostics/.fingerprint +1 -0
  359. package/.local/skills/diagnostics/SKILL.md +122 -0
  360. package/.local/skills/environment-secrets/.fingerprint +1 -0
  361. package/.local/skills/environment-secrets/SKILL.md +201 -0
  362. package/.local/skills/expo/.fingerprint +1 -0
  363. package/.local/skills/expo/OWNERS +2 -0
  364. package/.local/skills/expo/SKILL.md +298 -0
  365. package/.local/skills/expo/references/design_and_aesthetics.md +141 -0
  366. package/.local/skills/expo/references/device_features_and_permissions.md +48 -0
  367. package/.local/skills/expo/references/first_build.md +114 -0
  368. package/.local/skills/expo/references/react_context.md +54 -0
  369. package/.local/skills/external_apis/.fingerprint +1 -0
  370. package/.local/skills/external_apis/SKILL.md +25 -0
  371. package/.local/skills/external_apis/references/brave.md +116 -0
  372. package/.local/skills/external_apis/references/elevenlabs.md +44 -0
  373. package/.local/skills/external_apis/references/exa.md +34 -0
  374. package/.local/skills/external_apis/references/firecrawl.md +37 -0
  375. package/.local/skills/external_apis/references/nano_banana.md +33 -0
  376. package/.local/skills/follow-up-tasks/.fingerprint +1 -0
  377. package/.local/skills/follow-up-tasks/SKILL.md +80 -0
  378. package/.local/skills/image-search/.fingerprint +1 -0
  379. package/.local/skills/image-search/SKILL.md +150 -0
  380. package/.local/skills/integrations/.fingerprint +1 -0
  381. package/.local/skills/integrations/SKILL.md +205 -0
  382. package/.local/skills/media-generation/.fingerprint +1 -0
  383. package/.local/skills/media-generation/SKILL.md +170 -0
  384. package/.local/skills/media-generation/audio_generation.md +138 -0
  385. package/.local/skills/media-generation/video_generation.md +82 -0
  386. package/.local/skills/mockup-extract/.fingerprint +1 -0
  387. package/.local/skills/mockup-extract/SKILL.md +123 -0
  388. package/.local/skills/mockup-graduate/.fingerprint +1 -0
  389. package/.local/skills/mockup-graduate/SKILL.md +97 -0
  390. package/.local/skills/mockup-sandbox/.fingerprint +1 -0
  391. package/.local/skills/mockup-sandbox/SKILL.md +750 -0
  392. package/.local/skills/package-management/.fingerprint +1 -0
  393. package/.local/skills/package-management/SKILL.md +264 -0
  394. package/.local/skills/post_merge_setup/.fingerprint +1 -0
  395. package/.local/skills/post_merge_setup/SKILL.md +102 -0
  396. package/.local/skills/project_tasks/.fingerprint +1 -0
  397. package/.local/skills/project_tasks/SKILL.md +361 -0
  398. package/.local/skills/query-integration-data/.fingerprint +1 -0
  399. package/.local/skills/query-integration-data/SKILL.md +385 -0
  400. package/.local/skills/react-vite/.fingerprint +1 -0
  401. package/.local/skills/react-vite/SKILL.md +110 -0
  402. package/.local/skills/react-vite/references/frontend_general_rules.md +66 -0
  403. package/.local/skills/react-vite/references/seo.md +158 -0
  404. package/.local/skills/remove-image-background/.fingerprint +1 -0
  405. package/.local/skills/remove-image-background/SKILL.md +55 -0
  406. package/.local/skills/repl_setup/.fingerprint +1 -0
  407. package/.local/skills/repl_setup/SKILL.md +90 -0
  408. package/.local/skills/repl_setup/references/angular.md +103 -0
  409. package/.local/skills/repl_setup/references/react_vite.md +121 -0
  410. package/.local/skills/repl_setup/references/vue.md +102 -0
  411. package/.local/skills/replit-docs/.fingerprint +1 -0
  412. package/.local/skills/replit-docs/SKILL.md +81 -0
  413. package/.local/skills/revenuecat/.fingerprint +1 -0
  414. package/.local/skills/revenuecat/SKILL.md +133 -0
  415. package/.local/skills/revenuecat/references/initial-setup.md +566 -0
  416. package/.local/skills/revenuecat/references/replit-revenuecat-sdk-docs.md +279 -0
  417. package/.local/skills/revenuecat/references/subsequent-management.md +63 -0
  418. package/.local/skills/security_scan/.fingerprint +1 -0
  419. package/.local/skills/security_scan/SKILL.md +51 -0
  420. package/.local/skills/skill-authoring/.fingerprint +1 -0
  421. package/.local/skills/skill-authoring/SKILL.md +99 -0
  422. package/.local/skills/slides/.fingerprint +1 -0
  423. package/.local/skills/slides/SKILL.md +523 -0
  424. package/.local/skills/slides/references/brand_research.md +86 -0
  425. package/.local/skills/slides/references/export_failures.md +36 -0
  426. package/.local/skills/slides/references/exporting.md +49 -0
  427. package/.local/skills/slides/references/importing.md +40 -0
  428. package/.local/skills/slides/references/visual_qa.md +121 -0
  429. package/.local/skills/slides/templates/90s-board-deck.md +285 -0
  430. package/.local/skills/slides/templates/academic-lecture.md +437 -0
  431. package/.local/skills/slides/templates/adventure-outdoor.md +845 -0
  432. package/.local/skills/slides/templates/analytics-dashboard.md +407 -0
  433. package/.local/skills/slides/templates/annual-report-cover.md +592 -0
  434. package/.local/skills/slides/templates/apple-minimal.md +570 -0
  435. package/.local/skills/slides/templates/architecture-studio.md +339 -0
  436. package/.local/skills/slides/templates/arctic-expedition.md +582 -0
  437. package/.local/skills/slides/templates/arctic-minimal.md +364 -0
  438. package/.local/skills/slides/templates/art-deco.md +308 -0
  439. package/.local/skills/slides/templates/artisan-ceramics.md +659 -0
  440. package/.local/skills/slides/templates/artisan-food.md +709 -0
  441. package/.local/skills/slides/templates/artisanal-chalkboard.md +623 -0
  442. package/.local/skills/slides/templates/astronomy-log.md +562 -0
  443. package/.local/skills/slides/templates/aurora-expedition.md +754 -0
  444. package/.local/skills/slides/templates/automotive-electric.md +339 -0
  445. package/.local/skills/slides/templates/bauhaus-avant-garde.md +443 -0
  446. package/.local/skills/slides/templates/bioluminescent-sea.md +814 -0
  447. package/.local/skills/slides/templates/biophilic-urban.md +565 -0
  448. package/.local/skills/slides/templates/blackboard-chalk.md +517 -0
  449. package/.local/skills/slides/templates/blueprint.md +478 -0
  450. package/.local/skills/slides/templates/botanical-index.md +822 -0
  451. package/.local/skills/slides/templates/botanical-wellness.md +611 -0
  452. package/.local/skills/slides/templates/brand-book-page.md +466 -0
  453. package/.local/skills/slides/templates/brutalist-concrete.md +362 -0
  454. package/.local/skills/slides/templates/brutalist-studio.md +325 -0
  455. package/.local/skills/slides/templates/brutalist-web-punk.md +591 -0
  456. package/.local/skills/slides/templates/celestial-observatory.md +453 -0
  457. package/.local/skills/slides/templates/ceramics-artisan.md +740 -0
  458. package/.local/skills/slides/templates/cinema-verite.md +415 -0
  459. package/.local/skills/slides/templates/claymorphism.md +737 -0
  460. package/.local/skills/slides/templates/collage-zine.md +357 -0
  461. package/.local/skills/slides/templates/copper-sage.md +325 -0
  462. package/.local/skills/slides/templates/coral-reef.md +508 -0
  463. package/.local/skills/slides/templates/corporate-grid.md +331 -0
  464. package/.local/skills/slides/templates/corporate-memphis-flat.md +938 -0
  465. package/.local/skills/slides/templates/cosmos-explorer.md +998 -0
  466. package/.local/skills/slides/templates/cpg-coffee.md +850 -0
  467. package/.local/skills/slides/templates/craft-coffee-roast.md +693 -0
  468. package/.local/skills/slides/templates/creative-agency.md +244 -0
  469. package/.local/skills/slides/templates/creative-director.md +875 -0
  470. package/.local/skills/slides/templates/culinary-brand.md +698 -0
  471. package/.local/skills/slides/templates/de-stijl-construct.md +320 -0
  472. package/.local/skills/slides/templates/desert-dunes-photo.md +483 -0
  473. package/.local/skills/slides/templates/desert-mirror.md +577 -0
  474. package/.local/skills/slides/templates/desert-modernism.md +439 -0
  475. package/.local/skills/slides/templates/developer-api-docs.md +654 -0
  476. package/.local/skills/slides/templates/editorial-magazine.md +694 -0
  477. package/.local/skills/slides/templates/engineering-blueprint.md +730 -0
  478. package/.local/skills/slides/templates/executive-mono.md +363 -0
  479. package/.local/skills/slides/templates/expedition-peak.md +298 -0
  480. package/.local/skills/slides/templates/fashion-campaign.md +681 -0
  481. package/.local/skills/slides/templates/fashion-editorial.md +497 -0
  482. package/.local/skills/slides/templates/figma-geometric.md +420 -0
  483. package/.local/skills/slides/templates/film-noir.md +857 -0
  484. package/.local/skills/slides/templates/fitness-athletics.md +663 -0
  485. package/.local/skills/slides/templates/flat-vector.md +912 -0
  486. package/.local/skills/slides/templates/fluid-luxe.md +665 -0
  487. package/.local/skills/slides/templates/furniture-brand.md +505 -0
  488. package/.local/skills/slides/templates/gallery-modern.md +436 -0
  489. package/.local/skills/slides/templates/gaming-esports.md +410 -0
  490. package/.local/skills/slides/templates/geodesic-future.md +368 -0
  491. package/.local/skills/slides/templates/glass-artisan.md +666 -0
  492. package/.local/skills/slides/templates/glassmorphism.md +320 -0
  493. package/.local/skills/slides/templates/greenhouse-botanical.md +662 -0
  494. package/.local/skills/slides/templates/healthcare-clarity.md +468 -0
  495. package/.local/skills/slides/templates/holographic-drop.md +663 -0
  496. package/.local/skills/slides/templates/hospitality-resort.md +608 -0
  497. package/.local/skills/slides/templates/hypercar-launch.md +557 -0
  498. package/.local/skills/slides/templates/infographic-title.md +306 -0
  499. package/.local/skills/slides/templates/ink-wash.md +244 -0
  500. package/.local/skills/slides/templates/investor-memo.md +509 -0
  501. package/.local/skills/slides/templates/isometric-data.md +703 -0
  502. package/.local/skills/slides/templates/ivory-boardroom.md +439 -0
  503. package/.local/skills/slides/templates/japanese-minimal.md +308 -0
  504. package/.local/skills/slides/templates/jazz-blue-note.md +478 -0
  505. package/.local/skills/slides/templates/kinetic-type.md +206 -0
  506. package/.local/skills/slides/templates/lagoon-luxury.md +320 -0
  507. package/.local/skills/slides/templates/lavender-pastoral.md +577 -0
  508. package/.local/skills/slides/templates/linear-precise.md +460 -0
  509. package/.local/skills/slides/templates/lineart-sketch.md +930 -0
  510. package/.local/skills/slides/templates/lost-temple.md +689 -0
  511. package/.local/skills/slides/templates/luxury-fashion.md +269 -0
  512. package/.local/skills/slides/templates/luxury-watch.md +678 -0
  513. package/.local/skills/slides/templates/marble-elegance.md +673 -0
  514. package/.local/skills/slides/templates/mediterranean-travel.md +811 -0
  515. package/.local/skills/slides/templates/memphis-design.md +426 -0
  516. package/.local/skills/slides/templates/midnight-jazz.md +260 -0
  517. package/.local/skills/slides/templates/minimalist-poster.md +538 -0
  518. package/.local/skills/slides/templates/molten-craft.md +743 -0
  519. package/.local/skills/slides/templates/moroccan-tile.md +738 -0
  520. package/.local/skills/slides/templates/motorsport.md +782 -0
  521. package/.local/skills/slides/templates/mountain-drift.md +311 -0
  522. package/.local/skills/slides/templates/music-label.md +641 -0
  523. package/.local/skills/slides/templates/neo-tokyo.md +637 -0
  524. package/.local/skills/slides/templates/neobrutalism.md +334 -0
  525. package/.local/skills/slides/templates/newspaper-broadsheet.md +687 -0
  526. package/.local/skills/slides/templates/noir-fragrance.md +672 -0
  527. package/.local/skills/slides/templates/non-profit-impact.md +320 -0
  528. package/.local/skills/slides/templates/ocean-breeze.md +398 -0
  529. package/.local/skills/slides/templates/origami-couture.md +636 -0
  530. package/.local/skills/slides/templates/origami-paper.md +308 -0
  531. package/.local/skills/slides/templates/pastel-playground.md +1114 -0
  532. package/.local/skills/slides/templates/perfume-noir.md +646 -0
  533. package/.local/skills/slides/templates/prairie-storm.md +625 -0
  534. package/.local/skills/slides/templates/private-equity-dark.md +506 -0
  535. package/.local/skills/slides/templates/renaissance-florals.md +225 -0
  536. package/.local/skills/slides/templates/retro-print.md +880 -0
  537. package/.local/skills/slides/templates/retro-vinyl-sleeve.md +229 -0
  538. package/.local/skills/slides/templates/riso-zine.md +1094 -0
  539. package/.local/skills/slides/templates/risograph.md +1151 -0
  540. package/.local/skills/slides/templates/saas-product-launch.md +972 -0
  541. package/.local/skills/slides/templates/scandinavian.md +372 -0
  542. package/.local/skills/slides/templates/skater-culture.md +583 -0
  543. package/.local/skills/slides/templates/slate-modern.md +469 -0
  544. package/.local/skills/slides/templates/sneaker-drop.md +1006 -0
  545. package/.local/skills/slides/templates/social-campaign.md +321 -0
  546. package/.local/skills/slides/templates/stained-glass.md +574 -0
  547. package/.local/skills/slides/templates/strategy-one-pager.md +508 -0
  548. package/.local/skills/slides/templates/street-drop.md +677 -0
  549. package/.local/skills/slides/templates/street-mural.md +588 -0
  550. package/.local/skills/slides/templates/studio-noir.md +466 -0
  551. package/.local/skills/slides/templates/sustainability-esg.md +686 -0
  552. package/.local/skills/slides/templates/swiss-archive.md +648 -0
  553. package/.local/skills/slides/templates/swiss-typographic.md +364 -0
  554. package/.local/skills/slides/templates/tea-ceremony.md +456 -0
  555. package/.local/skills/slides/templates/tech-earbuds.md +870 -0
  556. package/.local/skills/slides/templates/terracotta-studio.md +235 -0
  557. package/.local/skills/slides/templates/thesis-defense.md +390 -0
  558. package/.local/skills/slides/templates/travel-aerial.md +648 -0
  559. package/.local/skills/slides/templates/treasury-policy.md +475 -0
  560. package/.local/skills/slides/templates/tropical-lush.md +332 -0
  561. package/.local/skills/slides/templates/underwater-dream.md +627 -0
  562. package/.local/skills/slides/templates/urban-golden.md +342 -0
  563. package/.local/skills/slides/templates/vintage-apothecary.md +552 -0
  564. package/.local/skills/slides/templates/vintage-ticket-stub.md +637 -0
  565. package/.local/skills/slides/templates/vinyl-crate.md +550 -0
  566. package/.local/skills/slides/templates/vision-editorial.md +612 -0
  567. package/.local/skills/slides/templates/volcanic-edge.md +347 -0
  568. package/.local/skills/slides/templates/watercolor-city.md +827 -0
  569. package/.local/skills/slides/templates/wine-spirits.md +203 -0
  570. package/.local/skills/slides/templates/wireframe-prototype.md +718 -0
  571. package/.local/skills/slides/templates/workspace-design.md +782 -0
  572. package/.local/skills/slides/templates/workspace-modern.md +406 -0
  573. package/.local/skills/slides/templates/zen-meditation.md +284 -0
  574. package/.local/skills/slides/templates/zen-void.md +244 -0
  575. package/.local/skills/stripe/.fingerprint +1 -0
  576. package/.local/skills/stripe/SKILL.md +455 -0
  577. package/.local/skills/stripe/references/code-templates.md +588 -0
  578. package/.local/skills/threat_modeling/.fingerprint +1 -0
  579. package/.local/skills/threat_modeling/SKILL.md +240 -0
  580. package/.local/skills/validation/.fingerprint +1 -0
  581. package/.local/skills/validation/SKILL.md +237 -0
  582. package/.local/skills/video-js/.fingerprint +1 -0
  583. package/.local/skills/video-js/SKILL.md +793 -0
  584. package/.local/skills/video-js/references/audio.md +237 -0
  585. package/.local/skills/video-js/references/finalize_playback.md +16 -0
  586. package/.local/skills/video-js/references/first_build.md +87 -0
  587. package/.local/skills/video-js/references/scene_selectors.md +428 -0
  588. package/.local/skills/web-search/.fingerprint +1 -0
  589. package/.local/skills/web-search/SKILL.md +110 -0
  590. package/.local/skills/whop/.fingerprint +1 -0
  591. package/.local/skills/whop/SKILL.md +104 -0
  592. package/.local/skills/whop/references/code-templates.md +66 -0
  593. package/.local/skills/whop/references/whop-api.mjs +22 -0
  594. package/.local/skills/whop/references/whop-mcp.mjs +40 -0
  595. package/.local/skills/whop/references/whopClient.ts +54 -0
  596. package/.local/skills/workflows/.fingerprint +1 -0
  597. package/.local/skills/workflows/SKILL.md +245 -0
  598. package/.local/state/replit/agent/.agent_state_037313043e76b5c652f276153ea014a68570e145.bin +0 -0
  599. package/.local/state/replit/agent/.agent_state_0f5361c2a53ab324b2a941a797f6494891be084c.bin +0 -0
  600. package/.local/state/replit/agent/.agent_state_4272443827dc90eac8c5b1963a34ee86da70bb99.bin +0 -0
  601. package/.local/state/replit/agent/.agent_state_4f14655950cbd611b228b4f0e1f664b66a56af24.bin +0 -0
  602. package/.local/state/replit/agent/.agent_state_ce28955a30856aa3d095b3568c322c8ec098993f.bin +0 -0
  603. package/.local/state/replit/agent/.agent_state_ec5347d04ebfbf6cf850fe04e15590d423e96d1d.bin +0 -0
  604. package/.local/state/replit/agent/.agent_state_f68f8c104d815ccc387290f0fba2c87c818d29f1.bin +0 -0
  605. package/.local/state/replit/agent/.agent_state_f87c1803a179510408c57c7a380c26f5c2197a30.bin +0 -0
  606. package/.local/state/replit/agent/.agent_state_main.bin +0 -0
  607. package/.local/state/replit/agent/.latest.json +1 -0
  608. package/.local/state/replit/agent/repl_state.bin +0 -0
  609. package/.local/state/scribe/scribe.db +0 -0
  610. package/.local/state/scribe/scribe.db-shm +0 -0
  611. package/.local/state/scribe/scribe.db-wal +0 -0
  612. package/.local/state/workflow-logs/2tfQP52ibxJTy4lpZ7_JX/start_application.shell.exec.0 +27 -0
  613. package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.external.managed.0 +31 -0
  614. package/.local/state/workflow-logs/6QjtmQThaHrR_QHf4v8HA/validation.json +1 -0
  615. package/.local/state/workflow-logs/85n-z_SHy4JSGaUeJIcxy/start_application.shell.exec.0 +18 -0
  616. package/.local/state/workflow-logs/GIL2Ql5124lrEqGrfRO4k/start_application.shell.exec.0 +222 -0
  617. package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.external.managed.0 +45 -0
  618. package/.local/state/workflow-logs/LiH2MjG_9FwFummNHhDtO/validation.json +1 -0
  619. package/.local/state/workflow-logs/OKp1t-fEO5U_zQi1SKOQ-/start_application.shell.exec.0 +10 -0
  620. package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.external.managed.0 +43 -0
  621. package/.local/state/workflow-logs/Tpp7d6Hu6CO1NKGo_eAi7/validation.json +1 -0
  622. package/.local/state/workflow-logs/UDYycRqPV-N4B7whZP-yX/start_application.shell.exec.0 +252 -0
  623. package/.local/state/workflow-logs/V8Anmvz-HuvAztflZ8yCo/start_application.shell.exec.0 +87 -0
  624. package/.local/state/workflow-logs/a5fMnjr9tCwoaFY93pYuN/start_application.shell.exec.0 +2519 -0
  625. package/.local/state/workflow-logs/ggFzYcdHfIlW0owP2pb0U/start_application.shell.exec.0 +28 -0
  626. package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.external.managed.0 +41 -0
  627. package/.local/state/workflow-logs/hIHNKfUtPX3jZs8qXw_Vt/validation.json +1 -0
  628. package/.local/state/workflow-logs/nbLvtuGJXB0wPmnruB3BE/start_application.shell.exec.0 +199 -0
  629. package/.local/state/workflow-logs/uDhN6S0ypUEh0MphXaFGY/start_application.shell.exec.0 +73 -0
  630. package/.local/state/workflow-logs/xZqU5CdTivcY6KEDEcVmD/start_application.shell.exec.0 +17 -0
  631. package/.local/tasks/breadcrumb-component.md +89 -0
  632. package/.local/tasks/calendar-component.md +93 -0
  633. package/.local/tasks/invoicing-design-system-app.md +39 -0
  634. package/.local/tasks/task-1.md +42 -0
  635. package/.local/tasks/task-7.md +92 -0
  636. package/.local/tasks/task-8.md +96 -0
  637. package/.replit +34 -0
  638. package/.upm/store.json +1 -0
  639. package/README.md +121 -0
  640. package/app/dashboard/page.tsx +10 -0
  641. package/app/design-system/page.tsx +802 -0
  642. package/app/invoices/page.tsx +10 -0
  643. package/app/layout.tsx +28 -0
  644. package/app/login/page.tsx +5 -0
  645. package/app/page.tsx +93 -0
  646. package/app/signup/page.tsx +5 -0
  647. package/attached_assets/Colors_1779781016394.png +0 -0
  648. package/attached_assets/Navy_1779781016404.png +0 -0
  649. package/attached_assets/Orange_1779781016405.png +0 -0
  650. package/attached_assets/Screenshot_2026-05-26_at_1.14.29_PM_1779781472515.png +0 -0
  651. package/attached_assets/Screenshot_2026-05-26_at_11.28.20_AM_1779775171071.png +0 -0
  652. package/attached_assets/Screenshot_2026-05-26_at_2.04.42_PM_1779784485318.png +0 -0
  653. package/attached_assets/Typography_1779781016406.png +0 -0
  654. package/design-system/components/avatar.tsx +46 -0
  655. package/design-system/components/badge.tsx +34 -0
  656. package/design-system/components/breadcrumb.tsx +149 -0
  657. package/design-system/components/button.tsx +57 -0
  658. package/design-system/components/calendar.tsx +77 -0
  659. package/design-system/components/card.tsx +62 -0
  660. package/design-system/components/checkbox.tsx +27 -0
  661. package/design-system/components/date-picker.tsx +153 -0
  662. package/design-system/components/dialog.tsx +106 -0
  663. package/design-system/components/dropdown-menu.tsx +88 -0
  664. package/design-system/components/form-field.tsx +78 -0
  665. package/design-system/components/input.tsx +25 -0
  666. package/design-system/components/label.tsx +25 -0
  667. package/design-system/components/popover.tsx +30 -0
  668. package/design-system/components/radio-group.tsx +35 -0
  669. package/design-system/components/select.tsx +84 -0
  670. package/design-system/components/separator.tsx +24 -0
  671. package/design-system/components/switch.tsx +28 -0
  672. package/design-system/components/table.tsx +80 -0
  673. package/design-system/components/tabs.tsx +54 -0
  674. package/design-system/components/textarea.tsx +25 -0
  675. package/design-system/components/toast.tsx +118 -0
  676. package/design-system/components/toaster.tsx +38 -0
  677. package/design-system/components/tooltip.tsx +27 -0
  678. package/design-system/hooks/index.ts +2 -0
  679. package/design-system/hooks/use-media-query.ts +27 -0
  680. package/design-system/hooks/use-toast.ts +91 -0
  681. package/design-system/index.ts +36 -0
  682. package/design-system/lib/cn.ts +6 -0
  683. package/design-system/styles.css +142 -0
  684. package/design-system/tokens/tokens.css +149 -0
  685. package/design-system/tokens/tokens.ts +190 -0
  686. package/next.config.mjs +6 -0
  687. package/package.json +46 -0
  688. package/postcss.config.mjs +6 -0
  689. package/screens/_shared/app-shell.tsx +145 -0
  690. package/screens/auth/auth-screen.tsx +156 -0
  691. package/screens/dashboard/dashboard-screen.tsx +207 -0
  692. package/screens/index.ts +17 -0
  693. package/screens/invoices/invoices-screen.tsx +317 -0
  694. package/tailwind.config.ts +110 -0
  695. package/tsconfig.json +26 -0
@@ -0,0 +1 @@
1
+ 7e929b5cbcb7b807bfcc4dacaf2876c2
@@ -0,0 +1,259 @@
1
+ ---
2
+ name: recipe-creator
3
+ description: Create recipes, suggest meals from ingredients, and handle dietary substitutions.
4
+ ---
5
+
6
+ # Recipe Creator
7
+
8
+ Create recipes, suggest meals from available ingredients, handle dietary restrictions and conversions, explain cooking techniques, recommend dish pairings, and repurpose leftovers. All output is delivered as structured data in a full-stack web application with database persistence.
9
+
10
+ ## When to Use
11
+
12
+ - User wants a recipe for a specific dish ("make me a mushroom risotto")
13
+ - User has ingredients and wants meal ideas ("what can I make with chicken, rice, and tomatoes?")
14
+
15
+ - User needs recipes for dietary restrictions ("I need a gluten-free dinner recipe")
16
+ - User wants to scale a recipe up or down ("scale this to 8 servings")
17
+
18
+ - User wants meal prep or batch cooking plans
19
+ - User wants recipes created for a meal plan (even if the plan was generated by the meal-planner skill)
20
+
21
+ - User asks to "fill in" or "build out" recipes referenced in a meal plan
22
+ - User asks about ingredient substitutions ("I don't have buttermilk, what can I use?", "make this dairy-free")
23
+
24
+ - User asks about cooking techniques ("how do I deglaze a pan?", "what's the right way to sear meat?")
25
+ - User wants to convert an existing recipe ("turn this into a vegan version", "make this keto-friendly")
26
+
27
+ - User asks what pairs well with a dish ("what goes well with risotto?", "what side dish for grilled chicken?")
28
+ - User wants to repurpose leftovers ("I have leftover risotto, what can I do with it?")
29
+
30
+ ## When NOT to Use
31
+
32
+ - Fitness-goal-driven meal planning with calorie targets, macro splits, or weekly periodization (use meal-planner skill — but come back here to create the actual recipes)
33
+ - Health data analysis (use personal-health skill)
34
+
35
+ **Overlap with meal-planner:** The meal-planner skill designs *what* to eat and *when*. This skill creates the *recipes themselves* — structured data with ingredients, steps, timers, nutrition, and images. If a meal plan references meals that don't have full recipes yet, use this skill to create them and link via `recipeId`.
36
+
37
+ ## Architecture: Full-Stack Recipe Web App
38
+
39
+ All recipes are stored in a **database** and served through an **API**, displayed in a **React web app**. This means:
40
+
41
+ - Recipes persist across conversations — the user's collection grows over time
42
+ - New recipes are added via API calls; the frontend renders them automatically
43
+
44
+ - No hardcoded components per recipe — recipes are structured data, not custom React components
45
+
46
+ ### Data Model
47
+
48
+ **recipes table:**
49
+
50
+ - id, title, description, heroImage
51
+ - prepTime, cookTime, totalTime, difficulty
52
+
53
+ - baseServings
54
+ - ingredients (jsonb): array of `{ name, qty, unit, stepIndex[], shared? }`
55
+
56
+ - steps (jsonb): array of `{ title, text, timerSeconds?, timerLabel?, image? }`
57
+ - prepTimeline (jsonb): array of `{ label, start, end, type }`
58
+
59
+ - nutrition (jsonb): `{ calories, protein, carbs, fat }` per serving
60
+ - tags (text[]), allergens (text[])
61
+
62
+ - notes (jsonb): array of `{ label, text }`
63
+ - createdAt
64
+
65
+ **meal_plans table:**
66
+
67
+ - id, title, description
68
+ - days (jsonb): array of `{ label, meals: [{ slot, recipeId?, mealName, mealDescription, time, nutrition }] }`
69
+
70
+ - shoppingList (jsonb): array of `{ item, qty, usedIn[] }`
71
+ - prepTips (jsonb): array of `{ label, text }`
72
+
73
+ - prepTimeline (jsonb): array of `{ label, start, end, type }`
74
+ - createdAt
75
+
76
+ ### Frontend Pages
77
+
78
+ 1. **Home / Collection** — Grid of recipe cards with hero images, title, cook time, difficulty. Search bar and tag filters.
79
+ 1. **Recipe Detail** — Full recipe page with:
80
+
81
+ - Hero image
82
+ - Metadata bar (prep/cook/total time, difficulty, servings adjuster)
83
+
84
+ - Smart-scaling ingredient list with checkboxes
85
+ - Step-by-step instructions with inline images
86
+
87
+ - Prep timeline (visual Gantt-style)
88
+ - Nutrition panel (per serving, updates with serving size)
89
+
90
+ - "Start Cooking Mode" button
91
+ - Notes section (storage, substitutions, allergens)
92
+
93
+ 1. **Cooking Mode** — Full-screen step-by-step walkthrough:
94
+
95
+ - One step at a time, large readable text
96
+ - Built-in countdown timers
97
+
98
+ - Step images inline
99
+ - Prev/Next navigation
100
+
101
+ - Wake lock to prevent screen dimming
102
+
103
+ 1. **Meal Plan** — Visual meal plan with:
104
+
105
+ - Day-by-day layout with meal slots
106
+ - Links to individual recipes
107
+
108
+ - Weekend prep session timeline
109
+ - Combined shopping list with checkable items and cross-references
110
+
111
+ - Nutrition totals
112
+
113
+ 1. **Dashboard summary** — Recipe count, total cook time saved, most-used ingredients, etc.
114
+
115
+ ### API Endpoints
116
+
117
+ - `GET /api/recipes` — List all recipes (supports `?search=` and `?tags=`)
118
+ - `GET /api/recipes/:id` — Get single recipe
119
+
120
+ - `POST /api/recipes` — Create recipe
121
+ - `PUT /api/recipes/:id` — Update recipe
122
+
123
+ - `DELETE /api/recipes/:id` — Delete recipe
124
+ - `GET /api/recipes/dashboard` — Summary stats
125
+
126
+ - `GET /api/meal-plans` — List meal plans
127
+ - `GET /api/meal-plans/:id` — Get single meal plan
128
+
129
+ - `POST /api/meal-plans` — Create meal plan
130
+ - `DELETE /api/meal-plans/:id` — Delete meal plan
131
+
132
+ ### Build Workflow
133
+
134
+ 1. Write the OpenAPI spec with all endpoints above
135
+ 1. Run codegen to generate React hooks and Zod schemas
136
+
137
+ 1. Write DB schema and push to database
138
+ 1. Create the web app artifact and launch design subagent
139
+
140
+ 1. Implement API routes
141
+ 1. Seed the database with user's requested recipes (structured data, not components)
142
+
143
+ 1. Generate hero images for each recipe using `generateImage`
144
+ 1. Test end-to-end
145
+
146
+ ### Adding New Recipes (Ongoing)
147
+
148
+ When the user requests new recipes in future conversations:
149
+
150
+ 1. Generate the recipe data (ingredients, steps, nutrition, etc.)
151
+ 1. Generate a hero image
152
+
153
+ 1. POST the recipe to the API
154
+ 1. The frontend automatically displays it in the collection
155
+
156
+ No new components need to be written. The recipe is just data.
157
+
158
+ ## Recipe Generation
159
+
160
+ ### Recipe Card Features
161
+
162
+ 1. **Generated hero image** — Use `generateImage` to create a photorealistic hero image. Style: overhead or 45-degree angle, natural lighting, styled surface.
163
+ 1. **Step images** — For key technique steps, generate images showing what that step should look like.
164
+
165
+ 1. **Serving size adjuster with smart scaling** — Dynamic recalculation with intelligent unit conversion:
166
+
167
+ ```javascript
168
+
169
+ const unitUpgrades = {
170
+
171
+ tsp: { threshold: 3, to: "Tbsp", factor: 1/3 },
172
+
173
+ Tbsp: { threshold: 4, to: "cup", factor: 1/16 },
174
+
175
+ };
176
+
177
+ ```
178
+
179
+ 1. **Cooking mode** — Step-by-step walkthrough with countdown timers, wake lock, large text.
180
+ 1. **Prep timeline** — Visual Gantt chart showing overlapping tasks, color-coded by type.
181
+
182
+ 1. **Nutrition panel** — Per-serving values that update with serving size.
183
+
184
+ ### "What Can I Make?" Logic
185
+
186
+ Think in **formula + flavor profile**, not recipe lookup:
187
+
188
+ 1. Bucket ingredients: protein / starch / veg / aromatic / fat / acid
189
+ 1. Match a base formula (stir-fry, braise, grain bowl, frittata, soup, sheet-pan roast)
190
+
191
+ 1. Assign a flavor direction based on what's in the pantry
192
+ 1. Every savory dish needs fat + acid + salt to taste finished
193
+
194
+ 1. Rank suggestions by fewest missing ingredients
195
+
196
+ ### Ratios — Cook Without a Recipe
197
+
198
+ From Ruhlman's *Ratio*. **All by weight**:
199
+
200
+ | Thing | Ratio | Notes |
201
+
202
+ |-------|-------|-------|
203
+
204
+ | Bread dough | 5 flour : 3 water (+yeast, salt 2%) | 60% hydration = sandwich, 75%+ = ciabatta |
205
+
206
+ | Pasta dough | 3 flour : 2 egg | ~100g flour per person |
207
+
208
+ | Pie dough | 3 flour : 2 fat : 1 water | Fat cold, water iced |
209
+
210
+ | Cookie | 1 sugar : 2 fat : 3 flour | Base for shortbread -> choc chip |
211
+
212
+ | Pancake | 2 flour : 2 liquid : 1 egg : 1/2 fat | Thinner = crepe |
213
+
214
+ | Vinaigrette | 3 oil : 1 acid | Mustard to emulsify |
215
+
216
+ | Custard | 1 egg : 2 liquid | Creme brulee, quiche, bread pudding |
217
+
218
+ | Stock | 3 water : 2 bones | Simmer, never boil |
219
+
220
+ | Rice | 1 rice : 1.5 water by volume | Less for jasmine, more for brown |
221
+
222
+ ### Substitutions
223
+
224
+ | Out of | Use | Conversion |
225
+
226
+ |--------|-----|------------|
227
+
228
+ | Buttermilk | Milk + acid | 1 cup milk + 1 Tbsp lemon juice, sit 5 min |
229
+
230
+ | 1 egg (binding) | Flax/chia | 1 Tbsp ground + 3 Tbsp water, gel 5 min |
231
+
232
+ | Butter (baking) | Oil | Use 80% of butter weight |
233
+
234
+ | Heavy cream | Coconut cream | 1:1, faint coconut taste |
235
+
236
+ | Cake flour | AP flour | 1 cup AP - 2 Tbsp + 2 Tbsp cornstarch |
237
+
238
+ | Fresh herbs | Dried | Use 1/3 the amount, add early |
239
+
240
+ ### Nutrition — Live USDA Lookup
241
+
242
+ Use the USDA FoodData Central API (`fdc.nal.usda.gov`) when available. Fallback: protein ~4 kcal/g, carbs ~4 kcal/g, fat ~9 kcal/g. Flag as "estimated" when using fallback.
243
+
244
+ ### Best Practices
245
+
246
+ - **Visual/audio cues over times** — "onions translucent" beats "5 min"
247
+ - **Salt in layers** — season at each stage
248
+
249
+ - **Rest meat** — 5 min for steaks, 15+ for roasts
250
+ - Ingredients listed in order of use
251
+
252
+ - Flag top-9 allergens
253
+
254
+ ## Limitations
255
+
256
+ - Nutrition from USDA API uses generic entries — brand variance exists
257
+ - Baking ratios assume weight measurement; volume introduces 10-20% error
258
+
259
+ - Not medical dietary advice
@@ -0,0 +1 @@
1
+ 5351a5df563f1a485ea6372d812fb6fd
@@ -0,0 +1,215 @@
1
+ ---
2
+ name: recreate-screenshot
3
+ description: Recreate a UI from a screenshot or image with pixel-perfect accuracy.
4
+ ---
5
+
6
+ # Recreate Screenshot
7
+
8
+ Recreate a UI screen from a screenshot or image reference. The goal is pixel-perfect accuracy — the rendered output should be visually indistinguishable from the source image.
9
+
10
+ ## When to Use
11
+
12
+ - User pastes a screenshot and says "build this", "recreate this", "make this", "replicate this UI"
13
+ - User uploads a design mockup image and wants it implemented
14
+ - User shares a reference image from another app and wants an exact visual match
15
+ - User provides a Figma screenshot, Dribbble shot, or any visual reference to reproduce
16
+
17
+ ## When NOT to Use
18
+
19
+ - User wants a *functional app inspired by* a design — that's general development, not screenshot recreation
20
+ - User wants to *clone a live website* by URL — use the website-cloning skill instead
21
+ - User wants to *redesign or improve* an existing component — use design-exploration instead
22
+ - User describes a UI in words without providing an image — that's standard design work
23
+
24
+ ## Phase 1: Analyze the Screenshot
25
+
26
+ Before writing any code, study the image systematically. Extract every visual detail.
27
+
28
+ ### Layout Analysis
29
+
30
+ - Identify the overall layout structure: single column, sidebar + content, grid, split-screen
31
+ - Map the visual hierarchy: what draws the eye first, second, third
32
+ - Note the container structure: full-width vs constrained, nested containers, card groups
33
+ - Identify repeating patterns: card grids, list items, nav items, form groups
34
+
35
+ ### Color Extraction
36
+
37
+ Extract exact colors from the image — do not approximate.
38
+
39
+ - **Primary background** — the dominant background color
40
+ - **Secondary backgrounds** — card backgrounds, section backgrounds, sidebar fills
41
+ - **Primary accent** — buttons, links, active states
42
+ - **Text colors** — headings vs body vs muted/secondary text (these are almost always different)
43
+ - **Border and divider colors** — often subtle grays
44
+ - **Gradient start/end colors** — if any gradients are visible
45
+ - **Shadow colors** — note opacity and spread if box-shadows are present
46
+
47
+ Record all colors as hex values. If the image shows a dark theme, note that explicitly.
48
+
49
+ ### Typography Analysis
50
+
51
+ - **Font classification** — is it sans-serif (most common), serif, monospace, or display/decorative?
52
+ - **Heading sizes** — estimate px sizes for h1, h2, h3 relative to surrounding elements
53
+ - **Body text size** — typically 14-16px
54
+ - **Font weights** — identify bold (700), semibold (600), medium (500), regular (400), light (300) usage
55
+ - **Letter spacing** — is it tight (negative), normal, or wide (uppercase labels often have wide spacing)
56
+ - **Line height** — compact (1.2-1.3) for headings, relaxed (1.5-1.7) for body text
57
+ - **Text transforms** — any uppercase labels, capitalized nav items
58
+
59
+ ### Component Inventory
60
+
61
+ Catalog every visible component:
62
+
63
+ - **Buttons** — size, border-radius, fill vs outline vs ghost, icon placement, shadow
64
+ - **Cards** — padding, border-radius, border vs shadow vs both, background
65
+ - **Input fields** — height, border style, border-radius, placeholder style, focus state (if visible)
66
+ - **Navigation** — horizontal vs vertical, active indicator style, icon + label vs label only
67
+ - **Lists** — spacing between items, divider style, icon/avatar placement
68
+ - **Modals/sheets** — overlay darkness, container radius, close button style
69
+ - **Tags/badges** — size, radius (pill vs rounded-rect), color coding
70
+ - **Avatars/images** — exact dimensions, border-radius (circle vs rounded), border/ring
71
+
72
+ ### Spacing System
73
+
74
+ - **Container padding** — page-level horizontal padding
75
+ - **Section spacing** — vertical gap between major sections
76
+ - **Card internal padding** — consistent padding within cards
77
+ - **Element gaps** — space between items in a list, grid gap, button groups
78
+ - **Margin patterns** — consistent spacing multiples (4px, 8px, 12px, 16px, 24px, 32px)
79
+
80
+ ## Phase 2: Build
81
+
82
+ ### Setup
83
+
84
+ Build the component using the project's existing framework. If the project uses React + Vite, build a React component. If Expo, build a React Native component. Match the stack.
85
+
86
+ If there is no existing project context, or the user wants a standalone prototype, use the mockup sandbox (see the mockup-sandbox skill). Create the component as a self-contained mockup that can be embedded on the canvas.
87
+
88
+ ### Construction Rules
89
+
90
+ Follow these rules with zero exceptions:
91
+
92
+ **Layout fidelity:**
93
+
94
+ - If the screenshot shows a column layout, build a column layout — do not reorganize
95
+ - If elements are positioned absolutely in the reference, use absolute positioning
96
+ - Match the exact number of grid columns, the exact flex direction, the exact alignment
97
+ - If the screenshot shows content clipped at the bottom (implying scroll), add scroll behavior
98
+
99
+ **Color fidelity:**
100
+
101
+ - Use the exact hex colors extracted in Phase 1
102
+ - Define all colors as CSS custom properties or theme tokens at the top of the file
103
+ - Do not substitute "close enough" colors — `#1A1A2E` is not `#1B1B30`
104
+ - If there are gradients, match both the colors and the direction
105
+
106
+ **Typography fidelity:**
107
+
108
+ - Match font sizes, weights, and spacing as closely as possible
109
+ - Use Google Fonts if the exact font is identifiable; otherwise pick the closest match in the same classification (geometric sans, humanist sans, transitional serif, etc.)
110
+ - Match bold, medium, and regular weights exactly as shown
111
+
112
+ **Component fidelity:**
113
+
114
+ - Every button must match: size, color, border-radius, label text, shadow, icon placement
115
+ - Every card must match: padding, background, border/shadow, internal layout
116
+ - Every input field must match: height, border style, placeholder text, border-radius
117
+ - Every list item must match: spacing, icon placement, divider style, text alignment
118
+
119
+ **Content fidelity:**
120
+
121
+ - Use the exact text visible in the screenshot — do not invent new copy
122
+ - If text is partially obscured, use realistic placeholder text that matches the visible length
123
+ - For images, use placeholder images at the exact same dimensions
124
+ - For avatars, use generated avatars (DiceBear or similar) at the correct size
125
+ - For icons, use the closest match from lucide-react or the project's icon library
126
+
127
+ **Interaction states:**
128
+
129
+ - Add hover states to all interactive elements (buttons, links, cards if they appear clickable)
130
+ - Add pressed/active state styling to buttons
131
+ - Add focus-visible styles to form elements
132
+ - If the screenshot implies scroll behavior, implement it with proper overflow handling
133
+ - Make the layout responsive to the container it's rendered in
134
+
135
+ ### What to Build
136
+
137
+ Build a **complete, self-contained screen**:
138
+
139
+ - Do not leave sections commented out or marked "TODO"
140
+ - Do not add elements not present in the screenshot
141
+ - Do not remove elements that are present in the screenshot
142
+ - Do not add navigation to pages that aren't shown
143
+ - If the screenshot shows a mobile viewport, build it at that viewport width
144
+
145
+ ## Phase 3: Validate
146
+
147
+ After building, compare your output against the source image.
148
+
149
+ ### Visual Checklist
150
+
151
+ Go through each category and verify:
152
+
153
+ - [ ] **Layout structure** matches exactly — same columns, same flex direction, same alignment
154
+ - [ ] **Background colors** match for page, sections, cards, and sidebars
155
+ - [ ] **Text colors** match for headings, body, muted text, and links
156
+ - [ ] **Accent/brand color** matches on buttons, active states, and highlights
157
+ - [ ] **Font sizes** match the visual hierarchy in the screenshot
158
+ - [ ] **Font weights** match — headings are the right boldness, body is the right weight
159
+ - [ ] **Spacing** matches — padding inside cards, gaps between elements, section margins
160
+ - [ ] **Border radius** matches on every element — buttons, cards, inputs, avatars
161
+ - [ ] **Shadows** match — present where they should be, absent where they shouldn't
162
+ - [ ] **Icons** are the right size and in the right position
163
+ - [ ] **Content** matches — text, image placeholders, avatar placeholders are all present
164
+
165
+ ### Iteration
166
+
167
+ If any item on the checklist is off, fix it before presenting to the user. Common issues:
168
+
169
+ - Colors are slightly off — re-examine the screenshot, extract again
170
+ - Spacing feels wrong — check padding and gap values against the reference
171
+ - Font weight is wrong — try adjacent weights (500 vs 600, 600 vs 700)
172
+ - Border radius is wrong — common values: 4px, 6px, 8px, 12px, 16px, 9999px (pill)
173
+ - Cards look flat when they should have depth — add box-shadow
174
+ - Layout doesn't match at the right viewport — check if you're building at the correct width
175
+
176
+ ## Working with Subagents
177
+
178
+ For complex screenshots with many components, delegate to a DESIGN subagent:
179
+
180
+ - Include the screenshot image in the subagent prompt
181
+ - Pass the full color extraction, typography analysis, and component inventory from Phase 1
182
+ - Specify the exact target file path and dimensions
183
+ - Include the construction rules from Phase 2 in the brief
184
+ - Tell the subagent to mark the iframe as "live" when complete
185
+
186
+ For multiple screenshots (e.g., recreating several screens of an app), fan out with one DESIGN subagent per screen and coordinate via the canvas.
187
+
188
+ ## Common Patterns
189
+
190
+ ### Dark UI
191
+
192
+ Dark UIs are not just "white on black." Look for:
193
+
194
+ - Layered dark backgrounds (e.g., `#0A0A0F` page, `#12121A` cards, `#1A1A26` hover)
195
+ - Subtle borders (1px solid rgba(255,255,255,0.06-0.1))
196
+ - Muted text colors (not pure white — usually `#A0A0B0` or similar)
197
+ - Glow effects on accent colors (box-shadow with the accent color at low opacity)
198
+
199
+ ### Gradient Backgrounds
200
+
201
+ - Extract both start and end colors
202
+ - Note the direction (most common: top-to-bottom, left-to-right, diagonal)
203
+ - For mesh gradients or complex gradients, approximate with radial gradients
204
+
205
+ ### Glass/Blur Effects
206
+
207
+ - Use `backdrop-filter: blur(12-24px)` with a semi-transparent background
208
+ - Often combined with a subtle border (1px solid rgba(255,255,255,0.1))
209
+ - Background opacity typically 60-80%
210
+
211
+ ### Sidebar + Content Layouts
212
+
213
+ - Sidebar is usually fixed width (240-280px) with its own background
214
+ - Content area fills remaining space
215
+ - On mobile, sidebar typically collapses to a hamburger menu
@@ -0,0 +1 @@
1
+ 7c804fd963081ace0044184e2a2c74fa
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: replit-migration-guardrails
3
+ description: Rules for migrating external projects (Lovable, Base44, v0/Vercel, Bolt) to Replit. Use Replit's built-in DB, auth, secrets, and integrations — not Supabase / Firebase / cookie-session / raw API keys. Base44 imports get a call-by-call map in `.local/secondary_skills/replit-migration-guardrails/references/base44.md`; v0/Vercel imports get a Next.js migration guide in `.local/secondary_skills/replit-migration-guardrails/references/vercel.md`.
4
+ ---
5
+
6
+ # Migration guardrails
7
+
8
+ Rules for migrating Lovable / Base44 / v0 / Vercel / Bolt imports to
9
+ Replit. Base44 imports get a call-by-call map in
10
+ `.local/secondary_skills/replit-migration-guardrails/references/base44.md`;
11
+ v0/Vercel imports get a Next.js migration guide in
12
+ `.local/secondary_skills/replit-migration-guardrails/references/vercel.md`.
13
+ Security reasoning:
14
+ <https://blog.replit.com/defense-in-depth-how-replit-secures-every-layer-of-the-vibe-coding-stack>.
15
+
16
+ ## Rules
17
+
18
+ 1. **Database:** Replit PostgreSQL via the `javascript_database`
19
+ blueprint. Not Supabase, Firebase, PlanetScale, etc. Reason: the
20
+ blog post's frontend/backend separation argument — RLS-only apps
21
+ are the vulnerability class Replit is built to avoid. Schema in
22
+ `shared/schema.ts`, `IStorage` in `server/storage.ts`, routes
23
+ under `/api/*`, then `npm run db:push`.
24
+
25
+ 2. **Auth:** `javascript_log_in_with_replit` blueprint (Replit Auth).
26
+ If the user explicitly asks for Clerk, use the `clerk-auth` skill.
27
+ Never hand-roll cookie sessions or design login/signup/reset forms.
28
+ Don't use the strings "Replit" or "Replit Auth" in UI; just "Log in".
29
+
30
+ 3. **Secrets:** Live in Replit's secret store. Use the
31
+ `environment-secrets` skill's `ask_secrets` tool to request
32
+ user-supplied keys, and `check_secrets` to see what's already
33
+ set. Never paste keys into code or `.env.*`. Never expose via
34
+ `VITE_*` (that ships to the browser). Scrape nothing from the
35
+ imported `.env`; re-request through `ask_secrets`.
36
+
37
+ 4. **Integrations:** For AI, use **AI Integrations** via the
38
+ `integrations` skill (OpenAI / Anthropic / Gemini env vars
39
+ auto-provisioned, no key from the user). For object storage, use
40
+ `javascript_object_storage`. For payments, `javascript_stripe` /
41
+ `javascript_paypal`. For email / SMS / Slack / Notion / etc.,
42
+ search the `integrations` skill first. Only fall back to
43
+ `ask_secrets` if no integration exists. Never call external APIs
44
+ from the browser.
45
+
46
+ ## Talk to the user like a non-technical user
47
+
48
+ Keep user-facing messages short. Just tell them a migration is
49
+ running; no enumeration of what surfaces were found, no step-by-step
50
+ plan, no tool / library / file / blueprint names.
51
+
52
+ One-liner format: what the app is, that you're migrating it, rough
53
+ time, whether they need to do anything (ideally "nothing right now").
54
+
55
+ The per-source reference in `references/` has a filled-in template.
@@ -0,0 +1,47 @@
1
+ # Base44 → Replit
2
+
3
+ ## Shim files to read first
4
+
5
+ - `src/api/base44Client.js`, `src/api/entities.js`, `src/api/integrations.js`
6
+ - `src/lib/app-params.js`, `src/lib/AuthContext.jsx`
7
+ - `src/components/ProtectedRoute.jsx`, `UserNotRegisteredError.jsx`
8
+ - `vite.config.js`
9
+
10
+ Grep `base44.entities.*`, `base44.integrations.Core.*`, `base44.auth.*`
11
+ to enumerate what's actually used.
12
+
13
+ ## Layout
14
+
15
+ Flat `src/` at repo root → move under `client/src/`, add `server/` +
16
+ `shared/` (FULLSTACK_JS layout). Follow the `fullstack-js` skill.
17
+
18
+ ## Replacements
19
+
20
+ | Base44 | Replit |
21
+ | --- | --- |
22
+ | `base44.entities.*` | `javascript_database` + drizzle + `/api/*` routes |
23
+ | `base44.auth.*` | `javascript_log_in_with_replit` blueprint |
24
+ | `InvokeLLM` / `GenerateImage` / `ExtractDataFromUploadedFile` | AI Integrations (OpenAI) |
25
+ | `UploadFile` | `javascript_object_storage` blueprint |
26
+ | `SendEmail` / `SendSMS` | `integrations` skill, else stub |
27
+ | `base44.appLogs.*` | delete |
28
+
29
+ ## Cleanup
30
+
31
+ Drop `@base44/sdk` + `@base44/vite-plugin`. Delete
32
+ `base44Client.js`, `entities.js`, `integrations.js`, `app-params.js`,
33
+ `NavigationTracker.jsx`, `VisualEditAgent.jsx`,
34
+ `UserNotRegisteredError.jsx`.
35
+
36
+ ## First message
37
+
38
+ One short, non-technical line. Just tell the user a migration is
39
+ running. No surface enumeration, no plan bullets, no tool / library
40
+ names. Template:
41
+
42
+ ```text
43
+ I've pulled in your Base44 project — looks like *a small business dashboard for tracking revenue, expenses, and customers*. I'll get it running on Replit; this usually takes a few minutes. Nothing needed from you right now.
44
+ ```
45
+
46
+ If you genuinely need a user-supplied secret later, batch it into
47
+ one request via the environment-secrets skill.
@@ -0,0 +1,78 @@
1
+ # Vercel (v0) → Replit
2
+
3
+ ## Locate the app & detect package manager
4
+
5
+ - Check root `package.json` for a `next` dependency and for `app/` or `pages/` directories.
6
+ - If not at root, search common monorepo paths: `apps/web`, `packages/frontend`.
7
+ - Detect the package manager from the lockfile: `package-lock.json`→npm,
8
+ `pnpm-lock.yaml`→pnpm, `yarn.lock`→yarn, `bun.lockb`→bun.
9
+
10
+ ## Working directory
11
+
12
+ If Next.js lives in a subdirectory, every subsequent command runs from
13
+ there. Update `deploy_config_tool` to `cd` into it:
14
+
15
+ - build: `["bash", "-c", "cd <dir> && <pkg-mgr> run build"]`
16
+ - start: `["bash", "-c", "cd <dir> && <pkg-mgr> run start"]`
17
+
18
+ ## Ports & scripts
19
+
20
+ - dev: `next dev -p 5000 -H 0.0.0.0`
21
+ - start: `next start -p 5000 -H 0.0.0.0`
22
+
23
+ ## Dev workflow
24
+
25
+ Vercel imports initialize with `BEST_EFFORT_FALLBACK`, which does not
26
+ create a workflow for you. Configure one yourself with
27
+ `configure_workflow_tool` before `restart_workflow` — the feedback
28
+ and verification steps depend on it. Use the same subdirectory/pkg
29
+ manager pattern as the build/start commands, e.g.
30
+ `["bash", "-c", "cd <dir> && <pkg-mgr> run dev"]`.
31
+
32
+ ## Replit compatibility rules
33
+
34
+ - **instrumentation.ts/js**: comment out if it blocks startup, leave a
35
+ one-line explanatory comment.
36
+ - **Build errors → source, not artifacts**: when an error cites a file
37
+ path, confirm whether it's source or compiled output before editing.
38
+ Errors in compiled artifacts (Tailwind/CSS bundles, generated JS,
39
+ type-gen output) point to a source cause — grep the source tree for
40
+ the offending symbol or pattern and fix it there. Don't mask the
41
+ error at the bundler/compiler layer (PostCSS rule-stripping, custom
42
+ loader hacks, `null-loader`).
43
+ - **External allowlists (preflight)**: grep source for image URLs
44
+ passed to `next/image` and whitelist each external hostname under
45
+ `images.remotePatterns` in `next.config.mjs`. Add `'*.replit.dev'`
46
+ and `'*.replit.app'` to `allowedDevOrigins`. Skipping these produces
47
+ runtime errors later.
48
+ - **Binary asset spot-check**: v0 and similar JSON-serialized project
49
+ exports can ship images/fonts as base64 text files that pass HTTP
50
+ 200 checks but fail to render. After clone, run
51
+ `file public/**/*.{png,jpg,webp,woff,woff2,ttf}` (or wherever assets
52
+ live) — any binary asset reported as ASCII/UTF-8 text needs
53
+ `base64 -d` back to binary in place.
54
+ - **Verify the running app, not just the build**: a 200 response and a
55
+ clean build log don't mean the page renders. Fetch the page
56
+ (`curl -s <URL> | head`) and confirm the HTML contains real app
57
+ content. Repetitive rebuild or reload loops in dev-server logs mean
58
+ the app is cycling — don't blame the Replit proxy.
59
+
60
+ ## Secrets
61
+
62
+ Always request env vars referenced by `process.env.*` (DATABASE_URL,
63
+ API keys, etc.) through the `environment-secrets` skill so they land
64
+ in the Replit Secrets store. Never ask the user to paste secret
65
+ values into chat, don't commit them to the repo, and don't scrape
66
+ `.env` into code.
67
+
68
+ ## First message
69
+
70
+ One short, non-technical line. Don't enumerate steps or mention tools
71
+ / library names. Template:
72
+
73
+ ```text
74
+ I've pulled in your Vercel project — looks like *a Next.js app for <feature>*. I'll get it running on Replit; this usually takes a few minutes. Nothing needed from you right now.
75
+ ```
76
+
77
+ If you genuinely need a user-supplied secret later, batch it into one
78
+ request via the `environment-secrets` skill.
@@ -0,0 +1 @@
1
+ e99b27af31fbdcf8f70692ce4abff738