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,185 @@
1
+ ---
2
+ title: Using Composio with Mastra Framework
3
+ impact: HIGH
4
+ description: Use Tool Router for native tool integration and MCP for multi-tenant scenarios with Mastra agents
5
+ tags: [tool-router, mastra, framework, native-tools, mcp, integration]
6
+ ---
7
+
8
+ # Using Composio with Mastra Framework
9
+
10
+ Composio integrates with Mastra using **Tool Router sessions**. Use **native tools** (recommended) via `session.tools()`, or **MCP tools** when MCP protocol compliance is required.
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ npm install @mastra/core@latest @ai-sdk/openai @composio/core@latest @composio/mastra@latest
16
+
17
+ # For MCP (optional)
18
+ npm install @mastra/mcp@latest
19
+ ```
20
+
21
+ ## ✅ Correct - Native Tools (Recommended)
22
+
23
+ ```typescript
24
+ import { Agent } from '@mastra/core/agent';
25
+ import { openai } from '@ai-sdk/openai';
26
+ import { Composio } from '@composio/core';
27
+ import { MastraProvider } from '@composio/mastra';
28
+
29
+ const composio = new Composio({
30
+ apiKey: process.env.COMPOSIO_API_KEY,
31
+ provider: new MastraProvider()
32
+ });
33
+
34
+ async function createAgent(userId: string, message: string) {
35
+ // Create Tool Router session
36
+ const session = await composio.create(userId, {
37
+ toolkits: ['gmail', 'slack'],
38
+ manageConnections: true
39
+ });
40
+
41
+ const tools = await session.tools();
42
+
43
+ const agent = new Agent({
44
+ id: 'composio-agent',
45
+ name: 'Assistant',
46
+ instructions: `You have access to Gmail and Slack tools to assist the user with their query`,
47
+ model: openai('gpt-5.2'),
48
+ tools: tools
49
+ });
50
+
51
+ return await agent.generate([{ role: 'user', content: message }]);
52
+ }
53
+ ```
54
+
55
+ **Key Points:**
56
+ - Create new sessions per request/conversation
57
+ - Use `session.tools()` for native Mastra tools
58
+ - Import `Composio` from `@composio/core` and `MastraProvider` from `@composio/mastra`
59
+ - Use `openai('gpt-5.2')` from `@ai-sdk/openai`
60
+
61
+ ## ✅ Correct - MCP Tools
62
+
63
+ When MCP protocol compliance is required, expose Tool Router sessions as MCP servers:
64
+
65
+ ```typescript
66
+ import { Agent } from '@mastra/core/agent';
67
+ import { openai } from '@ai-sdk/openai';
68
+ import { MCPClient } from '@mastra/mcp';
69
+ import { Composio } from '@composio/core';
70
+ import { MastraProvider } from '@composio/mastra';
71
+
72
+ const composio = new Composio({
73
+ apiKey: process.env.COMPOSIO_API_KEY,
74
+ provider: new MastraProvider()
75
+ });
76
+
77
+ async function createAgentWithMcp(userId: string, message: string) {
78
+ // 1. Create Tool Router session
79
+ const session = await composio.create(userId, {
80
+ toolkits: ['gmail', 'slack'],
81
+ manageConnections: true
82
+ });
83
+
84
+ // 2. Create MCP client with session URL and headers
85
+ const mcpClient = new MCPClient({
86
+ id: `composio-${session.sessionId}`,
87
+ servers: {
88
+ composio: {
89
+ url: session.mcp.url,
90
+ requestInit: {
91
+ headers: session.mcp.headers
92
+ }
93
+ }
94
+ }
95
+ });
96
+
97
+ // 3. Get tools via MCPClient
98
+ const tools = await mcpClient.listTools();
99
+
100
+ const agent = new Agent({
101
+ id: 'mcp-agent',
102
+ name: 'MCP Assistant',
103
+ instructions: 'You have access to Composio tools via MCP.',
104
+ model: openai('gpt-5.2'),
105
+ tools: tools
106
+ });
107
+
108
+ return await agent.generate([{ role: 'user', content: message }]);
109
+ }
110
+ ```
111
+
112
+ **For dynamic toolsets (multi-tenant):**
113
+ ```typescript
114
+ // Create agent without tools in constructor
115
+ const agent = new Agent({
116
+ id: 'dynamic-agent',
117
+ model: openai('gpt-5.2'),
118
+ instructions: 'You help users with tasks.'
119
+ });
120
+
121
+ // Pass toolsets per request
122
+ const toolsets = await mcpClient.listToolsets();
123
+ const response = await agent.generate(message, { toolsets });
124
+ ```
125
+
126
+ ## ❌ Incorrect Patterns
127
+
128
+ ```typescript
129
+ // ❌ Don't bypass Tool Router sessions
130
+ const mcpClient = new MCPClient({
131
+ servers: { composio: { url: 'https://mcp.composio.dev' } }
132
+ });
133
+
134
+ // ❌ Don't use non-existent methods
135
+ const tools = await session.mcpTools(); // Doesn't exist
136
+ const url = session.getMcpServerUrl(); // Doesn't exist
137
+
138
+ // ❌ Don't cache tools across users
139
+ const cachedTools = await session.tools();
140
+ // Reusing for different users...
141
+
142
+ // ❌ Don't forget MastraProvider
143
+ const composio = new Composio({ apiKey: key }); // Missing provider
144
+
145
+ // ❌ Don't use string format for model
146
+ model: 'openai/gpt-5.2' // Wrong - use openai('gpt-5.2')
147
+ ```
148
+
149
+ ## Key Principles
150
+
151
+ **Native Tools:**
152
+ - Use `session.tools()` - best performance, type-safe
153
+ - Recommended for most use cases
154
+
155
+ **MCP Tools:**
156
+ - Use `session.mcp.url` + `MCPClient` + `listTools()`/`listToolsets()`
157
+ - Only when MCP protocol compliance is required
158
+ - Still uses Tool Router sessions
159
+
160
+ **Session Management:**
161
+ - Always create sessions via `composio.create()`
162
+ - Create new sessions per request/conversation
163
+ - Don't cache tools or sessions across users
164
+ - Use `manageConnections: true`
165
+
166
+ **Setup:**
167
+ - Import `Composio` from `@composio/core`
168
+ - Import `MastraProvider` from `@composio/mastra`
169
+ - Use `openai('gpt-5.2')` from `@ai-sdk/openai`
170
+ - Mention tools in agent instructions
171
+
172
+ ## When to Use
173
+
174
+ | Use Case | Approach | Method |
175
+ |----------|----------|--------|
176
+ | Most scenarios | Native Tools | `session.tools()` |
177
+ | MCP protocol required | MCP Tools | MCP client + `listTools()` |
178
+ | Multi-tenant dynamic auth | MCP Tools | MCP client + `listToolsets()` |
179
+
180
+ ## Reference
181
+
182
+ - [Mastra Agents](https://mastra.ai/docs/agents/overview)
183
+ - [Mastra MCP](https://mastra.ai/docs/mcp/overview)
184
+ - [Composio Tool Router](https://docs.composio.dev/sdk/typescript/api/tool-router)
185
+ - [Tool Router Sessions](tr-session-lifecycle.md)
@@ -0,0 +1,248 @@
1
+ ---
2
+ title: Use Native Tools for Performance and Control
3
+ impact: HIGH
4
+ description: Prefer native tools over MCP for faster execution, full control, and modifier support
5
+ tags: [tool-router, mcp, integration, providers, performance]
6
+ ---
7
+
8
+ # Use Native Tools for Performance and Control
9
+
10
+ Tool Router supports two approaches: **Native tools (recommended)** for performance and control, or MCP clients for framework independence.
11
+
12
+ ## ❌ Incorrect
13
+
14
+ ```typescript
15
+ // DON'T: Use MCP when you need logging, modifiers, or performance
16
+ const composio = new Composio(); // No provider
17
+ const { mcp } = await composio.create('user_123', {
18
+ toolkits: ['gmail']
19
+ });
20
+
21
+ const client = await createMCPClient({
22
+ transport: { type: 'http', url: mcp.url }
23
+ });
24
+
25
+ // ❌ No control over tool execution
26
+ // ❌ No modifier support
27
+ // ❌ Extra API calls via MCP server
28
+ // ❌ Slower execution
29
+ const tools = await client.tools();
30
+ ```
31
+
32
+ ```python
33
+ # DON'T: Use MCP when you need logging, modifiers, or performance
34
+ composio = Composio() # No provider
35
+ session = composio.create(user_id="user_123")
36
+
37
+ # ❌ No control over tool execution
38
+ # ❌ No modifier support
39
+ # ❌ Extra API calls via MCP server
40
+ # ❌ Slower execution
41
+ ```
42
+
43
+ ## ✅ Correct - Use Native Tools (Recommended)
44
+
45
+ ```typescript
46
+ // DO: Use native tools for performance and control
47
+ import { Composio } from '@composio/core';
48
+ import { VercelProvider } from '@composio/vercel';
49
+
50
+ // Add provider for native tools
51
+ const composio = new Composio({
52
+ provider: new VercelProvider()
53
+ });
54
+
55
+ const session = await composio.create('user_123', {
56
+ toolkits: ['gmail', 'slack']
57
+ });
58
+
59
+ // ✅ Direct tool execution (no MCP overhead)
60
+ // ✅ Full modifier support
61
+ // ✅ Logging and telemetry
62
+ // ✅ Faster performance
63
+ const tools = await session.tools();
64
+ ```
65
+
66
+ ```python
67
+ # DO: Use native tools for performance and control
68
+ from composio import Composio
69
+ from composio_openai import OpenAIProvider
70
+
71
+ # Add provider for native tools
72
+ composio = Composio(provider=OpenAIProvider())
73
+
74
+ session = composio.create(
75
+ user_id="user_123",
76
+ toolkits=["gmail", "slack"]
77
+ )
78
+
79
+ # ✅ Direct tool execution (no MCP overhead)
80
+ # ✅ Full modifier support
81
+ # ✅ Logging and telemetry
82
+ # ✅ Faster performance
83
+ tools = session.tools()
84
+ ```
85
+
86
+ ## ✅ Correct - Native Tools with Modifiers
87
+
88
+ ```typescript
89
+ // DO: Use modifiers for logging and control
90
+ import { Composio } from '@composio/core';
91
+ import { VercelProvider } from '@composio/vercel';
92
+ import { SessionExecuteMetaModifiers } from '@composio/core';
93
+
94
+ const composio = new Composio({
95
+ provider: new VercelProvider()
96
+ });
97
+
98
+ const session = await composio.create('user_123', {
99
+ toolkits: ['gmail']
100
+ });
101
+
102
+ // Add modifiers for logging during execution
103
+ const modifiers: SessionExecuteMetaModifiers = {
104
+ beforeExecute: ({ toolSlug, sessionId, params }) => {
105
+ console.log(`[${sessionId}] Executing ${toolSlug}`);
106
+ console.log('Parameters:', JSON.stringify(params, null, 2));
107
+ return params;
108
+ },
109
+ afterExecute: ({ toolSlug, sessionId, result }) => {
110
+ console.log(`[${sessionId}] Completed ${toolSlug}`);
111
+ console.log('Success:', result.successful);
112
+ return result;
113
+ }
114
+ };
115
+
116
+ const tools = await session.tools(modifiers);
117
+
118
+ // Now when agent executes tools, you see:
119
+ // [session_abc123] Executing GMAIL_FETCH_EMAILS
120
+ // Parameters: { "maxResults": 10, "query": "from:user@example.com" }
121
+ // [session_abc123] Completed GMAIL_FETCH_EMAILS
122
+ // Success: true
123
+ ```
124
+
125
+ ```typescript
126
+ // Advanced: Add telemetry and schema customization
127
+ const advancedModifiers: SessionExecuteMetaModifiers = {
128
+ beforeExecute: ({ toolSlug, sessionId, params }) => {
129
+ // Send to analytics
130
+ analytics.track('tool_execution_started', {
131
+ tool: toolSlug,
132
+ session: sessionId,
133
+ params
134
+ });
135
+
136
+ // Validate parameters
137
+ if (!params) {
138
+ throw new Error(`Missing parameters for ${toolSlug}`);
139
+ }
140
+
141
+ return params;
142
+ },
143
+ afterExecute: ({ toolSlug, sessionId, result }) => {
144
+ // Track completion and duration
145
+ analytics.track('tool_execution_completed', {
146
+ tool: toolSlug,
147
+ session: sessionId,
148
+ success: result.successful
149
+ });
150
+
151
+ // Handle errors
152
+ if (!result.successful) {
153
+ console.error(`Tool ${toolSlug} failed:`, result.error);
154
+ }
155
+
156
+ return result;
157
+ },
158
+ modifySchema: ({ toolSlug, schema }) => {
159
+ // Simplify schemas for better AI understanding
160
+ if (toolSlug === 'GMAIL_SEND_EMAIL') {
161
+ // Remove optional fields for simpler usage
162
+ delete schema.parameters.properties.cc;
163
+ delete schema.parameters.properties.bcc;
164
+ }
165
+ return schema;
166
+ }
167
+ };
168
+ ```
169
+
170
+ ```python
171
+ # DO: Use modifiers for logging, validation, and telemetry
172
+ from composio import Composio
173
+ from composio_openai import OpenAIProvider
174
+
175
+ composio = Composio(provider=OpenAIProvider())
176
+
177
+ session = composio.create(
178
+ user_id="user_123",
179
+ toolkits=["gmail"]
180
+ )
181
+
182
+ # Add modifiers for full control over tool execution
183
+ def before_execute(context):
184
+ print(f"[{context['session_id']}] Executing {context['tool_slug']}")
185
+ print(f"Parameters: {context['params']}")
186
+ # Add custom validation, logging, telemetry
187
+ return context['params']
188
+
189
+ def after_execute(context):
190
+ print(f"[{context['session_id']}] Completed {context['tool_slug']}")
191
+ print(f"Result: {context['result']}")
192
+ # Transform results, handle errors, track metrics
193
+ return context['result']
194
+
195
+ tools = session.tools(
196
+ modifiers={
197
+ "before_execute": before_execute,
198
+ "after_execute": after_execute
199
+ }
200
+ )
201
+ ```
202
+
203
+ ## Performance Comparison
204
+
205
+ | Feature | Native Tools | MCP |
206
+ |---------|-------------|-----|
207
+ | Execution Speed | **Fast** (direct) | Slower (extra HTTP calls) |
208
+ | API Overhead | **Minimal** | Additional MCP server roundtrips |
209
+ | Modifier Support | **✅ Full support** | ❌ Not available |
210
+ | Logging & Telemetry | **✅ beforeExecute/afterExecute** | ❌ Limited visibility |
211
+ | Schema Customization | **✅ modifySchema** | ❌ Not available |
212
+ | Framework Lock-in | Yes (provider-specific) | No (universal) |
213
+
214
+ ## When to Use Each
215
+
216
+ ### ✅ Use Native Tools (Recommended) When:
217
+ - **Performance matters**: Direct execution, no MCP overhead
218
+ - **Need logging**: Track tool execution, parameters, results
219
+ - **Need control**: Validate inputs, transform outputs, handle errors
220
+ - **Production apps**: Telemetry, monitoring, debugging
221
+ - **Single framework**: You're committed to one AI framework
222
+
223
+ ### Use MCP Only When:
224
+ - **Multiple frameworks**: Switching between Claude, Vercel AI, LangChain
225
+ - **Framework flexibility**: Not committed to one provider yet
226
+ - **Prototyping**: Quick testing across different AI tools
227
+
228
+ ## Modifier Use Cases
229
+
230
+ With native tools, modifiers enable:
231
+
232
+ 1. **Logging**: Track every tool execution with parameters and results
233
+ 2. **Telemetry**: Send metrics to Datadog, New Relic, etc.
234
+ 3. **Validation**: Check parameters before execution
235
+ 4. **Error Handling**: Catch and transform errors
236
+ 5. **Rate Limiting**: Control tool execution frequency
237
+ 6. **Caching**: Cache results for repeated calls
238
+ 7. **Schema Customization**: Simplify schemas for specific AI models
239
+
240
+ ## Key Insight
241
+
242
+ **Native tools eliminate the MCP server middleman**, resulting in faster execution and giving you full control over the tool execution lifecycle. The only trade-off is framework lock-in, which is acceptable in production applications where you've already chosen your AI framework.
243
+
244
+ ## Reference
245
+
246
+ - [Session Modifiers](https://docs.composio.dev/sdk/typescript/api/tool-router#using-modifiers)
247
+ - [SessionExecuteMetaModifiers](https://docs.composio.dev/sdk/typescript/api/tool-router#sessionexecutemetamodifiers-v040)
248
+ - [Tool Router Performance](https://docs.composio.dev/sdk/typescript/api/tool-router#best-practices)
@@ -0,0 +1,82 @@
1
+ ---
2
+ title: Create Basic Tool Router Sessions
3
+ impact: HIGH
4
+ description: Essential pattern for initializing Tool Router sessions with proper user isolation
5
+ tags: [tool-router, session, initialization, agents]
6
+ ---
7
+
8
+ # Create Basic Tool Router Sessions
9
+
10
+ Always create isolated Tool Router sessions per user to ensure proper data isolation and scoped tool access.
11
+
12
+ > 📖 **Before you begin:** Make sure you have set up your API keys. See [Setting Up API Keys](./setup-api-keys.md) for instructions.
13
+
14
+ > **⚠️ IMPORTANT:** Do NOT make up or guess toolkit names. Always verify toolkit slugs before using them:
15
+ > - Use `composio manage toolkits list` to discover and `composio manage toolkits info "..."` to view toolkit details (CLI)
16
+ > - Use `composio.toolkits.get()` to discover toolkits programmatically (SDK)
17
+ >
18
+ > See [Composio CLI Reference](./composio-cli.md) for discovery commands.
19
+
20
+ ## ❌ Incorrect
21
+
22
+ ```typescript
23
+ // DON'T: Using shared session for multiple users
24
+ const sharedSession = await composio.create('default', {
25
+ toolkits: ['gmail']
26
+ });
27
+ // All users share the same session - security risk!
28
+ ```
29
+
30
+ ```python
31
+ # DON'T: Using shared session for multiple users
32
+ shared_session = composio.create(
33
+ user_id="default",
34
+ toolkits=["gmail"]
35
+ )
36
+ # All users share the same session - security risk!
37
+ ```
38
+
39
+ ## ✅ Correct
40
+
41
+ ```typescript
42
+ // DO: Create per-user sessions for isolation
43
+ import { Composio } from '@composio/core';
44
+
45
+ const composio = new Composio();
46
+
47
+ // Each user gets their own isolated session
48
+ const session = await composio.create('user_123', {
49
+ toolkits: ['gmail', 'slack']
50
+ });
51
+
52
+ console.log('Session ID:', session.sessionId);
53
+ console.log('MCP URL:', session.mcp.url);
54
+ ```
55
+
56
+ ```python
57
+ # DO: Create per-user sessions for isolation
58
+ from composio import Composio
59
+
60
+ composio = Composio()
61
+
62
+ # Each user gets their own isolated session
63
+ session = composio.create(
64
+ user_id="user_123",
65
+ toolkits=["gmail", "slack"]
66
+ )
67
+
68
+ print(f"Session ID: {session.session_id}")
69
+ print(f"MCP URL: {session.mcp.url}")
70
+ ```
71
+
72
+ ## Key Points
73
+
74
+ - **User Isolation**: Each user must have their own session
75
+ - **Toolkit Scoping**: Specify which toolkits the session can access
76
+ - **Session ID**: Store the session ID to retrieve it later
77
+ - **MCP URL**: Use this URL with any MCP-compatible AI framework
78
+
79
+ ## Reference
80
+
81
+ - [Tool Router API Docs](https://docs.composio.dev/sdk/typescript/api/tool-router)
82
+ - [Creating Sessions](https://docs.composio.dev/sdk/typescript/api/tool-router#creating-sessions)
@@ -0,0 +1,172 @@
1
+ ---
2
+ title: Configure Tool Router Sessions Properly
3
+ impact: MEDIUM
4
+ description: Use session configuration options to control toolkit access, tools, and behavior
5
+ tags: [tool-router, configuration, toolkits, tools, session]
6
+ ---
7
+
8
+ # Configure Tool Router Sessions Properly
9
+
10
+ Tool Router sessions support rich configuration for fine-grained control over toolkit and tool access.
11
+
12
+ > **⚠️ IMPORTANT:** Do NOT make up or guess toolkit or tool names. Always verify slugs before using them:
13
+ > - Use `composio manage toolkits list` / `composio manage toolkits info "..."` to discover and view toolkit details (CLI)
14
+ > - Use `composio manage tools list --toolkits "..."` / `composio manage tools info "..."` to discover and view tool schemas (CLI)
15
+ > - Use `composio.tools.get()` to discover tools programmatically (SDK)
16
+ >
17
+ > See [Composio CLI Reference](./composio-cli.md) for discovery commands.
18
+
19
+ ## ❌ Incorrect
20
+
21
+ ```typescript
22
+ // DON'T: Enable all toolkits without restrictions
23
+ const session = await composio.create('user_123', {
24
+ // No toolkit restrictions - exposes everything!
25
+ });
26
+
27
+ // DON'T: Mix incompatible configuration patterns
28
+ const session = await composio.create('user_123', {
29
+ toolkits: { enable: ['gmail'] },
30
+ toolkits: ['slack'] // This will override the first one!
31
+ });
32
+ ```
33
+
34
+ ```python
35
+ # DON'T: Enable all toolkits without restrictions
36
+ session = composio.create(
37
+ user_id="user_123"
38
+ # No toolkit restrictions - exposes everything!
39
+ )
40
+ ```
41
+
42
+ ## ✅ Correct - Basic Configuration
43
+
44
+ ```typescript
45
+ // DO: Explicitly specify toolkits
46
+ import { Composio } from '@composio/core';
47
+
48
+ const composio = new Composio();
49
+
50
+ // Simple toolkit list
51
+ const session = await composio.create('user_123', {
52
+ toolkits: ['gmail', 'slack', 'github']
53
+ });
54
+
55
+ // Explicit enable
56
+ const session2 = await composio.create('user_123', {
57
+ toolkits: { enable: ['gmail', 'slack'] }
58
+ });
59
+
60
+ // Disable specific toolkits (enable all others)
61
+ const session3 = await composio.create('user_123', {
62
+ toolkits: { disable: ['calendar'] }
63
+ });
64
+ ```
65
+
66
+ ```python
67
+ # DO: Explicitly specify toolkits
68
+ from composio import Composio
69
+
70
+ composio = Composio()
71
+
72
+ # Simple toolkit list
73
+ session = composio.create(
74
+ user_id="user_123",
75
+ toolkits=["gmail", "slack", "github"]
76
+ )
77
+
78
+ # Explicit enable
79
+ session2 = composio.create(
80
+ user_id="user_123",
81
+ toolkits={"enable": ["gmail", "slack"]}
82
+ )
83
+ ```
84
+
85
+ ## ✅ Correct - Fine-Grained Tool Control
86
+
87
+ ```typescript
88
+ // DO: Control specific tools per toolkit
89
+ const session = await composio.create('user_123', {
90
+ toolkits: ['gmail', 'slack'],
91
+ tools: {
92
+ // Only allow reading emails, not sending
93
+ gmail: ['GMAIL_FETCH_EMAILS', 'GMAIL_SEARCH_EMAILS'],
94
+
95
+ // Or use enable/disable
96
+ slack: {
97
+ disable: ['SLACK_DELETE_MESSAGE'] // Safety: prevent deletions
98
+ }
99
+ }
100
+ });
101
+ ```
102
+
103
+ ```python
104
+ # DO: Control specific tools per toolkit
105
+ session = composio.create(
106
+ user_id="user_123",
107
+ toolkits=["gmail", "slack"],
108
+ tools={
109
+ # Only allow reading emails, not sending
110
+ "gmail": ["GMAIL_FETCH_EMAILS", "GMAIL_SEARCH_EMAILS"],
111
+
112
+ # Or use enable/disable
113
+ "slack": {
114
+ "disable": ["SLACK_DELETE_MESSAGE"] # Safety: prevent deletions
115
+ }
116
+ }
117
+ )
118
+ ```
119
+
120
+ ## ✅ Correct - Tag-Based Filtering
121
+
122
+ ```typescript
123
+ // DO: Use tags to filter by behavior
124
+ const session = await composio.create('user_123', {
125
+ toolkits: ['gmail', 'github'],
126
+ // Global tags: only read-only tools
127
+ tags: ['readOnlyHint'],
128
+
129
+ // Override tags per toolkit
130
+ tools: {
131
+ github: {
132
+ tags: ['readOnlyHint', 'idempotentHint']
133
+ }
134
+ }
135
+ });
136
+ ```
137
+
138
+ ```python
139
+ # DO: Use tags to filter by behavior
140
+ session = composio.create(
141
+ user_id="user_123",
142
+ toolkits=["gmail", "github"],
143
+ # Global tags: only read-only tools
144
+ tags=["readOnlyHint"],
145
+
146
+ # Override tags per toolkit
147
+ tools={
148
+ "github": {
149
+ "tags": ["readOnlyHint", "idempotentHint"]
150
+ }
151
+ }
152
+ )
153
+ ```
154
+
155
+ ## Available Tags
156
+
157
+ - `readOnlyHint` - Tools that only read data
158
+ - `destructiveHint` - Tools that modify or delete data
159
+ - `idempotentHint` - Tools safe to retry
160
+ - `openWorldHint` - Tools operating in open contexts
161
+
162
+ ## Configuration Best Practices
163
+
164
+ 1. **Least Privilege**: Only enable toolkits/tools needed
165
+ 2. **Tag Filtering**: Use tags to restrict dangerous operations
166
+ 3. **Per-Toolkit Tools**: Fine-tune access per toolkit
167
+ 4. **Auth Configs**: Map toolkits to specific auth configurations
168
+
169
+ ## Reference
170
+
171
+ - [Configuration Options](https://docs.composio.dev/sdk/typescript/api/tool-router#configuration-options)
172
+ - [Tool Tags](https://docs.composio.dev/sdk/typescript/api/tool-router#tags)