@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,786 @@
1
+ ---
2
+ name: real-estate-analyzer
3
+ description: Evaluate properties, investment returns, mortgage affordability, and rent vs. buy decisions.
4
+ ---
5
+
6
+ # Real Estate Analyzer
7
+
8
+ Analyze properties, neighborhoods, and real estate investment opportunities for home buyers and investors. Evaluate listings, estimate fair value, assess neighborhoods, model investment returns, compute mortgage affordability, compare renting vs. buying, analyze HOAs, model exit scenarios, and assess market conditions.
9
+
10
+ ## When to Use
11
+
12
+ - User wants to evaluate a property listing for purchase
13
+ - User asks about neighborhood quality, schools, or safety
14
+
15
+ - User wants to compare properties or neighborhoods
16
+ - User needs help estimating if a home is fairly priced
17
+
18
+ - User wants to analyze a property as an investment (rental yield, appreciation)
19
+ - User asks about mortgage affordability, monthly payments, or how much house they can afford
20
+
21
+ - User wants to understand PITI breakdown, DTI ratios, or down payment scenarios
22
+ - User asks "should I rent or buy?" or wants to compare owning vs. renting
23
+
24
+ - User asks about selling a property, net proceeds, or when to sell ("how much will I net if I sell?")
25
+ - User has HOA-related questions (fees too high, special assessments, reserve fund status)
26
+
27
+ - User asks about house flipping, BRRRR strategy, or fix-and-flip analysis
28
+ - User asks about housing market timing ("is it a good time to buy?", "is the market going up or down?")
29
+
30
+ - User asks about closing costs, what they need to close, or total cash required to buy
31
+ - User asks about flood zones, insurance costs, or whether a property needs flood insurance
32
+
33
+ ## When NOT to Use
34
+
35
+ - Legal review of purchase agreements (use legal-contract skill)
36
+
37
+ ## Methodology
38
+
39
+ ### Step 0: Verify Listing Status & Asking Price (CRITICAL — Do This First)
40
+
41
+ Before any analysis, confirm the property's listing status and asking price. **Never assume a property is off-market.** Never run financial analysis based solely on an algorithm-generated estimate when an actual asking price may exist.
42
+
43
+ #### Verification procedure
44
+
45
+ 1. **Attempt to fetch the listing URL** provided by the user using `webFetch`. Try with`renderJs: true` first, then without.
46
+ 2. **If the listing page fails to render** (common with Zillow, Redfin, Realtor.com which block scraping), search for the property across multiple sources:
47
+
48
+ - `webSearch` the full address + "price" + "listing"
49
+ - Try Redfin, Zillow, Realtor.com, and local MLS aggregators
50
+
51
+ 1. **If search results conflict or are ambiguous**about whether the property is active, pending, sold, or off-market —**ask the user to confirm**:
52
+
53
+ - "I'm having trouble pulling the listing details. Can you confirm: Is this property currently listed for sale? If so, what's the asking price?"
54
+
55
+ 1. **If the user provided a listing URL**, treat the property as actively listed unless you have strong evidence otherwise. Listing URLs from Zillow, Redfin, or Realtor.com imply the user is looking at an active listing.
56
+
57
+ ##### What to confirm before proceeding
58
+
59
+ - Listing status: Active, Pending, Contingent, Sold, or Off-Market
60
+ - Asking price (if active)
61
+
62
+ - Basic details: beds, baths, sqft, year built, HOA (if applicable)
63
+
64
+ **If web scraping fails for all sources**, ask the user directly:
65
+
66
+ > "I wasn't able to pull the listing details automatically. Could you share the key details from the listing page? I need: asking price, beds/baths, square footage, year built, and HOA fees (if any)."
67
+
68
+ ###### Pricing hierarchy — which price to use for analysis
69
+
70
+ 1. **Asking price** — always use the actual listing price when available. This is what the seller is asking and what a buyer will negotiate against.
71
+ 2. **Pending/contract price** — if under contract, note this and use the last known asking price.
72
+
73
+ 3. **Estimated value** — only use algorithm estimates (Zestimate, Redfin Estimate) when the property is genuinely off-market with no asking price. Always label estimates clearly as estimates, not asking prices.
74
+
75
+ **Throughout the entire report**, clearly distinguish between asking price and estimated value. Label every price reference with its source: "Asking: $629,000" vs. "Redfin Estimate: $661,000". Never present an estimate as if it were a listing price.
76
+
77
+ ### Step 1: Property Assessment
78
+
79
+ Gather and evaluate listing details:
80
+
81
+ #### Basic Details
82
+
83
+ - Address, price, square footage, lot size
84
+ - Bedrooms, bathrooms, year built
85
+
86
+ - Property type (single-family, condo, townhouse, multi-family)
87
+ - Days on market, price history, price reductions
88
+
89
+ ##### Price History (required — pull the full timeline)
90
+
91
+ Do not just note the current asking price. Reconstruct the full pricing timeline:
92
+
93
+ - Original list price and original list date
94
+ - Every price reduction: date, old price, new price, percentage drop
95
+
96
+ - Any delisting/relisting history (taken off market and relisted = reset of DOM clock — a red flag)
97
+ - Previous sale price and date (county assessor or Zillow "Price & tax history")
98
+
99
+ - Calculate: total price change from original list to current ask (e.g., "Listed at $729K, cut twice to $629K = 13.7% total reduction over 4 months")
100
+
101
+ **Why this matters:** A property at $629K that started at $629K signals confidence. A property at $629K that started at $800K and has been cut three times signals a motivated seller and potential overpricing — and gives the buyer leverage to negotiate further. Delist/relist patterns often indicate the seller is trying to reset days-on-market to hide stale inventory.
102
+
103
+ ###### How to find price history
104
+
105
+ - Zillow: scroll to "Price and tax history" section on the listing page
106
+ - Redfin: "Property History" tab
107
+
108
+ - `webSearch "{address} price history"`or`"{address} price reduced"`
109
+ - County assessor for previous sale price and tax assessment history
110
+
111
+ ###### Condition Indicators
112
+
113
+ - Age of major systems (roof, HVAC, water heater, electrical)
114
+ - Recent renovations or updates
115
+
116
+ - Foundation type and condition
117
+ - Photos analysis — look for staging tricks, unflattering angles, missing rooms
118
+
119
+ ###### Red Flags
120
+
121
+ - Significantly below market price (could indicate undisclosed issues)
122
+ - Frequent ownership changes (flipped too fast?)
123
+
124
+ - "As-is" or "investor special" language
125
+ - Missing disclosures or incomplete listing info
126
+
127
+ - High DOM (days on market) without price reduction
128
+ - Multiple price reductions in quick succession (seller chasing a falling market)
129
+
130
+ - Delist/relist patterns (resetting DOM to hide stale inventory)
131
+
132
+ ###### HOA Deep Dive (required for all condos, townhouses, and HOA communities)
133
+
134
+ HOA fees are often the single largest recurring cost after the mortgage — and the one most likely to increase unpredictably. Never accept the listing's HOA figure at face value. Investigate thoroughly.
135
+
136
+ ###### What to gather
137
+
138
+ - **Exact monthly HOA fee** and what it covers (water, sewer, trash, cable/internet, building insurance master policy, reserves, amenities)
139
+ - **What's NOT covered** — if the master policy doesn't include HO6 interior coverage, the buyer still needs a separate condo insurance policy ($50-150/mo)
140
+
141
+ - **Fee history over the past 5 years** — webSearch `"{building name} HOA fee increase"` or ask the user. Annual increases of 3-5% are normal; 10%+ signals trouble.
142
+ - **Reserve fund status** — is the reserve fund fully funded (>70% of recommended), underfunded (40-70%), or critically underfunded (<40%)? Underfunded reserves = future special assessments.
143
+
144
+ - **Recent or pending special assessments** — one-time charges for major repairs (roof, elevator, structural, plumbing). These can be $5K-$100K+ per unit. In Florida post-Surfside, milestone structural inspections (at 25 and 30 years) are mandatory and frequently trigger large assessments.
145
+ - **Rental restrictions** — does the HOA limit rentals (e.g., "no rentals in first 2 years," "max 20% of units rented at any time," "no short-term rentals under 6 months")? This directly impacts investment viability.
146
+
147
+ - **Litigation status** — is the HOA currently involved in or threatening litigation? webSearch `"{building name} lawsuit"`or`"{building name} litigation"`.
148
+ - **Owner-occupancy ratio** — high investor/renter ratio (>50%) can make financing harder (some lenders require >50% owner-occupied) and signals different community dynamics.
149
+
150
+ ###### How to find HOA details
151
+
152
+ - The listing itself (Zillow/Redfin often show monthly HOA amount)
153
+ - `webSearch "{building name} HOA" OR "{building name} condo association"`
154
+
155
+ - Building's own website (if any) — often has meeting minutes, financials, rules
156
+ - Florida: `myfloridalicense.com` for condo association filings
157
+
158
+ - Ask the user: "Can you check the listing for the HOA amount and what it includes? Also, does the listing mention any special assessments?"
159
+
160
+ ###### Financial impact modeling
161
+
162
+ - Project HOA fees forward 5 and 10 years at both the building's historical increase rate AND at 8-10% annual growth (stressed scenario)
163
+ - Include HOA in the monthly payment breakdown prominently — for condos, total monthly cost = PITI + HOA + HO6 insurance
164
+
165
+ - Special assessments: if any are pending or rumored, add them to the total cash required at closing
166
+
167
+ ### Step 2: Valuation Analysis
168
+
169
+ #### Pull comps — specific sources
170
+
171
+ - `webFetch`Redfin sold filter:`redfin.com/city/{id}/filter/include=sold-6mo` — recently sold within 0.5mi, ±20% sqft, same beds
172
+ - Zillow Research (`zillow.com/research/data/`) — free CSV downloads of ZHVI (home value index) and ZORI (rent index) by ZIP, monthly back to 1996
173
+
174
+ - County assessor website — webSearch `"{county name} property assessor {address}"` for tax-assessed value, last sale price, permit history. Assessed value is typically 70-90% of market value.
175
+ - Adjust comps: ±$15-40/sqft for size delta, ±$5-15k per bedroom, ±10-20% for condition
176
+
177
+ **Always compare asking price to estimated fair value.** Present both side-by-side:
178
+
179
+ - Asking price and $/sqft
180
+ - Comp-derived fair value and $/sqft
181
+
182
+ - Percentage difference (overpriced / underpriced / fairly priced)
183
+ - Automated estimates (Zestimate, Redfin Estimate) as secondary reference points
184
+
185
+ ##### Affordability math (compute, don't estimate)
186
+
187
+ ```python
188
+
189
+ # PITI at 30yr fixed — webSearch current rates (use Freddie Mac PMMS)
190
+
191
+ # PMMS reports percentage (e.g. 6.76), so divide by 100 first
192
+
193
+ P, r, n = loan_amount, annual_rate/100/12, 360
194
+
195
+ monthly_PI = P * (r*(1+r)**n) / ((1+r)**n - 1)
196
+
197
+ # + property tax (county rate × assessed value / 12)
198
+
199
+ # + homeowners insurance (~$150-250/mo, varies wildly by state)
200
+
201
+ # + PMI if <20% down (~0.5-1.0% of loan/yr)
202
+
203
+ ```
204
+
205
+ - 28/36 rule: PITI <28% gross income, total debt <36%. Lenders stretch to 43% DTI — don't.
206
+ - Closing costs: 2-5% of purchase. Maintenance reserve: 1-2% of home value/yr.
207
+
208
+ ### Step 3: Neighborhood Analysis
209
+
210
+ #### webSearch/webFetch targets (name the source, don't be vague)
211
+
212
+ - Schools: `greatschools.org/{state}/{city}` — rating ≥7 protects resale value even if user has no kids
213
+ - Crime: `crimemapping.com`or`spotcrime.com/{city}` — check 6-month trend, not just snapshot. NeighborhoodScout for demographic overlay.
214
+
215
+ - Walk/Transit/Bike Score: `walkscore.com/score/{address}`
216
+ - Flood: `msc.fema.gov/portal/search` — Zone A/AE/V = mandatory flood insurance ($400-3,000+/yr, often kills deals)
217
+
218
+ - Market velocity: Redfin Data Center — median DOM, sale-to-list ratio, months of supply. <3 months supply = seller's market.
219
+ - Future development: webSearch `"{city} planning commission agenda"`+`"{city} zoning map"` — a highway expansion or apartment rezoning next door changes everything
220
+
221
+ ### Step 4: Investment Analysis — Run the Numbers
222
+
223
+ **All investment calculations must use the asking price (or confirmed purchase price), not algorithm estimates.** If the property is off-market, use the estimated value but label it clearly.
224
+
225
+ #### Quick-filter rules (kill deals fast)
226
+
227
+ - **1% rule**: monthly rent ≥ 1% of purchase price. Dead in coastal/HCOL markets — there, 0.5-0.7% is realistic and you're betting on appreciation, not cash flow.
228
+ - **50% rule**: operating expenses (NOT mortgage) eat ~50% of gross rent. Vacancy + repairs + management + taxes + insurance + capex reserve. Beginners always underestimate this.
229
+
230
+ - **70% rule (flips/BRRRR)**: max offer = (ARV × 0.70) − rehab cost. ARV = after-repair value from renovated comps.
231
+
232
+ ##### Full underwriting (build in Python)
233
+
234
+ ```text
235
+
236
+ Gross rent (use Rentometer or Zillow ZORI for the ZIP)
237
+
238
+ − Vacancy (5-8% typical; 10% conservative)
239
+
240
+ − Property management (8-10% of collected rent)
241
+
242
+ − Repairs/maintenance (~8% of rent)
243
+
244
+ − CapEx reserve (~5% — roof/HVAC/water heater sinking fund)
245
+
246
+ − Taxes + insurance
247
+
248
+ = NOI (Net Operating Income)
249
+
250
+ Cap rate = NOI / purchase price
251
+
252
+ → <4%: you're buying appreciation, not cash flow
253
+
254
+ → 4-6%: typical for A/B-class in growth metros
255
+
256
+ → 6-8%: solid cash flow, B/C-class
257
+
258
+ → >10%: either a great deal or a war zone — verify crime data
259
+
260
+ NOI − annual debt service (P+I) = annual cash flow
261
+
262
+ Cash-on-cash = annual cash flow / total cash in (down pmt + closing + rehab)
263
+
264
+ → Target 8%+ CoC. Below that, an index fund wins with zero tenants.
265
+
266
+ ```
267
+
268
+ ###### DSCR (what lenders check for investment loans)
269
+
270
+ - DSCR = NOI / annual debt service. Lenders want ≥1.20-1.25× (2025 standard). <1.0 means rent doesn't cover the mortgage.
271
+ - DSCR loans (2025): ~6.5-7.5% rate, qualify on property income not W-2, typical max 75% LTV. How investors scale past 10 conventional mortgages.
272
+
273
+ **BRRRR stack**: Buy distressed (hard money, 7-14 day close) → Rehab → Rent → Refinance at 75% of new ARV into DSCR loan → pull most capital out → Repeat. Only works if `ARV × 0.75 ≥ purchase + rehab + holding costs`.
274
+
275
+ **Rent comps:** webSearch Rentometer free tier, or pull Zillow rentals for the ZIP and compute median $/sqft for same bed count.
276
+
277
+ ### Step 5: Sensitivity Analysis & Breakeven Returns
278
+
279
+ Always include sensitivity analysis in every property report. This section stress-tests the investment under multiple scenarios and identifies the exact breakeven thresholds where the deal flips from loss to gain.
280
+
281
+ **All scenarios must use the asking price as the anchor point.** The sensitivity matrix should include the asking price as one of the columns, with discount scenarios below it and premium scenarios above if relevant.
282
+
283
+ #### Three-Scenario Comparison (required)
284
+
285
+ Model three scenarios side-by-side — Base Case, Stressed, and Worst Case. Vary the following inputs across scenarios:
286
+
287
+ | Input | Base Case | Stressed | Worst Case |
288
+
289
+ |---|---|---|---|
290
+
291
+ | Monthly Rent | Market median | 5-10% below median | 15-20% below median |
292
+
293
+ | Vacancy Rate | 8% | 10% | 12% |
294
+
295
+ | Repairs/Maintenance | 8% of gross rent | 10% | 12% |
296
+
297
+ | CapEx Reserve | 5% | 5% | 6% |
298
+
299
+ | Tax + Insurance | Current estimates | +10% increase | +20% increase |
300
+
301
+ | HOA (if applicable) | Current | +8% increase | +15% increase |
302
+
303
+ For each scenario, compute and display:
304
+
305
+ - Effective Gross Income
306
+ - Total Operating Expenses
307
+
308
+ - Net Operating Income (NOI)
309
+ - Cap Rate
310
+
311
+ - Annual Cash Flow (after debt service)
312
+ - Cash-on-Cash Return
313
+
314
+ - DSCR
315
+
316
+ ##### Breakeven Analysis (required)
317
+
318
+ Compute and present these breakeven thresholds:
319
+
320
+ ```text
321
+
322
+ Breakeven Rent = monthly rent needed for $0 annual cash flow
323
+
324
+ → Formula: (annual_debt_service + fixed_opex) / ((1 - vacancy) * (1 - mgmt_pct) * 12 - variable_opex_pct * 12)
325
+
326
+ → Compare to current market rent and show the gap
327
+
328
+ Rent for 8% Cash-on-Cash = monthly rent needed for target CoC return
329
+
330
+ → target_cash_flow = 0.08 * total_cash_invested
331
+
332
+ → target_NOI = target_cash_flow + annual_debt_service
333
+
334
+ → solve for rent using same formula
335
+
336
+ Breakeven Purchase Price = price at which cap rate hits 4% and 5%
337
+
338
+ → price_at_5pct_cap = NOI / 0.05
339
+
340
+ → price_at_4pct_cap = NOI / 0.04
341
+
342
+ → show discount needed from asking price
343
+
344
+ Breakeven Mortgage Rate = rate at which NOI covers debt service
345
+
346
+ → iterate rates from 1% to 10% in 0.1% steps
347
+
348
+ → find rate where annual P&I ≤ NOI
349
+
350
+ Annual Appreciation Needed = appreciation rate to offset annual cash losses
351
+
352
+ → (total_annual_costs - effective_rental_income) / purchase_price
353
+
354
+ → compare to local long-term average appreciation (typically 3-6%)
355
+
356
+ ```
357
+
358
+ ###### Sensitivity Matrix (required)
359
+
360
+ Build a rent vs. purchase price grid showing monthly cash flow at each intersection. Use 4-6 rent levels (from below-market to well-above-market) and 3-4 purchase prices. **The asking price must be one of the columns.** Include discount scenarios (e.g., 5% and 10% below asking) and at least one below-market price to show where the deal starts working. Color-code: green = positive cash flow, red = negative.
361
+
362
+ Example structure (for a $629K asking price):
363
+
364
+ ```text
365
+
366
+ $500K $565K $600K $629K
367
+
368
+ $3,800/mo -$XXX -$XXX -$XXX -$XXX
369
+
370
+ $4,200/mo -$XXX -$XXX -$XXX -$XXX
371
+
372
+ $4,600/mo +$XXX -$XXX -$XXX -$XXX
373
+
374
+ $5,000/mo +$XXX +$XXX -$XXX -$XXX
375
+
376
+ $5,500/mo +$XXX +$XXX +$XXX -$XXX
377
+
378
+ $6,500/mo +$XXX +$XXX +$XXX +$XXX
379
+
380
+ ```
381
+
382
+ ###### Key Takeaway (required)
383
+
384
+ Summarize what the sensitivity analysis reveals — how far current conditions are from breakeven, whether any realistic combination of rent and price produces positive returns, and what would need to change for the deal to work.
385
+
386
+ ### Step 6: Own vs. Rent Comparison
387
+
388
+ Always include an own-vs-rent comparison when analyzing a property the user might live in (not purely investment). Even for investment properties, this section helps frame the decision for potential tenants.
389
+
390
+ #### Monthly cost comparison (required)
391
+
392
+ Build a side-by-side table:
393
+
394
+ ```text
395
+
396
+ Own Rent Equivalent
397
+
398
+ Mortgage (P&I) $X,XXX —
399
+
400
+ Property Tax $XXX —
401
+
402
+ Homeowners Insurance $XXX —
403
+
404
+ HOA / Condo Fee $X,XXX —
405
+
406
+ Flood Insurance $XXX —
407
+
408
+ Maintenance Reserve $XXX —
409
+
410
+ Monthly Rent — $X,XXX
411
+
412
+ Renter's Insurance — $XX
413
+
414
+ ─────────────────────────────────────────────────
415
+
416
+ Total Monthly Cost $X,XXX $X,XXX
417
+
418
+ Monthly Delta (Own - Rent) +$X,XXX / -$X,XXX
419
+
420
+ ```
421
+
422
+ Use the market-rate rent for a comparable unit in the same building or neighborhood (same beds/baths/sqft). Source from Zillow/Rentometer rent comps.
423
+
424
+ ##### Equity build vs. opportunity cost (required)
425
+
426
+ The monthly payment difference isn't the whole story. Model two parallel paths over 5, 10, and 30 years:
427
+
428
+ ```text
429
+
430
+ Path A — Buy:
431
+
432
+ - Home equity built (principal paydown from amortization schedule)
433
+ - Home appreciation (model at 3%, 5%, and local historical average)
434
+
435
+ - Tax benefits: mortgage interest deduction + property tax deduction (up to $10K SALT cap)
436
+ - Minus: closing costs at purchase (~3-5% of price)
437
+
438
+ - Minus: selling costs at exit (~5-6% of sale price)
439
+ - Minus: maintenance and repair costs over holding period (1-2% of value/year)
440
+
441
+ Path B — Rent + Invest the Difference:
442
+
443
+ - Take the difference: (down_payment + closing_costs) + (monthly_own - monthly_rent) each month
444
+ - Invest in a diversified index fund at 7% real return (10% nominal - 3% inflation)
445
+
446
+ - No selling costs, no maintenance, no property tax
447
+ - Minus: rent increases (model at 3-4% annual growth)
448
+
449
+ ```
450
+
451
+ ###### Breakeven timeline (required)
452
+
453
+ Compute the crossover point — the number of years at which Path A's total wealth exceeds Path B's total wealth. Present for multiple appreciation scenarios:
454
+
455
+ ```text
456
+
457
+ Appreciation Rate Breakeven Year Notes
458
+
459
+ 2% (pessimistic) XX years Renting wins for most hold periods
460
+
461
+ 3% (national avg) XX years Breakeven in mid-range
462
+
463
+ 5% (growth market) XX years Buying wins after X years
464
+
465
+ Local historical XX years Based on ZIP-level ZHVI data
466
+
467
+ ```
468
+
469
+ If the breakeven exceeds 10 years or never occurs at realistic appreciation, state this clearly: "At current prices and rates, renting and investing the difference outperforms buying for any hold period under X years."
470
+
471
+ ###### Key output line (always include in the verdict)
472
+
473
+ > "Owning costs $X,XXX/month more than renting an equivalent unit. To justify buying, you need the property to appreciate at X.X% annually — [above/below/in line with] the local historical average of X.X%."
474
+
475
+ ### Step 7: Exit Scenario Modeling
476
+
477
+ Always include exit scenarios in every property report. Buyers need to understand their actual financial outcome when they sell — not just the monthly cash flow while they hold.
478
+
479
+ **Model exit at 3, 5, 7, and 10 years from purchase.** For each exit horizon, compute the complete financial picture:
480
+
481
+ ```text
482
+
483
+ For each year (3, 5, 7, 10):
484
+
485
+ Projected Sale Price = purchase_price × (1 + annual_appreciation)^years
486
+
487
+ → Model at three appreciation rates: pessimistic (2%), base (3-4%), optimistic (5-6%)
488
+
489
+ → Use local ZIP-level ZHVI historical average as the "base" rate
490
+
491
+ Selling Costs = projected_sale_price × 5.5%
492
+
493
+ → Agent commissions (2.5-3% buyer + 2.5-3% seller, post-NAR settlement)
494
+
495
+ → Closing costs (title, transfer tax, doc stamps — varies by state)
496
+
497
+ → Florida doc stamps: $0.70 per $100 of sale price (seller pays)
498
+
499
+ Remaining Loan Balance = compute from amortization schedule at month (years × 12)
500
+
501
+ → Use the standard amortization formula, not an estimate
502
+
503
+ Net Proceeds = projected_sale_price - selling_costs - remaining_loan_balance
504
+
505
+ Total Cash Invested = down_payment + closing_costs_at_purchase + cumulative_negative_cash_flow (if investment)
506
+
507
+ → For primary residence: down_payment + closing_costs + (monthly_own - monthly_rent) × months
508
+
509
+ Total Return = net_proceeds - total_cash_invested
510
+
511
+ Annualized ROI = ((net_proceeds / total_cash_invested)^(1/years) - 1) × 100
512
+
513
+ ```
514
+
515
+ #### Present as a table (required)
516
+
517
+ ```text
518
+
519
+ Exit Scenario: 3% Annual Appreciation
520
+
521
+ Year 3 Year 5 Year 7 Year 10
522
+
523
+ Sale Price $XXX,XXX $XXX,XXX $XXX,XXX $XXX,XXX
524
+
525
+ Selling Costs -$XX,XXX -$XX,XXX -$XX,XXX -$XX,XXX
526
+
527
+ Loan Balance -$XXX,XXX -$XXX,XXX -$XXX,XXX -$XXX,XXX
528
+
529
+ Net Proceeds $XX,XXX $XX,XXX $XX,XXX $XX,XXX
530
+
531
+ Total Invested $XXX,XXX $XXX,XXX $XXX,XXX $XXX,XXX
532
+
533
+ Profit/Loss +/-$XX,XXX +/-$XX,XXX +/-$XX,XXX +/-$XX,XXX
534
+
535
+ Annualized ROI X.X% X.X% X.X% X.X%
536
+
537
+ ```
538
+
539
+ Generate this table for at least two appreciation rates (pessimistic and base case). If the property is negative cash flow, include the cumulative cash flow loss as part of total cash invested.
540
+
541
+ ##### Breakeven hold period (required)
542
+
543
+ For each appreciation scenario, compute the minimum number of years the buyer must hold before net proceeds exceed total cash invested (including selling costs). State clearly:
544
+
545
+ > "At 3% appreciation, you need to hold at least X years to break even after selling costs. At 2% appreciation, you would lose $XX,XXX even after holding 10 years."
546
+
547
+ ###### Early exit risk (flag if applicable)
548
+
549
+ If the breakeven hold period exceeds 5 years, flag this as a risk: the buyer is locked in. Job loss, divorce, relocation, or market downturns within the breakeven window result in a realized loss. This is especially relevant for condos in volatile markets.
550
+
551
+ ### Step 8: Due Diligence Checklist
552
+
553
+ Before making an offer:
554
+
555
+ - [ ] Pre-approval letter from lender
556
+ - [ ] Professional home inspection ($300-500)
557
+
558
+ - [ ] Pest/termite inspection
559
+ - [ ] Title search for liens or encumbrances
560
+
561
+ - [ ] Survey (if boundaries unclear)
562
+ - [ ] Flood zone check (FEMA maps)
563
+
564
+ - [ ] Environmental concerns (radon, lead paint for pre-1978 homes)
565
+ - [ ] HOA review (financials, rules, pending assessments)
566
+
567
+ - [ ] Property tax history and assessment
568
+
569
+ ### Step 9: Multi-Property Comparison (when analyzing 2+ properties)
570
+
571
+ When the user asks to evaluate multiple properties — or when presenting alternatives to a property that doesn't pencil — generate a side-by-side comparison. This is the most efficient way for a buyer to compare options.
572
+
573
+ #### Comparison table (required when 2+ properties are analyzed)
574
+
575
+ ```text
576
+
577
+ Property A Property B Property C
578
+
579
+ Address 41 SE 5th St \#1116 XXX Example Ave XXX Other Blvd
580
+
581
+ Asking Price $629,000 $XXX,XXX $XXX,XXX
582
+
583
+ $/sqft $488 $XXX $XXX
584
+
585
+ Beds / Baths 2/2 X/X X/X
586
+
587
+ Sqft 1,289 X,XXX X,XXX
588
+
589
+ Year Built 2006 XXXX XXXX
590
+
591
+ HOA $1,277 $XXX $XXX
592
+
593
+ Monthly Payment (PITI+HOA) $5,799 $X,XXX $X,XXX
594
+
595
+ Est. Monthly Rent $4,200 $X,XXX $X,XXX
596
+
597
+ Cap Rate 0.52% X.XX% X.XX%
598
+
599
+ Cash-on-Cash -23.8% X.X% X.X%
600
+
601
+ DSCR 0.09x X.XXx X.XXx
602
+
603
+ Breakeven Rent $8,XXX $X,XXX $X,XXX
604
+
605
+ Own vs. Rent Delta +$1,599/mo +/-$XXX +/-$XXX
606
+
607
+ Exit Breakeven (yrs) XX years @ 3% XX years XX years
608
+
609
+ Walk Score 98 XX XX
610
+
611
+ Flood Zone AE (mandatory) X X
612
+
613
+ Recommendation Pass (investment) XXX XXX
614
+
615
+ ```
616
+
617
+ ##### Ranking & narrative (required)
618
+
619
+ After the table, rank the properties and explain why:
620
+
621
+ 1. **Best for investment:** Property X — highest cap rate, positive cash flow at market rent
622
+ 2. **Best for primary residence:** Property Y — lowest total monthly cost, best location scores
623
+
624
+ 3. **Best risk-adjusted:** Property Z — best balance of cost, appreciation potential, and downside protection
625
+
626
+ ###### When to proactively suggest comparisons
627
+
628
+ If a single property analysis reveals a clear "Pass" verdict, suggest the user provide 1-2 alternative properties for comparison. This transforms a rejection into actionable next steps:
629
+
630
+ > "This property doesn't pencil as an investment. Want to share 1-2 other listings you're considering? I can run the same analysis and show them side-by-side so you can compare."
631
+
632
+ ## Output Format
633
+
634
+ Always present key findings and recommendations as a plaintext summary in chat, even when also generating files. The user should be able to understand the results without opening any files.
635
+
636
+ ### Every report — whether chat summary, PDF, or web app — must include all sections below
637
+
638
+ #### Every report must clearly state the asking price (or note it as off-market) and label all price references with their source throughout
639
+
640
+ ```text
641
+
642
+ # Property Analysis: [Address]
643
+
644
+ ## Summary
645
+
646
+ - Listing Status: [Active / Pending / Off-Market]
647
+ - Asking Price: $XXX,XXX (or "Off-Market — Estimated Value: $XXX,XXX")
648
+
649
+ - Estimated Fair Value: $XXX,XXX — [Over/Under/Fair priced by X%]
650
+ - Recommendation: [Strong Buy / Buy / Hold / Pass]
651
+
652
+ ## Property Details
653
+
654
+ [Key facts table — always include asking price prominently]
655
+
656
+ [Full price history: original list, reductions, delist/relist, previous sale]
657
+
658
+ ## Valuation
659
+
660
+ [Comps analysis, asking price vs. comp-derived value, price per sqft comparison]
661
+
662
+ ## HOA Analysis (condos/townhouses)
663
+
664
+ [Fee breakdown, what's covered, fee history, reserve status, special assessments, rental restrictions]
665
+
666
+ ## Neighborhood
667
+
668
+ [Schools, safety, livability scores]
669
+
670
+ ## Financial Analysis
671
+
672
+ [Monthly payment breakdown based on ASKING PRICE, investment returns if applicable]
673
+
674
+ ## Own vs. Rent Comparison
675
+
676
+ [Monthly cost side-by-side, equity build vs. opportunity cost, breakeven timeline]
677
+
678
+ ## Sensitivity Analysis & Breakeven Returns
679
+
680
+ [Three-scenario comparison table]
681
+
682
+ [Breakeven thresholds: rent, purchase price, mortgage rate, appreciation]
683
+
684
+ [Sensitivity matrix: rent vs. purchase price cash flow grid — anchored to asking price]
685
+
686
+ [Key takeaway summarizing what the numbers reveal]
687
+
688
+ ## Exit Scenarios
689
+
690
+ [Net proceeds at 3, 5, 7, 10 year horizons at multiple appreciation rates]
691
+
692
+ [Breakeven hold period, early exit risk assessment]
693
+
694
+ ## Risks & Concerns
695
+
696
+ [Red flags, upcoming expenses, market risks]
697
+
698
+ ## Due Diligence Checklist
699
+
700
+ [Pre-offer verification items]
701
+
702
+ ## Multi-Property Comparison (when 2+ properties analyzed)
703
+
704
+ [Side-by-side table, ranking, and narrative]
705
+
706
+ ## Verdict
707
+
708
+ [2-3 sentence recommendation informed by all analysis sections]
709
+
710
+ [Include own-vs-rent key line and exit scenario context]
711
+
712
+ ```
713
+
714
+ ## Best Practices
715
+
716
+ 1. **Verify the asking price first** — never skip Step 0. If scraping fails, ask the user. Never run an entire analysis on an algorithm estimate when the user gave you a listing URL that implies an active listing with a real asking price.
717
+ 2. **Pull the full price history** — original list price, every reduction, delist/relist events, and previous sale. Price trajectory tells you more about seller motivation than the current asking price alone.
718
+
719
+ 3. **Asking price is marketing** — only sold comps within 6 months matter for determining fair value, but all financial calculations must use the asking price (or negotiated price) as the basis.
720
+ 4. **Clearly separate asking price from estimates** — every price reference in the report should be labeled. "Asking: $629K" and "Redfin Estimate: $661K" are different numbers with different meanings. Never conflate them.
721
+
722
+ 5. **HOA is a deal-breaker you can't ignore** — for condos, the HOA deep dive is mandatory. Fee history, reserve fund status, special assessments, and rental restrictions can each independently kill a deal. A $1,277/mo HOA that's been rising 8% annually will be $1,875/mo in 5 years.
723
+ 6. **Model three scenarios** — base case, stressed (10% vacancy + higher repairs), and worst case (below-market rent + 12% vacancy + inflated costs). The worst case should represent "tenant trashes it year 1" severity.
724
+
725
+ 7. **Always compute breakevens** — never present investment analysis without showing exactly what rent, price, or rate would make the deal work. Breakevens turn a "pass" into actionable intelligence.
726
+ 8. **Anchor the sensitivity matrix to the asking price** — the asking price must always be one of the columns. Discount scenarios show what happens if the buyer negotiates down.
727
+
728
+ 9. **Always compare owning to renting** — the own-vs-rent comparison with opportunity cost modeling is essential for primary residence decisions. "Can I afford it?" is the wrong question. "Am I better off buying or renting and investing the difference?" is the right one.
729
+ 10. **Model the exit before the entry** — never recommend buying without showing what happens when the buyer sells at 3, 5, 7, and 10 years. Selling costs (5-6%) wipe out years of appreciation for short holds. If the breakeven hold exceeds 5 years, flag the lock-in risk prominently.
730
+
731
+ 11. **Offer comparisons, not just verdicts** — when a property is a "Pass," proactively suggest the user share alternative listings for side-by-side comparison. A rejection without alternatives is not helpful.
732
+ 12. **Permit history is free alpha** — county assessor site shows pulled permits. No permits on an "updated kitchen" = unpermitted work = your liability.
733
+
734
+ 13. **Price/sqft is a blunt tool** — lot size, corner lots, and basement finish skew it hard. Use for screening, not for offers.
735
+ 14. **Cap rate without appreciation** — in a flat market, if cap rate < your mortgage rate, you're paying to own it.
736
+
737
+ 15. **Sensitivity matrix is non-negotiable** — always include the rent vs. price grid so the user can visually identify the conditions under which the deal works.
738
+ 16. **When in doubt, ask the user** — if you cannot confirm a critical data point (asking price, listing status, HOA fees), ask rather than guess. A wrong assumption cascades through the entire analysis.
739
+
740
+ ## Interactive Map — Web App Visualization
741
+
742
+ After analyzing properties, **build a web app** that displays properties and relevant neighborhood data on an interactive map.
743
+
744
+ ### Property Markers
745
+
746
+ - **Color-coded by recommendation**: green = Strong Buy, blue = Buy, yellow = Hold, red = Pass
747
+ - **Popup on each marker** showing: address, asking price, estimated fair value, beds/baths, sqft, price/sqft, and recommendation
748
+
749
+ - **Click to expand** with key details: comp-adjusted value, cap rate (if investment), flood zone, school rating
750
+
751
+ ### Neighborhood Context Layers
752
+
753
+ Display relevant context around the properties:
754
+
755
+ - **Sold comps** — recent comparable sales as smaller markers, with sale price and date
756
+ - **School locations** with GreatSchools ratings (color-coded: green ≥7, yellow 4-6, red <4)
757
+
758
+ - **Flood zones** if any properties are in or near FEMA Zone A/AE/V
759
+ - **Nearby amenities** — transit, grocery, parks when walkability matters to the user
760
+
761
+ ### Geocoding
762
+
763
+ Use the free Nominatim API (OpenStreetMap) to convert addresses to lat/lng — no API key required:
764
+
765
+ ```text
766
+
767
+ https://nominatim.openstreetmap.org/search?q={url_encoded_address}&format=json&limit=1
768
+
769
+ ```
770
+
771
+ Rate limit: max 1 request/second. Batch geocode all addresses before building the map.
772
+
773
+ Always generate the map alongside the text-based analysis — the map is a visual complement, not a replacement for the detailed evaluation.
774
+
775
+ ## Limitations & Disclaimer
776
+
777
+ - **This is NOT real estate, legal, or financial advice.** Informational analysis only. Always engage a licensed realtor, real estate attorney, and professional inspector before purchasing.
778
+ - Cannot access MLS — Redfin/Zillow public data lags and misses pocket listings
779
+
780
+ - Real estate listing sites frequently block automated scraping — listing details may need to be confirmed with the user
781
+ - Cannot provide appraisals (licensed appraiser required for lending)
782
+
783
+ - Cannot physically inspect — photos hide foundation cracks, mold, and grading issues
784
+ - Market snapshot only — rates and comps move weekly
785
+
786
+ - Algorithm estimates (Zestimate, Redfin Estimate) are not appraisals and can differ significantly from actual market value or asking price