zilmate 1.7.8 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/.agents/skills/agent-browser/SKILL.md +55 -0
  2. package/.agents/skills/agentmail/SKILL.md +282 -0
  3. package/.agents/skills/agentmail/references/webhooks.md +220 -0
  4. package/.agents/skills/agentmail/references/websockets.md +263 -0
  5. package/.agents/skills/ai-elements/SKILL.md +160 -0
  6. package/.agents/skills/ai-elements/references/agent.md +134 -0
  7. package/.agents/skills/ai-elements/references/artifact.md +84 -0
  8. package/.agents/skills/ai-elements/references/attachments.md +190 -0
  9. package/.agents/skills/ai-elements/references/audio-player.md +134 -0
  10. package/.agents/skills/ai-elements/references/canvas.md +34 -0
  11. package/.agents/skills/ai-elements/references/chain-of-thought.md +81 -0
  12. package/.agents/skills/ai-elements/references/checkpoint.md +183 -0
  13. package/.agents/skills/ai-elements/references/code-block.md +170 -0
  14. package/.agents/skills/ai-elements/references/commit.md +177 -0
  15. package/.agents/skills/ai-elements/references/confirmation.md +262 -0
  16. package/.agents/skills/ai-elements/references/connection.md +34 -0
  17. package/.agents/skills/ai-elements/references/context.md +126 -0
  18. package/.agents/skills/ai-elements/references/controls.md +32 -0
  19. package/.agents/skills/ai-elements/references/conversation.md +224 -0
  20. package/.agents/skills/ai-elements/references/edge.md +52 -0
  21. package/.agents/skills/ai-elements/references/environment-variables.md +102 -0
  22. package/.agents/skills/ai-elements/references/file-tree.md +72 -0
  23. package/.agents/skills/ai-elements/references/image.md +146 -0
  24. package/.agents/skills/ai-elements/references/inline-citation.md +299 -0
  25. package/.agents/skills/ai-elements/references/jsx-preview.md +104 -0
  26. package/.agents/skills/ai-elements/references/message.md +237 -0
  27. package/.agents/skills/ai-elements/references/mic-selector.md +189 -0
  28. package/.agents/skills/ai-elements/references/model-selector.md +112 -0
  29. package/.agents/skills/ai-elements/references/node.md +73 -0
  30. package/.agents/skills/ai-elements/references/open-in-chat.md +67 -0
  31. package/.agents/skills/ai-elements/references/package-info.md +95 -0
  32. package/.agents/skills/ai-elements/references/panel.md +33 -0
  33. package/.agents/skills/ai-elements/references/persona.md +166 -0
  34. package/.agents/skills/ai-elements/references/plan.md +79 -0
  35. package/.agents/skills/ai-elements/references/prompt-input.md +579 -0
  36. package/.agents/skills/ai-elements/references/queue.md +172 -0
  37. package/.agents/skills/ai-elements/references/reasoning.md +238 -0
  38. package/.agents/skills/ai-elements/references/sandbox.md +129 -0
  39. package/.agents/skills/ai-elements/references/schema-display.md +102 -0
  40. package/.agents/skills/ai-elements/references/shimmer.md +48 -0
  41. package/.agents/skills/ai-elements/references/snippet.md +64 -0
  42. package/.agents/skills/ai-elements/references/sources.md +209 -0
  43. package/.agents/skills/ai-elements/references/speech-input.md +163 -0
  44. package/.agents/skills/ai-elements/references/stack-trace.md +224 -0
  45. package/.agents/skills/ai-elements/references/suggestion.md +124 -0
  46. package/.agents/skills/ai-elements/references/task.md +222 -0
  47. package/.agents/skills/ai-elements/references/terminal.md +103 -0
  48. package/.agents/skills/ai-elements/references/test-results.md +157 -0
  49. package/.agents/skills/ai-elements/references/tool.md +285 -0
  50. package/.agents/skills/ai-elements/references/toolbar.md +32 -0
  51. package/.agents/skills/ai-elements/references/transcription.md +120 -0
  52. package/.agents/skills/ai-elements/references/voice-selector.md +241 -0
  53. package/.agents/skills/ai-elements/references/web-preview.md +200 -0
  54. package/.agents/skills/ai-elements/scripts/agent.tsx +61 -0
  55. package/.agents/skills/ai-elements/scripts/artifact.tsx +127 -0
  56. package/.agents/skills/ai-elements/scripts/attachments-inline.tsx +128 -0
  57. package/.agents/skills/ai-elements/scripts/attachments-list.tsx +95 -0
  58. package/.agents/skills/ai-elements/scripts/attachments.tsx +85 -0
  59. package/.agents/skills/ai-elements/scripts/audio-player-remote.tsx +35 -0
  60. package/.agents/skills/ai-elements/scripts/audio-player.tsx +68 -0
  61. package/.agents/skills/ai-elements/scripts/chain-of-thought.tsx +82 -0
  62. package/.agents/skills/ai-elements/scripts/checkpoint.tsx +110 -0
  63. package/.agents/skills/ai-elements/scripts/code-block-dark.tsx +46 -0
  64. package/.agents/skills/ai-elements/scripts/code-block.tsx +120 -0
  65. package/.agents/skills/ai-elements/scripts/commit.tsx +94 -0
  66. package/.agents/skills/ai-elements/scripts/confirmation-accepted.tsx +40 -0
  67. package/.agents/skills/ai-elements/scripts/confirmation-rejected.tsx +40 -0
  68. package/.agents/skills/ai-elements/scripts/confirmation-request.tsx +54 -0
  69. package/.agents/skills/ai-elements/scripts/confirmation.tsx +55 -0
  70. package/.agents/skills/ai-elements/scripts/context.tsx +45 -0
  71. package/.agents/skills/ai-elements/scripts/conversation.tsx +177 -0
  72. package/.agents/skills/ai-elements/scripts/environment-variables.tsx +62 -0
  73. package/.agents/skills/ai-elements/scripts/file-tree-basic.tsx +18 -0
  74. package/.agents/skills/ai-elements/scripts/file-tree-expanded.tsx +21 -0
  75. package/.agents/skills/ai-elements/scripts/file-tree-selection.tsx +24 -0
  76. package/.agents/skills/ai-elements/scripts/file-tree.tsx +42 -0
  77. package/.agents/skills/ai-elements/scripts/image.tsx +20 -0
  78. package/.agents/skills/ai-elements/scripts/inline-citation.tsx +97 -0
  79. package/.agents/skills/ai-elements/scripts/jsx-preview.tsx +104 -0
  80. package/.agents/skills/ai-elements/scripts/message.tsx +365 -0
  81. package/.agents/skills/ai-elements/scripts/mic-selector.tsx +49 -0
  82. package/.agents/skills/ai-elements/scripts/model-selector.tsx +365 -0
  83. package/.agents/skills/ai-elements/scripts/open-in-chat.tsx +33 -0
  84. package/.agents/skills/ai-elements/scripts/package-info.tsx +51 -0
  85. package/.agents/skills/ai-elements/scripts/persona-command.tsx +110 -0
  86. package/.agents/skills/ai-elements/scripts/persona-glint.tsx +110 -0
  87. package/.agents/skills/ai-elements/scripts/persona-halo.tsx +110 -0
  88. package/.agents/skills/ai-elements/scripts/persona-mana.tsx +110 -0
  89. package/.agents/skills/ai-elements/scripts/persona-obsidian.tsx +110 -0
  90. package/.agents/skills/ai-elements/scripts/persona-opal.tsx +110 -0
  91. package/.agents/skills/ai-elements/scripts/plan.tsx +65 -0
  92. package/.agents/skills/ai-elements/scripts/prompt-input-cursor.tsx +502 -0
  93. package/.agents/skills/ai-elements/scripts/prompt-input-tooltip.tsx +44 -0
  94. package/.agents/skills/ai-elements/scripts/prompt-input.tsx +267 -0
  95. package/.agents/skills/ai-elements/scripts/queue-prompt-input.tsx +394 -0
  96. package/.agents/skills/ai-elements/scripts/queue.tsx +295 -0
  97. package/.agents/skills/ai-elements/scripts/reasoning.tsx +71 -0
  98. package/.agents/skills/ai-elements/scripts/sandbox.tsx +178 -0
  99. package/.agents/skills/ai-elements/scripts/schema-display-basic.tsx +9 -0
  100. package/.agents/skills/ai-elements/scripts/schema-display-body.tsx +20 -0
  101. package/.agents/skills/ai-elements/scripts/schema-display-nested.tsx +23 -0
  102. package/.agents/skills/ai-elements/scripts/schema-display-params.tsx +16 -0
  103. package/.agents/skills/ai-elements/scripts/schema-display.tsx +110 -0
  104. package/.agents/skills/ai-elements/scripts/shimmer-duration.tsx +31 -0
  105. package/.agents/skills/ai-elements/scripts/shimmer-elements.tsx +43 -0
  106. package/.agents/skills/ai-elements/scripts/shimmer.tsx +17 -0
  107. package/.agents/skills/ai-elements/scripts/snippet-plain.tsx +19 -0
  108. package/.agents/skills/ai-elements/scripts/snippet.tsx +25 -0
  109. package/.agents/skills/ai-elements/scripts/sources-custom.tsx +39 -0
  110. package/.agents/skills/ai-elements/scripts/sources.tsx +32 -0
  111. package/.agents/skills/ai-elements/scripts/speech-input.tsx +84 -0
  112. package/.agents/skills/ai-elements/scripts/stack-trace-collapsed.tsx +39 -0
  113. package/.agents/skills/ai-elements/scripts/stack-trace-no-internal.tsx +41 -0
  114. package/.agents/skills/ai-elements/scripts/stack-trace.tsx +58 -0
  115. package/.agents/skills/ai-elements/scripts/suggestion-input.tsx +144 -0
  116. package/.agents/skills/ai-elements/scripts/suggestion.tsx +32 -0
  117. package/.agents/skills/ai-elements/scripts/task.tsx +59 -0
  118. package/.agents/skills/ai-elements/scripts/terminal-basic.tsx +7 -0
  119. package/.agents/skills/ai-elements/scripts/terminal-clear.tsx +19 -0
  120. package/.agents/skills/ai-elements/scripts/terminal-streaming.tsx +38 -0
  121. package/.agents/skills/ai-elements/scripts/terminal.tsx +82 -0
  122. package/.agents/skills/ai-elements/scripts/test-results-basic.tsx +27 -0
  123. package/.agents/skills/ai-elements/scripts/test-results-errors.tsx +51 -0
  124. package/.agents/skills/ai-elements/scripts/test-results-suites.tsx +40 -0
  125. package/.agents/skills/ai-elements/scripts/test-results.tsx +102 -0
  126. package/.agents/skills/ai-elements/scripts/tool-input-available.tsx +31 -0
  127. package/.agents/skills/ai-elements/scripts/tool-input-streaming.tsx +30 -0
  128. package/.agents/skills/ai-elements/scripts/tool-output-available.tsx +80 -0
  129. package/.agents/skills/ai-elements/scripts/tool-output-error.tsx +44 -0
  130. package/.agents/skills/ai-elements/scripts/tool.tsx +222 -0
  131. package/.agents/skills/ai-elements/scripts/transcription.tsx +290 -0
  132. package/.agents/skills/ai-elements/scripts/voice-selector.tsx +245 -0
  133. package/.agents/skills/ai-elements/scripts/web-preview.tsx +115 -0
  134. package/.agents/skills/ai-sdk/SKILL.md +78 -0
  135. package/.agents/skills/ai-sdk/references/ai-gateway.md +66 -0
  136. package/.agents/skills/ai-sdk/references/common-errors.md +443 -0
  137. package/.agents/skills/ai-sdk/references/devtools.md +52 -0
  138. package/.agents/skills/ai-sdk/references/type-safe-agents.md +204 -0
  139. package/.agents/skills/chat-sdk/SKILL.md +240 -0
  140. package/.agents/skills/composio/AGENTS.md +404 -0
  141. package/.agents/skills/composio/SKILL.md +55 -0
  142. package/.agents/skills/composio/rules/_template.md +38 -0
  143. package/.agents/skills/composio/rules/app-auth-configs.md +224 -0
  144. package/.agents/skills/composio/rules/app-auth-popup-ui.md +143 -0
  145. package/.agents/skills/composio/rules/app-connected-accounts.md +240 -0
  146. package/.agents/skills/composio/rules/app-custom-tools.md +220 -0
  147. package/.agents/skills/composio/rules/app-execute-tools.md +202 -0
  148. package/.agents/skills/composio/rules/app-fetch-tools.md +292 -0
  149. package/.agents/skills/composio/rules/app-modifiers.md +148 -0
  150. package/.agents/skills/composio/rules/app-tool-versions.md +343 -0
  151. package/.agents/skills/composio/rules/app-toolkits.md +184 -0
  152. package/.agents/skills/composio/rules/app-user-context.md +222 -0
  153. package/.agents/skills/composio/rules/building-with-composio.md +134 -0
  154. package/.agents/skills/composio/rules/composio-cli.md +223 -0
  155. package/.agents/skills/composio/rules/setup-api-keys.md +230 -0
  156. package/.agents/skills/composio/rules/tr-auth-auto.md +110 -0
  157. package/.agents/skills/composio/rules/tr-auth-connections.md +167 -0
  158. package/.agents/skills/composio/rules/tr-auth-manual.md +161 -0
  159. package/.agents/skills/composio/rules/tr-building-chat-ui.md +348 -0
  160. package/.agents/skills/composio/rules/tr-framework-ai-sdk.md +240 -0
  161. package/.agents/skills/composio/rules/tr-framework-integration.md +818 -0
  162. package/.agents/skills/composio/rules/tr-framework-mastra.md +185 -0
  163. package/.agents/skills/composio/rules/tr-mcp-vs-native.md +248 -0
  164. package/.agents/skills/composio/rules/tr-session-basic.md +82 -0
  165. package/.agents/skills/composio/rules/tr-session-config.md +172 -0
  166. package/.agents/skills/composio/rules/tr-session-lifecycle.md +385 -0
  167. package/.agents/skills/composio/rules/tr-toolkit-query.md +135 -0
  168. package/.agents/skills/composio/rules/tr-userid-best-practices.md +476 -0
  169. package/.agents/skills/composio/rules/triggers-create.md +246 -0
  170. package/.agents/skills/composio/rules/triggers-manage.md +275 -0
  171. package/.agents/skills/composio/rules/triggers-subscribe.md +173 -0
  172. package/.agents/skills/composio/rules/triggers-webhook.md +227 -0
  173. package/.agents/skills/create-auth-skill/SKILL.md +321 -0
  174. package/.agents/skills/design-md/README.md +34 -0
  175. package/.agents/skills/design-md/SKILL.md +172 -0
  176. package/.agents/skills/design-md/examples/DESIGN.md +154 -0
  177. package/.agents/skills/expo-tailwind-setup/SKILL.md +480 -0
  178. package/.agents/skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  179. package/.agents/skills/find-skills/SKILL.md +142 -0
  180. package/.agents/skills/firecrawl/SKILL.md +321 -0
  181. package/.agents/skills/firecrawl/rules/install.md +85 -0
  182. package/.agents/skills/firecrawl/rules/security.md +26 -0
  183. package/.agents/skills/frontend-design/LICENSE.txt +177 -0
  184. package/.agents/skills/frontend-design/SKILL.md +55 -0
  185. package/.agents/skills/linkup-search/SKILL.md +298 -0
  186. package/.agents/skills/mcp-builder/LICENSE.txt +202 -0
  187. package/.agents/skills/mcp-builder/SKILL.md +236 -0
  188. package/.agents/skills/mcp-builder/reference/evaluation.md +602 -0
  189. package/.agents/skills/mcp-builder/reference/mcp_best_practices.md +249 -0
  190. package/.agents/skills/mcp-builder/reference/node_mcp_server.md +970 -0
  191. package/.agents/skills/mcp-builder/reference/python_mcp_server.md +719 -0
  192. package/.agents/skills/mcp-builder/scripts/connections.py +151 -0
  193. package/.agents/skills/mcp-builder/scripts/evaluation.py +373 -0
  194. package/.agents/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
  195. package/.agents/skills/mcp-builder/scripts/requirements.txt +2 -0
  196. package/.agents/skills/mobile-android-design/SKILL.md +101 -0
  197. package/.agents/skills/mobile-android-design/references/android-navigation.md +698 -0
  198. package/.agents/skills/mobile-android-design/references/compose-components.md +796 -0
  199. package/.agents/skills/mobile-android-design/references/details.md +337 -0
  200. package/.agents/skills/mobile-android-design/references/material3-theming.md +604 -0
  201. package/.agents/skills/mobile-ios-design/SKILL.md +259 -0
  202. package/.agents/skills/mobile-ios-design/references/hig-patterns.md +529 -0
  203. package/.agents/skills/mobile-ios-design/references/ios-navigation.md +556 -0
  204. package/.agents/skills/mobile-ios-design/references/swiftui-components.md +575 -0
  205. package/.agents/skills/neon-drizzle/SKILL.md +81 -0
  206. package/.agents/skills/neon-drizzle/guides/existing-project.md +398 -0
  207. package/.agents/skills/neon-drizzle/guides/new-project.md +312 -0
  208. package/.agents/skills/neon-drizzle/guides/schema-only.md +415 -0
  209. package/.agents/skills/neon-drizzle/guides/troubleshooting.md +539 -0
  210. package/.agents/skills/neon-drizzle/references/adapters.md +478 -0
  211. package/.agents/skills/neon-drizzle/references/migrations.md +652 -0
  212. package/.agents/skills/neon-drizzle/references/query-patterns.md +761 -0
  213. package/.agents/skills/neon-drizzle/scripts/generate-schema.ts +77 -0
  214. package/.agents/skills/neon-drizzle/scripts/run-migration.ts +133 -0
  215. package/.agents/skills/neon-drizzle/templates/db-http.ts +6 -0
  216. package/.agents/skills/neon-drizzle/templates/db-websocket.ts +24 -0
  217. package/.agents/skills/neon-drizzle/templates/drizzle-config.ts +96 -0
  218. package/.agents/skills/neon-drizzle/templates/schema-example.ts +231 -0
  219. package/.agents/skills/neon-postgres/SKILL.md +376 -0
  220. package/.agents/skills/next-best-practices/SKILL.md +152 -0
  221. package/.agents/skills/next-best-practices/async-patterns.md +87 -0
  222. package/.agents/skills/next-best-practices/bundling.md +180 -0
  223. package/.agents/skills/next-best-practices/data-patterns.md +297 -0
  224. package/.agents/skills/next-best-practices/debug-tricks.md +105 -0
  225. package/.agents/skills/next-best-practices/directives.md +73 -0
  226. package/.agents/skills/next-best-practices/error-handling.md +227 -0
  227. package/.agents/skills/next-best-practices/file-conventions.md +140 -0
  228. package/.agents/skills/next-best-practices/font.md +245 -0
  229. package/.agents/skills/next-best-practices/functions.md +108 -0
  230. package/.agents/skills/next-best-practices/hydration-error.md +91 -0
  231. package/.agents/skills/next-best-practices/image.md +173 -0
  232. package/.agents/skills/next-best-practices/metadata.md +301 -0
  233. package/.agents/skills/next-best-practices/parallel-routes.md +287 -0
  234. package/.agents/skills/next-best-practices/route-handlers.md +146 -0
  235. package/.agents/skills/next-best-practices/rsc-boundaries.md +159 -0
  236. package/.agents/skills/next-best-practices/runtime-selection.md +39 -0
  237. package/.agents/skills/next-best-practices/scripts.md +141 -0
  238. package/.agents/skills/next-best-practices/self-hosting.md +371 -0
  239. package/.agents/skills/next-best-practices/suspense-boundaries.md +67 -0
  240. package/.agents/skills/playwright-best-practices/SKILL.md +303 -0
  241. package/.agents/skills/playwright-cli/SKILL.md +404 -0
  242. package/.agents/skills/playwright-cli/references/element-attributes.md +23 -0
  243. package/.agents/skills/playwright-cli/references/playwright-tests.md +39 -0
  244. package/.agents/skills/playwright-cli/references/request-mocking.md +87 -0
  245. package/.agents/skills/playwright-cli/references/running-code.md +241 -0
  246. package/.agents/skills/playwright-cli/references/session-management.md +225 -0
  247. package/.agents/skills/playwright-cli/references/spec-driven-testing.md +305 -0
  248. package/.agents/skills/playwright-cli/references/storage-state.md +275 -0
  249. package/.agents/skills/playwright-cli/references/test-generation.md +134 -0
  250. package/.agents/skills/playwright-cli/references/tracing.md +139 -0
  251. package/.agents/skills/playwright-cli/references/video-recording.md +143 -0
  252. package/.agents/skills/prisma-client-api/SKILL.md +216 -0
  253. package/.agents/skills/prisma-client-api/references/client-methods.md +223 -0
  254. package/.agents/skills/prisma-client-api/references/constructor.md +208 -0
  255. package/.agents/skills/prisma-client-api/references/filters.md +256 -0
  256. package/.agents/skills/prisma-client-api/references/model-queries.md +281 -0
  257. package/.agents/skills/prisma-client-api/references/query-options.md +276 -0
  258. package/.agents/skills/prisma-client-api/references/raw-queries.md +194 -0
  259. package/.agents/skills/prisma-client-api/references/relations.md +308 -0
  260. package/.agents/skills/prisma-client-api/references/transactions.md +184 -0
  261. package/.agents/skills/prisma-database-setup/SKILL.md +192 -0
  262. package/.agents/skills/prisma-database-setup/references/cockroachdb.md +89 -0
  263. package/.agents/skills/prisma-database-setup/references/mongodb.md +90 -0
  264. package/.agents/skills/prisma-database-setup/references/mysql.md +126 -0
  265. package/.agents/skills/prisma-database-setup/references/postgresql.md +92 -0
  266. package/.agents/skills/prisma-database-setup/references/prisma-client-setup.md +47 -0
  267. package/.agents/skills/prisma-database-setup/references/prisma-postgres.md +130 -0
  268. package/.agents/skills/prisma-database-setup/references/sqlite.md +106 -0
  269. package/.agents/skills/prisma-database-setup/references/sqlserver.md +94 -0
  270. package/.agents/skills/prisma-postgres/SKILL.md +127 -0
  271. package/.agents/skills/prisma-postgres/references/console-and-connections.md +67 -0
  272. package/.agents/skills/prisma-postgres/references/create-db-cli.md +136 -0
  273. package/.agents/skills/prisma-postgres/references/management-api-sdk.md +56 -0
  274. package/.agents/skills/prisma-postgres/references/management-api.md +61 -0
  275. package/.agents/skills/remotion-best-practices/SKILL.md +340 -0
  276. package/.agents/skills/remotion-best-practices/rules/3d.md +86 -0
  277. package/.agents/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  278. package/.agents/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  279. package/.agents/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  280. package/.agents/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
  281. package/.agents/skills/remotion-best-practices/rules/audio.md +169 -0
  282. package/.agents/skills/remotion-best-practices/rules/calculate-metadata.md +134 -0
  283. package/.agents/skills/remotion-best-practices/rules/compositions.md +133 -0
  284. package/.agents/skills/remotion-best-practices/rules/display-captions.md +184 -0
  285. package/.agents/skills/remotion-best-practices/rules/ffmpeg.md +34 -0
  286. package/.agents/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  287. package/.agents/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  288. package/.agents/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
  289. package/.agents/skills/remotion-best-practices/rules/gifs.md +141 -0
  290. package/.agents/skills/remotion-best-practices/rules/google-fonts.md +72 -0
  291. package/.agents/skills/remotion-best-practices/rules/html-in-canvas.md +122 -0
  292. package/.agents/skills/remotion-best-practices/rules/images.md +71 -0
  293. package/.agents/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  294. package/.agents/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  295. package/.agents/skills/remotion-best-practices/rules/local-fonts.md +65 -0
  296. package/.agents/skills/remotion-best-practices/rules/lottie.md +70 -0
  297. package/.agents/skills/remotion-best-practices/rules/maplibre.md +458 -0
  298. package/.agents/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  299. package/.agents/skills/remotion-best-practices/rules/measuring-text.md +140 -0
  300. package/.agents/skills/remotion-best-practices/rules/parameters.md +109 -0
  301. package/.agents/skills/remotion-best-practices/rules/sequencing.md +144 -0
  302. package/.agents/skills/remotion-best-practices/rules/sfx.md +30 -0
  303. package/.agents/skills/remotion-best-practices/rules/silence-detection.md +71 -0
  304. package/.agents/skills/remotion-best-practices/rules/subtitles.md +36 -0
  305. package/.agents/skills/remotion-best-practices/rules/tailwind.md +11 -0
  306. package/.agents/skills/remotion-best-practices/rules/text-animations.md +20 -0
  307. package/.agents/skills/remotion-best-practices/rules/timing.md +136 -0
  308. package/.agents/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  309. package/.agents/skills/remotion-best-practices/rules/transitions.md +197 -0
  310. package/.agents/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  311. package/.agents/skills/remotion-best-practices/rules/trimming.md +51 -0
  312. package/.agents/skills/remotion-best-practices/rules/videos.md +171 -0
  313. package/.agents/skills/remotion-best-practices/rules/voiceover.md +99 -0
  314. package/.agents/skills/remotion-render/SKILL.md +212 -0
  315. package/.agents/skills/skill-creator/LICENSE.txt +202 -0
  316. package/.agents/skills/skill-creator/SKILL.md +485 -0
  317. package/.agents/skills/skill-creator/agents/analyzer.md +274 -0
  318. package/.agents/skills/skill-creator/agents/comparator.md +202 -0
  319. package/.agents/skills/skill-creator/agents/grader.md +223 -0
  320. package/.agents/skills/skill-creator/assets/eval_review.html +146 -0
  321. package/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  322. package/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  323. package/.agents/skills/skill-creator/references/schemas.md +430 -0
  324. package/.agents/skills/skill-creator/scripts/__init__.py +0 -0
  325. package/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  326. package/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
  327. package/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
  328. package/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
  329. package/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
  330. package/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
  331. package/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
  332. package/.agents/skills/skill-creator/scripts/utils.py +47 -0
  333. package/.agents/skills/stripe-best-practices/SKILL.md +54 -0
  334. package/.agents/skills/stripe-best-practices/references/billing.md +58 -0
  335. package/.agents/skills/stripe-best-practices/references/connect.md +173 -0
  336. package/.agents/skills/stripe-best-practices/references/payments.md +79 -0
  337. package/.agents/skills/stripe-best-practices/references/security.md +109 -0
  338. package/.agents/skills/stripe-best-practices/references/tax.md +37 -0
  339. package/.agents/skills/stripe-best-practices/references/treasury.md +16 -0
  340. package/.agents/skills/stripe-projects/SKILL.md +132 -0
  341. package/.agents/skills/supabase/CHANGELOG.md +35 -0
  342. package/.agents/skills/supabase/SKILL.md +135 -0
  343. package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
  344. package/.agents/skills/supabase/references/skill-feedback.md +17 -0
  345. package/.agents/skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  346. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
  347. package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  348. package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  349. package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
  350. package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  351. package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  352. package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  353. package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  354. package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  355. package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  356. package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  357. package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  358. package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  359. package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  360. package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  361. package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  362. package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  363. package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  364. package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  365. package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  366. package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  367. package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  368. package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  369. package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  370. package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  371. package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  372. package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  373. package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  374. package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  375. package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  376. package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  377. package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  378. package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  379. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  380. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  381. package/.agents/skills/supermemory/LICENSE +201 -0
  382. package/.agents/skills/supermemory/README.md +221 -0
  383. package/.agents/skills/supermemory/SKILL.md +172 -0
  384. package/.agents/skills/supermemory/references/api-reference.md +591 -0
  385. package/.agents/skills/supermemory/references/architecture.md +557 -0
  386. package/.agents/skills/supermemory/references/quickstart.md +293 -0
  387. package/.agents/skills/supermemory/references/sdk-guide.md +655 -0
  388. package/.agents/skills/supermemory/references/use-cases.md +1033 -0
  389. package/.agents/skills/supermemory-cli/SKILL.md +490 -0
  390. package/.agents/skills/tdd/SKILL.md +108 -0
  391. package/.agents/skills/tdd/mocking.md +59 -0
  392. package/.agents/skills/tdd/refactoring.md +10 -0
  393. package/.agents/skills/tdd/tests.md +61 -0
  394. package/.agents/skills/ui-ux-pro-max/SKILL.md +661 -0
  395. package/.agents/skills/ui-ux-pro-max/data +1 -0
  396. package/.agents/skills/ui-ux-pro-max/scripts +1 -0
  397. package/.agents/skills/vercel-react-native-skills/AGENTS.md +2897 -0
  398. package/.agents/skills/vercel-react-native-skills/README.md +165 -0
  399. package/.agents/skills/vercel-react-native-skills/SKILL.md +121 -0
  400. package/.agents/skills/vercel-react-native-skills/metadata.json +16 -0
  401. package/.agents/skills/vercel-react-native-skills/rules/_sections.md +86 -0
  402. package/.agents/skills/vercel-react-native-skills/rules/_template.md +28 -0
  403. package/.agents/skills/vercel-react-native-skills/rules/animation-derived-value.md +53 -0
  404. package/.agents/skills/vercel-react-native-skills/rules/animation-gesture-detector-press.md +95 -0
  405. package/.agents/skills/vercel-react-native-skills/rules/animation-gpu-properties.md +65 -0
  406. package/.agents/skills/vercel-react-native-skills/rules/design-system-compound-components.md +66 -0
  407. package/.agents/skills/vercel-react-native-skills/rules/fonts-config-plugin.md +71 -0
  408. package/.agents/skills/vercel-react-native-skills/rules/imports-design-system-folder.md +68 -0
  409. package/.agents/skills/vercel-react-native-skills/rules/js-hoist-intl.md +61 -0
  410. package/.agents/skills/vercel-react-native-skills/rules/list-performance-callbacks.md +44 -0
  411. package/.agents/skills/vercel-react-native-skills/rules/list-performance-function-references.md +132 -0
  412. package/.agents/skills/vercel-react-native-skills/rules/list-performance-images.md +53 -0
  413. package/.agents/skills/vercel-react-native-skills/rules/list-performance-inline-objects.md +97 -0
  414. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-expensive.md +94 -0
  415. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-memo.md +82 -0
  416. package/.agents/skills/vercel-react-native-skills/rules/list-performance-item-types.md +104 -0
  417. package/.agents/skills/vercel-react-native-skills/rules/list-performance-virtualize.md +67 -0
  418. package/.agents/skills/vercel-react-native-skills/rules/monorepo-native-deps-in-app.md +46 -0
  419. package/.agents/skills/vercel-react-native-skills/rules/monorepo-single-dependency-versions.md +63 -0
  420. package/.agents/skills/vercel-react-native-skills/rules/navigation-native-navigators.md +188 -0
  421. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-destructure-functions.md +50 -0
  422. package/.agents/skills/vercel-react-native-skills/rules/react-compiler-reanimated-shared-values.md +48 -0
  423. package/.agents/skills/vercel-react-native-skills/rules/react-state-dispatcher.md +91 -0
  424. package/.agents/skills/vercel-react-native-skills/rules/react-state-fallback.md +56 -0
  425. package/.agents/skills/vercel-react-native-skills/rules/react-state-minimize.md +65 -0
  426. package/.agents/skills/vercel-react-native-skills/rules/rendering-no-falsy-and.md +74 -0
  427. package/.agents/skills/vercel-react-native-skills/rules/rendering-text-in-text-component.md +36 -0
  428. package/.agents/skills/vercel-react-native-skills/rules/scroll-position-no-state.md +82 -0
  429. package/.agents/skills/vercel-react-native-skills/rules/state-ground-truth.md +80 -0
  430. package/.agents/skills/vercel-react-native-skills/rules/ui-expo-image.md +66 -0
  431. package/.agents/skills/vercel-react-native-skills/rules/ui-image-gallery.md +104 -0
  432. package/.agents/skills/vercel-react-native-skills/rules/ui-measure-views.md +78 -0
  433. package/.agents/skills/vercel-react-native-skills/rules/ui-menus.md +174 -0
  434. package/.agents/skills/vercel-react-native-skills/rules/ui-native-modals.md +77 -0
  435. package/.agents/skills/vercel-react-native-skills/rules/ui-pressable.md +61 -0
  436. package/.agents/skills/vercel-react-native-skills/rules/ui-safe-area-scroll.md +65 -0
  437. package/.agents/skills/vercel-react-native-skills/rules/ui-scrollview-content-inset.md +45 -0
  438. package/.agents/skills/vercel-react-native-skills/rules/ui-styling.md +87 -0
  439. package/.agents/skills/web-design-guidelines/SKILL.md +39 -0
  440. package/dist/cli/update.d.ts.map +1 -1
  441. package/dist/cli/update.js +19 -4
  442. package/dist/cli/update.js.map +1 -1
  443. package/dist/index.js +1 -1
  444. package/dist/tools/daytona-browser.tool.js +1 -1
  445. package/dist/tools/daytona-browser.tool.js.map +1 -1
  446. package/package.json +3 -2
@@ -0,0 +1,575 @@
1
+ # SwiftUI Component Library
2
+
3
+ ## Lists and Collections
4
+
5
+ ### Basic List
6
+
7
+ ```swift
8
+ struct ItemListView: View {
9
+ @State private var items: [Item] = []
10
+
11
+ var body: some View {
12
+ List {
13
+ ForEach(items) { item in
14
+ ItemRow(item: item)
15
+ }
16
+ .onDelete(perform: deleteItems)
17
+ .onMove(perform: moveItems)
18
+ }
19
+ .listStyle(.insetGrouped)
20
+ .refreshable {
21
+ await loadItems()
22
+ }
23
+ }
24
+
25
+ private func deleteItems(at offsets: IndexSet) {
26
+ items.remove(atOffsets: offsets)
27
+ }
28
+
29
+ private func moveItems(from source: IndexSet, to destination: Int) {
30
+ items.move(fromOffsets: source, toOffset: destination)
31
+ }
32
+ }
33
+ ```
34
+
35
+ ### Sectioned List
36
+
37
+ ```swift
38
+ struct SectionedListView: View {
39
+ let groupedItems: [String: [Item]]
40
+
41
+ var body: some View {
42
+ List {
43
+ ForEach(groupedItems.keys.sorted(), id: \.self) { key in
44
+ Section(header: Text(key)) {
45
+ ForEach(groupedItems[key] ?? []) { item in
46
+ ItemRow(item: item)
47
+ }
48
+ }
49
+ }
50
+ }
51
+ .listStyle(.sidebar)
52
+ }
53
+ }
54
+ ```
55
+
56
+ ### Search Integration
57
+
58
+ ```swift
59
+ struct SearchableListView: View {
60
+ @State private var searchText = ""
61
+ @State private var items: [Item] = []
62
+
63
+ var filteredItems: [Item] {
64
+ if searchText.isEmpty {
65
+ return items
66
+ }
67
+ return items.filter { $0.name.localizedCaseInsensitiveContains(searchText) }
68
+ }
69
+
70
+ var body: some View {
71
+ NavigationStack {
72
+ List(filteredItems) { item in
73
+ ItemRow(item: item)
74
+ }
75
+ .searchable(text: $searchText, prompt: "Search items")
76
+ .searchSuggestions {
77
+ ForEach(searchSuggestions, id: \.self) { suggestion in
78
+ Text(suggestion)
79
+ .searchCompletion(suggestion)
80
+ }
81
+ }
82
+ .navigationTitle("Items")
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ ## Forms and Input
89
+
90
+ ### Settings Form
91
+
92
+ ```swift
93
+ struct SettingsView: View {
94
+ @AppStorage("notifications") private var notificationsEnabled = true
95
+ @AppStorage("soundEnabled") private var soundEnabled = true
96
+ @State private var selectedTheme = Theme.system
97
+ @State private var username = ""
98
+
99
+ var body: some View {
100
+ Form {
101
+ Section("Account") {
102
+ TextField("Username", text: $username)
103
+ .textContentType(.username)
104
+ .autocorrectionDisabled()
105
+ }
106
+
107
+ Section("Preferences") {
108
+ Toggle("Enable Notifications", isOn: $notificationsEnabled)
109
+ Toggle("Sound Effects", isOn: $soundEnabled)
110
+
111
+ Picker("Theme", selection: $selectedTheme) {
112
+ ForEach(Theme.allCases) { theme in
113
+ Text(theme.rawValue).tag(theme)
114
+ }
115
+ }
116
+ }
117
+
118
+ Section("About") {
119
+ LabeledContent("Version", value: "1.0.0")
120
+
121
+ Link(destination: URL(string: "https://example.com/privacy")!) {
122
+ Text("Privacy Policy")
123
+ }
124
+ }
125
+ }
126
+ .navigationTitle("Settings")
127
+ }
128
+ }
129
+ ```
130
+
131
+ ### Custom Input Fields
132
+
133
+ ```swift
134
+ struct ValidatedTextField: View {
135
+ let title: String
136
+ @Binding var text: String
137
+ let validation: (String) -> Bool
138
+
139
+ @State private var isValid = true
140
+ @FocusState private var isFocused: Bool
141
+
142
+ var body: some View {
143
+ VStack(alignment: .leading, spacing: 4) {
144
+ Text(title)
145
+ .font(.caption)
146
+ .foregroundStyle(.secondary)
147
+
148
+ TextField(title, text: $text)
149
+ .textFieldStyle(.roundedBorder)
150
+ .focused($isFocused)
151
+ .overlay(
152
+ RoundedRectangle(cornerRadius: 8)
153
+ .stroke(borderColor, lineWidth: 1)
154
+ )
155
+ .onChange(of: text) { _, newValue in
156
+ isValid = validation(newValue)
157
+ }
158
+
159
+ if !isValid && !text.isEmpty {
160
+ Text("Invalid input")
161
+ .font(.caption)
162
+ .foregroundStyle(.red)
163
+ }
164
+ }
165
+ }
166
+
167
+ private var borderColor: Color {
168
+ if isFocused {
169
+ return isValid ? .blue : .red
170
+ }
171
+ return .clear
172
+ }
173
+ }
174
+ ```
175
+
176
+ ## Buttons and Actions
177
+
178
+ ### Button Styles
179
+
180
+ ```swift
181
+ // Primary filled button
182
+ Button("Continue") {
183
+ // action
184
+ }
185
+ .buttonStyle(.borderedProminent)
186
+ .controlSize(.large)
187
+
188
+ // Secondary button
189
+ Button("Cancel") {
190
+ // action
191
+ }
192
+ .buttonStyle(.bordered)
193
+
194
+ // Destructive button
195
+ Button("Delete", role: .destructive) {
196
+ // action
197
+ }
198
+ .buttonStyle(.bordered)
199
+
200
+ // Custom button style
201
+ struct ScaleButtonStyle: ButtonStyle {
202
+ func makeBody(configuration: Configuration) -> some View {
203
+ configuration.label
204
+ .scaleEffect(configuration.isPressed ? 0.95 : 1.0)
205
+ .animation(.easeInOut(duration: 0.1), value: configuration.isPressed)
206
+ }
207
+ }
208
+ ```
209
+
210
+ ### Menu and Context Menu
211
+
212
+ ```swift
213
+ // Menu button
214
+ Menu {
215
+ Button("Edit", systemImage: "pencil") { }
216
+ Button("Duplicate", systemImage: "doc.on.doc") { }
217
+ Divider()
218
+ Button("Delete", systemImage: "trash", role: .destructive) { }
219
+ } label: {
220
+ Image(systemName: "ellipsis.circle")
221
+ }
222
+
223
+ // Context menu on any view
224
+ Text("Long press me")
225
+ .contextMenu {
226
+ Button("Copy", systemImage: "doc.on.doc") { }
227
+ Button("Share", systemImage: "square.and.arrow.up") { }
228
+ } preview: {
229
+ ItemPreviewView()
230
+ }
231
+ ```
232
+
233
+ ## Sheets and Modals
234
+
235
+ ### Sheet Presentation
236
+
237
+ ```swift
238
+ struct ParentView: View {
239
+ @State private var showSettings = false
240
+ @State private var selectedItem: Item?
241
+
242
+ var body: some View {
243
+ VStack {
244
+ Button("Settings") {
245
+ showSettings = true
246
+ }
247
+ }
248
+ .sheet(isPresented: $showSettings) {
249
+ SettingsSheet()
250
+ .presentationDetents([.medium, .large])
251
+ .presentationDragIndicator(.visible)
252
+ }
253
+ .sheet(item: $selectedItem) { item in
254
+ ItemDetailSheet(item: item)
255
+ .presentationDetents([.height(300), .large])
256
+ .presentationCornerRadius(24)
257
+ }
258
+ }
259
+ }
260
+
261
+ struct SettingsSheet: View {
262
+ @Environment(\.dismiss) private var dismiss
263
+
264
+ var body: some View {
265
+ NavigationStack {
266
+ SettingsContent()
267
+ .toolbar {
268
+ ToolbarItem(placement: .confirmationAction) {
269
+ Button("Done") {
270
+ dismiss()
271
+ }
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+ ```
278
+
279
+ ### Confirmation Dialog
280
+
281
+ ```swift
282
+ struct DeleteConfirmationView: View {
283
+ @State private var showConfirmation = false
284
+
285
+ var body: some View {
286
+ Button("Delete Account", role: .destructive) {
287
+ showConfirmation = true
288
+ }
289
+ .confirmationDialog(
290
+ "Delete Account",
291
+ isPresented: $showConfirmation,
292
+ titleVisibility: .visible
293
+ ) {
294
+ Button("Delete", role: .destructive) {
295
+ deleteAccount()
296
+ }
297
+ Button("Cancel", role: .cancel) { }
298
+ } message: {
299
+ Text("This action cannot be undone.")
300
+ }
301
+ }
302
+ }
303
+ ```
304
+
305
+ ## Loading and Progress
306
+
307
+ ### Progress Indicators
308
+
309
+ ```swift
310
+ // Indeterminate spinner
311
+ ProgressView()
312
+ .progressViewStyle(.circular)
313
+
314
+ // Determinate progress
315
+ ProgressView(value: downloadProgress, total: 1.0) {
316
+ Text("Downloading...")
317
+ } currentValueLabel: {
318
+ Text("\(Int(downloadProgress * 100))%")
319
+ }
320
+
321
+ // Custom loading view
322
+ struct LoadingOverlay: View {
323
+ let message: String
324
+
325
+ var body: some View {
326
+ ZStack {
327
+ Color.black.opacity(0.4)
328
+ .ignoresSafeArea()
329
+
330
+ VStack(spacing: 16) {
331
+ ProgressView()
332
+ .scaleEffect(1.5)
333
+ .tint(.white)
334
+
335
+ Text(message)
336
+ .font(.subheadline)
337
+ .foregroundStyle(.white)
338
+ }
339
+ .padding(24)
340
+ .background(.ultraThinMaterial, in: RoundedRectangle(cornerRadius: 16))
341
+ }
342
+ }
343
+ }
344
+ ```
345
+
346
+ ### Skeleton Loading
347
+
348
+ ```swift
349
+ struct SkeletonRow: View {
350
+ @State private var isAnimating = false
351
+
352
+ var body: some View {
353
+ HStack(spacing: 12) {
354
+ Circle()
355
+ .fill(.gray.opacity(0.3))
356
+ .frame(width: 44, height: 44)
357
+
358
+ VStack(alignment: .leading, spacing: 8) {
359
+ RoundedRectangle(cornerRadius: 4)
360
+ .fill(.gray.opacity(0.3))
361
+ .frame(height: 14)
362
+ .frame(maxWidth: 200)
363
+
364
+ RoundedRectangle(cornerRadius: 4)
365
+ .fill(.gray.opacity(0.2))
366
+ .frame(height: 12)
367
+ .frame(maxWidth: 150)
368
+ }
369
+ }
370
+ .opacity(isAnimating ? 0.5 : 1.0)
371
+ .animation(.easeInOut(duration: 0.8).repeatForever(), value: isAnimating)
372
+ .onAppear { isAnimating = true }
373
+ }
374
+ }
375
+ ```
376
+
377
+ ## Async Content Loading
378
+
379
+ ### AsyncImage
380
+
381
+ ```swift
382
+ AsyncImage(url: imageURL) { phase in
383
+ switch phase {
384
+ case .empty:
385
+ ProgressView()
386
+ case .success(let image):
387
+ image
388
+ .resizable()
389
+ .aspectRatio(contentMode: .fill)
390
+ case .failure:
391
+ Image(systemName: "photo")
392
+ .foregroundStyle(.secondary)
393
+ @unknown default:
394
+ EmptyView()
395
+ }
396
+ }
397
+ .frame(width: 100, height: 100)
398
+ .clipShape(RoundedRectangle(cornerRadius: 8))
399
+ ```
400
+
401
+ ### Task-Based Loading
402
+
403
+ ```swift
404
+ struct AsyncContentView: View {
405
+ @State private var items: [Item] = []
406
+ @State private var isLoading = true
407
+ @State private var error: Error?
408
+
409
+ var body: some View {
410
+ Group {
411
+ if isLoading {
412
+ ProgressView("Loading...")
413
+ } else if let error {
414
+ ContentUnavailableView(
415
+ "Failed to Load",
416
+ systemImage: "exclamationmark.triangle",
417
+ description: Text(error.localizedDescription)
418
+ )
419
+ } else if items.isEmpty {
420
+ ContentUnavailableView(
421
+ "No Items",
422
+ systemImage: "tray",
423
+ description: Text("Add your first item to get started.")
424
+ )
425
+ } else {
426
+ List(items) { item in
427
+ ItemRow(item: item)
428
+ }
429
+ }
430
+ }
431
+ .task {
432
+ await loadItems()
433
+ }
434
+ }
435
+
436
+ private func loadItems() async {
437
+ do {
438
+ items = try await api.fetchItems()
439
+ isLoading = false
440
+ } catch {
441
+ self.error = error
442
+ isLoading = false
443
+ }
444
+ }
445
+ }
446
+ ```
447
+
448
+ ## Animations
449
+
450
+ ### Implicit Animations
451
+
452
+ ```swift
453
+ struct AnimatedCard: View {
454
+ @State private var isExpanded = false
455
+
456
+ var body: some View {
457
+ VStack {
458
+ Text("Tap to expand")
459
+
460
+ if isExpanded {
461
+ Text("Additional content here")
462
+ .transition(.move(edge: .top).combined(with: .opacity))
463
+ }
464
+ }
465
+ .padding()
466
+ .frame(maxWidth: .infinity)
467
+ .background(.blue.opacity(0.1), in: RoundedRectangle(cornerRadius: 12))
468
+ .onTapGesture {
469
+ withAnimation(.spring(response: 0.3, dampingFraction: 0.7)) {
470
+ isExpanded.toggle()
471
+ }
472
+ }
473
+ }
474
+ }
475
+ ```
476
+
477
+ ### Custom Transitions
478
+
479
+ ```swift
480
+ extension AnyTransition {
481
+ static var slideAndFade: AnyTransition {
482
+ .asymmetric(
483
+ insertion: .move(edge: .trailing).combined(with: .opacity),
484
+ removal: .move(edge: .leading).combined(with: .opacity)
485
+ )
486
+ }
487
+
488
+ static var scaleAndFade: AnyTransition {
489
+ .scale(scale: 0.8).combined(with: .opacity)
490
+ }
491
+ }
492
+ ```
493
+
494
+ ### Phase Animator (iOS 17+)
495
+
496
+ ```swift
497
+ struct PulsingButton: View {
498
+ var body: some View {
499
+ Button("Tap Me") { }
500
+ .buttonStyle(.borderedProminent)
501
+ .phaseAnimator([false, true]) { content, phase in
502
+ content
503
+ .scaleEffect(phase ? 1.05 : 1.0)
504
+ } animation: { _ in
505
+ .easeInOut(duration: 0.5)
506
+ }
507
+ }
508
+ }
509
+ ```
510
+
511
+ ## Gestures
512
+
513
+ ### Drag Gesture
514
+
515
+ ```swift
516
+ struct DraggableCard: View {
517
+ @State private var offset = CGSize.zero
518
+ @State private var isDragging = false
519
+
520
+ var body: some View {
521
+ RoundedRectangle(cornerRadius: 16)
522
+ .fill(.blue)
523
+ .frame(width: 200, height: 150)
524
+ .offset(offset)
525
+ .scaleEffect(isDragging ? 1.05 : 1.0)
526
+ .gesture(
527
+ DragGesture()
528
+ .onChanged { value in
529
+ offset = value.translation
530
+ isDragging = true
531
+ }
532
+ .onEnded { _ in
533
+ withAnimation(.spring()) {
534
+ offset = .zero
535
+ isDragging = false
536
+ }
537
+ }
538
+ )
539
+ }
540
+ }
541
+ ```
542
+
543
+ ### Simultaneous Gestures
544
+
545
+ ```swift
546
+ struct ZoomableImage: View {
547
+ @State private var scale: CGFloat = 1.0
548
+ @State private var lastScale: CGFloat = 1.0
549
+
550
+ var body: some View {
551
+ Image("photo")
552
+ .resizable()
553
+ .aspectRatio(contentMode: .fit)
554
+ .scaleEffect(scale)
555
+ .gesture(
556
+ MagnificationGesture()
557
+ .onChanged { value in
558
+ scale = lastScale * value
559
+ }
560
+ .onEnded { _ in
561
+ lastScale = scale
562
+ }
563
+ )
564
+ .gesture(
565
+ TapGesture(count: 2)
566
+ .onEnded {
567
+ withAnimation {
568
+ scale = 1.0
569
+ lastScale = 1.0
570
+ }
571
+ }
572
+ )
573
+ }
574
+ }
575
+ ```
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: neon-drizzle
3
+ description: Creates a fully functional Drizzle ORM setup with a provisioned Neon database. Installs dependencies, provisions database credentials, configures connections, generates schemas, and runs migrations. Results in working code that can immediately connect to and query the database. Use when creating new projects with Drizzle, adding ORM to existing applications, or modifying database schemas.
4
+ allowed-tools: ["bash", "write", "read_file"]
5
+ ---
6
+
7
+ # Neon Drizzle Integration
8
+
9
+ Comprehensive Drizzle ORM setup for Neon databases with guided workflows.
10
+
11
+ ## When to Use This Skill
12
+
13
+ - Setting up Drizzle in a new project (Next.js, Vite, Express, etc.)
14
+ - Integrating Drizzle into an existing application
15
+ - Creating or modifying database schemas
16
+ - Troubleshooting migration issues
17
+
18
+ ## Code Generation Rules
19
+
20
+ When generating TypeScript/JavaScript code:
21
+ - BEFORE generating import statements, check tsconfig.json for path aliases (compilerOptions.paths)
22
+ - If path aliases exist (e.g., "@/*": ["./src/*"]), use them (e.g., import { x } from '@/lib/utils')
23
+ - If NO path aliases exist or unsure, ALWAYS use relative imports (e.g., import { x } from '../../../lib/utils')
24
+ - Verify imports match the project's configuration
25
+ - Default to relative imports - they always work regardless of configuration
26
+
27
+ ## Available Guides
28
+
29
+ Each guide is a complete, self-contained walkthrough with numbered phases:
30
+
31
+ - **`guides/new-project.md`** - Full setup from scratch (see: Table of Contents)
32
+ - **`guides/existing-project.md`** - Add Drizzle to running apps (see: Table of Contents)
33
+ - **`guides/schema-only.md`** - Schema creation and modification (see: Table of Contents)
34
+ - **`guides/troubleshooting.md`** - Debug common issues (organized by error type)
35
+
36
+ I'll automatically detect your context (package manager, framework, deployment target) and select the appropriate guide based on your request.
37
+
38
+ ## Quick Examples
39
+
40
+ Tell me what you're building - I'll handle the rest:
41
+
42
+ - "Setup Drizzle for my Next.js blog on Vercel" → Auto-detects Vercel + Next.js → HTTP adapter
43
+ - "Add Drizzle to my Express API" → Auto-detects Node.js server → WebSocket adapter
44
+ - "Create a users table with auth fields" → Loads schema guide → Generates schema
45
+
46
+ ## Reference Documentation
47
+
48
+ For deeper technical details (loaded on-demand):
49
+
50
+ - `references/adapters.md` - HTTP vs WebSocket decision guide
51
+ - `references/migrations.md` - Migration patterns and troubleshooting
52
+ - `references/query-patterns.md` - Example queries and best practices
53
+
54
+ ## Templates & Scripts
55
+
56
+ - `templates/schema-example.ts` - Multi-table schema with relations
57
+ - `templates/drizzle-config.ts` - Configuration examples
58
+ - `scripts/generate-schema.ts` - Automated migration generation
59
+ - `scripts/run-migration.ts` - Programmatic migration runner
60
+
61
+ ## Related Skills
62
+
63
+ - **neon-auth** - Add authentication
64
+ - **neon-js** - Full SDK with auth + PostgREST-style data API
65
+ - **neon-serverless** - Connection setup without ORM
66
+ - **neon-toolkit** - Ephemeral databases for testing
67
+ - **add-neon-docs** - Add Neon best practices to your project (run after setup)
68
+
69
+ ---
70
+
71
+ ## Workflow
72
+
73
+ I will:
74
+ 1. Detect your project context automatically
75
+ 2. Select and load the appropriate guide
76
+ 3. Follow the guide's phases sequentially
77
+ 4. Track progress using the guide's workflow checklist
78
+ 5. Load reference files only when needed
79
+ 6. Offer to add Neon best practices to your project docs
80
+
81
+ Ready to get started? Just describe what you're building!