@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,1087 @@
1
+ ---
2
+ name: ai-recruiter
3
+ description: Source and evaluate candidates with job analysis, CV screening, and pipeline tracking.
4
+ ---
5
+
6
+ # AI Recruiter
7
+
8
+ Help source and evaluate candidates for open roles. Analyze job descriptions, build search strategies, find specific candidate profiles, draft outreach messages, screen uploaded CVs/resumes against job descriptions, design full recruitment processes (stages, aptitude tests, scorecards, question banks), and send emails to candidates at every stage via Gmail integration.
9
+
10
+ ## When to Use
11
+
12
+ ### Hiring & sourcing strategy
13
+
14
+ - User needs to hire for a role and wants sourcing strategy
15
+ - User wants to find specific candidate profiles for a role
16
+
17
+ - User asks about the talent landscape or market for a role
18
+ - User wants to know who to source from or which competitors to target
19
+
20
+ - User asks where to find candidates beyond LinkedIn (GitHub, conferences, HN, etc.)
21
+ - User wants to search for engineers/designers/PMs on GitHub, Stack Overflow, or other platforms
22
+
23
+ #### Job descriptions & postings
24
+
25
+ - User wants to improve, review, or optimize a job description
26
+ - User asks if their job posting is biased or wants it checked for inclusive language
27
+
28
+ - User wants to understand why they're not getting enough applicants
29
+
30
+ ##### CV/resume screening & candidate evaluation
31
+
32
+ - User uploads CVs/resumes and wants them screened against a job description
33
+ - User wants candidate evaluation criteria
34
+
35
+ - User wants to compare two or more candidates side-by-side
36
+ - User asks who to advance, hold, or reject from a candidate pool
37
+
38
+ - User wants candidates ranked from strongest to weakest
39
+
40
+ ###### Interview process & assessment design
41
+
42
+ - User needs interview questions for a specific role
43
+ - User wants to design a full recruitment process (stages, questions, tests, scorecards, timelines)
44
+
45
+ - User wants to create a scorecard or evaluation rubric for interviews
46
+ - User wants to design a take-home assignment, coding challenge, or skills test
47
+
48
+ - User asks what to look for in a portfolio review or case study presentation
49
+ - User asks about ideal interview-to-offer timelines or how to reduce candidate drop-off
50
+
51
+ ###### Outreach & candidate communication
52
+
53
+ - User wants to send emails (confirmation, rejection, next steps) to candidates
54
+ - User wants to write cold outreach messages to passive candidates
55
+
56
+ - User asks how to get better response rates on outreach
57
+ - User wants to draft a follow-up for a candidate who hasn't replied
58
+
59
+ - User wants to send offer letters, rejection emails, or hold/waitlist notifications
60
+
61
+ ###### Compensation & market intelligence
62
+
63
+ - User asks what companies are paying for a specific role
64
+ - User wants comp benchmarks for salary negotiation or offer planning
65
+
66
+ ###### Pipeline tracking & scheduling
67
+
68
+ - User wants to track candidates in a shared pipeline (Google Sheets)
69
+ - User wants to add candidates to a tracking spreadsheet or update their status
70
+
71
+ - User wants to schedule interviews (Google Calendar)
72
+ - User wants to put an interview on their calendar or check interviewer availability
73
+
74
+ ###### Follow-ups & reminders
75
+
76
+ - User needs follow-up reminders for candidate actions
77
+ - User wants to set a reminder to collect interview feedback from the team
78
+
79
+ - User wants to be reminded to follow up with a candidate after a set period
80
+
81
+ ###### Hiring metrics & process improvement
82
+
83
+ - User asks how long it should take to fill a role
84
+ - User wants to know what metrics to track for their hiring process
85
+
86
+ - User asks about hiring funnel conversion rates or benchmarks
87
+
88
+ ## When NOT to Use
89
+
90
+ - Sales prospecting (use find-customers skill)
91
+ - General market research (use deep-research skill)
92
+
93
+ - Writing job-related content (use content-machine skill)
94
+
95
+ ## Proactive Email Communication — Always Offer This
96
+
97
+ At every key decision point in the recruiting workflow, proactively inform the user that you can draft and send emails on their behalf via Gmail. Do not wait for them to ask — surface this capability yourself.
98
+
99
+ ### When to offer email drafting and sending
100
+
101
+ - After completing CV screening — offer to send advancement, rejection, or hold emails to each candidate
102
+ - After sourcing candidates — offer to draft and send cold outreach emails
103
+
104
+ - When the user discusses interview scheduling — offer to send interview invitation emails with logistics
105
+ - When the user makes a hiring decision — offer to send congratulations/offer emails or final rejection emails
106
+
107
+ - At any stage transition — offer to send process update emails to keep candidates informed
108
+
109
+ #### How to offer it
110
+
111
+ When presenting results (e.g., after screening CVs), always include a line like:
112
+
113
+ > "I can also draft and send personalized emails to each candidate — advancement confirmations, rejections, or interview invitations — directly from your Gmail. Want me to prepare those?"
114
+
115
+ ##### Types of emails you can send
116
+
117
+ | Email Type | When to Offer |
118
+
119
+ |------------|--------------|
120
+
121
+ | **Cold outreach** | After sourcing candidates (Step 6) |
122
+
123
+ | **Application received** | When a user mentions receiving applications |
124
+
125
+ | **Advancement / next steps** | After CV screening recommends advancing a candidate |
126
+
127
+ | **Interview invitation** | When scheduling interviews — include date, time, format, interviewer names |
128
+
129
+ | **Interview follow-up** | After interviews — thank the candidate, outline next steps and timeline |
130
+
131
+ | **Rejection** | After CV screening or interview rounds — respectful, brief, no detailed feedback |
132
+
133
+ | **Hold / waitlist** | When a candidate is strong but timing isn't right |
134
+
135
+ | **Offer / congratulations** | When a hiring decision is made |
136
+
137
+ | **Process update** | When there are delays or timeline changes — keep candidates in the loop |
138
+
139
+ | **Reference request** | When moving to reference checks — polite request to the candidate or referee |
140
+
141
+ **Gmail setup:** If the user agrees to send emails and Gmail is not yet connected, immediately guide them through the Gmail integration setup (see Step 8 for details). Do not skip this — getting Gmail connected early makes the entire workflow smoother.
142
+
143
+ ###### Also proactively offer these integration-powered capabilities
144
+
145
+ - **"Want me to set up a shared tracking sheet for this role?"** — Google Sheets pipeline tracker (see Step 11). Offer at the start of any hiring process or after CV screening.
146
+ - **"I can schedule interviews directly on your calendar."** — Google Calendar integration (see Step 12). Offer when advancing candidates to interview stages.
147
+
148
+ - **"Should I set a follow-up reminder for this?"** — Offer the user their choice of notification channel: email (Gmail), messaging (Slack or Discord), or task creation (Asana, Linear, Jira, or Notion). See Step 13. Ask the user once which channel they prefer, then use it consistently.
149
+
150
+ ## Workflow — Follow This Order
151
+
152
+ ### Step 0: Research First, Then Ask Questions
153
+
154
+ Before producing any output, always do two things in this order:
155
+
156
+ #### 0a. Search for the role and company
157
+
158
+ If the user names a company or role, use `webSearch` to find:
159
+
160
+ - The actual job posting (check Ashby, Lever, Greenhouse, the company careers page)
161
+ - Latest company details: funding, valuation, headcount, ARR, recent news
162
+
163
+ - Competitor landscape for the role
164
+
165
+ This gives you the context to ask smart questions instead of generic ones.
166
+
167
+ ##### 0b. Ask the user clarifying questions
168
+
169
+ Do not assume details. Ask about:
170
+
171
+ - Which specific role (if the company has multiple open positions, list them as choices)
172
+ - Seniority level
173
+
174
+ - Location / remote policy
175
+ - What candidate background matters most (domain-specific vs. open to adjacent backgrounds)
176
+
177
+ - Whether competitors are fair game for sourcing
178
+ - Any specific gaps on the team they're trying to fill (e.g., growth, technical, enterprise, design)
179
+
180
+ - Any other preferences (e.g., founder background, specific skills)
181
+
182
+ Only proceed to output after you have answers.
183
+
184
+ ### Step 1: Calibrate the Role
185
+
186
+ Split requirements into three buckets — be ruthless, most JDs list nice-to-haves as must-haves and shrink the pool 80%:
187
+
188
+ - **Must-have** (3-4 max): Deal-breakers. Can't do the job without these on day one.
189
+ - **Learnable in 90 days**: Most "required" skills belong here.
190
+
191
+ - **Pedigree signals**: School, FAANG experience, etc. — these filter for bias, not ability. Drop them unless there's a specific reason.
192
+
193
+ **Comp research:** `webSearch: "levels.fyi [role] [company tier]"`or`"[role] salary [city] site:glassdoor.com"`. For startups,`webSearch: "Pave [role] equity benchmarks"`. Keep comp in the internal strategy doc for reference but do NOT include it in outreach templates by default.
194
+
195
+ ### Step 2: Build Boolean Search Strings
196
+
197
+ Boolean-savvy recruiters fill roles ~23% faster (LinkedIn 2023 data). LinkedIn Recruiter caps each field at ~300 chars — split across Title and Keywords rather than cramming one field.
198
+
199
+ #### Core pattern — put role in Title, skills in Keywords
200
+
201
+ ```text
202
+
203
+ Title: ("staff engineer" OR "senior engineer" OR "tech lead" OR "principal")
204
+
205
+ Keywords: (Rust OR Go OR "distributed systems") AND (Kubernetes OR k8s) NOT (manager OR director OR intern)
206
+
207
+ ```
208
+
209
+ **Synonym rings — the \#1 missed tactic.** Titles fragment massively across companies:
210
+
211
+ ```text
212
+
213
+ ("product manager" OR "product owner" OR "PM" OR "program manager" OR "product lead")
214
+
215
+ ("data scientist" OR "ML engineer" OR "machine learning engineer" OR "applied scientist" OR "research scientist")
216
+
217
+ ("SRE" OR "site reliability" OR "devops engineer" OR "platform engineer" OR "infrastructure engineer")
218
+
219
+ ```
220
+
221
+ **Impact-verb trick** — surface doers, not title-holders:
222
+
223
+ ```text
224
+
225
+ ("built" OR "shipped" OR "launched" OR "scaled" OR "led migration" OR "0 to 1")
226
+
227
+ ```
228
+
229
+ ##### X-ray search (Google, bypasses LinkedIn limits)
230
+
231
+ ```text
232
+
233
+ site:linkedin.com/in ("staff engineer" OR "principal engineer") "rust" "san francisco" -recruiter -hiring
234
+
235
+ ```
236
+
237
+ ### Step 3: Provide Direct LinkedIn Search Links
238
+
239
+ Always generate at least 5 clickable LinkedIn search URLs that the user can open directly in their browser. These should be pre-built with URL-encoded keywords, location filters, and relevant company/skill terms.
240
+
241
+ #### URL format
242
+
243
+ ```text
244
+
245
+ https://www.linkedin.com/search/results/people/?keywords=URL_ENCODED_KEYWORDS&geoUrn=%5B%22GEO_ID%22%5D&origin=FACETED_SEARCH
246
+
247
+ ```
248
+
249
+ ##### Common geo IDs
250
+
251
+ - SF Bay Area: `102095887`
252
+ - New York: `103644278`
253
+
254
+ - US: `103644278`
255
+ - London: `90009496`
256
+
257
+ Create separate links for different search angles:
258
+
259
+ 1. Candidates at direct competitors
260
+ 2. Candidates with the specific skill/background the user prioritized
261
+
262
+ 3. Candidates at adjacent companies in the space
263
+ 4. Candidates at tier 2/3 companies (bigger pool)
264
+
265
+ 5. Broader keyword search for passive candidates
266
+
267
+ ### Step 4: Find Specific Candidate Profiles
268
+
269
+ Always use `webSearch`with`site:linkedin.com/in` queries to find specific named candidates. Search multiple angles:
270
+
271
+ - PMs/engineers at competitor companies
272
+ - People with the specific background the user asked for (e.g., founder experience, UI expertise)
273
+
274
+ - People at adjacent companies in the same space
275
+
276
+ Present candidates in a table with:
277
+
278
+ - Name
279
+ - Current role
280
+
281
+ - Why they fit (1 sentence)
282
+ - Hyperlinked LinkedIn profile URL
283
+
284
+ Aim for 10-15 specific profiles, organized into tiers (e.g., direct competitors, adjacent companies, broader pool).
285
+
286
+ ### Step 5: Source Beyond LinkedIn
287
+
288
+ LinkedIn InMail response rates have dropped from 30%+ to 10-13% over 5 years as the platform saturated. Diversify:
289
+
290
+ | Channel | Best for | Tactic |
291
+
292
+ |---------|----------|--------|
293
+
294
+ | **GitHub** | Engineers | `webFetch` their profile — check contribution graph (consistent > spiky), pinned repos, languages bar, PR review quality on public projects. |
295
+
296
+ | **GitHub Search** | Niche skills | `site:github.com "location: [city]" language:Rust` or search commits/issues in relevant OSS projects |
297
+
298
+ | **Stack Overflow** | Deep specialists | Top answerers on niche tags — check profile for contact info |
299
+
300
+ | **Conference talks** | Senior/staff+ | `webSearch: "[conference name] speakers 2025"` — speakers are pre-vetted for communication skills |
301
+
302
+ | **Papers/Google Scholar** | ML/research | Co-authors on relevant papers, often with .edu emails |
303
+
304
+ | **HN "Who wants to be hired"** | Startup-minded | Monthly thread, candidates self-describe, `site:news.ycombinator.com "who wants to be hired"` |
305
+
306
+ | **Product Hunt** | Builder-types | Makers of top products in the relevant category |
307
+
308
+ | **Twitter/X** | Thought leaders | Search for people posting about the relevant domain |
309
+
310
+ | **YC Alumni** | Founder-PMs | Founders whose startups ended and moved into PM/leadership roles |
311
+
312
+ | **Paid aggregators** | Volume | SeekOut, HireEZ (45+ platforms), Gem, Juicebox/PeopleGPT |
313
+
314
+ ### Step 6: Outreach That Gets Replies
315
+
316
+ **2025 benchmarks:** Cold InMail averages 10-13% response. Personalized outreach with a specific hook hits 20%+. 86% of candidates ignore generic messages entirely (TalentBoard 2024).
317
+
318
+ #### Structure — 4 sentences max
319
+
320
+ 1. **Hook** (why *them*, specifically): "Saw your PR on the Tokio scheduler — the approach to work-stealing was clean."
321
+ 2. **Why this role matters** (to them, not to you): "We're 12 engineers, pre-Series-B, and the entire storage layer is unowned."
322
+
323
+ 3. **One concrete detail**: Remote policy, a tech problem they'd find interesting, team size, or growth metrics. Avoid listing comp — save that for when they respond.
324
+ 4. **Low-friction CTA**: "Worth 15 min to hear more?" — not "Let me know if you're open to opportunities."
325
+
326
+ **Do NOT include compensation in outreach templates.** Comp details belong in the internal strategy section. If a candidate responds, share comp on the first call. Leading with comp in cold outreach can anchor low or signal desperation.
327
+
328
+ **Subject lines:** Use their project name or the specific tech, not "Opportunity at [Company]." Lowercase, short, looks like a peer wrote it.
329
+
330
+ **Follow-up:** One bump at day 5 with a *new* piece of info (funding news, a blog post, the hiring manager's name). Never "just following up."
331
+
332
+ **Generate 3 outreach templates** tailored to different candidate segments (e.g., competitors, adjacent companies, career-changers). Customize the angle for each.
333
+
334
+ ### Step 7: CV/Resume Screening
335
+
336
+ When the user uploads CVs/resumes and provides a job description, evaluate each candidate systematically.
337
+
338
+ #### For each CV, assess
339
+
340
+ 1. **Must-have match** — Does the candidate meet the must-have requirements from Step 1? Score each as Met / Partial / Not Met.
341
+ 2. **Experience relevance** — How closely does their work history align with the role? Look for domain experience, comparable company stage, and scope of responsibility.
342
+
343
+ 3. **Skills match** — Technical and soft skills alignment with the JD. Distinguish between demonstrated skills (backed by examples) and claimed skills (just listed).
344
+ 4. **Career trajectory** — Are they on an upward path? Look for progression in title, scope, or impact. Lateral moves into the role's domain are a positive signal.
345
+
346
+ 5. **Red flags** — Unexplained gaps, frequent short stints (< 1 year at multiple companies), title inflation without substance, or misalignment between stated role and described responsibilities.
347
+ 6. **Standout factors** — Anything that makes them notably strong: open-source contributions, published work, relevant side projects, public speaking, or domain-specific achievements.
348
+
349
+ ##### Output per candidate
350
+
351
+ | Field | Details |
352
+
353
+ |-------|---------|
354
+
355
+ | **Name** | Full name from CV |
356
+
357
+ | **Current/Last Role** | Title @ Company |
358
+
359
+ | **Overall Fit** | Strong Fit / Partial Fit / Weak Fit |
360
+
361
+ | **Must-Have Score** | X/Y met |
362
+
363
+ | **Key Strengths** | 2-3 bullet points |
364
+
365
+ | **Key Gaps** | 1-2 bullet points |
366
+
367
+ | **Recommendation** | Advance to interview / Hold / Reject |
368
+
369
+ | **Notes** | Any context (e.g., "strong technical but no leadership experience yet") |
370
+
371
+ ###### After screening all candidates
372
+
373
+ - Rank candidates from strongest to weakest fit
374
+ - Provide a summary comparison table
375
+
376
+ - Recommend which candidates to advance, hold, or reject
377
+ - If the user wants, draft personalized emails for each decision (see Step 8)
378
+
379
+ ### Step 8: Send Candidate Emails via Gmail
380
+
381
+ When the user wants to communicate decisions to candidates (confirmations, rejections, next steps, interview invitations), use the Gmail integration to send emails directly.
382
+
383
+ #### Prerequisites
384
+
385
+ - The Gmail integration must be connected. Use `searchIntegrations("gmail")` to check availability.
386
+ - If not connected, guide the user through setup: use `proposeIntegration`with the Gmail connector ID to trigger OAuth. After the user authorizes, use`addIntegration`to wire it to the project, then`proposeIntegration` again to establish the token.
387
+
388
+ - Use `listConnections('google-mail')` to get credentials once connected.
389
+
390
+ ##### Email workflow
391
+
392
+ 1. **Draft first, send second.** Always show the user the email content before sending. Use `confirm_connector_operation` to get explicit approval before each send.
393
+ 2. **Personalize every email.** Reference the candidate's name, the specific role, and at least one detail from their CV (e.g., "your experience leading the migration at Acme Corp").
394
+
395
+ 3. **Match tone to decision:**
396
+
397
+ - **Advancing:** Warm, specific about why they stood out, clear next steps with timeline
398
+ - **Rejection:** Respectful, brief, encouraging. Thank them for their time. Do NOT give detailed feedback on why they were rejected (legal risk). Keep it to 3-4 sentences.
399
+
400
+ - **Hold/Waitlist:** Honest about timeline, express genuine interest, set expectations for when they'll hear back
401
+
402
+ ###### Email templates by type
403
+
404
+ ###### Advancing to interview
405
+
406
+ - Subject: `Next steps — [Role Title] at [Company]`
407
+ - Body: Thank them, mention 1 specific thing from their background, explain the next step (phone screen / technical / panel), propose 2-3 time slots or link to scheduling tool, sign off warmly
408
+
409
+ ###### Rejection
410
+
411
+ - Subject: `Update on your application — [Company]`
412
+ - Body: Thank them for applying, note the role was competitive, wish them well, 3-4 sentences max. No detailed feedback unless the user explicitly requests it.
413
+
414
+ ###### Hold/Waitlist
415
+
416
+ - Subject: `Update on [Role Title] — [Company]`
417
+ - Body: Thank them, explain the timeline honestly, express continued interest, set expectation for next contact
418
+
419
+ ###### Sending via Gmail integration
420
+
421
+ ```javascript
422
+
423
+ const conns = await listConnections('google-mail');
424
+
425
+ if (conns.length === 0) {
426
+
427
+ // No Gmail connection — guide user through setup
428
+
429
+ const results = await searchIntegrations("gmail");
430
+
431
+ // Use proposeIntegration with the connector ID
432
+
433
+ }
434
+
435
+ const settings = conns[0].settings;
436
+
437
+ // Use the Gmail API to send emails
438
+
439
+ // Always use confirm_connector_operation before sending
440
+
441
+ ```
442
+
443
+ ###### Rules
444
+
445
+ - Never send emails without explicit user approval via `confirm_connector_operation`
446
+ - Always show the draft to the user first and let them edit if needed
447
+
448
+ - Send one email at a time, confirming each with the user (unless they explicitly approve batch sending)
449
+ - Include the user's name/signature in the from field, not the AI's
450
+
451
+ - Log all sent emails (recipient, subject, timestamp, decision type) for the user's records
452
+
453
+ ### Step 9: Suggested Interview Questions
454
+
455
+ Include a short section of suggested interview questions at the bottom of the output. Use behavioral questions (STAR format) over hypothetical ones. Organize by the key criteria identified in Step 1.
456
+
457
+ Keep it lightweight — 2 questions per criterion, 3-4 criteria max. No scoring rubrics or evaluation matrices unless the user specifically asks for one.
458
+
459
+ ### Step 10: Design a Full Recruitment Process
460
+
461
+ When the user asks to design a recruitment process, build a complete end-to-end hiring pipeline tailored to the specific role, company size, and seniority level. Use `webSearch` to research current best practices for the role type (e.g., "best interview process for senior backend engineer 2025").
462
+
463
+ #### Always ask the user first
464
+
465
+ - How many stages do they want? (Lean startups may want 3; enterprises may need 5-6)
466
+ - Any existing process they want to improve or replace?
467
+
468
+ - Time constraint — how fast do they need to hire?
469
+ - Who is available to participate as interviewers?
470
+
471
+ - Any specific skills or traits they want to test heavily?
472
+
473
+ ##### Process design output — include all of the following
474
+
475
+ #### 1. Process Overview & Timeline
476
+
477
+ A visual stage-by-stage pipeline with estimated duration for each stage and total time-to-hire target.
478
+
479
+ | Stage | Duration | Owner | Pass Rate |
480
+
481
+ |-------|----------|-------|-----------|
482
+
483
+ | Application / CV Screen | 1-2 days | Recruiter / AI | ~20-30% advance |
484
+
485
+ | Phone Screen | 30 min | Recruiter / Hiring Manager | ~50% advance |
486
+
487
+ | Aptitude / Skills Test | 2-3 days (take-home) or 1 hour (live) | Candidate | ~40-60% advance |
488
+
489
+ | Technical / Domain Interview | 60 min | Team members | ~50% advance |
490
+
491
+ | Culture / Values Interview | 45 min | Cross-functional | ~70% advance |
492
+
493
+ | Final / Hiring Manager Interview | 45 min | Hiring Manager | ~80% advance |
494
+
495
+ | Reference Checks | 2-3 days | Recruiter | ~90% advance |
496
+
497
+ | Offer | 1-2 days | Hiring Manager + HR | — |
498
+
499
+ Adjust the number and type of stages based on the role. Junior roles may skip the take-home; senior/leadership roles may add a presentation or case study stage.
500
+
501
+ #### 2. Aptitude & Skills Tests
502
+
503
+ Design role-specific assessments. These should be practical, time-boxed, and relevant to actual job tasks — never trivia or gotcha questions.
504
+
505
+ ##### By role type
506
+
507
+ | Role Type | Test Format | Duration | What It Measures |
508
+
509
+ |-----------|------------|----------|-----------------|
510
+
511
+ | **Engineering** | Take-home coding challenge OR live pair programming | 2-3 hrs (take-home) or 60 min (live) | Code quality, problem-solving, system design thinking |
512
+
513
+ | **Product Management** | Product case study (written or presented) | 2 hrs (take-home) or 45 min (live) | Prioritization, user empathy, analytical thinking, communication |
514
+
515
+ | **Design** | Design challenge with constraints | 3-4 hrs (take-home) or 60 min (live whiteboard) | Visual thinking, UX reasoning, craft quality |
516
+
517
+ | **Data Science / ML** | Data analysis challenge with real dataset | 2-3 hrs | Statistical reasoning, tool proficiency, communication of findings |
518
+
519
+ | **Sales / BD** | Mock sales pitch or objection-handling roleplay | 30-45 min (live) | Persuasion, product knowledge, listening skills |
520
+
521
+ | **Marketing** | Campaign brief or content strategy exercise | 2 hrs (take-home) | Strategic thinking, creativity, channel knowledge |
522
+
523
+ | **Operations** | Process improvement case study | 1-2 hrs | Systems thinking, prioritization, attention to detail |
524
+
525
+ | **Leadership / Management** | Leadership scenario or team-building exercise | 45 min (live) | Decision-making, conflict resolution, delegation |
526
+
527
+ ###### Test design principles
528
+
529
+ - Mirror real work the candidate would do in the role — not abstract puzzles
530
+ - Time-box strictly — respect the candidate's time. Max 3 hours for take-homes
531
+
532
+ - Provide clear evaluation criteria to assessors before they review submissions
533
+ - Offer alternative formats when possible (e.g., "bring your own project" as an option alongside a take-home)
534
+
535
+ - For take-homes, always give at least 5 days to complete (candidates have jobs)
536
+
537
+ **Include a sample test for the specific role** with:
538
+
539
+ - The prompt / instructions candidates receive
540
+ - Evaluation rubric (what good, average, and poor looks like)
541
+
542
+ - Time limit
543
+ - Submission format
544
+
545
+ #### 3. Interview Question Bank
546
+
547
+ For each interview stage, provide a structured question set. Organize by competency area.
548
+
549
+ ##### Format per stage
550
+
551
+ ###### [Stage Name] — [Interviewer Role]
552
+
553
+ | Competency | Question | What to Listen For | Red Flag |
554
+
555
+ |------------|----------|-------------------|----------|
556
+
557
+ | [e.g., Problem Solving] | "Tell me about a time you had to solve a problem with incomplete information." | Structured approach, comfort with ambiguity, outcome focus | Waited for perfect info, blamed others, no clear outcome |
558
+
559
+ | [e.g., Collaboration] | "Describe a project where you had to work with a difficult stakeholder." | Empathy, communication strategy, resolution | Avoided the person, escalated immediately, us-vs-them framing |
560
+
561
+ Provide 3-4 questions per stage, covering different competencies. Include the "What to Listen For" and "Red Flag" columns so interviewers know what good and bad answers look like without needing training.
562
+
563
+ #### 4. Evaluation Scorecards
564
+
565
+ For each interview stage, provide a simple scorecard interviewers fill out immediately after the interview.
566
+
567
+ ##### Scorecard format
568
+
569
+ ```text
570
+
571
+ Candidate: _______________
572
+
573
+ Interviewer: _______________
574
+
575
+ Stage: _______________
576
+
577
+ Date: _______________
578
+
579
+ | Criteria | 1 (Below) | 2 (Meets) | 3 (Exceeds) | Score | Notes |
580
+
581
+ |----------|-----------|-----------|-------------|-------|-------|
582
+
583
+ | [Criterion 1] | [what "below" looks like] | [what "meets" looks like] | [what "exceeds" looks like] | ___ | ___ |
584
+
585
+ | [Criterion 2] | ... | ... | ... | ___ | ___ |
586
+
587
+ | [Criterion 3] | ... | ... | ... | ___ | ___ |
588
+
589
+ Overall recommendation: [ ] Strong Advance [ ] Advance [ ] Hold [ ] Reject
590
+
591
+ Key observations (2-3 sentences):
592
+
593
+ ```
594
+
595
+ Keep it to 3-5 criteria per scorecard. Interviewers should complete it within 5 minutes of the interview ending — before discussing with other interviewers (prevents anchoring bias).
596
+
597
+ #### 5. Candidate Communication Plan
598
+
599
+ Map out every touchpoint with the candidate throughout the process. For each, note the timing, channel, and purpose. Offer to draft and send each of these via Gmail (see Step 8).
600
+
601
+ | Touchpoint | Timing | Channel | Purpose |
602
+
603
+ |------------|--------|---------|---------|
604
+
605
+ | Application received | Within 24 hours | Email | Confirm receipt, set expectations for timeline |
606
+
607
+ | Phone screen invite | Within 3 days of application | Email | Schedule the call |
608
+
609
+ | Post-phone-screen update | Within 24 hours | Email | Advance or reject |
610
+
611
+ | Test/assignment sent | Same day as advancement | Email | Instructions, deadline, support contact |
612
+
613
+ | Interview invite | Within 2 days of test review | Email | Schedule, prep materials, interviewer names |
614
+
615
+ | Post-interview update | Within 48 hours | Email | Advance, hold, or reject |
616
+
617
+ | Offer | Within 24 hours of final decision | Phone call + email | Verbal first, written follow-up |
618
+
619
+ | Rejection (final round) | Within 48 hours | Email or phone | Respectful, brief, encouraging |
620
+
621
+ #### 6. Process Metrics & Targets
622
+
623
+ Define what success looks like for the hiring process itself:
624
+
625
+ | Metric | Target | How to Measure |
626
+
627
+ |--------|--------|---------------|
628
+
629
+ | Time-to-fill | [role-appropriate target] | Days from posting to accepted offer |
630
+
631
+ | Candidate experience score | 4+/5 | Post-process survey (send to all candidates, including rejected) |
632
+
633
+ | Offer acceptance rate | >80% | Offers accepted / offers extended |
634
+
635
+ | Stage drop-off | <20% per stage | Candidates who withdraw at each stage |
636
+
637
+ | Interviewer calibration | <1 point spread | Variance in scorecard ratings across interviewers for same candidate |
638
+
639
+ | Diversity of pipeline | [user-defined target] | Demographics at each funnel stage |
640
+
641
+ ### Step 11: Candidate Pipeline Tracking via Google Sheets
642
+
643
+ Use Google Sheets as the central tracking system for the entire hiring pipeline. This is where candidate data, evaluations, and stage history live — accessible to the full hiring team.
644
+
645
+ #### Prerequisites (2)
646
+
647
+ - Google Sheets integration must be connected. Use `searchIntegrations("google sheets")` to check availability.
648
+ - If not connected, guide the user through setup: use `proposeIntegration`with connector ID`connector:ccfg_google-sheet_E42A9F6CA62546F68A1FECA0E8`.
649
+
650
+ - Use `listConnections('google-sheet')` to get credentials once connected.
651
+
652
+ ##### When to create a tracking sheet
653
+
654
+ - At the start of any hiring process — offer to set one up immediately
655
+ - After CV screening — populate it with all screened candidates and their evaluations
656
+
657
+ - Whenever the user mentions wanting to track or share candidate status with their team
658
+
659
+ ###### Sheet structure — create one spreadsheet per role with these tabs
660
+
661
+ ###### Tab 1: Pipeline Overview
662
+
663
+ | Column | Description |
664
+
665
+ |--------|------------|
666
+
667
+ | Candidate Name | Full name |
668
+
669
+ | Email | Contact email |
670
+
671
+ | Current Stage | Application / Phone Screen / Test / Interview / Offer / Rejected / Hired |
672
+
673
+ | Stage Entry Date | When they entered the current stage |
674
+
675
+ | Days in Stage | Auto-calculated |
676
+
677
+ | Overall Rating | Strong / Partial / Weak (from CV screening or interviews) |
678
+
679
+ | Next Action | What needs to happen next |
680
+
681
+ | Next Action Due | Date the next action is due |
682
+
683
+ | Assigned To | Who owns the next action |
684
+
685
+ | Notes | Free-form notes |
686
+
687
+ ###### Tab 2: Candidate Evaluations
688
+
689
+ Running evaluation that compounds insights as candidates progress. Update this after each stage.
690
+
691
+ | Column | Description |
692
+
693
+ |--------|------------|
694
+
695
+ | Candidate Name | Full name |
696
+
697
+ | CV Screen Score | Must-have score (X/Y) and overall fit |
698
+
699
+ | CV Screen Notes | Key strengths, gaps, and red flags from initial screening |
700
+
701
+ | Phone Screen Score | 1-3 rating |
702
+
703
+ | Phone Screen Notes | Interviewer observations |
704
+
705
+ | Test Score | Assessment results and rubric scores |
706
+
707
+ | Test Notes | Evaluator comments |
708
+
709
+ | Interview 1 Score | Scorecard results |
710
+
711
+ | Interview 1 Notes | Key observations |
712
+
713
+ | Interview 2 Score | Scorecard results |
714
+
715
+ | Interview 2 Notes | Key observations |
716
+
717
+ | Final Recommendation | Hire / Strong Hold / Reject |
718
+
719
+ | Comparative Notes | How this candidate compares to others in the pipeline |
720
+
721
+ ###### Tab 3: Communication Log
722
+
723
+ | Column | Description |
724
+
725
+ |--------|------------|
726
+
727
+ | Date | When the email was sent |
728
+
729
+ | Candidate | Recipient name |
730
+
731
+ | Email Type | Outreach / Confirmation / Interview Invite / Rejection / Offer / Follow-up |
732
+
733
+ | Subject Line | Email subject |
734
+
735
+ | Status | Sent / Opened / Replied (if tracking available) |
736
+
737
+ | Follow-up Due | When to follow up if no response |
738
+
739
+ ###### Tab 4: Funnel Metrics
740
+
741
+ | Column | Description |
742
+
743
+ |--------|------------|
744
+
745
+ | Stage | Pipeline stage name |
746
+
747
+ | Entered | Count of candidates who entered this stage |
748
+
749
+ | Advanced | Count who moved to the next stage |
750
+
751
+ | Rejected | Count who were rejected at this stage |
752
+
753
+ | Withdrew | Count who dropped out |
754
+
755
+ | Conversion Rate | Advanced / Entered |
756
+
757
+ | Avg Days in Stage | Average time spent in this stage |
758
+
759
+ ###### Keeping the sheet updated
760
+
761
+ - After every action (CV screen, email sent, interview completed, decision made), offer to update the tracking sheet
762
+ - When the user shares interview feedback, update the evaluation tab and comparative notes
763
+
764
+ - At regular intervals, offer to generate a funnel report from the metrics tab
765
+
766
+ ```javascript
767
+
768
+ const conns = await listConnections('google-sheet');
769
+
770
+ if (conns.length === 0) {
771
+
772
+ const results = await searchIntegrations("google sheets");
773
+
774
+ // Use proposeIntegration with the connector ID
775
+
776
+ }
777
+
778
+ const settings = conns[0].settings;
779
+
780
+ // Use the Google Sheets API to create and update the tracking spreadsheet
781
+
782
+ // Always use confirm_connector_operation before write operations
783
+
784
+ ```
785
+
786
+ ### Step 12: Interview Scheduling via Google Calendar
787
+
788
+ Use Google Calendar to schedule interviews directly, rather than just proposing times via email. This eliminates back-and-forth and ensures calendar conflicts are checked.
789
+
790
+ #### Prerequisites (3)
791
+
792
+ - Google Calendar integration must be connected. Use `searchIntegrations("google calendar")` to check availability.
793
+ - If not connected, guide the user through setup: use `proposeIntegration`with connector ID`connector:ccfg_google-calendar_DDDBAC03DE404369B74F32E78D`.
794
+
795
+ - Use `listConnections('google-calendar')` to get credentials once connected.
796
+
797
+ ##### When to offer calendar scheduling
798
+
799
+ - When advancing a candidate to an interview stage
800
+ - When the user mentions needing to schedule a call or meeting with a candidate
801
+
802
+ - During process design, when mapping out the communication plan
803
+
804
+ ###### Scheduling workflow
805
+
806
+ 1. **Check interviewer availability** — Query the calendar for free/busy times for the relevant interviewers
807
+ 2. **Propose time slots** — Present 3-5 available slots to the user for approval
808
+
809
+ 3. **Create the calendar event** — Include:
810
+
811
+ - Title: `[Interview Type] — [Candidate Name] for [Role Title]`
812
+ - Duration: Based on the stage (30 min phone screen, 60 min technical, 45 min culture fit)
813
+
814
+ - Attendees: Interviewer(s) + candidate email (if available)
815
+ - Description: Include the candidate's CV summary, the questions/scorecard for this stage, and any prep notes
816
+
817
+ - Video link: If the user uses Google Meet, include a Meet link automatically
818
+
819
+ 1. **Send interview invitation email** — Via Gmail, send the candidate a personalized invite with the confirmed time, format (video/phone/in-person), interviewer name(s), and any prep materials
820
+ 2. **Set a follow-up reminder** — Create a calendar event for the interviewer 24 hours after the interview titled `[ACTION] Submit scorecard — [Candidate Name]` to prompt timely feedback
821
+
822
+ ```javascript
823
+
824
+ const conns = await listConnections('google-calendar');
825
+
826
+ if (conns.length === 0) {
827
+
828
+ const results = await searchIntegrations("google calendar");
829
+
830
+ // Use proposeIntegration with the connector ID
831
+
832
+ }
833
+
834
+ const settings = conns[0].settings;
835
+
836
+ // Use the Google Calendar API to check availability and create events
837
+
838
+ // Always use confirm_connector_operation before creating events
839
+
840
+ ```
841
+
842
+ ### Step 13: Follow-Up Reminders
843
+
844
+ When the user opts in to follow-up reminders, offer three categories of delivery channels — let them choose their preferred method (or combine multiple).
845
+
846
+ **At the start of any hiring workflow, ask:** "Would you like me to send you follow-up reminders as we go through this process? I can notify you via email, Slack, Discord, or create tasks in Asana, Linear, Jira, or Notion — whichever you already use."
847
+
848
+ Once the user opts in and chooses a channel, use it consistently for all reminders without asking again each time.
849
+
850
+ #### Option A: Email notifications via Gmail
851
+
852
+ - Send an email from the user's Gmail to themselves
853
+ - Subject: `[Hiring Reminder] [Action needed] — [Candidate Name] for [Role]`
854
+
855
+ - Body: Full context — what happened, what to do next, a link to the tracking sheet, and any deadlines
856
+ - Examples:
857
+
858
+ - `[Hiring Reminder] Send follow-up to Sarah Chen — no response after 5 days`
859
+ - `[Hiring Reminder] Collect interview feedback from team — Alex Rivera`
860
+
861
+ - `[Hiring Reminder] Send offer letter to Jordan Park — deadline: Friday`
862
+
863
+ ##### Option B: Messaging app notifications (Slack or Discord)
864
+
865
+ Send a message to the user via their preferred messaging platform. Ideal for teams who want real-time visibility.
866
+
867
+ - Use a consistent, scannable format:
868
+
869
+ ```text
870
+
871
+ *Hiring Reminder*
872
+
873
+ *Candidate:* Sarah Chen
874
+
875
+ *Role:* Senior Backend Engineer
876
+
877
+ *Action needed:* Send follow-up email — no response after 5 days
878
+
879
+ *Due:* Today
880
+
881
+ *Context:* Initial outreach sent on March 20. No reply yet. Suggested: bump with new info (recent funding announcement).
882
+
883
+ *Tracking sheet:* [link]
884
+
885
+ ```
886
+
887
+ - Can post to a shared channel (e.g., `#hiring`) so the whole team sees what needs attention, or send as a DM to the specific person responsible
888
+ - Ask the user which channel/server to post to on first setup
889
+
890
+ | Platform | Connector ID | Connection Name |
891
+
892
+ |----------|-------------|-----------------|
893
+
894
+ | **Slack** | `connector:ccfg_slack_01KH7W1T1D6TGP3BJGNQ2N9PEH`|`slack` |
895
+
896
+ | **Discord** | `connector:ccfg_discord_72DFF975D4C5460D83A3A5FD12`|`discord` |
897
+
898
+ ###### Option C: Task/project management app notifications (Asana, Linear, Jira, or Notion)
899
+
900
+ Create tasks or items in the user's project management tool, so follow-ups appear alongside their other work. Each follow-up becomes a trackable task with a due date and assignee.
901
+
902
+ - **Asana** — Create a task in a designated hiring project. Set the due date, assignee, and description with full context.
903
+ - **Linear** — Create an issue in a hiring project. Tag it with a label like `hiring`or`recruiting`. Set priority and assignee.
904
+
905
+ - **Jira** — Create a ticket in a hiring board. Set the due date, assignee, and description.
906
+ - **Notion** — Add an entry to a hiring database page. Include candidate name, action needed, due date, and context.
907
+
908
+ Task format (adapt to the platform):
909
+
910
+ - **Title:** `[FOLLOW-UP] [Action needed] — [Candidate Name]`
911
+ - **Description:** Full context — what happened, what to do, deadline, link to tracking sheet
912
+
913
+ - **Due date:** The follow-up date
914
+ - **Assignee:** The person responsible (ask the user on first setup)
915
+
916
+ | Platform | Connector ID | Connection Name |
917
+
918
+ |----------|-------------|-----------------|
919
+
920
+ | **Asana** | `connector:ccfg_asana_17D6AEDD454A41BA8870C2542E`|`asana` |
921
+
922
+ | **Linear** | `connector:ccfg_linear_01K4B3DCSR7JEAJK400V1HTJAK`|`linear` |
923
+
924
+ | **Jira** | `connector:ccfg_jira_8D0B4B1730F64429A4FC3ACB88`|`jira` |
925
+
926
+ | **Notion** | `connector:ccfg_notion_01K49R392Z3CSNMXCPWSV67AF4`|`notion` |
927
+
928
+ ###### Setup for any notification channel
929
+
930
+ 1. Use `searchIntegrations("[platform name]")` to check availability
931
+ 2. If not connected, guide the user through setup with `proposeIntegration` using the connector ID from the table above
932
+
933
+ 3. Use `listConnections('[connection name]')` to get credentials once connected
934
+ 4. Ask the user where to send notifications (channel, project, board, or database)
935
+
936
+ 5. Always use `confirm_connector_operation` before creating tasks or sending messages
937
+
938
+ ```javascript
939
+
940
+ // Example for any platform — adapt the connection name
941
+
942
+ const conns = await listConnections('[connection-name]');
943
+
944
+ if (conns.length === 0) {
945
+
946
+ const results = await searchIntegrations("[platform name]");
947
+
948
+ // Use proposeIntegration with the connector ID
949
+
950
+ }
951
+
952
+ const settings = conns[0].settings;
953
+
954
+ // Use the platform's API to send messages or create tasks
955
+
956
+ // Always use confirm_connector_operation before write operations
957
+
958
+ ```
959
+
960
+ ###### When to create reminders
961
+
962
+ - After sending any candidate email — set a follow-up for 5 business days if no response
963
+ - After an interview — remind the interviewer to submit their scorecard within 24 hours
964
+
965
+ - After advancing a candidate — remind to schedule the next stage within 2-3 business days
966
+ - After making an offer — remind to check for acceptance within the deadline
967
+
968
+ - After placing a candidate on hold — remind to re-engage after the specified waiting period
969
+ - After receiving a CV/application — remind to review within 1-2 business days
970
+
971
+ ## Hiring Benchmarks
972
+
973
+ - **Time-to-fill**: 44 days US average (SHRM 2025); tech roles run longer
974
+ - **Cost-per-hire**: $6-7k standard tech roles; $12k+ for ML/security/staff+ (Deloitte 2024)
975
+
976
+ - **Funnel**: Tech roles see ~110 applicants/opening, ~5% get interviews
977
+ - **Speed matters**: Top candidates are off-market in 10 days. The interview-to-offer stage is where most teams lose — compressing it cuts time-to-hire by ~26%.
978
+
979
+ - **LinkedIn Recruiter cost**: $1.6k/yr (Lite) to $10.8k+/yr (Corporate, 150+ InMails/mo)
980
+
981
+ ## Bias Reduction
982
+
983
+ - Strip unnecessary degree requirements — they filter for socioeconomic background, not skill
984
+ - Run JD through `webSearch: "gender decoder job description"` tools — "rockstar," "ninja," "aggressive" skew male applicant pools
985
+
986
+ - Same questions, same order for every candidate
987
+ - Score immediately after each interview, before discussing with other interviewers (anchoring bias)
988
+
989
+ - Source from non-traditional channels (HN, PH, YC alumni, blogs) to avoid LinkedIn-only pool bias
990
+
991
+ ## Output Structure
992
+
993
+ The final deliverable should follow this order. Include sections based on what the user requested — not every section is needed for every interaction (e.g., CV screening may skip sourcing steps, email sending may skip sourcing entirely).
994
+
995
+ ### For sourcing workflows
996
+
997
+ 1. **Company Snapshot** — latest funding, valuation, headcount, ARR, key news (from web search)
998
+ 2. **Role Details** — title, posting link, focus area, seniority, location, key needs (from user answers)
999
+
1000
+ 3. **Estimated Comp Range** — internal reference only, not for outreach
1001
+ 4. **Requirements** — must-haves / learnable / pedigree signals to drop
1002
+
1003
+ 5. **Specific Candidate Profiles** — table with name, role, fit summary, hyperlinked LinkedIn URL (10-15 candidates)
1004
+ 6. **LinkedIn Search Links** — at least 5 clickable URLs the user can open directly
1005
+
1006
+ 7. **Boolean Search Strings** — for LinkedIn Recruiter and Google X-ray
1007
+ 8. **Sourcing Channels** — beyond LinkedIn (table format)
1008
+
1009
+ 9. **Outreach Templates** — 3 templates for different segments, no comp included
1010
+ 10. **Sourcing Action Plan** — 2-week day-by-day plan with target funnel
1011
+
1012
+ 11. **Bias Reduction Checklist**
1013
+ 12. **Suggested Interview Questions** — lightweight, behavioral, organized by key criteria
1014
+
1015
+ #### For CV screening workflows
1016
+
1017
+ 1. **Role Requirements Summary** — must-haves and key criteria extracted from the JD
1018
+ 2. **Individual Candidate Assessments** — detailed evaluation per candidate (see Step 7 format)
1019
+
1020
+ 3. **Ranking & Comparison Table** — all candidates ranked with key metrics side-by-side
1021
+ 4. **Recommendations** — who to advance, hold, or reject
1022
+
1023
+ 5. **Draft Emails** (if requested) — personalized emails for each decision, ready for user review and Gmail sending (see Step 8)
1024
+
1025
+ ##### For recruitment process design workflows
1026
+
1027
+ 1. **Process Overview & Timeline** — stage-by-stage pipeline with durations, owners, and expected pass rates
1028
+ 2. **Aptitude & Skills Tests** — role-specific assessments with prompts, rubrics, and time limits
1029
+
1030
+ 3. **Interview Question Bank** — structured questions per stage with "what to listen for" and red flags
1031
+ 4. **Evaluation Scorecards** — ready-to-use templates for interviewers to fill out after each stage
1032
+
1033
+ 5. **Candidate Communication Plan** — every touchpoint mapped with timing, channel, and purpose (with Gmail sending offered)
1034
+ 6. **Process Metrics & Targets** — success criteria for the hiring process itself
1035
+
1036
+ ## Integrations Summary
1037
+
1038
+ The skill can leverage multiple integrations. Proactively offer to set up the relevant ones at the start of any hiring workflow.
1039
+
1040
+ ### Core integrations (always offer)
1041
+
1042
+ | Integration | Connector ID | Connection Name | Purpose |
1043
+
1044
+ |-------------|-------------|-----------------|---------|
1045
+
1046
+ | **Gmail** | `connector:ccfg_google-mail_B959E7249792448ABBA58D46AF`|`google-mail` | Send candidate emails (outreach, confirmations, rejections, follow-ups, self-reminder notifications) |
1047
+
1048
+ | **Google Sheets** | `connector:ccfg_google-sheet_E42A9F6CA62546F68A1FECA0E8`|`google-sheet` | Pipeline tracking, candidate evaluations, communication logs, funnel metrics |
1049
+
1050
+ | **Google Calendar** | `connector:ccfg_google-calendar_DDDBAC03DE404369B74F32E78D`|`google-calendar` | Schedule interviews, check interviewer availability |
1051
+
1052
+ #### Notification channel integrations (offer based on user preference — ask which they use)
1053
+
1054
+ | Integration | Connector ID | Connection Name | Best For |
1055
+
1056
+ |-------------|-------------|-----------------|----------|
1057
+
1058
+ | **Slack** | `connector:ccfg_slack_01KH7W1T1D6TGP3BJGNQ2N9PEH`|`slack` | Team messaging — reminders via DMs or shared channels |
1059
+
1060
+ | **Discord** | `connector:ccfg_discord_72DFF975D4C5460D83A3A5FD12`|`discord` | Team messaging — reminders via DMs or server channels |
1061
+
1062
+ | **Asana** | `connector:ccfg_asana_17D6AEDD454A41BA8870C2542E`|`asana` | Task management — follow-ups as tasks with due dates |
1063
+
1064
+ | **Linear** | `connector:ccfg_linear_01K4B3DCSR7JEAJK400V1HTJAK`|`linear` | Task management — follow-ups as issues with priorities |
1065
+
1066
+ | **Jira** | `connector:ccfg_jira_8D0B4B1730F64429A4FC3ACB88`|`jira` | Task management — follow-ups as tickets with due dates |
1067
+
1068
+ | **Notion** | `connector:ccfg_notion_01K49R392Z3CSNMXCPWSV67AF4`|`notion` | Knowledge management — follow-ups as database entries |
1069
+
1070
+ **Setup guidance:** Gmail is the most critical — it powers candidate communication. Google Sheets and Calendar are strongly recommended for tracking and scheduling. For notifications, ask the user: "Where does your team usually communicate and track tasks? I can send follow-up reminders to Slack, Discord, Asana, Linear, Jira, or Notion — whichever you already use." Connect only the platforms they actually use.
1071
+
1072
+ ## Limitations
1073
+
1074
+ - Cannot log into LinkedIn Recruiter, SeekOut, Gem, or HireEZ — builds search strings the user pastes in
1075
+ - Cannot send LinkedIn InMails — but CAN send emails via Gmail integration (requires user to connect Gmail)
1076
+
1077
+ - Cannot verify employment history or run background checks
1078
+ - GitHub analysis via `webFetch` only works for public profiles/repos
1079
+
1080
+ - LinkedIn search URLs use public search — results may vary based on the user's LinkedIn account tier
1081
+ - CV screening depends on the quality and format of uploaded documents — PDFs with text content work best; scanned image-only PDFs may not be readable
1082
+
1083
+ - All integrations require the user to authorize their accounts via the respective Replit connectors
1084
+ - Calendar scheduling requires interviewer email addresses to check availability and send invites
1085
+
1086
+ - Follow-up reminders are delivered via the user's chosen channel (email, Slack, Discord, Asana, Linear, Jira, or Notion) — not real-time push notifications
1087
+ - Messaging integrations (Slack, Discord) require a channel or user ID to post to; task integrations (Asana, Linear, Jira, Notion) require a project, board, or database to create items in