vybekiit 0.7.28 → 0.7.32

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 (352) hide show
  1. package/dist/bin.js +17286 -17351
  2. package/dist/global-guidance/language.md +13 -108
  3. package/dist/global-skills/add-ai/SKILL.md +13 -8
  4. package/dist/global-skills/add-analytics/SKILL.md +10 -7
  5. package/dist/global-skills/add-app-clip/SKILL.md +1 -0
  6. package/dist/global-skills/add-blog/SKILL.md +10 -7
  7. package/dist/global-skills/add-crud/SKILL.md +8 -0
  8. package/dist/global-skills/add-files/SKILL.md +10 -7
  9. package/dist/global-skills/add-images/SKILL.md +10 -7
  10. package/dist/global-skills/add-language/SKILL.md +11 -8
  11. package/dist/global-skills/add-notifications/SKILL.md +10 -7
  12. package/dist/global-skills/add-realtime/SKILL.md +10 -7
  13. package/dist/global-skills/add-route/SKILL.md +6 -0
  14. package/dist/global-skills/add-search/SKILL.md +10 -7
  15. package/dist/global-skills/add-signin/SKILL.md +10 -8
  16. package/dist/global-skills/add-teams/SKILL.md +14 -10
  17. package/dist/global-skills/add-upload/SKILL.md +6 -0
  18. package/dist/global-skills/aws-cdk/SKILL.md +1 -0
  19. package/dist/global-skills/aws-cloudformation/SKILL.md +1 -0
  20. package/dist/global-skills/aws-serverless/SKILL.md +1 -0
  21. package/dist/global-skills/aws-serverless/references/compute-decision-edge-cases.md +77 -0
  22. package/dist/global-skills/back-up-my-code/SKILL.md +16 -5
  23. package/dist/global-skills/better-auth-best-practices/SKILL.md +1 -0
  24. package/dist/global-skills/better-auth-security-best-practices/SKILL.md +1 -0
  25. package/dist/global-skills/building-native-ui/SKILL.md +1 -0
  26. package/dist/global-skills/buy-domain/SKILL.md +10 -7
  27. package/dist/global-skills/check-safety/SKILL.md +11 -8
  28. package/dist/global-skills/claimable-postgres/SKILL.md +1 -0
  29. package/dist/global-skills/configure-capabilities/SKILL.md +7 -1
  30. package/dist/global-skills/connect-account/SKILL.md +7 -1
  31. package/dist/global-skills/connect-account-backend/SKILL.md +6 -0
  32. package/dist/global-skills/create-auth-skill/SKILL.md +1 -0
  33. package/dist/global-skills/design-my-data/SKILL.md +12 -5
  34. package/dist/global-skills/doctor/SKILL.md +17 -10
  35. package/dist/global-skills/eas-app-stores/SKILL.md +2 -1
  36. package/dist/global-skills/eas-app-stores/agents/openai.yaml +1 -1
  37. package/dist/global-skills/eas-hosting/SKILL.md +2 -1
  38. package/dist/global-skills/eas-hosting/agents/openai.yaml +1 -1
  39. package/dist/global-skills/eas-observe/SKILL.md +2 -1
  40. package/dist/global-skills/eas-observe/agents/openai.yaml +1 -1
  41. package/dist/global-skills/eas-simulator/SKILL.md +9 -1
  42. package/dist/global-skills/eas-simulator/agents/openai.yaml +1 -1
  43. package/dist/global-skills/eas-simulator/references/logs-and-crashes.md +101 -0
  44. package/dist/global-skills/eas-simulator/references/troubleshooting.md +4 -0
  45. package/dist/global-skills/eas-update/SKILL.md +2 -1
  46. package/dist/global-skills/eas-update/agents/openai.yaml +1 -1
  47. package/dist/global-skills/eas-update-insights/SKILL.md +2 -1
  48. package/dist/global-skills/eas-update-insights/agents/openai.yaml +1 -1
  49. package/dist/global-skills/eas-workflows/SKILL.md +2 -1
  50. package/dist/global-skills/eas-workflows/agents/openai.yaml +1 -1
  51. package/dist/global-skills/email-best-practices/SKILL.md +1 -0
  52. package/dist/global-skills/expo-animation/SKILL.md +2 -1
  53. package/dist/global-skills/expo-api-routes/SKILL.md +1 -0
  54. package/dist/global-skills/expo-app-clip/SKILL.md +2 -1
  55. package/dist/global-skills/expo-brownfield/SKILL.md +2 -1
  56. package/dist/global-skills/expo-cicd-workflows/SKILL.md +1 -0
  57. package/dist/global-skills/expo-data-fetching/SKILL.md +2 -1
  58. package/dist/global-skills/expo-deployment/SKILL.md +1 -0
  59. package/dist/global-skills/expo-design-system/SKILL.md +2 -1
  60. package/dist/global-skills/expo-dev-client/SKILL.md +2 -1
  61. package/dist/global-skills/expo-dom/SKILL.md +2 -1
  62. package/dist/global-skills/expo-examples/SKILL.md +2 -1
  63. package/dist/global-skills/expo-migrate-module/SKILL.md +2 -1
  64. package/dist/global-skills/expo-module/SKILL.md +2 -1
  65. package/dist/global-skills/expo-native-ui/SKILL.md +2 -1
  66. package/dist/global-skills/expo-observe/SKILL.md +1 -0
  67. package/dist/global-skills/expo-overview/SKILL.md +2 -1
  68. package/dist/global-skills/expo-project-structure/SKILL.md +2 -1
  69. package/dist/global-skills/expo-router/SKILL.md +2 -1
  70. package/dist/global-skills/expo-skill-eval/SKILL.md +1 -0
  71. package/dist/global-skills/expo-skill-feedback/SKILL.md +1 -0
  72. package/dist/global-skills/expo-tailwind-setup/SKILL.md +1 -0
  73. package/dist/global-skills/expo-ui/SKILL.md +2 -1
  74. package/dist/global-skills/expo-upgrade/SKILL.md +2 -1
  75. package/dist/global-skills/expo-web-to-native/SKILL.md +2 -1
  76. package/dist/global-skills/extension-to-functions-codebase/SKILL.md +1 -0
  77. package/dist/global-skills/firebase-ai-logic-basics/SKILL.md +1 -0
  78. package/dist/global-skills/firebase-ai-logic-basics/references/tts_generation.md +676 -0
  79. package/dist/global-skills/firebase-app-hosting-basics/SKILL.md +1 -0
  80. package/dist/global-skills/firebase-auth-basics/SKILL.md +11 -6
  81. package/dist/global-skills/firebase-auth-basics/references/client_sdk_android.md +61 -23
  82. package/dist/global-skills/firebase-basics/SKILL.md +2 -0
  83. package/dist/global-skills/firebase-basics/references/android_setup.md +165 -23
  84. package/dist/global-skills/firebase-crashlytics/SKILL.md +1 -0
  85. package/dist/global-skills/firebase-crashlytics/references/android_setup.md +147 -119
  86. package/dist/global-skills/firebase-data-connect/SKILL.md +1 -0
  87. package/dist/global-skills/firebase-data-connect/reference/sdk_android.md +81 -25
  88. package/dist/global-skills/firebase-firestore/SKILL.md +1 -0
  89. package/dist/global-skills/firebase-firestore/references/enterprise/android_sdk_usage.md +70 -44
  90. package/dist/global-skills/firebase-firestore/references/standard/android_sdk_usage.md +63 -27
  91. package/dist/global-skills/firebase-hosting-basics/SKILL.md +1 -0
  92. package/dist/global-skills/firebase-remote-config-basics/SKILL.md +1 -0
  93. package/dist/global-skills/firebase-remote-config-basics/references/android_setup.md +87 -95
  94. package/dist/global-skills/firebase-security-rules-auditor/SKILL.md +1 -0
  95. package/dist/global-skills/firestore-rules-creation/SKILL.md +1 -0
  96. package/dist/global-skills/go-live/SKILL.md +13 -7
  97. package/dist/global-skills/harden/SKILL.md +15 -10
  98. package/dist/global-skills/instrument-feature-flags/SKILL.md +1 -0
  99. package/dist/global-skills/instrument-product-analytics/SKILL.md +1 -0
  100. package/dist/global-skills/manifest.json +5 -1
  101. package/dist/global-skills/mongodb-atlas-stream-processing/SKILL.md +1 -0
  102. package/dist/global-skills/mongodb-connection/SKILL.md +1 -0
  103. package/dist/global-skills/mongodb-mcp-setup/SKILL.md +1 -0
  104. package/dist/global-skills/mongodb-natural-language-querying/SKILL.md +1 -0
  105. package/dist/global-skills/mongodb-qe-size-estimation/SKILL.md +224 -0
  106. package/dist/global-skills/mongodb-query-optimizer/SKILL.md +1 -0
  107. package/dist/global-skills/mongodb-schema-design/SKILL.md +1 -0
  108. package/dist/global-skills/mongodb-search-and-ai/SKILL.md +1 -0
  109. package/dist/global-skills/native-data-fetching/SKILL.md +1 -0
  110. package/dist/global-skills/neon/SKILL.md +18 -5
  111. package/dist/global-skills/neon-ai-gateway/SKILL.md +1 -0
  112. package/dist/global-skills/neon-auth/SKILL.md +1 -0
  113. package/dist/global-skills/neon-functions/SKILL.md +12 -0
  114. package/dist/global-skills/neon-functions/references/native-binaries.md +188 -0
  115. package/dist/global-skills/neon-object-storage/SKILL.md +1 -0
  116. package/dist/global-skills/neon-postgres/SKILL.md +1 -0
  117. package/dist/global-skills/neon-postgres-branches/SKILL.md +1 -0
  118. package/dist/global-skills/neon-postgres-egress-optimizer/SKILL.md +1 -0
  119. package/dist/global-skills/onboarding/SKILL.md +46 -29
  120. package/dist/global-skills/plan-my-idea/SKILL.md +7 -1
  121. package/dist/global-skills/publish-app/SKILL.md +7 -1
  122. package/dist/global-skills/publish-extension/SKILL.md +7 -1
  123. package/dist/global-skills/resend/SKILL.md +2 -1
  124. package/dist/global-skills/resend/references/webhooks.md +2 -0
  125. package/dist/global-skills/reset-password/SKILL.md +10 -6
  126. package/dist/global-skills/save-data/SKILL.md +51 -16
  127. package/dist/global-skills/sentry-sdk-setup/SKILL.md +1 -0
  128. package/dist/global-skills/sentry-workflow/SKILL.md +1 -0
  129. package/dist/global-skills/setup-email/SKILL.md +13 -8
  130. package/dist/global-skills/setup-payments/SKILL.md +19 -15
  131. package/dist/global-skills/setup-sms/SKILL.md +7 -1
  132. package/dist/global-skills/sign-in-with-email-link/SKILL.md +10 -6
  133. package/dist/global-skills/sign-in-with-google/SKILL.md +20 -13
  134. package/dist/global-skills/sign-in-with-phone/SKILL.md +11 -7
  135. package/dist/global-skills/stripe-best-practices/SKILL.md +2 -1
  136. package/dist/global-skills/stripe-best-practices/references/billing.md +2 -0
  137. package/dist/global-skills/stripe-best-practices/references/payments.md +1 -1
  138. package/dist/global-skills/stripe-best-practices/references/tax.md +2 -2
  139. package/dist/global-skills/supabase/CHANGELOG.md +19 -0
  140. package/dist/global-skills/supabase/SKILL.md +1 -0
  141. package/dist/global-skills/supabase-postgres-best-practices/SKILL.md +1 -0
  142. package/dist/global-skills/track-errors/SKILL.md +18 -13
  143. package/dist/global-skills/update-kit/SKILL.md +7 -1
  144. package/dist/global-skills/upgrading-expo/SKILL.md +1 -0
  145. package/dist/global-skills/use-dom/SKILL.md +1 -0
  146. package/dist/global-skills/use-railway/SKILL.md +6 -5
  147. package/dist/global-skills/use-railway/references/configure.md +34 -1
  148. package/dist/global-skills/use-railway/references/iac.md +2 -0
  149. package/dist/global-skills/use-railway/references/tracing.md +89 -44
  150. package/dist/global-skills/validate-my-idea/SKILL.md +6 -0
  151. package/dist/global-skills/vercel-composition-patterns/SKILL.md +1 -0
  152. package/dist/global-skills/vercel-react-best-practices/SKILL.md +1 -0
  153. package/dist/global-skills/vybekiit-feedback/SKILL.md +6 -0
  154. package/dist/global-skills/vybekiitReferences/backend/AGENTS.md +50 -0
  155. package/dist/global-skills/vybekiitReferences/backend/agent/goal-index.md +17 -0
  156. package/dist/global-skills/vybekiitReferences/backend/agent/goal-routes.json +229 -0
  157. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-agent.json +12 -0
  158. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-firebase.json +8 -0
  159. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-mongodb.json +12 -0
  160. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-neon.json +8 -0
  161. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-paypal.json +8 -0
  162. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-posthog.json +17 -0
  163. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-local.json +8 -0
  164. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-railway-remote.json +7 -0
  165. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-sentry.json +7 -0
  166. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-setup.md +140 -0
  167. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-supabase.json +7 -0
  168. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-alpha.json +8 -0
  169. package/dist/global-skills/vybekiitReferences/backend/agent/mcp-twilio-docs.json +7 -0
  170. package/dist/global-skills/vybekiitReferences/backend/agent/session-bootstrap.md +44 -0
  171. package/dist/global-skills/vybekiitReferences/backend/agent/tech-references.md +28 -0
  172. package/dist/global-skills/vybekiitReferences/backend/language.md +345 -0
  173. package/dist/global-skills/vybekiitReferences/backend/platform-skills/deploy-railway-vybekiit.md +26 -0
  174. package/dist/global-skills/vybekiitReferences/backend/platform-skills/extend-capabilities-vybekiit.md +127 -0
  175. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mcp-tools-vybekiit.md +87 -0
  176. package/dist/global-skills/vybekiitReferences/backend/platform-skills/mongodb-vybekiit.md +34 -0
  177. package/dist/global-skills/vybekiitReferences/backend/platform-skills/railway-postgres-vybekiit.md +24 -0
  178. package/dist/global-skills/vybekiitReferences/extension/AGENTS.md +88 -0
  179. package/dist/global-skills/vybekiitReferences/extension/agent/goal-index.md +27 -0
  180. package/dist/global-skills/vybekiitReferences/extension/agent/goal-routes.json +239 -0
  181. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-agent.json +14 -0
  182. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-posthog.json +17 -0
  183. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-sentry.json +7 -0
  184. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-setup.md +111 -0
  185. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-alpha.json +13 -0
  186. package/dist/global-skills/vybekiitReferences/extension/agent/mcp-twilio-docs.json +7 -0
  187. package/dist/global-skills/vybekiitReferences/extension/agent/session-bootstrap.md +44 -0
  188. package/dist/global-skills/vybekiitReferences/extension/agent/tech-references.md +28 -0
  189. package/dist/global-skills/vybekiitReferences/extension/agent/ui-sources.md +33 -0
  190. package/dist/global-skills/vybekiitReferences/extension/language.md +348 -0
  191. package/dist/global-skills/vybekiitReferences/extension/platform-skills/README.md +32 -0
  192. package/dist/global-skills/vybekiitReferences/extension/platform-skills/browser-automation-vybekiit.md +44 -0
  193. package/dist/global-skills/vybekiitReferences/extension/platform-skills/chrome-extension-vybekiit.md +28 -0
  194. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ci-vybekiit.md +26 -0
  195. package/dist/global-skills/vybekiitReferences/extension/platform-skills/client-state-vybekiit.md +25 -0
  196. package/dist/global-skills/vybekiitReferences/extension/platform-skills/code-hygiene-vybekiit.md +38 -0
  197. package/dist/global-skills/vybekiitReferences/extension/platform-skills/data-model-vybekiit.md +29 -0
  198. package/dist/global-skills/vybekiitReferences/extension/platform-skills/env-secrets-vybekiit.md +21 -0
  199. package/dist/global-skills/vybekiitReferences/extension/platform-skills/extend-capabilities-vybekiit.md +127 -0
  200. package/dist/global-skills/vybekiitReferences/extension/platform-skills/format-lint-vybekiit.md +33 -0
  201. package/dist/global-skills/vybekiitReferences/extension/platform-skills/github-vybekiit.md +47 -0
  202. package/dist/global-skills/vybekiitReferences/extension/platform-skills/i18n-vybekiit.md +39 -0
  203. package/dist/global-skills/vybekiitReferences/extension/platform-skills/mcp-tools-vybekiit.md +87 -0
  204. package/dist/global-skills/vybekiitReferences/extension/platform-skills/observability-vybekiit.md +36 -0
  205. package/dist/global-skills/vybekiitReferences/extension/platform-skills/planning-vybekiit.md +59 -0
  206. package/dist/global-skills/vybekiitReferences/extension/platform-skills/playwright-vybekiit.md +42 -0
  207. package/dist/global-skills/vybekiitReferences/extension/platform-skills/react-patterns-vybekiit.md +45 -0
  208. package/dist/global-skills/vybekiitReferences/extension/platform-skills/responsive-vybekiit.md +27 -0
  209. package/dist/global-skills/vybekiitReferences/extension/platform-skills/sentry-vybekiit.md +33 -0
  210. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ship-via-pr-vybekiit.md +49 -0
  211. package/dist/global-skills/vybekiitReferences/extension/platform-skills/testing-vybekiit.md +33 -0
  212. package/dist/global-skills/vybekiitReferences/extension/platform-skills/ui-consistency-vybekiit.md +33 -0
  213. package/dist/global-skills/vybekiitReferences/mobile/AGENTS.md +475 -0
  214. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-index.md +32 -0
  215. package/dist/global-skills/vybekiitReferences/mobile/agent/goal-routes.json +279 -0
  216. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-agent.json +14 -0
  217. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-firebase.json +8 -0
  218. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-neon.json +8 -0
  219. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-paypal.json +8 -0
  220. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-posthog.json +17 -0
  221. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-sentry.json +7 -0
  222. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-setup.md +112 -0
  223. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-stripe.json +7 -0
  224. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-supabase.json +7 -0
  225. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-alpha.json +13 -0
  226. package/dist/global-skills/vybekiitReferences/mobile/agent/mcp-twilio-docs.json +7 -0
  227. package/dist/global-skills/vybekiitReferences/mobile/agent/session-bootstrap.md +44 -0
  228. package/dist/global-skills/vybekiitReferences/mobile/agent/tech-references.md +28 -0
  229. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-catalog-index.mobile.json +36294 -0
  230. package/dist/global-skills/vybekiitReferences/mobile/agent/ui-sources.mobile.md +36 -0
  231. package/dist/global-skills/vybekiitReferences/mobile/language.md +352 -0
  232. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/README.md +43 -0
  233. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ci-vybekiit.md +26 -0
  234. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/client-state-vybekiit.md +25 -0
  235. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/code-hygiene-vybekiit.md +38 -0
  236. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/data-model-vybekiit.md +29 -0
  237. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/env-secrets-vybekiit.md +21 -0
  238. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/extend-capabilities-vybekiit.md +127 -0
  239. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/format-lint-vybekiit.md +33 -0
  240. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/github-vybekiit.md +47 -0
  241. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/i18n-vybekiit.md +41 -0
  242. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/launch-store-vybekiit.md +26 -0
  243. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/mcp-tools-vybekiit.md +87 -0
  244. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/observability-vybekiit.md +36 -0
  245. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/planning-vybekiit.md +59 -0
  246. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/playwright-vybekiit.md +42 -0
  247. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/react-patterns-vybekiit.md +45 -0
  248. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/sentry-vybekiit.md +33 -0
  249. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ship-via-pr-vybekiit.md +49 -0
  250. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/testing-vybekiit.md +33 -0
  251. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-consistency-vybekiit.md +33 -0
  252. package/dist/global-skills/vybekiitReferences/mobile/platform-skills/ui-port-from-web-vybekiit.md +44 -0
  253. package/dist/global-skills/vybekiitReferences/spa/AGENTS.md +91 -0
  254. package/dist/global-skills/vybekiitReferences/spa/agent/goal-index.md +30 -0
  255. package/dist/global-skills/vybekiitReferences/spa/agent/goal-routes.json +267 -0
  256. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-agent.json +14 -0
  257. package/dist/global-skills/vybekiitReferences/spa/agent/mcp-setup.md +63 -0
  258. package/dist/global-skills/vybekiitReferences/spa/agent/session-bootstrap.md +44 -0
  259. package/dist/global-skills/vybekiitReferences/spa/agent/ui-sources.md +63 -0
  260. package/dist/global-skills/vybekiitReferences/spa/language.md +217 -0
  261. package/dist/global-skills/vybekiitReferences/spa/platform-skills/mcp-tools-vybekiit.md +87 -0
  262. package/dist/global-skills/vybekiitReferences/web/AGENTS.md +138 -0
  263. package/dist/global-skills/vybekiitReferences/web/agent/goal-index.md +54 -0
  264. package/dist/global-skills/vybekiitReferences/web/agent/goal-routes.json +366 -0
  265. package/dist/global-skills/vybekiitReferences/web/agent/mcp-agent.json +14 -0
  266. package/dist/global-skills/vybekiitReferences/web/agent/mcp-firebase.json +8 -0
  267. package/dist/global-skills/vybekiitReferences/web/agent/mcp-mongodb.json +12 -0
  268. package/dist/global-skills/vybekiitReferences/web/agent/mcp-neon.json +8 -0
  269. package/dist/global-skills/vybekiitReferences/web/agent/mcp-paypal.json +8 -0
  270. package/dist/global-skills/vybekiitReferences/web/agent/mcp-posthog.json +17 -0
  271. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-local.json +8 -0
  272. package/dist/global-skills/vybekiitReferences/web/agent/mcp-railway-remote.json +7 -0
  273. package/dist/global-skills/vybekiitReferences/web/agent/mcp-sentry.json +7 -0
  274. package/dist/global-skills/vybekiitReferences/web/agent/mcp-setup.md +174 -0
  275. package/dist/global-skills/vybekiitReferences/web/agent/mcp-stripe.json +7 -0
  276. package/dist/global-skills/vybekiitReferences/web/agent/mcp-supabase.json +7 -0
  277. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-alpha.json +13 -0
  278. package/dist/global-skills/vybekiitReferences/web/agent/mcp-twilio-docs.json +7 -0
  279. package/dist/global-skills/vybekiitReferences/web/agent/session-bootstrap.md +44 -0
  280. package/dist/global-skills/vybekiitReferences/web/agent/tech-references.md +28 -0
  281. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.json +36294 -0
  282. package/dist/global-skills/vybekiitReferences/web/agent/ui-catalog-index.mobile.json +36294 -0
  283. package/dist/global-skills/vybekiitReferences/web/agent/ui-sources.md +104 -0
  284. package/dist/global-skills/vybekiitReferences/web/language.md +348 -0
  285. package/dist/global-skills/vybekiitReferences/web/platform-skills/README.md +66 -0
  286. package/dist/global-skills/vybekiitReferences/web/platform-skills/ai-vybekiit.md +3 -0
  287. package/dist/global-skills/vybekiitReferences/web/platform-skills/analytics-vybekiit.md +20 -0
  288. package/dist/global-skills/vybekiitReferences/web/platform-skills/assets-vybekiit.md +31 -0
  289. package/dist/global-skills/vybekiitReferences/web/platform-skills/aws-vybekiit.md +25 -0
  290. package/dist/global-skills/vybekiitReferences/web/platform-skills/better-auth-vybekiit.md +21 -0
  291. package/dist/global-skills/vybekiitReferences/web/platform-skills/browser-automation-vybekiit.md +48 -0
  292. package/dist/global-skills/vybekiitReferences/web/platform-skills/ci-vybekiit.md +26 -0
  293. package/dist/global-skills/vybekiitReferences/web/platform-skills/client-state-vybekiit.md +25 -0
  294. package/dist/global-skills/vybekiitReferences/web/platform-skills/cloudflare-email-vybekiit.md +42 -0
  295. package/dist/global-skills/vybekiitReferences/web/platform-skills/cms-vybekiit.md +3 -0
  296. package/dist/global-skills/vybekiitReferences/web/platform-skills/code-hygiene-vybekiit.md +38 -0
  297. package/dist/global-skills/vybekiitReferences/web/platform-skills/compliance-vybekiit.md +3 -0
  298. package/dist/global-skills/vybekiitReferences/web/platform-skills/data-model-vybekiit.md +29 -0
  299. package/dist/global-skills/vybekiitReferences/web/platform-skills/db-presets-vybekiit.md +46 -0
  300. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-cloudflare-vybekiit.md +22 -0
  301. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-github-pages-vybekiit.md +25 -0
  302. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-railway-vybekiit.md +26 -0
  303. package/dist/global-skills/vybekiitReferences/web/platform-skills/deploy-vercel-vybekiit.md +23 -0
  304. package/dist/global-skills/vybekiitReferences/web/platform-skills/env-secrets-vybekiit.md +21 -0
  305. package/dist/global-skills/vybekiitReferences/web/platform-skills/extend-capabilities-vybekiit.md +127 -0
  306. package/dist/global-skills/vybekiitReferences/web/platform-skills/firebase-vybekiit.md +27 -0
  307. package/dist/global-skills/vybekiitReferences/web/platform-skills/format-lint-vybekiit.md +33 -0
  308. package/dist/global-skills/vybekiitReferences/web/platform-skills/github-vybekiit.md +47 -0
  309. package/dist/global-skills/vybekiitReferences/web/platform-skills/i18n-vybekiit.md +3 -0
  310. package/dist/global-skills/vybekiitReferences/web/platform-skills/jobs-vybekiit.md +3 -0
  311. package/dist/global-skills/vybekiitReferences/web/platform-skills/kv-vybekiit.md +3 -0
  312. package/dist/global-skills/vybekiitReferences/web/platform-skills/lemon-squeezy-vybekiit.md +30 -0
  313. package/dist/global-skills/vybekiitReferences/web/platform-skills/mcp-tools-vybekiit.md +87 -0
  314. package/dist/global-skills/vybekiitReferences/web/platform-skills/mongodb-vybekiit.md +39 -0
  315. package/dist/global-skills/vybekiitReferences/web/platform-skills/neon-vybekiit.md +33 -0
  316. package/dist/global-skills/vybekiitReferences/web/platform-skills/nextjs-vybekiit.md +20 -0
  317. package/dist/global-skills/vybekiitReferences/web/platform-skills/notifications-vybekiit.md +3 -0
  318. package/dist/global-skills/vybekiitReferences/web/platform-skills/observability-vybekiit.md +36 -0
  319. package/dist/global-skills/vybekiitReferences/web/platform-skills/paypal-vybekiit.md +25 -0
  320. package/dist/global-skills/vybekiitReferences/web/platform-skills/planning-vybekiit.md +59 -0
  321. package/dist/global-skills/vybekiitReferences/web/platform-skills/playwright-vybekiit.md +42 -0
  322. package/dist/global-skills/vybekiitReferences/web/platform-skills/railway-postgres-vybekiit.md +24 -0
  323. package/dist/global-skills/vybekiitReferences/web/platform-skills/react-patterns-vybekiit.md +45 -0
  324. package/dist/global-skills/vybekiitReferences/web/platform-skills/realtime-vybekiit.md +3 -0
  325. package/dist/global-skills/vybekiitReferences/web/platform-skills/registrar-vybekiit.md +36 -0
  326. package/dist/global-skills/vybekiitReferences/web/platform-skills/resend-vybekiit.md +20 -0
  327. package/dist/global-skills/vybekiitReferences/web/platform-skills/responsive-vybekiit.md +27 -0
  328. package/dist/global-skills/vybekiitReferences/web/platform-skills/search-vybekiit.md +3 -0
  329. package/dist/global-skills/vybekiitReferences/web/platform-skills/sentry-vybekiit.md +33 -0
  330. package/dist/global-skills/vybekiitReferences/web/platform-skills/seo-vybekiit.md +29 -0
  331. package/dist/global-skills/vybekiitReferences/web/platform-skills/ses-vybekiit.md +19 -0
  332. package/dist/global-skills/vybekiitReferences/web/platform-skills/shadcn-vybekiit.md +25 -0
  333. package/dist/global-skills/vybekiitReferences/web/platform-skills/ship-via-pr-vybekiit.md +49 -0
  334. package/dist/global-skills/vybekiitReferences/web/platform-skills/stripe-vybekiit.md +26 -0
  335. package/dist/global-skills/vybekiitReferences/web/platform-skills/supabase-vybekiit.md +31 -0
  336. package/dist/global-skills/vybekiitReferences/web/platform-skills/tenancy-vybekiit.md +3 -0
  337. package/dist/global-skills/vybekiitReferences/web/platform-skills/testing-vybekiit.md +33 -0
  338. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-consistency-vybekiit.md +34 -0
  339. package/dist/global-skills/vybekiitReferences/web/platform-skills/ui-routing-vybekiit.md +41 -0
  340. package/dist/global-skills/watch-my-app/SKILL.md +6 -0
  341. package/dist/global-skills/web-to-native/SKILL.md +1 -0
  342. package/dist/global-skills/wire-auth/SKILL.md +6 -0
  343. package/dist/global-skills/wire-database/SKILL.md +15 -1
  344. package/dist/global-skills/wire-email/SKILL.md +6 -0
  345. package/dist/global-skills/wire-payments/SKILL.md +6 -0
  346. package/dist/global-skills/workers-best-practices/SKILL.md +4 -3
  347. package/dist/global-skills/workers-best-practices/references/configuration.md +1 -1
  348. package/dist/global-skills/workers-best-practices/references/platform-apis.md +5 -5
  349. package/dist/global-skills/workers-best-practices/references/runtime-patterns.md +1 -1
  350. package/dist/global-skills/wrangler/SKILL.md +27 -24
  351. package/dist/global-skills/xcode-project-setup/SKILL.md +1 -0
  352. package/package.json +12 -9
@@ -5,6 +5,12 @@ metadata:
5
5
  vybekiit-generated: buyer-skill-stub
6
6
  ---
7
7
 
8
+ Prefer the current project instructions and matching project skill when inside a kit app.
9
+ Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
10
+ That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
11
+ Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
12
+ Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
13
+
8
14
  <!-- vybekiit:generated:buyer-skill-stub -->
9
15
 
10
16
  # Skill: sign-in-with-phone
@@ -19,15 +25,13 @@ metadata:
19
25
  ## Steps
20
26
 
21
27
  <!-- vybekiit:page-recipe-install -->
22
- 0. **Install / extend the auth page recipe first (catalog SSOT — Option C).**
23
- Copy or extend `apps/componentLibrary/src/pageRecipes/AuthPage.tsx` export `AuthPage` at route `/login`
24
- with phone + code UI. Recipe id: `auth`. Preset: auth-bridge.
25
- Keep every `TODO:` in the recipe and wire each one after the route renders.
26
- Also reference `packages/agentKit` `getPageRecipeInstall('sign-in-with-phone')` / page-recipe-manifest.json.
27
- **Verify:** `/login` shows practice phone sign-in UI before provider wiring.
28
+ 0. **Add the ready-made sign-in page first.** Run `vybekiit add page-recipe auth`. It adds the page
29
+ at `/login` (if the app already has a sign-in page, it is kept). Then add a phone number and code form to it.
30
+ Keep every `TODO:` in the page and fill each one in as you connect the real service.
31
+ **Verify:** `/login` opens and shows a phone number and code form with practice content.
28
32
 
29
33
  1. **Run `setup-sms` first** if Twilio secret settings are not filled in.
30
- **Verify:** `NOTIFICATIONS_PROVIDER=twilio` and Twilio keys in `.env`.
34
+ **Verify:** `NOTIFICATIONS_PROVIDER=twilio` in `settings.env` and `TWILIO_AUTH_TOKEN` in `.env`.
31
35
 
32
36
  2. **Add phone + code UI** on login → send code, then verify.
33
37
  **Verify:** practice mode accepts code `000000` with empty Twilio settings.
@@ -14,9 +14,10 @@ description: >-
14
14
  processing payments, setting up subscriptions, collecting sales tax, VAT, or
15
15
  GST, creating connected accounts, or implementing secure key handling.
16
16
 
17
+ disable-model-invocation: true
17
18
  ---
18
19
 
19
- Latest Stripe API version: **2026-08-26.dahlia**. Always use the latest API version and SDK unless the user specifies otherwise.
20
+ Latest Stripe API version: **2026-09-30.endive**. Always use the latest API version and SDK unless the user specifies otherwise.
20
21
 
21
22
  Development and testing environment default: For new integration development, use separate [sandboxes](https://docs.stripe.com/sandboxes.md) instead of the account’s shared test mode sandbox. Sandboxes isolate settings and test data from live mode. Use separate sandboxes for local development and CI. When stronger isolation is useful, dedicate sandboxes to development teams or testing scenarios. Use the shared test mode sandbox only for an existing integration that depends on it or when a required feature doesn’t support general sandboxes.
22
23
 
@@ -55,6 +55,8 @@ For a flat or per-seat fee plus usage, keep the fee on the existing Stripe Subsc
55
55
  ## Traps to avoid
56
56
 
57
57
  - Don’t call a subscription integration complete without a webhook handler for the subscription lifecycle events (`customer.subscription.*`, `invoice.paid`, `invoice.payment_failed`). Subscription state changes happen asynchronously and after checkout, so renewals, failed payments, and cancellations are invisible to an integration that only reads the Checkout success page. Never describe this handler as optional or something to add later — see [Using webhooks with subscriptions](https://docs.stripe.com/billing/subscriptions/webhooks.md).
58
+ - Don’t call a production Checkout subscription integration complete without also handling the risk-side events that affect subscription charges: `charge.dispute.created`, `charge.refunded`, and `radar.early_fraud_warning.created`. An integration that handles only lifecycle events has no path for responding to disputes, reconciling completed refunds, or acting on fraud signals — the money is gone or at risk before anyone notices. Subscribe to these events and use the version-appropriate object graph to resolve the affected Subscription; see [Handle refund, dispute, and early fraud warning events](https://docs.stripe.com/billing/subscriptions/webhooks.md#refund-events). Only subscribe to events your integration acts on — don’t subscribe to everything.
59
+ - If the integration maintains a local copy of Customer data (email, name, address, default payment method), also handle `customer.updated` so local records stay in sync. For Accounts v2 integrations, the equivalents are `v2.core.account[configuration.customer].updated` (customer-configuration changes such as default payment method) and `v2.core.account[identity].updated` (billing address and identity fields). See [Accounts v2 webhooks](https://docs.stripe.com/accounts-v2/use-accounts-as-customers.md#accounts-v2-webhooks). Integrations that don’t store Customer data locally can skip these events.
58
60
  - Don’t build manual subscription renewal loops using raw PaymentIntents. Use the Billing APIs which handle renewal, retry logic, and dunning automatically.
59
61
  - Don’t use the deprecated `plan` object. Use [Prices](https://docs.stripe.com/api/prices.md) instead.
60
62
  - Don’t put prices for different tiers or plans on a single product. Instead, create one Product for each plan a customer can choose. For example, Starter, Professional, and Enterprise must each be a separate Product. Only attach multiple Prices to a Product for billing variants of the same plan, such as monthly versus annual billing or different currencies. Avoid placing Prices for different tiers on a single Product. Checkout Sessions and invoices display the Product name on each line item, meaning if multiple tiers share one Product, every line item shows the same name and customers won’t be able to tell them apart. For more information, see [Model your product catalog](https://docs.stripe.com/products-prices/how-products-and-prices-work.md#model-your-catalog).
@@ -50,7 +50,7 @@ Handle both `checkout.session.completed` and `checkout.session.async_payment_suc
50
50
 
51
51
  Webhooks are **required**, not optional, for:
52
52
 
53
- - Subscriptions and any recurring billing, where most state changes (renewals, payment failures, cancellations) happen after checkout. Read the Billing skill reference for the lifecycle events to handle.
53
+ - Subscriptions and any recurring billing, where renewals, payment failures, cancellations, and risk events such as disputes, refunds, and fraud signals happen asynchronously after checkout. Read the Billing skill reference for the full set of events to handle, including risk-side events.
54
54
  - Delayed-notification payment methods, where the payment succeeds or fails hours or days after the session completes.
55
55
  - Any post-payment side effect: granting access, sending a confirmation email, decrementing inventory, or writing an order to your database.
56
56
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  ## What Stripe Tax does and doesn’t do
22
22
 
23
- **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard → Tax → Locations → “Needs attention” and email alerts), registration on the user’s behalf for eligible US remote sellers (“Register for me”; see [Registration safety](https://docs.stripe.com/undefined.md#registration-safety)), and filing through [TaxJar](https://docs.stripe.com/tax/file-with-stripe.md) or [a filing partner](https://docs.stripe.com/tax/filing.md), where available.
23
+ **What Stripe Tax does:** tax calculation, nexus threshold monitoring (Dashboard → Tax → Locations → “Needs attention” and email alerts), registration on the user’s behalf for eligible US remote sellers (“Register for me”; see Registration safety), and filing through [TaxJar](https://docs.stripe.com/tax/file-with-stripe.md) or [a filing partner](https://docs.stripe.com/tax/filing.md), where available.
24
24
 
25
25
  **What Stripe Tax doesn’t do:** process payments that happen outside Stripe, automatically file every tax return, or support every jurisdiction (check the [supported countries list](https://docs.stripe.com/tax/supported-countries.md) for current coverage). For off-Stripe payments, the [standalone Tax APIs](https://docs.stripe.com/tax/off-stripe.md) can calculate tax and record transactions for reporting and filing.
26
26
 
@@ -127,7 +127,7 @@ Threshold monitoring only processes live-mode transactions, not sandbox payments
127
127
 
128
128
  Guide, don’t advise. Never tell a user where they must register or whether they’re legally obligated. Recommend they consult their tax advisor to determine their obligations.
129
129
 
130
- - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiry can be changed, but an expiration that has taken effect is permanent (to collect again, the user adds a new registration), and there’s no pause. A head office address is required before adding a registration.
130
+ - The [Tax Registrations API](https://docs.stripe.com/api/tax/registrations.md) can list, create, update, and expire registrations (set `expires_at` to expire; there’s no delete). A scheduled expiration can be changed, but an expiration that has taken effect is permanent (to collect again, the user adds a new registration), and there’s no pause. A head office address is required before adding a registration.
131
131
  - Adding a registration in Stripe records where the user is *already* registered. It doesn’t register them with the tax authority.
132
132
  - Creating or expiring a registration changes whether Stripe collects tax in that jurisdiction, but it doesn’t register or deregister the user with the tax authority. The user must do that separately. Prepare the change and have the user confirm it; never create or expire a registration automatically.
133
133
 
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.9](https://github.com/supabase/agent-skills/compare/v0.1.8...supabase-v0.1.9) (2026-09-28)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * **supabase:** recommend scoped personal access tokens for the Management API, CLI, and MCP ([#604](https://github.com/supabase/agent-skills/issues/604)) ([551274e](https://github.com/supabase/agent-skills/commit/551274ed2fe97c8fea1325f7ceb05803a542f8df))
9
+
10
+ ## [0.1.8](https://github.com/supabase/agent-skills/compare/v0.1.7...supabase-v0.1.8) (2026-09-24)
11
+
12
+
13
+ ### Features
14
+
15
+ * **supabase:** add debugging workflows to the supabase skill ([#112](https://github.com/supabase/agent-skills/issues/112)) ([3a4f0ce](https://github.com/supabase/agent-skills/commit/3a4f0ce0782e0cbdcf187c362e8d15d9e324462b))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **supabase:** recommend scoped personal access tokens for the Management API, CLI, and MCP ([#604](https://github.com/supabase/agent-skills/issues/604)) ([551274e](https://github.com/supabase/agent-skills/commit/551274ed2fe97c8fea1325f7ceb05803a542f8df))
21
+
3
22
  ## [0.1.7](https://github.com/supabase/agent-skills/compare/v0.1.6...supabase-v0.1.7) (2026-08-12)
4
23
 
5
24
 
@@ -4,6 +4,7 @@ description: "Use when doing ANY task involving Supabase. Triggers: Supabase pro
4
4
  metadata:
5
5
  author: supabase
6
6
  version: "0.1.2"
7
+ disable-model-invocation: true
7
8
  ---
8
9
 
9
10
  # Supabase
@@ -8,6 +8,7 @@ metadata:
8
8
  organization: Supabase
9
9
  date: January 2026
10
10
  abstract: Comprehensive Postgres performance optimization guide for developers using Supabase and Postgres. Contains performance rules across 8 categories, prioritized by impact from critical (query performance, connection management) to incremental (advanced features). Each rule includes detailed explanations, incorrect vs. correct SQL examples, query plan analysis, and specific performance metrics to guide automated optimization and code generation.
11
+ disable-model-invocation: true
11
12
  ---
12
13
 
13
14
  # Supabase Postgres Best Practices
@@ -5,6 +5,12 @@ metadata:
5
5
  vybekiit-generated: buyer-skill-stub
6
6
  ---
7
7
 
8
+ Prefer the current project instructions and matching project skill when inside a kit app.
9
+ Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
10
+ That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
11
+ Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
12
+ Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
13
+
8
14
  <!-- vybekiit:generated:buyer-skill-stub -->
9
15
 
10
16
  # Skill: track-errors
@@ -21,23 +27,22 @@ translate every error · celebrate. You set up alerts; the builder only pastes o
21
27
  ## Steps
22
28
 
23
29
  <!-- vybekiit:page-recipe-install -->
24
- 0. **Install the page recipe first (catalog SSOT — Option C).**
25
- Copy `apps/componentLibrary/src/pageRecipes/SystemHealthPage.tsx` export `SystemHealthPage` into the buyer app at route `/admin/health`.
26
- Recipe id: `system-health`. Presets: none.
27
- Keep every `TODO:` in the recipe and wire each one after the route renders.
28
- Also reference `packages/agentKit` `getPageRecipeInstall('track-errors')` / page-recipe-manifest.json.
29
- **Verify:** route builds and shows practice UI before provider wiring.
30
-
30
+ 0. **Add the ready-made page first.** Run `vybekiit add page-recipe system-health`. It adds the page
31
+ at `/admin/health` and lists any data setup to run next. Keep every `TODO:` in the page and fill
32
+ each one in as you connect the real service.
33
+ **Verify:** `/admin/health` opens and shows practice content.
31
34
 
32
35
  1. **Explain in one line.** *"I'm going to set up alerts so you know when something breaks in your live app."*
33
36
 
34
- 2. **Create or open the alert project.** Sign in to the error-tracking dashboard (Sentry free tier) and
35
- create a project for this app. Copy the **DSN** (connection string) from project settings.
36
- **Verify:** you have a DSN ready — do not paste it in chat.
37
+ 2. **Create or open the alert project.** Ask the builder to run `vybekiit-automate sentry setup` in
38
+ their own terminal. It asks for a Sentry auth token with hidden typing, checks it, and saves
39
+ `SENTRY_AUTH_TOKEN` to `.env`. With that token, create a project for this app through the Sentry
40
+ API (free tier) and read its **DSN** (connection string).
41
+ **Verify:** you have a DSN ready. Never paste it in chat.
37
42
 
38
- 3. **Wire it in.** Set in `.env`:
43
+ 3. **Wire it in.** Set in `settings.env`:
39
44
  - `OBSERVABILITY_PROVIDER="sentry"`
40
- - `SENTRY_DSN="<paste from dashboard>"`
45
+ - `SENTRY_DSN="<DSN from step 2>"`
41
46
  Confirm `instrumentation.ts` and `src/lib/observability.ts` exist and import `@vybekiit/observability`.
42
47
  **Verify:** app builds; provider resolves without error.
43
48
 
@@ -53,7 +58,7 @@ translate every error · celebrate. You set up alerts; the builder only pastes o
53
58
 
54
59
  ## If anything breaks
55
60
 
56
- Run `doctor`. Most failures are a missing or wrong DSN — re-copy from the dashboard into `.env` only
61
+ Run `doctor`. Most failures are a missing or wrong DSN — re-copy from the dashboard into `settings.env` only
57
62
  (never chat). If MCP fails once, run `vybekiit doc-fallback sentry`.
58
63
 
59
64
  ## Definition of done
@@ -5,6 +5,12 @@ metadata:
5
5
  vybekiit-generated: buyer-skill-stub
6
6
  ---
7
7
 
8
+ Prefer the current project instructions and matching project skill when inside a kit app.
9
+ Outside a kit app, resolve guidance relative to this skill directory: ../vybekiitReferences/web/.
10
+ That folder contains language.md, AGENTS.md, CODE-STYLE.md, agent/ and platform-skills/.
11
+ Bare wrapper filenames refer to platform-skills/ there. Do not assume project code or recipe files exist globally.
12
+ Inspect an existing app before changing it. Scaffold a new kit app only when the builder asked for a new app.
13
+
8
14
  <!-- vybekiit:generated:buyer-skill-stub -->
9
15
 
10
16
  # Skill: update-kit
@@ -17,7 +23,7 @@ translate every error · celebrate. You do the whole update; the builder just wa
17
23
  > (Under the hood — agent-only) Updates run through **three channels** inside this one skill:
18
24
  > npm package bumps (`@vybekiit/*`), agent-layer refresh from the template mirror, and platform
19
25
  > instruction files pinned in `.agents/skills/`. The builder's own app code is never touched — only
20
- > maintained kit files listed in ADR-0007. Use `planKitUpdate()` from `@vybekiit/agent-kit` for
26
+ > maintained kit files. Use `planKitUpdate()` from `@vybekiit/agent-kit` for
21
27
  > channel 1; `vybekiit sync-agent-layer` for channel 2; `npx skills update -y` for channel 3 when
22
28
  > `skills-lock.json` exists.
23
29
 
@@ -3,6 +3,7 @@ name: upgrading-expo
3
3
  description: Guidelines for upgrading Expo SDK versions and fixing dependency issues
4
4
  version: 1.0.0
5
5
  license: MIT
6
+ disable-model-invocation: true
6
7
  ---
7
8
 
8
9
  ## References
@@ -3,6 +3,7 @@ name: use-dom
3
3
  description: Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
4
4
  version: 1.0.0
5
5
  license: MIT
6
+ disable-model-invocation: true
6
7
  ---
7
8
 
8
9
  ## What are DOM Components?
@@ -18,6 +18,7 @@ description: >
18
18
  `railway up` flow (deploys + signs up on the fly) or `railway login`
19
19
  (which creates new accounts on the fly).
20
20
  allowed-tools: Bash(railway:*), Bash(which:*), Bash(command:*), Bash(npm:*), Bash(npx:*), Bash(curl:*), Bash(python3:*)
21
+ disable-model-invocation: true
21
22
  ---
22
23
 
23
24
  # Use Railway
@@ -104,7 +105,7 @@ Before any mutation, verify the tool path and context:
104
105
 
105
106
  ```bash
106
107
  command -v railway # CLI installed
107
- RAILWAY_CALLER="skill:use-railway@1.5.5" RAILWAY_AGENT_SESSION="railway-skill-$(date +%s)-$$" railway whoami --json
108
+ RAILWAY_CALLER="skill:use-railway@1.6.1" RAILWAY_AGENT_SESSION="railway-skill-$(date +%s)-$$" railway whoami --json
108
109
  railway --version # check CLI version
109
110
  ```
110
111
 
@@ -128,7 +129,7 @@ Check once per session and don't re-run it after acting; the restart prompt to t
128
129
 
129
130
  When Railway MCP is available and the job is a platform-state read, use the matching MCP read instead of shelling out. If using the CLI path, run the CLI checks above.
130
131
 
131
- For Railway CLI calls made while this skill is active, prefix the command with `RAILWAY_CALLER=skill:use-railway@1.5.5` and a stable `RAILWAY_AGENT_SESSION` reused for the current user request. Generate the session id once per user request, then reuse that exact value for later Railway CLI calls in the same workflow. Do not run a separate `export` preflight solely for telemetry; inline env prefixes keep the shell output concise and avoid leaking setup steps into every response.
132
+ For Railway CLI calls made while this skill is active, prefix the command with `RAILWAY_CALLER=skill:use-railway@1.6.1` and a stable `RAILWAY_AGENT_SESSION` reused for the current user request. Generate the session id once per user request, then reuse that exact value for later Railway CLI calls in the same workflow. Do not run a separate `export` preflight solely for telemetry; inline env prefixes keep the shell output concise and avoid leaking setup steps into every response.
132
133
 
133
134
  **Context resolution - URL IDs always win:**
134
135
  - If the user provides a Railway URL, extract IDs from it. Do NOT run `railway status --json`; it returns the locally linked project, which is usually unrelated.
@@ -294,14 +295,14 @@ For anything beyond quick operations, load the references needed for the user's
294
295
  | **Analyze a database** ("analyze \<url\>", "analyze db", "analyze database", "analyze service", "introspect", "check my postgres/redis/mysql/mongo") | [analyze-db.md](references/analyze-db.md) | Database introspection and performance analysis. analyze-db.md directs you to the DB-specific reference. **This takes priority over the status/operate routes when a Railway URL to a database service is provided alongside "analyze".** |
295
296
  | Create or connect resources | [setup.md](references/setup.md) | Projects, services, databases, buckets, templates, workspaces |
296
297
  | Ship code or manage releases | [deploy.md](references/deploy.md) | Deploy, redeploy, restart, build config, monorepo, Dockerfile |
297
- | Change configuration | [configure.md](references/configure.md) | Environments, variables, config patches, domains, networking |
298
+ | Change configuration ("webhook", "notify on deploy", "custom header", "Slack/Discord notifications") | [configure.md](references/configure.md) | Environments, variables, config patches, domains, networking, project webhooks with the `list-webhooks` / `create-webhook` / `update-webhook` / `test-webhook` / `delete-webhook` MCP tools and their custom headers |
298
299
  | Manage feature flags | [feature-flags.md](references/feature-flags.md) | MCP registry operations; CLI targeting rules and rollouts; SDK runtime reads |
299
300
  | Define configuration in source control ("IaC", "infrastructure as code", "config as code", `.railway/railway.ts`, `.railway/railway.py`, `.railway/railway.go`, "config migrate/plan/apply/pull") | [iac.md](references/iac.md) | Author/import IaC, migrate legacy JSON/TOML, save and apply reviewed plans, check drift |
300
301
  | Manage databases ("PITR", "restore", "backup", "HA", "failover", "switchover", "PgBouncer", "connection pooling") | [databases.md](references/databases.md) | Postgres recovery, HA and pooling; MySQL/Redis HA; use analysis references for performance investigations |
301
302
  | Inspect costs or manage spending limits | [usage.md](references/usage.md) | Workspace/project/service usage, billing periods, workspace and Railway Agent limits |
302
303
  | Run a coding agent on Railway ("cloud agent", "railway ca", "railway code", "desktop SSH") | [cloud-agents.md](references/cloud-agents.md) | Provision, connect, wake, sleep, delete, or configure desktop access to cloud agent VMs |
303
304
  | Check health or debug failures | [operate.md](references/operate.md) | Status, logs, metrics, build/runtime triage, recovery |
304
- | Trace requests across services ("tracing", "traces", "trace ID", "spans", "OpenTelemetry", "OTel", "OTLP", "instrument my app", "instrument my function", "Bun function", "auto-instrumentation") | [tracing.md](references/tracing.md) | Enable tracing per project or service with the `get-tracing` / `set-service-tracing` / `set-project-tracing` MCP tools or `railway trace enable`, SDK instrumentation (preferred) vs automatic (eBPF), what to instrument, instrumenting a Function (Bun), the provided `OTEL_*` variables, sampling, reading traces with the `list-traces` / `get-trace` MCP tools or `railway trace list` / `get`, the Traces tab |
305
+ | Trace requests across services ("tracing", "traces", "trace ID", "spans", "OpenTelemetry", "OTel", "OTLP", "instrument my app", "instrument my function", "Bun function", "auto-instrumentation") | [tracing.md](references/tracing.md) | Enable tracing per service and environment with the `get-tracing` / `set-service-tracing` MCP tools or `railway trace enable`, the IaC `tracing` block and its current SDK limitation, SDK instrumentation (preferred) vs automatic (eBPF), what to instrument, instrumenting a Function (Bun), the provided `OTEL_*` variables, sampling, reading traces with the `list-traces` / `get-trace` MCP tools or `railway trace list` / `get`, checking what a service's instrumentation covers with `get-tracing-coverage`, the Traces tab |
305
306
  | Use a sandbox or build remotely ("sandbox", "scratch environment", "ephemeral box", "build remotely", "remote build", "run this remotely", "checkpoint", "snapshot/save/restore sandbox state") | [sandbox.md](references/sandbox.md) | Create/fork sandboxes, run commands remotely, remote template builds, checkpoints (save/restore sandbox state), port forwarding, teardown. Requires Sandboxes enabled in Priority Boarding — if unavailable, prompt the user to enable it. |
306
307
  | Request from API, docs, or community | [request.md](references/request.md) | Railway GraphQL API queries/mutations, metrics queries, Central Station, official docs |
307
308
 
@@ -346,7 +347,7 @@ Multi-step workflows follow natural chains:
346
347
  - **First deploy**: setup (create project + service), configure (set variables and source), deploy, operate (verify healthy)
347
348
  - **Fix a failure**: operate (triage logs), configure (fix config/variables), deploy (redeploy), operate (verify recovery)
348
349
  - **Add a domain**: configure (add domain + set port), operate (verify DNS and service health)
349
- - **Add tracing**: tracing (enable for the project or service with `set-project-tracing` / `set-service-tracing` or `railway trace enable`, prefer SDK instrumentation over automatic, add spans around inbound work, I/O and logical units; for a Function, edit its file with `get-function-source-code` / `update-function-source-code`), configure (set `OTEL_METRICS_EXPORTER`/`OTEL_LOGS_EXPORTER`, start command), deploy (redeploy so the `OTEL_*` variables land), tracing (verify with `x-railway-trace-id` and `get-trace` or `railway trace get`)
350
+ - **Add tracing**: tracing (enable for the service in the right environment with `set-service-tracing` or `railway trace enable`, prefer SDK instrumentation over automatic, add spans around inbound work, I/O and logical units; for a Function, edit its file with `get-function-source-code` / `update-function-source-code`), configure (set `OTEL_METRICS_EXPORTER`/`OTEL_LOGS_EXPORTER`, start command), deploy (redeploy so the `OTEL_*` variables land), tracing (verify with `x-railway-trace-id` and `get-trace` or `railway trace get`, then `get-tracing-coverage` for the database and client spans)
350
351
  - **Docs to action**: request (fetch docs answer), route to the relevant operational reference
351
352
 
352
353
  When composing, return one unified response covering all steps. Don't ask the user to invoke each step separately.
@@ -278,6 +278,36 @@ railway domain delete example.com --service <service> --yes --json
278
278
 
279
279
  Domain deletion is destructive. Confirm the domain and service before running it.
280
280
 
281
+ ## Webhooks
282
+
283
+ Project webhooks POST a JSON payload to a URL whenever a chosen deployment, monitor, or volume-alert event happens anywhere in the project. They are project-scoped, not per service or environment, and are managed with five MCP tools. There is no `railway webhook` CLI command. Resolve the project ID from `railway status --json` or `list-projects` first.
284
+
285
+ | Tool | Purpose |
286
+ |---|---|
287
+ | `list-webhooks` | Every webhook in the project: URL, `eventTypes`, `includePreviewEnvironments`, the names of its custom headers (`headerNames`), and the `id` the other tools take |
288
+ | `create-webhook` | `url` plus optional `eventTypes` (defaults to `Deployment.failed`, `Deployment.crashed`, `Deployment.oom_killed`), `includePreviewEnvironments` (defaults to `true`), and `headers` |
289
+ | `update-webhook` | `webhookId` plus any of `url`, `eventTypes`, `includePreviewEnvironments`, `headers`. Only the fields passed change; `eventTypes` and `headers` each replace the whole set |
290
+ | `test-webhook` | POST a sample event and report the HTTP status. Pass `url` (and optional `headers`) to try a new endpoint, or `webhookId` to send to an existing webhook with its stored URL and headers. Nothing is stored |
291
+ | `delete-webhook` | Remove a webhook by `webhookId`. Destructive; confirm the URL with the user first |
292
+
293
+ Discord and Slack incoming-webhook URLs are detected and receive a formatted message instead of the raw JSON. Run `test-webhook` before `create-webhook`: Railway treats anything outside `2xx`/`3xx` as a failed delivery, and a dead endpoint is paused for 24 hours after repeated failures.
294
+
295
+ ```text
296
+ Create webhook for project <project-id>: url https://hooks.example.com/railway, eventTypes Deployment.failed Deployment.crashed, headers { "Authorization": "Bearer <token>" }
297
+ ```
298
+
299
+ ### Custom headers
300
+
301
+ A webhook can carry up to 20 custom HTTP headers, sent with every delivery and with `test-webhook`. Use them for whatever the receiver needs to trust or route the request: an `Authorization` bearer token, an API key, a shared secret the receiver compares, a routing header. This replaces the old advice of hiding a secret in the URL, which still works but leaks into logs more easily.
302
+
303
+ - **Values are write-only.** They are encrypted at rest and never returned: `list-webhooks` and every other tool's output carry `headerNames` only. Keep the value in the user's secret store; Railway cannot show it again.
304
+ - **`create-webhook` and `test-webhook`** take `headers` as a name-to-value map.
305
+ - **`update-webhook` replaces the whole set.** Every header not listed is removed and `{}` clears them all. A `null` value keeps the stored value for that name, so a secret survives a change without being resent: `{ "Authorization": null, "X-Env": "prod" }` keeps the token and sets `X-Env`. A URL-only update carries the stored headers forward automatically.
306
+ - **`test-webhook` with `webhookId`** sends the stored headers; any `headers` passed alongside override the stored one of the same name and the rest are still sent. Headers are validated before the request goes out, so a bad name gets a clear error instead of a `0` status.
307
+ - **Name rules.** RFC 9110 token characters, up to 128 characters; values up to 4096 characters with no CR or LF. `Host`, `Content-Type`, `Content-Length` and the hop-by-hop headers (`Transfer-Encoding`, `Connection`, `Keep-Alive`, `Upgrade`, `TE`, `Trailer`, `Expect`) are refused, as is any name starting with `proxy-` or `x-railway-`. Two names differing only by case count as a duplicate. The dashboard form applies the same rules inline and disables Save until a bad row is fixed.
308
+
309
+ Without MCP, the same fields are on the GraphQL API: `headers` inside the webhook channel config of `notificationRuleCreate` / `notificationRuleUpdate` (a `null` value keeps the stored one there too), and `webhookTest(url, payload, headers: [WebhookHeaderInput!], notificationRuleId)`. Inspect them with `railway api describe`.
310
+
281
311
  ## Networking commands
282
312
 
283
313
  ### Private networking
@@ -365,10 +395,13 @@ While active, browser visitors must pass a check. Non-browser API clients and we
365
395
  - **Outbound allowlist still sees old IPs**: redeploy after enabling/disabling Static Outbound IPs
366
396
  - **IPv6 still disabled**: commit the staged environment change and wait for redeploy
367
397
  - **CDN appears ineffective**: check `x-cache`, `age`, cache headers, `Set-Cookie`, `Authorization`, method, and response size
398
+ - **Webhook header rejected**: the name is reserved (`Host`, `Content-Type`, `Content-Length`, hop-by-hop), starts with `proxy-` or `x-railway-`, duplicates another name ignoring case, or the value has a newline; rename it or drop it, and stay under 20 headers
399
+ - **Webhook headers disappeared after an update**: `update-webhook` replaces the whole `headers` set, so a map without a name removes it; pass `null` for names to keep, or omit `headers` entirely
368
400
  - **WAF breaks API clients**: Under Attack Mode blocks non-browser traffic; disable it or scope protection to browser-facing services
369
401
  - **Multi-region patch ignored**: verify region names match the exact identifiers (`us-west2`, `us-east4-eqdc4a`, `europe-west4-drams3a`, `asia-southeast1-eqsg3a`)
370
402
 
371
403
  ## Validated against
372
404
 
373
- - Docs: [environment.md](https://docs.railway.com/cli/environment), [variable.md](https://docs.railway.com/cli/variable), [domain.md](https://docs.railway.com/cli/domain), [tcp-proxy.md](https://docs.railway.com/cli/tcp-proxy), [private-network.md](https://docs.railway.com/cli/private-network), [outbound-network.md](https://docs.railway.com/cli/outbound-network), [cdn.md](https://docs.railway.com/cli/cdn), [waf.md](https://docs.railway.com/cli/waf)
405
+ - Docs: [environment.md](https://docs.railway.com/cli/environment), [variable.md](https://docs.railway.com/cli/variable), [domain.md](https://docs.railway.com/cli/domain), [tcp-proxy.md](https://docs.railway.com/cli/tcp-proxy), [private-network.md](https://docs.railway.com/cli/private-network), [outbound-network.md](https://docs.railway.com/cli/outbound-network), [cdn.md](https://docs.railway.com/cli/cdn), [waf.md](https://docs.railway.com/cli/waf), [webhooks.md](https://docs.railway.com/observability/webhooks)
406
+ - Platform source (railwayapp/mono): `packages/backboard/src/handlers/http/routes/mcp/tools/webhooks.ts` (webhook MCP tools), `packages/backboard/src/controllers/notifications/validation.ts` (`validateWebhookHeaders`), `packages/backboard/src/graphql/v2/schema/schema.graphql` (`webhookTest`, `WebhookHeaderInput`)
374
407
  - CLI source: [environment/mod.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/environment/mod.rs), [environment/edit.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/environment/edit.rs), [variable.rs](https://github.com/railwayapp/cli/blob/v5.49.1/src/commands/variable.rs), [domain.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/domain.rs), [tcp_proxy.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/tcp_proxy.rs), [private_network.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/private_network.rs), [outbound_networking.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/outbound_networking.rs), [cdn.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/cdn.rs), [waf.rs](https://github.com/railwayapp/cli/blob/v5.23.3/src/commands/waf.rs)
@@ -113,6 +113,8 @@ const media = bucket("media", { region: "iad" });
113
113
  const backend = group("Backend", [api, worker, db]);
114
114
  ```
115
115
 
116
+ A traced service also carries `tracing: { enabled: true, autoInstrumentation: true }`, which `config pull` renders but the `service()` helper does not pass through yet; see [Infrastructure as code in tracing.md](tracing.md#infrastructure-as-code) before applying a plan that touches `tracing`.
117
+
116
118
  Advanced placement can map regions to replica counts:
117
119
 
118
120
  ```ts