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,818 @@
1
+ ---
2
+ title: Integrate Tool Router with AI Frameworks
3
+ impact: HIGH
4
+ description: Connect Tool Router sessions with popular AI frameworks using MCP or native tools
5
+ tags: [tool-router, frameworks, integration, vercel, openai, langchain, claude, crewai]
6
+ ---
7
+
8
+ # Integrate Tool Router with AI Frameworks
9
+
10
+ Tool Router works with any AI framework through two methods: **Native Tools** (recommended for speed) or **MCP** (for framework flexibility). Choose native tools when available for better performance and control.
11
+
12
+ ## Integration Methods
13
+
14
+ | Method | Pros | Cons | When to Use |
15
+ |--------|------|------|-------------|
16
+ | **Native Tools** | ✅ Faster execution<br>✅ Full control with modifiers<br>✅ No MCP overhead | ❌ Framework lock-in | Single framework, production apps |
17
+ | **MCP** | ✅ Framework independent<br>✅ Works with any MCP client<br>✅ Easy framework switching | ⚠️ Slower (extra API roundtrip)<br>⚠️ Less control | Multi-framework, prototyping |
18
+
19
+ ## MCP Headers Configuration
20
+
21
+ When using MCP, the `session.mcp.headers` object contains the authentication headers required to connect to the Composio MCP server:
22
+
23
+ ```typescript
24
+ {
25
+ "x-api-key": "your_composio_api_key"
26
+ }
27
+ ```
28
+
29
+ ### Using with MCP Clients
30
+
31
+ When configuring MCP clients (like Claude Desktop), you need to provide the Composio API key in the headers:
32
+
33
+ ```json
34
+ {
35
+ "mcpServers": {
36
+ "composio": {
37
+ "type": "http",
38
+ "url": "https://mcp.composio.dev/session/your_session_id",
39
+ "headers": {
40
+ "x-api-key": "your_composio_api_key"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
47
+ **Where to find your Composio API key:**
48
+ - Login to [Composio Platform](https://platform.composio.dev)
49
+ - Select your project
50
+ - Navigate to Settings to find your API keys
51
+ - Or set it via environment variable: `COMPOSIO_API_KEY`
52
+
53
+ > 📖 **See [Setting Up API Keys](./setup-api-keys.md)** for detailed instructions on configuring Composio, OpenAI, and Anthropic API keys for your project.
54
+
55
+ When using Tool Router sessions programmatically, the headers are automatically included in `session.mcp.headers`.
56
+
57
+ ## ❌ Incorrect - Using Tools Without Tool Router
58
+
59
+ ```typescript
60
+ // DON'T: Use tools directly without session isolation
61
+ import { Composio } from '@composio/core';
62
+ import { VercelProvider } from '@composio/vercel';
63
+
64
+ const composio = new Composio({ provider: new VercelProvider() });
65
+
66
+ // ❌ No user isolation
67
+ // ❌ Tools not scoped per user
68
+ // ❌ All users share same tools
69
+ const tools = await composio.tools.get('default', {
70
+ toolkits: ['gmail']
71
+ });
72
+ ```
73
+
74
+ ```python
75
+ # DON'T: Use tools directly without session isolation
76
+ from composio import Composio
77
+ from composio_openai_agents import OpenAIAgentsProvider
78
+
79
+ composio = Composio(provider=OpenAIAgentsProvider())
80
+
81
+ # ❌ No user isolation
82
+ # ❌ Tools not scoped per user
83
+ # ❌ All users share same tools
84
+ tools = composio.tools.get(
85
+ user_id="default",
86
+ toolkits=["gmail"]
87
+ )
88
+ ```
89
+
90
+ ## ✅ Correct - Vercel AI SDK (Native Tools)
91
+
92
+ ```typescript
93
+ // DO: Use Tool Router with native tools for best performance
94
+ import { openai } from '@ai-sdk/openai';
95
+ import { Composio } from '@composio/core';
96
+ import { VercelProvider } from '@composio/vercel';
97
+ import { streamText } from 'ai';
98
+
99
+ // Initialize Composio with Vercel provider
100
+ const composio = new Composio({
101
+ provider: new VercelProvider()
102
+ });
103
+
104
+ async function runAgent(userId: string, prompt: string) {
105
+ // Create isolated session for user
106
+ const session = await composio.create(userId, {
107
+ toolkits: ['gmail'],
108
+ manageConnections: true
109
+ });
110
+
111
+ // Get native Vercel-formatted tools
112
+ const tools = await session.tools();
113
+
114
+ // Stream response with tools
115
+ const stream = await streamText({
116
+ model: openai('gpt-5.2'),
117
+ prompt,
118
+ tools,
119
+ maxSteps: 10
120
+ });
121
+
122
+ // ✅ Fast execution (no MCP overhead)
123
+ // ✅ User-isolated tools
124
+ // ✅ Native Vercel format
125
+
126
+ for await (const textPart of stream.textStream) {
127
+ process.stdout.write(textPart);
128
+ }
129
+ }
130
+
131
+ await runAgent('user_123', 'Fetch my last email from Gmail');
132
+ ```
133
+
134
+ ```python
135
+ # DO: Use Tool Router with native tools for best performance
136
+ from composio import Composio
137
+ from composio_vercel import VercelProvider
138
+ from ai import streamText, openai
139
+
140
+ # Initialize Composio with Vercel provider
141
+ composio = Composio(provider=VercelProvider())
142
+
143
+ async def run_agent(user_id: str, prompt: str):
144
+ # Create isolated session for user
145
+ session = composio.create(
146
+ user_id=user_id,
147
+ toolkits=["gmail"],
148
+ manage_connections=True
149
+ )
150
+
151
+ # Get native Vercel-formatted tools
152
+ tools = session.tools()
153
+
154
+ # Stream response with tools
155
+ stream = streamText(
156
+ model=openai("gpt-5.2"),
157
+ prompt=prompt,
158
+ tools=tools,
159
+ max_steps=10
160
+ )
161
+
162
+ # ✅ Fast execution (no MCP overhead)
163
+ # ✅ User-isolated tools
164
+ # ✅ Native Vercel format
165
+
166
+ async for text_part in stream.text_stream:
167
+ print(text_part, end="")
168
+
169
+ await run_agent("user_123", "Fetch my last email from Gmail")
170
+ ```
171
+
172
+ ## ✅ Correct - Vercel AI SDK (MCP)
173
+
174
+ ```typescript
175
+ // DO: Use MCP when framework flexibility is needed
176
+ import { openai } from '@ai-sdk/openai';
177
+ import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
178
+ import { Composio } from '@composio/core';
179
+ import { streamText } from 'ai';
180
+
181
+ const composio = new Composio();
182
+
183
+ async function runAgentMCP(userId: string, prompt: string) {
184
+ // Create session (MCP URL only, no provider needed)
185
+ const session = await composio.create(userId, {
186
+ toolkits: ['gmail'],
187
+ manageConnections: true
188
+ });
189
+
190
+ // Create MCP client
191
+ const client = await createMCPClient({
192
+ transport: {
193
+ type: 'http',
194
+ url: session.mcp.url,
195
+ headers: session.mcp.headers
196
+ }
197
+ });
198
+
199
+ // Get tools from MCP server
200
+ const tools = await client.tools();
201
+
202
+ // Stream response
203
+ const stream = await streamText({
204
+ model: openai('gpt-5.2'),
205
+ prompt,
206
+ tools,
207
+ maxSteps: 10
208
+ });
209
+
210
+ // ✅ Framework independent
211
+ // ✅ User-isolated tools
212
+ // ⚠️ Slower (MCP overhead)
213
+
214
+ for await (const textPart of stream.textStream) {
215
+ process.stdout.write(textPart);
216
+ }
217
+ }
218
+
219
+ await runAgentMCP('user_123', 'Fetch my last email');
220
+ ```
221
+
222
+ ## ✅ Correct - OpenAI Agents SDK (Native Tools)
223
+
224
+ ```typescript
225
+ // DO: Use native tools with OpenAI Agents
226
+ import { Composio } from '@composio/core';
227
+ import { OpenAIAgentsProvider } from '@composio/openai-agents';
228
+ import { Agent, run } from '@openai/agents';
229
+
230
+ const composio = new Composio({
231
+ provider: new OpenAIAgentsProvider()
232
+ });
233
+
234
+ async function createAssistant(userId: string) {
235
+ // Create session with native tools
236
+ const session = await composio.create(userId, {
237
+ toolkits: ['gmail', 'slack']
238
+ });
239
+
240
+ // Get native OpenAI Agents formatted tools
241
+ const tools = await session.tools();
242
+
243
+ // Create agent with tools
244
+ const agent = new Agent({
245
+ name: 'Personal Assistant',
246
+ model: 'gpt-5.2',
247
+ instructions: 'You are a helpful assistant. Use tools to help users.',
248
+ tools
249
+ });
250
+
251
+ // ✅ Fast execution
252
+ // ✅ Native OpenAI Agents format
253
+ // ✅ Full control
254
+
255
+ return agent;
256
+ }
257
+
258
+ const agent = await createAssistant('user_123');
259
+ const result = await run(agent, 'Check my emails and send a summary to Slack');
260
+ console.log(result.finalOutput);
261
+ ```
262
+
263
+ ```python
264
+ # DO: Use native tools with OpenAI Agents
265
+ from composio import Composio
266
+ from composio_openai_agents import OpenAIAgentsProvider
267
+ from agents import Agent, Runner
268
+
269
+ composio = Composio(provider=OpenAIAgentsProvider())
270
+
271
+ async def create_assistant(user_id: str):
272
+ # Create session with native tools
273
+ session = composio.create(
274
+ user_id=user_id,
275
+ toolkits=["gmail", "slack"]
276
+ )
277
+
278
+ # Get native OpenAI Agents formatted tools
279
+ tools = session.tools()
280
+
281
+ # Create agent with tools
282
+ agent = Agent(
283
+ name="Personal Assistant",
284
+ model="gpt-5.2",
285
+ instructions="You are a helpful assistant. Use tools to help users.",
286
+ tools=tools
287
+ )
288
+
289
+ # ✅ Fast execution
290
+ # ✅ Native OpenAI Agents format
291
+ # ✅ Full control
292
+
293
+ return agent
294
+
295
+ agent = await create_assistant("user_123")
296
+ result = await Runner.run(
297
+ starting_agent=agent,
298
+ input="Check my emails and send a summary to Slack"
299
+ )
300
+ print(result.final_output)
301
+ ```
302
+
303
+ ## ✅ Correct - OpenAI Agents SDK (MCP)
304
+
305
+ ```typescript
306
+ // DO: Use MCP with OpenAI Agents for flexibility
307
+ import { Composio } from '@composio/core';
308
+ import { Agent, run, hostedMcpTool } from '@openai/agents';
309
+
310
+ const composio = new Composio();
311
+
312
+ async function createAssistantMCP(userId: string) {
313
+ // Create session
314
+ const { mcp } = await composio.create(userId, {
315
+ toolkits: ['gmail']
316
+ });
317
+
318
+ // Create agent with MCP tool
319
+ const agent = new Agent({
320
+ name: 'Gmail Assistant',
321
+ model: 'gpt-5.2',
322
+ instructions: 'Help users manage their Gmail.',
323
+ tools: [
324
+ hostedMcpTool({
325
+ serverLabel: 'composio',
326
+ serverUrl: mcp.url,
327
+ headers: mcp.headers
328
+ })
329
+ ]
330
+ });
331
+
332
+ // ✅ Framework independent
333
+ // ⚠️ Slower execution
334
+
335
+ return agent;
336
+ }
337
+
338
+ const agent = await createAssistantMCP('user_123');
339
+ const result = await run(agent, 'Fetch my last email');
340
+ ```
341
+
342
+ ```python
343
+ # DO: Use MCP with OpenAI Agents for flexibility
344
+ from composio import Composio
345
+ from agents import Agent, Runner, HostedMCPTool
346
+
347
+ composio = Composio()
348
+
349
+ def create_assistant_mcp(user_id: str):
350
+ # Create session
351
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
352
+
353
+ # Create agent with MCP tool
354
+ composio_mcp = HostedMCPTool(
355
+ tool_config={
356
+ "type": "mcp",
357
+ "server_label": "composio",
358
+ "server_url": session.mcp.url,
359
+ "require_approval": "never",
360
+ "headers": session.mcp.headers
361
+ }
362
+ )
363
+
364
+ agent = Agent(
365
+ name="Gmail Assistant",
366
+ instructions="Help users manage their Gmail.",
367
+ tools=[composio_mcp]
368
+ )
369
+
370
+ # ✅ Framework independent
371
+ # ⚠️ Slower execution
372
+
373
+ return agent
374
+
375
+ agent = create_assistant_mcp("user_123")
376
+ result = Runner.run_sync(starting_agent=agent, input="Fetch my last email")
377
+ print(result.final_output)
378
+ ```
379
+
380
+ ## ✅ Correct - LangChain (MCP)
381
+
382
+ ```typescript
383
+ // DO: Use LangChain with MCP
384
+ import { MultiServerMCPClient } from '@langchain/mcp-adapters';
385
+ import { ChatOpenAI } from '@langchain/openai';
386
+ import { createAgent } from 'langchain';
387
+ import { Composio } from '@composio/core';
388
+
389
+ const composio = new Composio();
390
+
391
+ async function createLangChainAgent(userId: string) {
392
+ // Create session
393
+ const session = await composio.create(userId, {
394
+ toolkits: ['gmail']
395
+ });
396
+
397
+ // Create MCP client
398
+ const client = new MultiServerMCPClient({
399
+ composio: {
400
+ transport: 'http',
401
+ url: session.mcp.url,
402
+ headers: session.mcp.headers
403
+ }
404
+ });
405
+
406
+ // Get tools
407
+ const tools = await client.getTools();
408
+
409
+ // Create agent
410
+ const llm = new ChatOpenAI({ model: 'gpt-5.2' });
411
+
412
+ const agent = createAgent({
413
+ name: 'Gmail Assistant',
414
+ systemPrompt: 'You help users manage their Gmail.',
415
+ model: llm,
416
+ tools
417
+ });
418
+
419
+ return agent;
420
+ }
421
+
422
+ const agent = await createLangChainAgent('user_123');
423
+ const result = await agent.invoke({
424
+ messages: [{ role: 'user', content: 'Fetch my last email' }]
425
+ });
426
+ console.log(result);
427
+ ```
428
+
429
+ ```python
430
+ # DO: Use LangChain with MCP
431
+ from composio import Composio
432
+ from langchain_mcp_adapters.client import MultiServerMCPClient
433
+ from langchain.agents import create_agent
434
+ from langchain_openai.chat_models import ChatOpenAI
435
+
436
+ composio = Composio()
437
+
438
+ async def create_langchain_agent(user_id: str):
439
+ # Create session
440
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
441
+
442
+ # Create MCP client
443
+ mcp_client = MultiServerMCPClient({
444
+ "composio": {
445
+ "transport": "streamable_http",
446
+ "url": session.mcp.url,
447
+ "headers": session.mcp.headers
448
+ }
449
+ })
450
+
451
+ # Get tools
452
+ tools = await mcp_client.get_tools()
453
+
454
+ # Create agent
455
+ agent = create_agent(
456
+ tools=tools,
457
+ model=ChatOpenAI(model="gpt-5.2")
458
+ )
459
+
460
+ return agent
461
+
462
+ agent = await create_langchain_agent("user_123")
463
+ result = await agent.ainvoke({
464
+ "messages": [
465
+ {"role": "user", "content": "Fetch my last email"}
466
+ ]
467
+ })
468
+ print(result)
469
+ ```
470
+
471
+ ## ✅ Correct - Claude Agent SDK (Native Tools)
472
+
473
+ ```typescript
474
+ // DO: Use Claude Agent SDK with native tools
475
+ import { query } from '@anthropic-ai/claude-agent-sdk';
476
+ import { Composio } from '@composio/core';
477
+ import { ClaudeAgentSDKProvider } from '@composio/claude-agent-sdk';
478
+
479
+ const composio = new Composio({
480
+ provider: new ClaudeAgentSDKProvider()
481
+ });
482
+
483
+ async function runClaudeAgent(userId: string, prompt: string) {
484
+ // Create session with native tools
485
+ const session = await composio.create(userId, {
486
+ toolkits: ['gmail']
487
+ });
488
+
489
+ // Get native Claude tools format
490
+ const tools = await session.tools();
491
+
492
+ // Query with tools
493
+ const stream = await query({
494
+ prompt,
495
+ options: {
496
+ model: 'claude-sonnet-4-5-20250929',
497
+ permissionMode: 'bypassPermissions',
498
+ tools
499
+ }
500
+ });
501
+
502
+ for await (const event of stream) {
503
+ if (event.type === 'result' && event.subtype === 'success') {
504
+ process.stdout.write(event.result);
505
+ }
506
+ }
507
+ }
508
+
509
+ await runClaudeAgent('user_123', 'Fetch my last email');
510
+ ```
511
+
512
+ ```python
513
+ # DO: Use Claude Agent SDK with native tools
514
+ from composio import Composio
515
+ from composio_claude_agent_sdk import ClaudeAgentSDKProvider
516
+ from claude_agent_sdk import query, ClaudeAgentOptions
517
+
518
+ composio = Composio(provider=ClaudeAgentSDKProvider())
519
+
520
+ async def run_claude_agent(user_id: str, prompt: str):
521
+ # Create session with native tools
522
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
523
+
524
+ # Get native Claude tools format
525
+ tools = session.tools()
526
+
527
+ # Query with tools
528
+ options = ClaudeAgentOptions(
529
+ model="claude-sonnet-4-5-20250929",
530
+ permission_mode="bypassPermissions",
531
+ tools=tools
532
+ )
533
+
534
+ async for message in query(prompt=prompt, options=options):
535
+ print(message, end="")
536
+
537
+ await run_claude_agent("user_123", "Fetch my last email")
538
+ ```
539
+
540
+ ## ✅ Correct - Claude Agent SDK (MCP)
541
+
542
+ ```typescript
543
+ // DO: Use Claude Agent SDK with MCP
544
+ import { query } from '@anthropic-ai/claude-agent-sdk';
545
+ import { Composio } from '@composio/core';
546
+
547
+ const composio = new Composio();
548
+
549
+ async function runClaudeAgentMCP(userId: string, prompt: string) {
550
+ // Create session
551
+ const session = await composio.create(userId, {
552
+ toolkits: ['gmail']
553
+ });
554
+
555
+ // Query with MCP server
556
+ const stream = await query({
557
+ prompt,
558
+ options: {
559
+ model: 'claude-sonnet-4-5-20250929',
560
+ permissionMode: 'bypassPermissions',
561
+ mcpServers: {
562
+ composio: {
563
+ type: 'http',
564
+ url: session.mcp.url,
565
+ headers: session.mcp.headers
566
+ }
567
+ }
568
+ }
569
+ });
570
+
571
+ for await (const event of stream) {
572
+ if (event.type === 'result' && event.subtype === 'success') {
573
+ process.stdout.write(event.result);
574
+ }
575
+ }
576
+ }
577
+
578
+ await runClaudeAgentMCP('user_123', 'Fetch my last email');
579
+ ```
580
+
581
+ ```python
582
+ # DO: Use Claude Agent SDK with MCP
583
+ from composio import Composio
584
+ from claude_agent_sdk import query, ClaudeAgentOptions
585
+
586
+ composio = Composio()
587
+
588
+ async def run_claude_agent_mcp(user_id: str, prompt: str):
589
+ # Create session
590
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
591
+
592
+ # Query with MCP server
593
+ options = ClaudeAgentOptions(
594
+ model="claude-sonnet-4-5-20250929",
595
+ permission_mode="bypassPermissions",
596
+ mcp_servers={
597
+ "composio": {
598
+ "type": session.mcp.type,
599
+ "url": session.mcp.url,
600
+ "headers": session.mcp.headers
601
+ }
602
+ }
603
+ )
604
+
605
+ async for message in query(prompt=prompt, options=options):
606
+ print(message, end="")
607
+
608
+ await run_claude_agent_mcp("user_123", "Fetch my last email")
609
+ ```
610
+
611
+ ## ✅ Correct - CrewAI (MCP)
612
+
613
+ ```python
614
+ # DO: Use CrewAI with MCP
615
+ from crewai import Agent, Task, Crew
616
+ from crewai.mcp import MCPServerHTTP
617
+ from composio import Composio
618
+
619
+ composio = Composio()
620
+
621
+ def create_crewai_agent(user_id: str):
622
+ # Create session
623
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
624
+
625
+ # Create agent with MCP server
626
+ agent = Agent(
627
+ role="Gmail Assistant",
628
+ goal="Help with Gmail related queries",
629
+ backstory="You are a helpful assistant.",
630
+ mcps=[
631
+ MCPServerHTTP(
632
+ url=session.mcp.url,
633
+ headers=session.mcp.headers
634
+ )
635
+ ]
636
+ )
637
+
638
+ return agent
639
+
640
+ # Create agent
641
+ agent = create_crewai_agent("user_123")
642
+
643
+ # Define task
644
+ task = Task(
645
+ description="Find the last email and summarize it.",
646
+ expected_output="A summary including sender, subject, and key points.",
647
+ agent=agent
648
+ )
649
+
650
+ # Execute
651
+ crew = Crew(agents=[agent], tasks=[task])
652
+ result = crew.kickoff()
653
+ print(result)
654
+ ```
655
+
656
+ ## Using Modifiers with Native Tools
657
+
658
+ ```typescript
659
+ // Add logging and telemetry with modifiers
660
+ import { Composio } from '@composio/core';
661
+ import { VercelProvider } from '@composio/vercel';
662
+ import { SessionExecuteMetaModifiers } from '@composio/core';
663
+
664
+ const composio = new Composio({
665
+ provider: new VercelProvider()
666
+ });
667
+
668
+ async function getToolsWithLogging(userId: string) {
669
+ const session = await composio.create(userId, {
670
+ toolkits: ['gmail']
671
+ });
672
+
673
+ // Add modifiers for logging
674
+ const modifiers: SessionExecuteMetaModifiers = {
675
+ beforeExecute: ({ toolSlug, sessionId, params }) => {
676
+ console.log(`[${sessionId}] Executing ${toolSlug}`);
677
+ console.log('Parameters:', JSON.stringify(params, null, 2));
678
+ return params;
679
+ },
680
+ afterExecute: ({ toolSlug, sessionId, result }) => {
681
+ console.log(`[${sessionId}] Completed ${toolSlug}`);
682
+ console.log('Success:', result.successful);
683
+ return result;
684
+ }
685
+ };
686
+
687
+ // Get tools with modifiers
688
+ const tools = await session.tools(modifiers);
689
+
690
+ return tools;
691
+ }
692
+ ```
693
+
694
+ ```python
695
+ # Add logging and telemetry with modifiers
696
+ from composio import Composio, before_execute, after_execute
697
+ from composio_openai_agents import OpenAIAgentsProvider
698
+ from composio.types import ToolExecuteParams, ToolExecutionResponse
699
+
700
+ composio = Composio(provider=OpenAIAgentsProvider())
701
+
702
+ async def get_tools_with_logging(user_id: str):
703
+ session = composio.create(user_id=user_id, toolkits=["gmail"])
704
+
705
+ # Define logging modifiers
706
+ @before_execute(tools=[])
707
+ def log_before(
708
+ tool: str,
709
+ toolkit: str,
710
+ params: ToolExecuteParams
711
+ ) -> ToolExecuteParams:
712
+ print(f"🔧 Executing {toolkit}.{tool}")
713
+ print(f" Arguments: {params.get('arguments', {})}")
714
+ return params
715
+
716
+ @after_execute(tools=[])
717
+ def log_after(
718
+ tool: str,
719
+ toolkit: str,
720
+ response: ToolExecutionResponse
721
+ ) -> ToolExecutionResponse:
722
+ print(f"✅ Completed {toolkit}.{tool}")
723
+ if "data" in response:
724
+ print(f" Response: {response['data']}")
725
+ return response
726
+
727
+ # Get tools with modifiers
728
+ tools = session.tools(modifiers=[log_before, log_after])
729
+
730
+ return tools
731
+ ```
732
+
733
+ ## Framework Comparison
734
+
735
+ | Framework | Native Tools | MCP | Provider Package | Best For |
736
+ |-----------|--------------|-----|------------------|----------|
737
+ | **Vercel AI SDK** | ✅ | ✅ | `@composio/vercel` | Modern web apps, streaming |
738
+ | **OpenAI Agents SDK** | ✅ | ✅ | `@composio/openai-agents` | Production agents |
739
+ | **LangChain** | ❌ | ✅ | N/A (MCP only) | Complex chains, memory |
740
+ | **Claude Agent SDK** | ✅ | ✅ | `@composio/claude-agent-sdk` | Claude-specific features |
741
+ | **CrewAI** | ❌ | ✅ | N/A (MCP only) | Multi-agent teams |
742
+
743
+ ## Pattern: Framework Switching
744
+
745
+ ```typescript
746
+ // Same session, different frameworks
747
+ const composio = new Composio();
748
+ const session = await composio.create('user_123', { toolkits: ['gmail'] });
749
+
750
+ // Use with Vercel AI SDK
751
+ const client1 = await createMCPClient({
752
+ transport: { type: 'http', url: session.mcp.url, headers: session.mcp.headers }
753
+ });
754
+
755
+ // Use with LangChain
756
+ const client2 = new MultiServerMCPClient({
757
+ composio: { transport: 'http', url: session.mcp.url, headers: session.mcp.headers }
758
+ });
759
+
760
+ // Use with OpenAI Agents
761
+ const client3 = hostedMcpTool({
762
+ serverUrl: session.mcp.url,
763
+ headers: session.mcp.headers
764
+ });
765
+
766
+ // ✅ Same tools, different frameworks
767
+ // ✅ Framework flexibility with MCP
768
+ ```
769
+
770
+ ## Best Practices
771
+
772
+ ### 1. **Choose Native Tools When Available**
773
+ - Faster execution (no MCP overhead)
774
+ - Better performance for production
775
+ - Full control with modifiers
776
+
777
+ ### 2. **Use MCP for Flexibility**
778
+ - When using multiple frameworks
779
+ - During prototyping phase
780
+ - When native tools unavailable
781
+
782
+ ### 3. **Always Create User Sessions**
783
+ - Never share sessions across users
784
+ - Use proper user IDs (not 'default')
785
+ - Isolate tools per user
786
+
787
+ ### 4. **Enable Connection Management**
788
+ - Set `manageConnections: true`
789
+ - Let agent handle authentication
790
+ - Better user experience
791
+
792
+ ### 5. **Add Logging with Modifiers**
793
+ - Use beforeExecute/afterExecute
794
+ - Track tool execution
795
+ - Debug agent behavior
796
+
797
+ ### 6. **Handle Streaming Properly**
798
+ - Use framework's streaming APIs
799
+ - Process events as they arrive
800
+ - Better UX for long operations
801
+
802
+ ## Key Principles
803
+
804
+ 1. **Native tools recommended** - Faster and more control
805
+ 2. **MCP for flexibility** - Framework independent
806
+ 3. **User isolation** - Create sessions per user
807
+ 4. **Connection management** - Enable auto-authentication
808
+ 5. **Logging and monitoring** - Use modifiers for observability
809
+ 6. **Framework agnostic** - Same session works with any framework
810
+
811
+ ## Reference
812
+
813
+ - [Tool Router Documentation](https://docs.composio.dev/sdk/typescript/api/tool-router)
814
+ - [Vercel AI SDK](https://sdk.vercel.ai)
815
+ - [OpenAI Agents SDK](https://github.com/openai/agents)
816
+ - [LangChain](https://langchain.com)
817
+ - [Claude Agent SDK](https://github.com/anthropics/anthropic-sdk-typescript)
818
+ - [CrewAI](https://www.crewai.com)