zilmate 1.7.8 → 1.8.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 (441) 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/index.js +1 -1
  441. package/package.json +2 -1
@@ -0,0 +1,148 @@
1
+ ---
2
+ title: Tool Modifiers
3
+ impact: MEDIUM
4
+ description: Advanced patterns for customizing tool behavior with schema modifications and execution hooks
5
+ tags: [modifiers, hooks, customization, schema, execution]
6
+ ---
7
+
8
+ # Tool Modifiers
9
+
10
+ Modifiers customize tool behavior through schema transformations, pre-execution hooks, and post-execution hooks.
11
+
12
+ ## Schema Modification
13
+
14
+ Customize tool descriptions or parameters at fetch time:
15
+
16
+ ```typescript
17
+ const tools = await composio.tools.get(
18
+ 'default',
19
+ { toolkits: ['github'] },
20
+ {
21
+ modifySchema: ({ toolSlug, toolkitSlug, schema }) => {
22
+ // Enhance descriptions for AI
23
+ schema.description = `[Enhanced] ${schema.description}`;
24
+
25
+ // Customize specific parameters
26
+ if (toolSlug === 'GITHUB_GET_REPO') {
27
+ schema.inputParameters.properties.owner.description =
28
+ 'GitHub organization or user name (e.g., "composio")';
29
+ }
30
+
31
+ return schema;
32
+ },
33
+ }
34
+ );
35
+ ```
36
+
37
+ ## Pre-Execution Hooks (beforeExecute)
38
+
39
+ Modify parameters before execution:
40
+
41
+ ```typescript
42
+ const result = await composio.tools.execute(
43
+ 'GITHUB_GET_REPO',
44
+ {
45
+ userId: 'default',
46
+ arguments: { owner: 'Composio', repo: 'sdk' },
47
+ },
48
+ {
49
+ beforeExecute: ({ toolSlug, params }) => {
50
+ // Normalize inputs
51
+ params.arguments.owner = params.arguments.owner.toLowerCase();
52
+
53
+ // Add defaults
54
+ params.arguments.branch = params.arguments.branch || 'main';
55
+
56
+ return params;
57
+ },
58
+ }
59
+ );
60
+ ```
61
+
62
+ **Common uses:**
63
+ - Parameter validation and normalization
64
+ - Adding default values
65
+ - Logging and tracing
66
+
67
+ ## Post-Execution Hooks (afterExecute)
68
+
69
+ Transform outputs after execution:
70
+
71
+ ```typescript
72
+ const result = await composio.tools.execute(
73
+ 'GITHUB_GET_REPO',
74
+ {
75
+ userId: 'default',
76
+ arguments: { owner: 'composio', repo: 'sdk' },
77
+ },
78
+ {
79
+ afterExecute: ({ result }) => {
80
+ if (result.successful) {
81
+ // Remove sensitive data
82
+ delete result.data.token;
83
+
84
+ // Add metadata
85
+ result.data.fetchedAt = new Date().toISOString();
86
+ }
87
+
88
+ return result;
89
+ },
90
+ }
91
+ );
92
+ ```
93
+
94
+ **Common uses:**
95
+ - Filtering sensitive data
96
+ - Data transformation and formatting
97
+ - Adding metadata
98
+
99
+ ## Common Patterns
100
+
101
+ ### Sensitive Data Filtering
102
+
103
+ ```typescript
104
+ const filterSensitive = ({ result }) => {
105
+ if (result.successful) {
106
+ ['token', 'secret', 'password', 'api_key'].forEach(field => {
107
+ delete result.data[field];
108
+ });
109
+ }
110
+ return result;
111
+ };
112
+ ```
113
+
114
+ ### Logging & Monitoring
115
+
116
+ ```typescript
117
+ const monitor = {
118
+ beforeExecute: ({ toolSlug, params }) => {
119
+ console.log(`[START] ${toolSlug}`, params.arguments);
120
+ return params;
121
+ },
122
+ afterExecute: ({ toolSlug, result }) => {
123
+ console.log(`[END] ${toolSlug} - Success: ${result.successful}`);
124
+ return result;
125
+ },
126
+ };
127
+ ```
128
+
129
+ ### Reusable Modifiers
130
+
131
+ ```typescript
132
+ const addTimestamps = ({ result }) => {
133
+ if (result.successful) result.data.executedAt = new Date().toISOString();
134
+ return result;
135
+ };
136
+
137
+ // Use in multiple executions
138
+ await composio.tools.execute('GITHUB_GET_REPO', { ... }, {
139
+ afterExecute: addTimestamps
140
+ });
141
+ ```
142
+
143
+ ## Key Points
144
+
145
+ - Schema modifiers apply at fetch time, execution modifiers at runtime
146
+ - Always return modified object (don't just mutate)
147
+ - Modifiers are synchronous - keep operations lightweight
148
+ - Must pass modifiers to each execute() call (not persisted)
@@ -0,0 +1,343 @@
1
+ ---
2
+ title: Tool Version Management
3
+ impact: HIGH
4
+ description: Critical strategies for version pinning to ensure workflow stability and prevent runtime errors in production
5
+ tags: [tools, versions, stability, production, pinning]
6
+ ---
7
+
8
+ # Tool Version Management
9
+
10
+ > **⚠️ CRITICAL:** Never assume or make up toolkit names or version numbers. Always verify before using:
11
+ > - Use `composio manage toolkits list` / `composio manage toolkits info "..."` to discover toolkits (CLI) or `composio.toolkits.get()` (SDK)
12
+ > - Use `composio manage toolkits info "..."` to view available versions (CLI) or `composio.toolkits.get('toolkit_name')` (SDK) or check the [dashboard](https://platform.composio.dev)
13
+ > - Using non-existent toolkit slugs or versions will cause runtime errors
14
+ >
15
+ > See [Composio CLI Reference](./composio-cli.md) for discovery commands.
16
+
17
+ Tool versions are critical for workflow stability. When manually executing tools, a specific version is **required** to prevent argument mismatches when tool schemas change.
18
+
19
+ ## Why Version Pinning Matters
20
+
21
+ - **Tool schemas evolve**: Tool argument schemas can change between versions
22
+ - **Prevent runtime errors**: Using `'latest'` in workflows causes errors when tools update
23
+ - **Workflow stability**: Pinned versions ensure predictable behavior
24
+ - **Production safety**: Version validation prevents schema mismatch issues
25
+
26
+ ## Three Version Management Strategies
27
+
28
+ ### Strategy 1: Explicit Version in Execute Call (Recommended for One-off Executions)
29
+
30
+ Specify the version directly in the execute call:
31
+
32
+ ```typescript
33
+ const result = await composio.tools.execute('GITHUB_GET_ISSUES', {
34
+ userId: 'default',
35
+ arguments: { owner: 'composio', repo: 'sdk' },
36
+ version: '12082025_00', // Explicit version for this tool
37
+ });
38
+ ```
39
+
40
+ **Pros:**
41
+ - Clear version visibility at execution point
42
+ - Different versions for different tools
43
+ - Easy to update individual tool versions
44
+
45
+ **Cons:**
46
+ - Repetitive if executing same tool multiple times
47
+ - Version scattered across codebase
48
+
49
+ **Use when:**
50
+ - One-off tool executions
51
+ - Testing different tool versions
52
+ - Tool versions need to differ within the same app
53
+
54
+ ### Strategy 2: Configure Toolkit Versions at Initialization (Recommended for Production)
55
+
56
+ Configure versions once at SDK initialization:
57
+
58
+ ```typescript
59
+ const composio = new Composio({
60
+ toolkitVersions: {
61
+ github: '12082025_00',
62
+ slack: '10082025_01',
63
+ gmail: '15082025_02'
64
+ }
65
+ });
66
+
67
+ // Execute without version parameter - uses pinned version from config
68
+ const result = await composio.tools.execute('GITHUB_GET_ISSUES', {
69
+ userId: 'default',
70
+ arguments: { owner: 'composio', repo: 'sdk' },
71
+ // Uses github: '12082025_00' from initialization
72
+ });
73
+ ```
74
+
75
+ **Pros:**
76
+ - Centralized version management
77
+ - Clean execution calls
78
+ - Easy to update all tools from a toolkit
79
+ - Best for production environments
80
+
81
+ **Cons:**
82
+ - All tools from a toolkit use the same version
83
+ - Requires initialization configuration
84
+
85
+ **Use when:**
86
+ - Building production applications
87
+ - Managing multiple tools from the same toolkit
88
+ - Want centralized version control
89
+
90
+ ### Strategy 3: dangerouslySkipVersionCheck (NOT Recommended for Production)
91
+
92
+ Bypass version validation entirely:
93
+
94
+ ```typescript
95
+ const result = await composio.tools.execute('GITHUB_GET_ISSUES', {
96
+ userId: 'default',
97
+ arguments: { owner: 'composio', repo: 'sdk' },
98
+ dangerouslySkipVersionCheck: true, // Uses 'latest' version
99
+ });
100
+ ```
101
+
102
+ **⚠️ Warning:** This bypasses version validation and uses `'latest'` version. Can lead to:
103
+ - Unexpected behavior when tool schemas change
104
+ - Argument mismatches in production
105
+ - Runtime errors when tools are updated
106
+ - Workflow breakage without notice
107
+
108
+ **Only use for:**
109
+ - Development and testing
110
+ - Prototyping
111
+ - When you explicitly want to test latest versions
112
+
113
+ **NEVER use in:**
114
+ - Production environments
115
+ - Critical workflows
116
+ - User-facing applications
117
+
118
+ ## Version Format
119
+
120
+ Versions follow the format: `DDMMYYYY_XX`
121
+
122
+ Examples:
123
+ - `12082025_00` - August 12, 2025, revision 00
124
+ - `10082025_01` - August 10, 2025, revision 01
125
+ - `15082025_02` - August 15, 2025, revision 02
126
+
127
+ ## Finding Available Versions
128
+
129
+ **⚠️ CRITICAL: Never assume or guess version numbers. Always verify that a version exists before using it.**
130
+
131
+ ### Method 1: Use SDK to List Available Versions
132
+
133
+ Fetch toolkit metadata to see all available versions:
134
+
135
+ ```typescript
136
+ // Get available versions for a specific toolkit
137
+ const toolkit = await composio.toolkits.get('github');
138
+ console.log('Available versions:', toolkit.versions);
139
+ console.log('Latest version:', toolkit.latestVersion);
140
+
141
+ // For Gmail
142
+ const gmailToolkit = await composio.toolkits.get('gmail');
143
+ console.log('Gmail versions:', gmailToolkit.versions);
144
+
145
+ // For Slack
146
+ const slackToolkit = await composio.toolkits.get('slack');
147
+ console.log('Slack versions:', slackToolkit.versions);
148
+ ```
149
+
150
+ ### Method 2: Check Dashboard
151
+
152
+ View versions and changelog on the [Composio dashboard](https://platform.composio.dev):
153
+ - Navigate to Toolkits section
154
+ - Select the specific toolkit (e.g., GitHub, Gmail, Slack)
155
+ - View available versions and their changes
156
+
157
+ ### How to Use Versions Correctly
158
+
159
+ Once you've found available versions, choose a specific version to test, then pin it in your configuration:
160
+
161
+ **Step 1: List available versions**
162
+ ```typescript
163
+ const githubToolkit = await composio.toolkits.get('github');
164
+ console.log('Available versions:', githubToolkit.versions);
165
+ // Example output: ['12082025_00', '10082025_01', '08082025_00']
166
+ ```
167
+
168
+ **Step 2: Choose and test a specific version**
169
+ ```typescript
170
+ // Test with a specific version from the list
171
+ const composio = new Composio({
172
+ toolkitVersions: {
173
+ github: '12082025_00', // Choose a specific version to test
174
+ }
175
+ });
176
+ ```
177
+
178
+ **Step 3: Pin the tested version in production**
179
+ ```typescript
180
+ // After testing, pin the version in your production config
181
+ const composio = new Composio({
182
+ toolkitVersions: {
183
+ github: '12082025_00', // Pinned version that you've tested
184
+ slack: '10082025_01', // Pinned version that you've tested
185
+ }
186
+ });
187
+ ```
188
+
189
+ ### Using Environment Variables
190
+
191
+ You can also set toolkit versions using environment variables:
192
+
193
+ ```bash
194
+ # Set specific versions for individual toolkits
195
+ export COMPOSIO_TOOLKIT_VERSION_GITHUB=12082025_00
196
+ export COMPOSIO_TOOLKIT_VERSION_SLACK=10082025_01
197
+ export COMPOSIO_TOOLKIT_VERSION_GMAIL=15082025_00
198
+ ```
199
+
200
+ Then initialize Composio without specifying `toolkitVersions`:
201
+
202
+ ```typescript
203
+ const composio = new Composio({
204
+ apiKey: 'your-api-key'
205
+ // Will automatically use environment variables
206
+ });
207
+ ```
208
+
209
+ ### IMPORTANT: Don't Auto-Use Latest Version
210
+
211
+ ❌ **DON'T DO THIS:**
212
+ ```typescript
213
+ // This defeats the purpose of version pinning!
214
+ const githubToolkit = await composio.toolkits.get('github');
215
+ const composio = new Composio({
216
+ toolkitVersions: {
217
+ github: githubToolkit.latestVersion, // Always uses latest - no pinning!
218
+ }
219
+ });
220
+
221
+ // Never use made-up version numbers either!
222
+ const composio = new Composio({
223
+ toolkitVersions: {
224
+ github: '01012025_00', // Random version - might not exist!
225
+ slack: '25122024_99', // Made up version - will fail!
226
+ }
227
+ });
228
+ ```
229
+
230
+ ✅ **DO THIS:**
231
+ ```typescript
232
+ // 1. List available versions to find valid options
233
+ const githubToolkit = await composio.toolkits.get('github');
234
+ console.log('Available versions:', githubToolkit.versions);
235
+
236
+ // 2. Choose and test a specific version from the list
237
+ // 3. Pin that tested version in your code or environment variables
238
+ const composio = new Composio({
239
+ toolkitVersions: {
240
+ github: '12082025_00', // Specific tested version
241
+ slack: '10082025_01', // Specific tested version
242
+ }
243
+ });
244
+ ```
245
+
246
+ **Why this matters:**
247
+ - Automatically using `latestVersion` means your app always uses the newest version, defeating the purpose of pinning
248
+ - Version pinning is about locking to a specific, tested version for stability
249
+ - When you're ready to upgrade, you explicitly choose and test a new version before deploying
250
+
251
+ ## Version Migration Strategy
252
+
253
+ When updating tool versions:
254
+
255
+ 1. **Test in development first**
256
+ ```typescript
257
+ // Dev environment
258
+ const devComposio = new Composio({
259
+ toolkitVersions: { github: '20082025_00' } // New version
260
+ });
261
+ ```
262
+
263
+ 2. **Validate schema changes**
264
+ ```typescript
265
+ const oldTool = await composio.tools.get('default', 'GITHUB_GET_ISSUES');
266
+ const newTool = await composio.tools.get('default', 'GITHUB_GET_ISSUES');
267
+ // Compare schemas before migrating
268
+ ```
269
+
270
+ 3. **Update gradually**
271
+ - Update one toolkit at a time
272
+ - Monitor for errors
273
+ - Roll back if issues occur
274
+
275
+ 4. **Update production**
276
+ ```typescript
277
+ // Production environment
278
+ const prodComposio = new Composio({
279
+ toolkitVersions: { github: '20082025_00' } // Deploy new version
280
+ });
281
+ ```
282
+
283
+ ## Best Practices
284
+
285
+ 1. **Always pin versions in production**: Never use `'latest'` or skip version checks
286
+ 2. **Use initialization-level config**: Centralize version management for maintainability
287
+ 3. **Document version choices**: Comment why specific versions are used
288
+ 4. **Test version updates**: Validate in dev before deploying to production
289
+ 5. **Monitor after updates**: Watch for errors after version changes
290
+ 6. **Keep versions consistent**: Use same version across environments when possible
291
+ 7. **Version control your config**: Track toolkit versions in your repository
292
+
293
+ ## Common Patterns
294
+
295
+ ### Environment-based version config
296
+
297
+ ```typescript
298
+ const toolkitVersions = {
299
+ development: {
300
+ github: '12082025_00',
301
+ slack: '10082025_01',
302
+ },
303
+ production: {
304
+ github: '10082025_00', // Older stable version
305
+ slack: '08082025_00',
306
+ }
307
+ };
308
+
309
+ const composio = new Composio({
310
+ toolkitVersions: toolkitVersions[process.env.NODE_ENV]
311
+ });
312
+ ```
313
+
314
+ ### Override version for specific execution
315
+
316
+ ```typescript
317
+ // Use global config version by default
318
+ const composio = new Composio({
319
+ toolkitVersions: { github: '12082025_00' }
320
+ });
321
+
322
+ // Override for specific execution
323
+ const result = await composio.tools.execute('GITHUB_GET_ISSUES', {
324
+ userId: 'default',
325
+ arguments: { owner: 'composio', repo: 'sdk' },
326
+ version: '15082025_00', // Override global version
327
+ });
328
+ ```
329
+
330
+ ### Version validation helper
331
+
332
+ ```typescript
333
+ function validateToolVersion(version: string): boolean {
334
+ // Check format: DDMMYYYY_XX
335
+ const versionRegex = /^\d{8}_\d{2}$/;
336
+ return versionRegex.test(version);
337
+ }
338
+
339
+ const version = '12082025_00';
340
+ if (!validateToolVersion(version)) {
341
+ throw new Error('Invalid version format');
342
+ }
343
+ ```
@@ -0,0 +1,184 @@
1
+ ---
2
+ title: Toolkit Management
3
+ impact: MEDIUM
4
+ description: Discover and query toolkits, categories, and authentication requirements for application integration
5
+ tags: [toolkits, discovery, metadata, categories, apps]
6
+ ---
7
+
8
+ # Toolkit Management
9
+
10
+ Toolkits are collections of related tools (GitHub, Gmail, Slack). Use the `toolkits` API to discover and query toolkit metadata.
11
+
12
+ **Important:** `toolkits.get()` returns an **array**, not an object with `.items`. Access directly: `toolkits[0]`, `toolkits.length`, etc.
13
+
14
+ ## Get Toolkit Metadata
15
+
16
+ ```typescript
17
+ // Get specific toolkit
18
+ const github = await composio.toolkits.get('github');
19
+ console.log(github.name); // GitHub
20
+ console.log(github.authConfigDetails); // Auth details
21
+ console.log(github.meta.toolsCount); // Number of tools
22
+ console.log(github.meta.triggersCount); // Number of triggers
23
+
24
+ // Get all toolkits
25
+ const all = await composio.toolkits.get();
26
+ console.log(all.length); // Number of toolkits
27
+ ```
28
+
29
+ **Toolkit properties:**
30
+ - `name`, `slug` - Display name and identifier
31
+ - `meta` - toolsCount, triggersCount, createdAt, updatedAt
32
+ - `authConfigDetails` - Available auth schemes and required fields
33
+ - `composioManagedAuthSchemes` - Composio-managed auth
34
+ - `baseUrl` - API base URL
35
+ - `getCurrentUserEndpoint` - User info endpoint
36
+
37
+ ## Query Parameters
38
+
39
+ All available filters for `toolkits.get()`:
40
+
41
+ ```typescript
42
+ const toolkits = await composio.toolkits.get({
43
+ category: 'developer-tools', // Filter by category ID
44
+ managedBy: 'composio', // 'all' | 'composio' | 'project'
45
+ sortBy: 'usage', // 'usage' | 'alphabetically'
46
+ limit: 10, // Results per page
47
+ cursor: 'next_page_cursor', // Pagination
48
+ });
49
+ ```
50
+
51
+ ### Examples
52
+
53
+ ```typescript
54
+ // Composio-managed only
55
+ const composio = await composio.toolkits.get({ managedBy: 'composio' });
56
+
57
+ // By category
58
+ const devTools = await composio.toolkits.get({ category: 'developer-tools' });
59
+
60
+ // Popular toolkits
61
+ const popular = await composio.toolkits.get({ sortBy: 'usage', limit: 10 });
62
+
63
+ // Paginated
64
+ const page1 = await composio.toolkits.get({ limit: 10 });
65
+ const page2 = await composio.toolkits.get({ limit: 10, cursor: page1Cursor });
66
+ ```
67
+
68
+ ## List Categories
69
+
70
+ ```typescript
71
+ const categories = await composio.toolkits.listCategories();
72
+ console.log(categories.items);
73
+ // [
74
+ // { id: 'developer-tools', name: 'Developer Tools' },
75
+ // { id: 'communication', name: 'Communication' },
76
+ // { id: 'productivity', name: 'Productivity' },
77
+ // ]
78
+ ```
79
+
80
+ ## Auth Requirements
81
+
82
+ ### Get Auth Config Creation Fields
83
+
84
+ Find fields needed to create custom auth config:
85
+
86
+ ```typescript
87
+ // All fields for GitHub OAuth2
88
+ const fields = await composio.toolkits.getAuthConfigCreationFields(
89
+ 'github',
90
+ 'OAUTH2'
91
+ );
92
+
93
+ // Only required fields
94
+ const required = await composio.toolkits.getAuthConfigCreationFields(
95
+ 'github',
96
+ 'OAUTH2',
97
+ { requiredOnly: true }
98
+ );
99
+
100
+ console.log(fields);
101
+ // [
102
+ // { name: 'client_id', displayName: 'Client ID', type: 'string', required: true },
103
+ // { name: 'client_secret', displayName: 'Client Secret', type: 'string', required: true },
104
+ // { name: 'scopes', displayName: 'Scopes', type: 'string', default: 'repo,user', required: false }
105
+ // ]
106
+ ```
107
+
108
+ ### Get Connected Account Initiation Fields
109
+
110
+ Find fields needed when calling `initiate()` with custom auth:
111
+
112
+ ```typescript
113
+ const fields = await composio.toolkits.getConnectedAccountInitiationFields(
114
+ 'zendesk',
115
+ 'OAUTH2'
116
+ );
117
+
118
+ // Only required fields
119
+ const required = await composio.toolkits.getConnectedAccountInitiationFields(
120
+ 'zendesk',
121
+ 'OAUTH2',
122
+ { requiredOnly: true }
123
+ );
124
+
125
+ console.log(fields);
126
+ // [
127
+ // { name: 'subdomain', displayName: 'Subdomain', type: 'string', required: true }
128
+ // ]
129
+ ```
130
+
131
+ **Use case:** Some services (Zendesk, PostHog) require extra parameters during OAuth. These fields tell you what's needed.
132
+
133
+ ## Common Patterns
134
+
135
+ ### Build Toolkit Selection UI
136
+
137
+ ```typescript
138
+ const toolkits = await composio.toolkits.get({
139
+ sortBy: 'alphabetically'
140
+ });
141
+
142
+ const toolkitOptions = toolkits.items.map(tk => ({
143
+ value: tk.slug,
144
+ label: tk.name,
145
+ toolCount: tk.meta.toolsCount,
146
+ authSchemes: tk.composioManagedAuthSchemes,
147
+ }));
148
+ ```
149
+
150
+ ### Check If OAuth Requires Extra Fields
151
+
152
+ ```typescript
153
+ async function needsExtraParams(toolkit: string, authScheme: string) {
154
+ const fields = await composio.toolkits.getConnectedAccountInitiationFields(
155
+ toolkit,
156
+ authScheme
157
+ );
158
+ return fields.length > 0;
159
+ }
160
+
161
+ // Usage
162
+ if (await needsExtraParams('zendesk', 'OAUTH2')) {
163
+ // Show form to collect subdomain
164
+ }
165
+ ```
166
+
167
+ ### Filter Toolkits by Category
168
+
169
+ ```typescript
170
+ async function getToolkitsByCategory(categoryId: string) {
171
+ return await composio.toolkits.get({
172
+ category: categoryId,
173
+ sortBy: 'usage',
174
+ });
175
+ }
176
+ ```
177
+
178
+ ## Key Points
179
+
180
+ - **Returns array** - Not `.items`, access directly
181
+ - **managedBy filter** - 'all', 'composio', or 'project'
182
+ - **sortBy options** - 'usage' or 'alphabetically'
183
+ - **Auth field queries** - Know what's required before creating configs
184
+ - **Extra OAuth params** - Some services need subdomain, region, etc.