opencode-skills-collection 3.1.11 → 3.1.13

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 (760) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +192 -1
  2. package/bundled-skills/ab-testing/SKILL.md +368 -0
  3. package/bundled-skills/ab-testing/evals/evals.json +105 -0
  4. package/bundled-skills/ab-testing/references/sample-size-guide.md +263 -0
  5. package/bundled-skills/ab-testing/references/test-templates.md +277 -0
  6. package/bundled-skills/accint-commitments/SKILL.md +32 -0
  7. package/bundled-skills/accint-frames/SKILL.md +35 -0
  8. package/bundled-skills/accint-solve/SKILL.md +22 -192
  9. package/bundled-skills/add-app-clip/SKILL.md +297 -0
  10. package/bundled-skills/add-app-clip/agents/openai.yaml +4 -0
  11. package/bundled-skills/add-app-clip/references/native-module.md +96 -0
  12. package/bundled-skills/agent-memory/SKILL.md +84 -0
  13. package/bundled-skills/alternatives-pages/README.md +46 -0
  14. package/bundled-skills/alternatives-pages/SKILL.md +376 -0
  15. package/bundled-skills/analytics/SKILL.md +324 -0
  16. package/bundled-skills/analytics/evals/evals.json +90 -0
  17. package/bundled-skills/analytics/references/event-library.md +260 -0
  18. package/bundled-skills/analytics/references/ga4-implementation.md +300 -0
  19. package/bundled-skills/analytics/references/gtm-implementation.md +390 -0
  20. package/bundled-skills/anti-deception/SKILL.md +50 -0
  21. package/bundled-skills/api-analyzer/SKILL.md +101 -0
  22. package/bundled-skills/api-and-interface-design/SKILL.md +307 -0
  23. package/bundled-skills/api-designer/SKILL.md +167 -0
  24. package/bundled-skills/api-integration/SKILL.md +175 -0
  25. package/bundled-skills/api-onboarding/README.md +47 -0
  26. package/bundled-skills/api-onboarding/SKILL.md +473 -0
  27. package/bundled-skills/api-sdk-generator/SKILL.md +223 -0
  28. package/bundled-skills/appium-skill/SKILL.md +317 -0
  29. package/bundled-skills/applicationinsights-web-ts/SKILL.md +477 -0
  30. package/bundled-skills/automated-triage/SKILL.md +189 -0
  31. package/bundled-skills/aws-agentic-ai/SKILL.md +141 -0
  32. package/bundled-skills/aws-cdk-development/SKILL.md +275 -0
  33. package/bundled-skills/aws-cost-operations/SKILL.md +273 -0
  34. package/bundled-skills/aws-mcp-setup/SKILL.md +192 -0
  35. package/bundled-skills/aws-serverless-eda/SKILL.md +394 -0
  36. package/bundled-skills/aws-sst-development/SKILL.md +175 -0
  37. package/bundled-skills/azure-ai-language-conversations-py/SKILL.md +112 -0
  38. package/bundled-skills/azure-servicebus-rust/SKILL.md +182 -0
  39. package/bundled-skills/azure-storage-queue-rust/SKILL.md +178 -0
  40. package/bundled-skills/baseline-ui/SKILL.md +15 -10
  41. package/bundled-skills/brooks-audit/SKILL.md +49 -0
  42. package/bundled-skills/brooks-audit/architecture-guide.md +195 -0
  43. package/bundled-skills/brooks-audit/onboarding-guide.md +89 -0
  44. package/bundled-skills/brooks-debt/SKILL.md +42 -0
  45. package/bundled-skills/brooks-debt/debt-guide.md +125 -0
  46. package/bundled-skills/brooks-harness/SKILL.md +139 -0
  47. package/bundled-skills/brooks-review/SKILL.md +42 -0
  48. package/bundled-skills/brooks-review/pr-review-guide.md +163 -0
  49. package/bundled-skills/brooks-sweep/SKILL.md +44 -0
  50. package/bundled-skills/brooks-sweep/sweep-guide.md +264 -0
  51. package/bundled-skills/brooks-test/SKILL.md +41 -0
  52. package/bundled-skills/brooks-test/test-guide.md +147 -0
  53. package/bundled-skills/bug-hunt-swarm/SKILL.md +189 -0
  54. package/bundled-skills/bug-hunt-swarm/agents/openai.yaml +4 -0
  55. package/bundled-skills/building-native-ui/SKILL.md +77 -18
  56. package/bundled-skills/building-native-ui/agents/openai.yaml +4 -0
  57. package/bundled-skills/building-native-ui/references/animations.md +220 -0
  58. package/bundled-skills/building-native-ui/references/controls.md +270 -0
  59. package/bundled-skills/building-native-ui/references/form-sheet.md +253 -0
  60. package/bundled-skills/building-native-ui/references/gradients.md +106 -0
  61. package/bundled-skills/building-native-ui/references/icons.md +213 -0
  62. package/bundled-skills/building-native-ui/references/media.md +198 -0
  63. package/bundled-skills/building-native-ui/references/route-structure.md +229 -0
  64. package/bundled-skills/building-native-ui/references/search.md +248 -0
  65. package/bundled-skills/building-native-ui/references/storage.md +121 -0
  66. package/bundled-skills/building-native-ui/references/tabs.md +433 -0
  67. package/bundled-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  68. package/bundled-skills/building-native-ui/references/visual-effects.md +197 -0
  69. package/bundled-skills/building-native-ui/references/webgpu-three.md +605 -0
  70. package/bundled-skills/building-native-ui/references/zoom-transitions.md +158 -0
  71. package/bundled-skills/changelog-updates/README.md +53 -0
  72. package/bundled-skills/changelog-updates/SKILL.md +552 -0
  73. package/bundled-skills/ci-cd-and-automation/SKILL.md +403 -0
  74. package/bundled-skills/claimable-postgres/SKILL.md +91 -59
  75. package/bundled-skills/co-marketing/SKILL.md +301 -0
  76. package/bundled-skills/co-marketing/evals/evals.json +84 -0
  77. package/bundled-skills/code-review-and-quality/SKILL.md +394 -0
  78. package/bundled-skills/code-showcase-core-components/SKILL.md +281 -0
  79. package/bundled-skills/code-showcase-react-ui-patterns/SKILL.md +306 -0
  80. package/bundled-skills/code-showcase-systematic-debugging/SKILL.md +167 -0
  81. package/bundled-skills/code-showcase-testing-patterns/SKILL.md +276 -0
  82. package/bundled-skills/code-simplification/SKILL.md +344 -0
  83. package/bundled-skills/community-building/README.md +102 -0
  84. package/bundled-skills/community-building/SKILL.md +415 -0
  85. package/bundled-skills/competitor-profiling/SKILL.md +427 -0
  86. package/bundled-skills/competitor-profiling/evals/evals.json +85 -0
  87. package/bundled-skills/competitor-profiling/references/templates.md +167 -0
  88. package/bundled-skills/competitor-profiling/references/tool-reference.md +179 -0
  89. package/bundled-skills/competitor-tracking/README.md +40 -0
  90. package/bundled-skills/competitor-tracking/SKILL.md +322 -0
  91. package/bundled-skills/context-engineering/SKILL.md +302 -0
  92. package/bundled-skills/cro/SKILL.md +202 -0
  93. package/bundled-skills/cro/evals/evals.json +111 -0
  94. package/bundled-skills/cro/references/experiments.md +248 -0
  95. package/bundled-skills/cro/references/form.md +422 -0
  96. package/bundled-skills/cucumber-skill/SKILL.md +235 -0
  97. package/bundled-skills/customer-research/SKILL.md +287 -0
  98. package/bundled-skills/customer-research/evals/evals.json +162 -0
  99. package/bundled-skills/customer-research/references/source-guides.md +401 -0
  100. package/bundled-skills/cypress-skill/SKILL.md +235 -0
  101. package/bundled-skills/debugging-and-error-recovery/SKILL.md +313 -0
  102. package/bundled-skills/debugging-code/SKILL.md +284 -0
  103. package/bundled-skills/debugging-code/references/advanced-techniques.md +50 -0
  104. package/bundled-skills/debugging-code/references/installing-debuggers.md +67 -0
  105. package/bundled-skills/debugging-code/scripts/install-dap.sh +87 -0
  106. package/bundled-skills/deprecation-and-migration/SKILL.md +219 -0
  107. package/bundled-skills/design-philosophy/SKILL.md +40 -0
  108. package/bundled-skills/design-philosophy/reference.md +19 -0
  109. package/bundled-skills/design-spatial/SKILL.md +271 -0
  110. package/bundled-skills/design-spatial/scripts/layout-audit.js +138 -0
  111. package/bundled-skills/design-system/SKILL.md +140 -0
  112. package/bundled-skills/design-system/references/motion-choreography.md +111 -0
  113. package/bundled-skills/design-thinking/SKILL.md +109 -0
  114. package/bundled-skills/design-ux/SKILL.md +75 -0
  115. package/bundled-skills/dev-to-hashnode/README.md +62 -0
  116. package/bundled-skills/dev-to-hashnode/SKILL.md +399 -0
  117. package/bundled-skills/developer-advocacy/README.md +102 -0
  118. package/bundled-skills/developer-advocacy/SKILL.md +423 -0
  119. package/bundled-skills/developer-audience-context/README.md +61 -0
  120. package/bundled-skills/developer-audience-context/SKILL.md +271 -0
  121. package/bundled-skills/developer-audience-context/references/example-apitest.md +175 -0
  122. package/bundled-skills/developer-audience-context/references/template.md +152 -0
  123. package/bundled-skills/developer-churn/README.md +80 -0
  124. package/bundled-skills/developer-churn/SKILL.md +652 -0
  125. package/bundled-skills/developer-listening/README.md +30 -0
  126. package/bundled-skills/developer-listening/SKILL.md +232 -0
  127. package/bundled-skills/developer-newsletter/README.md +84 -0
  128. package/bundled-skills/developer-newsletter/SKILL.md +376 -0
  129. package/bundled-skills/developer-onboarding/README.md +35 -0
  130. package/bundled-skills/developer-onboarding/SKILL.md +530 -0
  131. package/bundled-skills/developer-sandbox/README.md +47 -0
  132. package/bundled-skills/developer-sandbox/SKILL.md +504 -0
  133. package/bundled-skills/developer-seo/README.md +36 -0
  134. package/bundled-skills/developer-seo/SKILL.md +296 -0
  135. package/bundled-skills/developer-signup-flow/README.md +36 -0
  136. package/bundled-skills/developer-signup-flow/SKILL.md +397 -0
  137. package/bundled-skills/devrel-content/README.md +81 -0
  138. package/bundled-skills/devrel-content/SKILL.md +428 -0
  139. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  140. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  141. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  142. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  143. package/bundled-skills/docs/users/bundles.md +1 -1
  144. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  145. package/bundled-skills/docs/users/faq.md +1 -1
  146. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  147. package/bundled-skills/docs/users/getting-started.md +1 -1
  148. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  149. package/bundled-skills/docs/users/usage.md +8 -8
  150. package/bundled-skills/docs/users/visual-guide.md +8 -8
  151. package/bundled-skills/docs-as-marketing/README.md +37 -0
  152. package/bundled-skills/docs-as-marketing/SKILL.md +398 -0
  153. package/bundled-skills/documentation-and-adrs/SKILL.md +291 -0
  154. package/bundled-skills/doubt-driven-development/SKILL.md +256 -0
  155. package/bundled-skills/eas-update-insights/SKILL.md +232 -0
  156. package/bundled-skills/eas-update-insights/agents/openai.yaml +4 -0
  157. package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  158. package/bundled-skills/eas-update-insights/references/update-insights-schema.md +69 -0
  159. package/bundled-skills/expo-api-routes/SKILL.md +9 -5
  160. package/bundled-skills/expo-api-routes/agents/openai.yaml +4 -0
  161. package/bundled-skills/expo-brownfield/SKILL.md +71 -0
  162. package/bundled-skills/expo-brownfield/agents/openai.yaml +4 -0
  163. package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  164. package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  165. package/bundled-skills/expo-brownfield/references/comparison.md +63 -0
  166. package/bundled-skills/expo-brownfield/references/troubleshooting.md +88 -0
  167. package/bundled-skills/expo-cicd-workflows/SKILL.md +18 -16
  168. package/bundled-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
  169. package/bundled-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
  170. package/bundled-skills/expo-cicd-workflows/scripts/package.json +11 -0
  171. package/bundled-skills/expo-cicd-workflows/scripts/validate.js +84 -0
  172. package/bundled-skills/expo-deployment/SKILL.md +157 -53
  173. package/bundled-skills/expo-deployment/agents/openai.yaml +4 -0
  174. package/bundled-skills/expo-deployment/references/app-store-metadata.md +497 -0
  175. package/bundled-skills/expo-deployment/references/ios-app-store.md +371 -0
  176. package/bundled-skills/expo-deployment/references/play-store.md +246 -0
  177. package/bundled-skills/expo-deployment/references/testflight.md +58 -0
  178. package/bundled-skills/expo-deployment/references/workflows.md +160 -0
  179. package/bundled-skills/expo-dev-client/SKILL.md +25 -14
  180. package/bundled-skills/expo-dev-client/agents/openai.yaml +4 -0
  181. package/bundled-skills/expo-examples/SKILL.md +111 -0
  182. package/bundled-skills/expo-examples/references/catalog.md +105 -0
  183. package/bundled-skills/expo-module/SKILL.md +152 -0
  184. package/bundled-skills/expo-module/agents/openai.yaml +4 -0
  185. package/bundled-skills/expo-module/references/config-plugin.md +90 -0
  186. package/bundled-skills/expo-module/references/create-expo-module.md +206 -0
  187. package/bundled-skills/expo-module/references/lifecycle.md +127 -0
  188. package/bundled-skills/expo-module/references/module-config.md +48 -0
  189. package/bundled-skills/expo-module/references/native-module.md +286 -0
  190. package/bundled-skills/expo-module/references/native-view.md +171 -0
  191. package/bundled-skills/expo-observe/SKILL.md +44 -0
  192. package/bundled-skills/expo-observe/references/metrics.md +47 -0
  193. package/bundled-skills/expo-observe/references/queries.md +342 -0
  194. package/bundled-skills/expo-observe/references/setup.md +255 -0
  195. package/bundled-skills/expo-tailwind-setup/SKILL.md +13 -10
  196. package/bundled-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  197. package/bundled-skills/expo-ui/SKILL.md +61 -0
  198. package/bundled-skills/expo-ui/agents/openai.yaml +4 -0
  199. package/bundled-skills/expo-ui/references/drop-in-replacements.md +27 -0
  200. package/bundled-skills/expo-ui/references/jetpack-compose.md +73 -0
  201. package/bundled-skills/expo-ui/references/swift-ui.md +73 -0
  202. package/bundled-skills/expo-ui/references/universal.md +73 -0
  203. package/bundled-skills/expo-ui/scripts/list-components.js +193 -0
  204. package/bundled-skills/faf-context/SKILL.md +106 -0
  205. package/bundled-skills/faf-go/SKILL.md +336 -0
  206. package/bundled-skills/fixing-accessibility/SKILL.md +16 -5
  207. package/bundled-skills/fixing-metadata/SKILL.md +18 -8
  208. package/bundled-skills/fixing-motion-performance/SKILL.md +17 -6
  209. package/bundled-skills/formik-patterns/SKILL.md +379 -0
  210. package/bundled-skills/free-tier-strategy/README.md +39 -0
  211. package/bundled-skills/free-tier-strategy/SKILL.md +462 -0
  212. package/bundled-skills/frontend-architecture/SKILL.md +419 -0
  213. package/bundled-skills/frontend-data-contracts/SKILL.md +331 -0
  214. package/bundled-skills/frontend-observability/SKILL.md +434 -0
  215. package/bundled-skills/frontend-optimistic-mutations/SKILL.md +278 -0
  216. package/bundled-skills/frontend-seo/SKILL.md +710 -0
  217. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +397 -0
  218. package/bundled-skills/frontend-ui-engineering/SKILL.md +341 -0
  219. package/bundled-skills/gemini-api-dev/SKILL.md +96 -53
  220. package/bundled-skills/gemini-live-api-dev/SKILL.md +339 -0
  221. package/bundled-skills/gemini-omni-flash-api/SKILL.md +335 -0
  222. package/bundled-skills/gemini-omni-flash-api/scripts/upload_file.py +218 -0
  223. package/bundled-skills/gemini-omni-flash-api/scripts/video/generate_video.py +439 -0
  224. package/bundled-skills/gemini-omni-flash-api/scripts/video/inspect_video.py +197 -0
  225. package/bundled-skills/gemini-omni-flash-api/scripts/video/prep_video.py +255 -0
  226. package/bundled-skills/git-workflow-and-versioning/SKILL.md +313 -0
  227. package/bundled-skills/github-presence/README.md +67 -0
  228. package/bundled-skills/github-presence/SKILL.md +484 -0
  229. package/bundled-skills/graphql-schema/SKILL.md +309 -0
  230. package/bundled-skills/hf-mcp/SKILL.md +195 -0
  231. package/bundled-skills/hf-mem/SKILL.md +92 -0
  232. package/bundled-skills/hugging-face-cli/SKILL.md +155 -115
  233. package/bundled-skills/hugging-face-community-evals/SKILL.md +14 -7
  234. package/bundled-skills/hugging-face-dataset-viewer/SKILL.md +30 -37
  235. package/bundled-skills/hugging-face-gradio/SKILL.md +14 -7
  236. package/bundled-skills/hugging-face-model-trainer/SKILL.md +36 -10
  237. package/bundled-skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +30 -52
  238. package/bundled-skills/hugging-face-model-trainer/scripts/hf_benchmarks.py +659 -0
  239. package/bundled-skills/hugging-face-paper-publisher/SKILL.md +13 -6
  240. package/bundled-skills/hugging-face-papers/SKILL.md +12 -5
  241. package/bundled-skills/hugging-face-trackio/SKILL.md +11 -5
  242. package/bundled-skills/hugging-face-vision-trainer/SKILL.md +11 -5
  243. package/bundled-skills/huggingface-best/SKILL.md +143 -0
  244. package/bundled-skills/huggingface-local-models/SKILL.md +130 -0
  245. package/bundled-skills/huggingface-local-models/references/hardware.md +38 -0
  246. package/bundled-skills/huggingface-local-models/references/hub-discovery.md +178 -0
  247. package/bundled-skills/huggingface-local-models/references/quantization.md +256 -0
  248. package/bundled-skills/huggingface-lora-space-builder/SKILL.md +409 -0
  249. package/bundled-skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  250. package/bundled-skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  251. package/bundled-skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  252. package/bundled-skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  253. package/bundled-skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  254. package/bundled-skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  255. package/bundled-skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +194 -0
  256. package/bundled-skills/huggingface-spaces/SKILL.md +247 -0
  257. package/bundled-skills/huggingface-spaces/references/buckets.md +89 -0
  258. package/bundled-skills/huggingface-spaces/references/debugging.md +234 -0
  259. package/bundled-skills/huggingface-spaces/references/gradio.md +171 -0
  260. package/bundled-skills/huggingface-spaces/references/grants.md +56 -0
  261. package/bundled-skills/huggingface-spaces/references/inference-providers.md +85 -0
  262. package/bundled-skills/huggingface-spaces/references/known-errors.md +232 -0
  263. package/bundled-skills/huggingface-spaces/references/requirements.md +153 -0
  264. package/bundled-skills/huggingface-spaces/references/zerogpu.md +276 -0
  265. package/bundled-skills/huggingface-tool-builder/SKILL.md +137 -0
  266. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  267. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  268. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  269. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  270. package/bundled-skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  271. package/bundled-skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  272. package/bundled-skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  273. package/bundled-skills/huggingface-zerogpu/SKILL.md +306 -0
  274. package/bundled-skills/huggingface-zerogpu/references/concurrency.md +79 -0
  275. package/bundled-skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  276. package/bundled-skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  277. package/bundled-skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  278. package/bundled-skills/hugo-to-markdown/SKILL.md +201 -0
  279. package/bundled-skills/hugo-to-markdown/agents/openai.yaml +4 -0
  280. package/bundled-skills/hugo-to-markdown/references/conversion-workflow.md +143 -0
  281. package/bundled-skills/hugo-to-markdown/references/front-matter-and-content.md +145 -0
  282. package/bundled-skills/hugo-to-markdown/references/links-assets-and-validation.md +106 -0
  283. package/bundled-skills/hugo-to-markdown/references/shortcodes-and-render-hooks.md +281 -0
  284. package/bundled-skills/hugo-to-markdown/scripts/check_standard_markdown.py +70 -0
  285. package/bundled-skills/hugo-to-markdown/scripts/inventory_hugo_rules.py +188 -0
  286. package/bundled-skills/hyperexecute-skill/SKILL.md +65 -0
  287. package/bundled-skills/idea-refine/SKILL.md +195 -0
  288. package/bundled-skills/idea-refine/examples.md +238 -0
  289. package/bundled-skills/idea-refine/frameworks.md +99 -0
  290. package/bundled-skills/idea-refine/refinement-criteria.md +113 -0
  291. package/bundled-skills/idea-refine/scripts/idea-refine.sh +15 -0
  292. package/bundled-skills/implement/SKILL.md +32 -0
  293. package/bundled-skills/incremental-implementation/SKILL.md +262 -0
  294. package/bundled-skills/jest-skill/SKILL.md +182 -0
  295. package/bundled-skills/junit-5-skill/SKILL.md +236 -0
  296. package/bundled-skills/logic-diff/SKILL.md +50 -0
  297. package/bundled-skills/logic-diff/logic-diff-guide.md +75 -0
  298. package/bundled-skills/logic-explain/SKILL.md +50 -0
  299. package/bundled-skills/logic-explain/logic-explain-guide.md +74 -0
  300. package/bundled-skills/logic-fix-all/SKILL.md +87 -0
  301. package/bundled-skills/logic-fix-all/guide-phases-0-2-consent-scope-health.md +113 -0
  302. package/bundled-skills/logic-fix-all/guide-phases-3-5-review-locate-clarify.md +47 -0
  303. package/bundled-skills/logic-fix-all/guide-phases-6-9-fix-iterate-report.md +143 -0
  304. package/bundled-skills/logic-fix-all/logic-fix-all-guide.md +60 -0
  305. package/bundled-skills/logic-locate/SKILL.md +52 -0
  306. package/bundled-skills/logic-locate/logic-locate-guide.md +85 -0
  307. package/bundled-skills/logic-review/SKILL.md +100 -0
  308. package/bundled-skills/logic-review/logic-review-guide.md +296 -0
  309. package/bundled-skills/longbridge-content/SKILL.md +87 -0
  310. package/bundled-skills/longbridge-fundamentals/SKILL.md +134 -0
  311. package/bundled-skills/longbridge-market-data/SKILL.md +129 -0
  312. package/bundled-skills/loopy/SKILL.md +289 -0
  313. package/bundled-skills/loopy/agents/openai.yaml +4 -0
  314. package/bundled-skills/loopy/references/audit.md +61 -0
  315. package/bundled-skills/loopy/references/debrief.md +43 -0
  316. package/bundled-skills/loopy/references/discover.md +72 -0
  317. package/bundled-skills/loopy/references/publish.md +65 -0
  318. package/bundled-skills/loopy/references/run.md +73 -0
  319. package/bundled-skills/marketing-plan/SKILL.md +283 -0
  320. package/bundled-skills/marketing-plan/evals/evals.json +96 -0
  321. package/bundled-skills/marketing-plan/references/aarrr-framework.md +180 -0
  322. package/bundled-skills/marketing-plan/references/budget-planning.md +168 -0
  323. package/bundled-skills/marketing-plan/references/client-types.md +373 -0
  324. package/bundled-skills/marketing-plan/references/current-state-rubric.md +255 -0
  325. package/bundled-skills/marketing-plan/references/example-quietude.md +972 -0
  326. package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
  327. package/bundled-skills/marketing-plan/references/growth-patterns.md +148 -0
  328. package/bundled-skills/marketing-plan/references/idea-cross-reference.md +265 -0
  329. package/bundled-skills/marketing-plan/references/measurement-framework.md +213 -0
  330. package/bundled-skills/marketing-plan/references/methodology.md +363 -0
  331. package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +197 -0
  332. package/bundled-skills/marketing-plan/references/plan-template.md +494 -0
  333. package/bundled-skills/marketing-plan/references/team-and-agency-model.md +278 -0
  334. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +229 -0
  335. package/bundled-skills/monte-carlo-asset-health/SKILL.md +200 -0
  336. package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +317 -0
  337. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +153 -0
  338. package/bundled-skills/monte-carlo-remediation/SKILL.md +359 -0
  339. package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +162 -0
  340. package/bundled-skills/native-data-fetching/SKILL.md +11 -8
  341. package/bundled-skills/native-data-fetching/agents/openai.yaml +4 -0
  342. package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
  343. package/bundled-skills/neon-ai-gateway/SKILL.md +237 -0
  344. package/bundled-skills/neon-functions/SKILL.md +465 -0
  345. package/bundled-skills/neon-functions/references/ai-sdk.md +139 -0
  346. package/bundled-skills/neon-functions/references/hono-websockets.md +145 -0
  347. package/bundled-skills/neon-functions/references/mastra-studio.md +132 -0
  348. package/bundled-skills/neon-functions/references/mcp.md +137 -0
  349. package/bundled-skills/neon-functions/references/sentry.md +131 -0
  350. package/bundled-skills/neon-functions/references/sse.md +143 -0
  351. package/bundled-skills/neon-object-storage/SKILL.md +200 -0
  352. package/bundled-skills/neon-postgres/SKILL.md +234 -469
  353. package/bundled-skills/neon-postgres-branches/SKILL.md +292 -0
  354. package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +256 -0
  355. package/bundled-skills/newman-cicd-integration/SKILL.md +330 -0
  356. package/bundled-skills/observability-and-instrumentation/SKILL.md +216 -0
  357. package/bundled-skills/odw/SKILL.md +57 -0
  358. package/bundled-skills/offers/SKILL.md +168 -0
  359. package/bundled-skills/offers/references/bonus-stacking.md +150 -0
  360. package/bundled-skills/offers/references/examples.md +215 -0
  361. package/bundled-skills/offers/references/guarantee-design.md +172 -0
  362. package/bundled-skills/offers/references/offer-anatomy.md +203 -0
  363. package/bundled-skills/offers/references/offer-formats.md +240 -0
  364. package/bundled-skills/offers/references/scarcity-urgency.md +175 -0
  365. package/bundled-skills/offers/references/value-equation.md +134 -0
  366. package/bundled-skills/onboarding/SKILL.md +235 -0
  367. package/bundled-skills/onboarding/evals/evals.json +92 -0
  368. package/bundled-skills/onboarding/references/experiments.md +258 -0
  369. package/bundled-skills/open-source-marketing/README.md +100 -0
  370. package/bundled-skills/open-source-marketing/SKILL.md +466 -0
  371. package/bundled-skills/openapi-spec-generator/SKILL.md +335 -0
  372. package/bundled-skills/performance-optimization/SKILL.md +363 -0
  373. package/bundled-skills/planning-and-task-breakdown/SKILL.md +240 -0
  374. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +170 -0
  375. package/bundled-skills/postgresql-cli/SKILL.md +498 -0
  376. package/bundled-skills/postgresql-cli/references/cli-options-and-variables.md +444 -0
  377. package/bundled-skills/postgresql-cli/references/meta-commands-core.md +466 -0
  378. package/bundled-skills/postgresql-cli/references/meta-commands-formatting.md +154 -0
  379. package/bundled-skills/postgresql-cli/references/meta-commands-inspection.md +134 -0
  380. package/bundled-skills/postgresql-cli/references/tips-advanced.md +289 -0
  381. package/bundled-skills/postgresql-cli/references/tips-workflows.md +407 -0
  382. package/bundled-skills/postman-collection-generator/SKILL.md +184 -0
  383. package/bundled-skills/postman-newman-automation/SKILL.md +311 -0
  384. package/bundled-skills/postman-openapi-converter/SKILL.md +174 -0
  385. package/bundled-skills/power-user-cultivation/README.md +78 -0
  386. package/bundled-skills/power-user-cultivation/SKILL.md +598 -0
  387. package/bundled-skills/pricing/SKILL.md +246 -0
  388. package/bundled-skills/pricing/evals/evals.json +90 -0
  389. package/bundled-skills/pricing/references/research-methods.md +152 -0
  390. package/bundled-skills/pricing/references/tier-structure.md +232 -0
  391. package/bundled-skills/privacy-mask/SKILL.md +96 -0
  392. package/bundled-skills/product-marketing/SKILL.md +256 -0
  393. package/bundled-skills/product-marketing/evals/evals.json +85 -0
  394. package/bundled-skills/public-relations/SKILL.md +146 -0
  395. package/bundled-skills/public-relations/references/journalist-pitching.md +368 -0
  396. package/bundled-skills/public-relations/references/media-outlets.md +207 -0
  397. package/bundled-skills/public-relations/references/newsjacking.md +218 -0
  398. package/bundled-skills/public-relations/references/press-platforms.md +188 -0
  399. package/bundled-skills/puppeteer-skill/SKILL.md +143 -0
  400. package/bundled-skills/pytest-skill/SKILL.md +201 -0
  401. package/bundled-skills/rclone-cli/SKILL.md +351 -0
  402. package/bundled-skills/rclone-cli/references/bisync.md +2003 -0
  403. package/bundled-skills/rclone-cli/references/cache.md +726 -0
  404. package/bundled-skills/rclone-cli/references/chunker.md +484 -0
  405. package/bundled-skills/rclone-cli/references/combine.md +187 -0
  406. package/bundled-skills/rclone-cli/references/commands/rclone.md +1169 -0
  407. package/bundled-skills/rclone-cli/references/commands/rclone_about.md +89 -0
  408. package/bundled-skills/rclone-cli/references/commands/rclone_archive.md +49 -0
  409. package/bundled-skills/rclone-cli/references/commands/rclone_archive_create.md +97 -0
  410. package/bundled-skills/rclone-cli/references/commands/rclone_archive_extract.md +83 -0
  411. package/bundled-skills/rclone-cli/references/commands/rclone_archive_list.md +98 -0
  412. package/bundled-skills/rclone-cli/references/commands/rclone_authorize.md +53 -0
  413. package/bundled-skills/rclone-cli/references/commands/rclone_backend.md +82 -0
  414. package/bundled-skills/rclone-cli/references/commands/rclone_bisync.md +160 -0
  415. package/bundled-skills/rclone-cli/references/commands/rclone_cat.md +122 -0
  416. package/bundled-skills/rclone-cli/references/commands/rclone_check.md +134 -0
  417. package/bundled-skills/rclone-cli/references/commands/rclone_checksum.md +120 -0
  418. package/bundled-skills/rclone-cli/references/commands/rclone_cleanup.md +49 -0
  419. package/bundled-skills/rclone-cli/references/commands/rclone_completion.md +40 -0
  420. package/bundled-skills/rclone-cli/references/commands/rclone_completion_bash.md +70 -0
  421. package/bundled-skills/rclone-cli/references/commands/rclone_completion_fish.md +57 -0
  422. package/bundled-skills/rclone-cli/references/commands/rclone_completion_powershell.md +49 -0
  423. package/bundled-skills/rclone-cli/references/commands/rclone_completion_zsh.md +57 -0
  424. package/bundled-skills/rclone-cli/references/commands/rclone_config.md +56 -0
  425. package/bundled-skills/rclone-cli/references/commands/rclone_config_create.md +150 -0
  426. package/bundled-skills/rclone-cli/references/commands/rclone_config_delete.md +33 -0
  427. package/bundled-skills/rclone-cli/references/commands/rclone_config_disconnect.md +40 -0
  428. package/bundled-skills/rclone-cli/references/commands/rclone_config_dump.md +33 -0
  429. package/bundled-skills/rclone-cli/references/commands/rclone_config_edit.md +39 -0
  430. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption.md +36 -0
  431. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_check.md +43 -0
  432. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_remove.md +44 -0
  433. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_set.md +54 -0
  434. package/bundled-skills/rclone-cli/references/commands/rclone_config_file.md +33 -0
  435. package/bundled-skills/rclone-cli/references/commands/rclone_config_password.md +49 -0
  436. package/bundled-skills/rclone-cli/references/commands/rclone_config_paths.md +33 -0
  437. package/bundled-skills/rclone-cli/references/commands/rclone_config_providers.md +33 -0
  438. package/bundled-skills/rclone-cli/references/commands/rclone_config_reconnect.md +40 -0
  439. package/bundled-skills/rclone-cli/references/commands/rclone_config_redacted.md +45 -0
  440. package/bundled-skills/rclone-cli/references/commands/rclone_config_show.md +33 -0
  441. package/bundled-skills/rclone-cli/references/commands/rclone_config_string.md +57 -0
  442. package/bundled-skills/rclone-cli/references/commands/rclone_config_touch.md +33 -0
  443. package/bundled-skills/rclone-cli/references/commands/rclone_config_update.md +150 -0
  444. package/bundled-skills/rclone-cli/references/commands/rclone_config_userinfo.md +38 -0
  445. package/bundled-skills/rclone-cli/references/commands/rclone_convmv.md +440 -0
  446. package/bundled-skills/rclone-cli/references/commands/rclone_copy.md +258 -0
  447. package/bundled-skills/rclone-cli/references/commands/rclone_copyto.md +219 -0
  448. package/bundled-skills/rclone-cli/references/commands/rclone_copyurl.md +91 -0
  449. package/bundled-skills/rclone-cli/references/commands/rclone_cryptcheck.md +141 -0
  450. package/bundled-skills/rclone-cli/references/commands/rclone_cryptdecode.md +51 -0
  451. package/bundled-skills/rclone-cli/references/commands/rclone_dedupe.md +166 -0
  452. package/bundled-skills/rclone-cli/references/commands/rclone_delete.md +117 -0
  453. package/bundled-skills/rclone-cli/references/commands/rclone_deletefile.md +50 -0
  454. package/bundled-skills/rclone-cli/references/commands/rclone_gendocs.md +39 -0
  455. package/bundled-skills/rclone-cli/references/commands/rclone_gitannex.md +113 -0
  456. package/bundled-skills/rclone-cli/references/commands/rclone_hashsum.md +120 -0
  457. package/bundled-skills/rclone-cli/references/commands/rclone_link.md +60 -0
  458. package/bundled-skills/rclone-cli/references/commands/rclone_listremotes.md +55 -0
  459. package/bundled-skills/rclone-cli/references/commands/rclone_ls.md +114 -0
  460. package/bundled-skills/rclone-cli/references/commands/rclone_lsd.md +127 -0
  461. package/bundled-skills/rclone-cli/references/commands/rclone_lsf.md +241 -0
  462. package/bundled-skills/rclone-cli/references/commands/rclone_lsjson.md +195 -0
  463. package/bundled-skills/rclone-cli/references/commands/rclone_lsl.md +115 -0
  464. package/bundled-skills/rclone-cli/references/commands/rclone_md5sum.md +96 -0
  465. package/bundled-skills/rclone-cli/references/commands/rclone_mkdir.md +43 -0
  466. package/bundled-skills/rclone-cli/references/commands/rclone_mount.md +1105 -0
  467. package/bundled-skills/rclone-cli/references/commands/rclone_move.md +223 -0
  468. package/bundled-skills/rclone-cli/references/commands/rclone_moveto.md +218 -0
  469. package/bundled-skills/rclone-cli/references/commands/rclone_ncdu.md +140 -0
  470. package/bundled-skills/rclone-cli/references/commands/rclone_nfsmount.md +1111 -0
  471. package/bundled-skills/rclone-cli/references/commands/rclone_obscure.md +60 -0
  472. package/bundled-skills/rclone-cli/references/commands/rclone_purge.md +58 -0
  473. package/bundled-skills/rclone-cli/references/commands/rclone_rc.md +111 -0
  474. package/bundled-skills/rclone-cli/references/commands/rclone_rcat.md +79 -0
  475. package/bundled-skills/rclone-cli/references/commands/rclone_rcd.md +219 -0
  476. package/bundled-skills/rclone-cli/references/commands/rclone_rmdir.md +52 -0
  477. package/bundled-skills/rclone-cli/references/commands/rclone_rmdirs.md +66 -0
  478. package/bundled-skills/rclone-cli/references/commands/rclone_selfupdate.md +91 -0
  479. package/bundled-skills/rclone-cli/references/commands/rclone_serve.md +61 -0
  480. package/bundled-skills/rclone-cli/references/commands/rclone_serve_dlna.md +619 -0
  481. package/bundled-skills/rclone-cli/references/commands/rclone_serve_docker.md +653 -0
  482. package/bundled-skills/rclone-cli/references/commands/rclone_serve_ftp.md +698 -0
  483. package/bundled-skills/rclone-cli/references/commands/rclone_serve_http.md +837 -0
  484. package/bundled-skills/rclone-cli/references/commands/rclone_serve_nfs.md +670 -0
  485. package/bundled-skills/rclone-cli/references/commands/rclone_serve_restic.md +246 -0
  486. package/bundled-skills/rclone-cli/references/commands/rclone_serve_s3.md +867 -0
  487. package/bundled-skills/rclone-cli/references/commands/rclone_serve_sftp.md +745 -0
  488. package/bundled-skills/rclone-cli/references/commands/rclone_serve_webdav.md +896 -0
  489. package/bundled-skills/rclone-cli/references/commands/rclone_settier.md +63 -0
  490. package/bundled-skills/rclone-cli/references/commands/rclone_sha1sum.md +99 -0
  491. package/bundled-skills/rclone-cli/references/commands/rclone_size.md +94 -0
  492. package/bundled-skills/rclone-cli/references/commands/rclone_sync.md +252 -0
  493. package/bundled-skills/rclone-cli/references/commands/rclone_test.md +51 -0
  494. package/bundled-skills/rclone-cli/references/commands/rclone_test_changenotify.md +34 -0
  495. package/bundled-skills/rclone-cli/references/commands/rclone_test_histogram.md +41 -0
  496. package/bundled-skills/rclone-cli/references/commands/rclone_test_info.md +51 -0
  497. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefile.md +39 -0
  498. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefiles.md +47 -0
  499. package/bundled-skills/rclone-cli/references/commands/rclone_test_memory.md +33 -0
  500. package/bundled-skills/rclone-cli/references/commands/rclone_test_speed.md +66 -0
  501. package/bundled-skills/rclone-cli/references/commands/rclone_touch.md +110 -0
  502. package/bundled-skills/rclone-cli/references/commands/rclone_tree.md +121 -0
  503. package/bundled-skills/rclone-cli/references/commands/rclone_version.md +83 -0
  504. package/bundled-skills/rclone-cli/references/crypt.md +844 -0
  505. package/bundled-skills/rclone-cli/references/docker.md +615 -0
  506. package/bundled-skills/rclone-cli/references/faq.md +364 -0
  507. package/bundled-skills/rclone-cli/references/filtering.md +991 -0
  508. package/bundled-skills/rclone-cli/references/flags.md +1221 -0
  509. package/bundled-skills/rclone-cli/references/hasher.md +383 -0
  510. package/bundled-skills/rclone-cli/references/install.md +686 -0
  511. package/bundled-skills/rclone-cli/references/overview.md +620 -0
  512. package/bundled-skills/rclone-cli/references/providers/alias.md +141 -0
  513. package/bundled-skills/rclone-cli/references/providers/archive.md +287 -0
  514. package/bundled-skills/rclone-cli/references/providers/azureblob.md +1140 -0
  515. package/bundled-skills/rclone-cli/references/providers/azurefiles.md +834 -0
  516. package/bundled-skills/rclone-cli/references/providers/b2.md +879 -0
  517. package/bundled-skills/rclone-cli/references/providers/box.md +573 -0
  518. package/bundled-skills/rclone-cli/references/providers/cloudinary.md +259 -0
  519. package/bundled-skills/rclone-cli/references/providers/compress.md +222 -0
  520. package/bundled-skills/rclone-cli/references/providers/drime.md +319 -0
  521. package/bundled-skills/rclone-cli/references/providers/drive.md +2032 -0
  522. package/bundled-skills/rclone-cli/references/providers/dropbox.md +661 -0
  523. package/bundled-skills/rclone-cli/references/providers/fichier.md +230 -0
  524. package/bundled-skills/rclone-cli/references/providers/filefabric.md +298 -0
  525. package/bundled-skills/rclone-cli/references/providers/filelu.md +256 -0
  526. package/bundled-skills/rclone-cli/references/providers/filen.md +243 -0
  527. package/bundled-skills/rclone-cli/references/providers/filescom.md +209 -0
  528. package/bundled-skills/rclone-cli/references/providers/ftp.md +621 -0
  529. package/bundled-skills/rclone-cli/references/providers/gofile.md +274 -0
  530. package/bundled-skills/rclone-cli/references/providers/googlecloudstorage.md +846 -0
  531. package/bundled-skills/rclone-cli/references/providers/googlephotos.md +676 -0
  532. package/bundled-skills/rclone-cli/references/providers/hdfs.md +263 -0
  533. package/bundled-skills/rclone-cli/references/providers/hidrive.md +487 -0
  534. package/bundled-skills/rclone-cli/references/providers/http.md +323 -0
  535. package/bundled-skills/rclone-cli/references/providers/iclouddrive.md +212 -0
  536. package/bundled-skills/rclone-cli/references/providers/internetarchive.md +355 -0
  537. package/bundled-skills/rclone-cli/references/providers/internxt.md +189 -0
  538. package/bundled-skills/rclone-cli/references/providers/jottacloud.md +604 -0
  539. package/bundled-skills/rclone-cli/references/providers/koofr.md +395 -0
  540. package/bundled-skills/rclone-cli/references/providers/linkbox.md +117 -0
  541. package/bundled-skills/rclone-cli/references/providers/local.md +749 -0
  542. package/bundled-skills/rclone-cli/references/providers/mailru.md +470 -0
  543. package/bundled-skills/rclone-cli/references/providers/mega.md +361 -0
  544. package/bundled-skills/rclone-cli/references/providers/memory.md +109 -0
  545. package/bundled-skills/rclone-cli/references/providers/netstorage.md +371 -0
  546. package/bundled-skills/rclone-cli/references/providers/onedrive.md +1322 -0
  547. package/bundled-skills/rclone-cli/references/providers/opendrive.md +222 -0
  548. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/_index.md +932 -0
  549. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/tutorial_mount.md +503 -0
  550. package/bundled-skills/rclone-cli/references/providers/pcloud.md +373 -0
  551. package/bundled-skills/rclone-cli/references/providers/pikpak.md +373 -0
  552. package/bundled-skills/rclone-cli/references/providers/pixeldrain.md +182 -0
  553. package/bundled-skills/rclone-cli/references/providers/premiumizeme.md +253 -0
  554. package/bundled-skills/rclone-cli/references/providers/protondrive.md +397 -0
  555. package/bundled-skills/rclone-cli/references/providers/putio.md +246 -0
  556. package/bundled-skills/rclone-cli/references/providers/qingstor.md +346 -0
  557. package/bundled-skills/rclone-cli/references/providers/quatrix.md +295 -0
  558. package/bundled-skills/rclone-cli/references/providers/s3.md +9687 -0
  559. package/bundled-skills/rclone-cli/references/providers/seafile.md +432 -0
  560. package/bundled-skills/rclone-cli/references/providers/sftp.md +1277 -0
  561. package/bundled-skills/rclone-cli/references/providers/shade.md +267 -0
  562. package/bundled-skills/rclone-cli/references/providers/sharefile.md +357 -0
  563. package/bundled-skills/rclone-cli/references/providers/sia.md +223 -0
  564. package/bundled-skills/rclone-cli/references/providers/smb.md +309 -0
  565. package/bundled-skills/rclone-cli/references/providers/storj.md +503 -0
  566. package/bundled-skills/rclone-cli/references/providers/sugarsync.md +305 -0
  567. package/bundled-skills/rclone-cli/references/providers/swift.md +744 -0
  568. package/bundled-skills/rclone-cli/references/providers/ulozto.md +283 -0
  569. package/bundled-skills/rclone-cli/references/providers/webdav.md +565 -0
  570. package/bundled-skills/rclone-cli/references/providers/yandex.md +283 -0
  571. package/bundled-skills/rclone-cli/references/providers/zoho.md +305 -0
  572. package/bundled-skills/rclone-cli/references/rc.md +2725 -0
  573. package/bundled-skills/rclone-cli/references/union.md +336 -0
  574. package/bundled-skills/rclone-cli/references/usage.md +3555 -0
  575. package/bundled-skills/rclone-cli/scripts/install.sh +204 -0
  576. package/bundled-skills/redis-cli/SKILL.md +392 -0
  577. package/bundled-skills/redis-cli/references/advanced-features.md +338 -0
  578. package/bundled-skills/redis-cli/references/connection-and-options.md +258 -0
  579. package/bundled-skills/redis-cli/references/data-query-commands.md +417 -0
  580. package/bundled-skills/redis-cli/references/inspection-and-monitoring.md +309 -0
  581. package/bundled-skills/redis-cli/references/key-management.md +252 -0
  582. package/bundled-skills/redis-cli/references/module-data-types.md +429 -0
  583. package/bundled-skills/redis-cli/references/server-administration.md +366 -0
  584. package/bundled-skills/repo-maintainer/SKILL.md +480 -0
  585. package/bundled-skills/resolving-merge-conflicts/SKILL.md +32 -0
  586. package/bundled-skills/review-and-simplify-changes/SKILL.md +202 -0
  587. package/bundled-skills/review-swarm/SKILL.md +185 -0
  588. package/bundled-skills/review-swarm/agents/openai.yaml +4 -0
  589. package/bundled-skills/riffkit/SKILL.md +122 -0
  590. package/bundled-skills/robot-framework-skill/SKILL.md +153 -0
  591. package/bundled-skills/sdk-dx/README.md +39 -0
  592. package/bundled-skills/sdk-dx/SKILL.md +541 -0
  593. package/bundled-skills/security-and-hardening/SKILL.md +474 -0
  594. package/bundled-skills/selenium-skill/SKILL.md +258 -0
  595. package/bundled-skills/shipping-and-launch/SKILL.md +323 -0
  596. package/bundled-skills/smartui-skill/SKILL.md +149 -0
  597. package/bundled-skills/source-driven-development/SKILL.md +207 -0
  598. package/bundled-skills/spec-driven-development/SKILL.md +217 -0
  599. package/bundled-skills/styleseed-design-review/SKILL.md +126 -0
  600. package/bundled-skills/supabase/CHANGELOG.md +35 -0
  601. package/bundled-skills/supabase/SKILL.md +149 -0
  602. package/bundled-skills/supabase/assets/feedback-issue-template.md +17 -0
  603. package/bundled-skills/supabase/references/skill-feedback.md +17 -0
  604. package/bundled-skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  605. package/bundled-skills/supabase-postgres-best-practices/SKILL.md +74 -0
  606. package/bundled-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  607. package/bundled-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  608. package/bundled-skills/supabase-postgres-best-practices/references/_template.md +34 -0
  609. package/bundled-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  610. package/bundled-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  611. package/bundled-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  612. package/bundled-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  613. package/bundled-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  614. package/bundled-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  615. package/bundled-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  616. package/bundled-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  617. package/bundled-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  618. package/bundled-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  619. package/bundled-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  620. package/bundled-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  621. package/bundled-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  622. package/bundled-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  623. package/bundled-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  624. package/bundled-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  625. package/bundled-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  626. package/bundled-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  627. package/bundled-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  628. package/bundled-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  629. package/bundled-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  630. package/bundled-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  631. package/bundled-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  632. package/bundled-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  633. package/bundled-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  634. package/bundled-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  635. package/bundled-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  636. package/bundled-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  637. package/bundled-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  638. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  639. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  640. package/bundled-skills/swiftui-expert-skill/SKILL.md +175 -242
  641. package/bundled-skills/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
  642. package/bundled-skills/swiftui-expert-skill/references/animation-advanced.md +428 -0
  643. package/bundled-skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  644. package/bundled-skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  645. package/bundled-skills/swiftui-expert-skill/references/charts-accessibility.md +135 -0
  646. package/bundled-skills/swiftui-expert-skill/references/charts.md +602 -0
  647. package/bundled-skills/swiftui-expert-skill/references/focus-patterns.md +299 -0
  648. package/bundled-skills/swiftui-expert-skill/references/image-optimization.md +203 -0
  649. package/bundled-skills/swiftui-expert-skill/references/latest-apis.md +528 -0
  650. package/bundled-skills/swiftui-expert-skill/references/layout-best-practices.md +266 -0
  651. package/bundled-skills/swiftui-expert-skill/references/liquid-glass.md +423 -0
  652. package/bundled-skills/swiftui-expert-skill/references/list-patterns.md +467 -0
  653. package/bundled-skills/swiftui-expert-skill/references/localization.md +194 -0
  654. package/bundled-skills/swiftui-expert-skill/references/macos-scenes.md +318 -0
  655. package/bundled-skills/swiftui-expert-skill/references/macos-views.md +357 -0
  656. package/bundled-skills/swiftui-expert-skill/references/macos-window-styling.md +303 -0
  657. package/bundled-skills/swiftui-expert-skill/references/performance-patterns.md +417 -0
  658. package/bundled-skills/swiftui-expert-skill/references/previews.md +313 -0
  659. package/bundled-skills/swiftui-expert-skill/references/scroll-patterns.md +293 -0
  660. package/bundled-skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
  661. package/bundled-skills/swiftui-expert-skill/references/soft-deprecation.md +39 -0
  662. package/bundled-skills/swiftui-expert-skill/references/state-management.md +492 -0
  663. package/bundled-skills/swiftui-expert-skill/references/text-patterns.md +34 -0
  664. package/bundled-skills/swiftui-expert-skill/references/trace-analysis.md +295 -0
  665. package/bundled-skills/swiftui-expert-skill/references/trace-recording.md +134 -0
  666. package/bundled-skills/swiftui-expert-skill/references/view-structure.md +854 -0
  667. package/bundled-skills/swiftui-expert-skill/scripts/analyze_trace.py +301 -0
  668. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/__init__.py +1 -0
  669. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/causes.py +187 -0
  670. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/correlate.py +179 -0
  671. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/events.py +291 -0
  672. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hangs.py +108 -0
  673. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hitches.py +145 -0
  674. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/summary.py +243 -0
  675. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/swiftui.py +195 -0
  676. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/time_profiler.py +135 -0
  677. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xctrace.py +117 -0
  678. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xml_utils.py +224 -0
  679. package/bundled-skills/swiftui-expert-skill/scripts/record_trace.py +252 -0
  680. package/bundled-skills/technical-tutorials/README.md +90 -0
  681. package/bundled-skills/technical-tutorials/SKILL.md +581 -0
  682. package/bundled-skills/test-framework-migration-skill/SKILL.md +122 -0
  683. package/bundled-skills/testng-skill/SKILL.md +163 -0
  684. package/bundled-skills/train-sentence-transformers/SKILL.md +118 -0
  685. package/bundled-skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  686. package/bundled-skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  687. package/bundled-skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  688. package/bundled-skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  689. package/bundled-skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  690. package/bundled-skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  691. package/bundled-skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  692. package/bundled-skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  693. package/bundled-skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  694. package/bundled-skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  695. package/bundled-skills/train-sentence-transformers/references/model_architectures.md +178 -0
  696. package/bundled-skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  697. package/bundled-skills/train-sentence-transformers/references/training_args.md +269 -0
  698. package/bundled-skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  699. package/bundled-skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  700. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  701. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  702. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  703. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  704. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  705. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  706. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  707. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  708. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  709. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  710. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  711. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  712. package/bundled-skills/transformers-js/SKILL.md +83 -29
  713. package/bundled-skills/transformers-js/references/CONFIGURATION.md +55 -7
  714. package/bundled-skills/transformers-js/references/EXAMPLES.md +98 -83
  715. package/bundled-skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  716. package/bundled-skills/transformers-js/references/PIPELINE_OPTIONS.md +31 -19
  717. package/bundled-skills/transformers-js/references/TEXT_GENERATION.md +18 -18
  718. package/bundled-skills/trl-training/SKILL.md +327 -0
  719. package/bundled-skills/tune-monitor/SKILL.md +268 -0
  720. package/bundled-skills/ui-a11y/SKILL.md +76 -68
  721. package/bundled-skills/ui-component/SKILL.md +54 -82
  722. package/bundled-skills/ui-lint/SKILL.md +111 -0
  723. package/bundled-skills/ui-motion/SKILL.md +181 -0
  724. package/bundled-skills/ui-page/SKILL.md +80 -90
  725. package/bundled-skills/ui-pattern/SKILL.md +50 -68
  726. package/bundled-skills/ui-review/SKILL.md +95 -77
  727. package/bundled-skills/ui-score/SKILL.md +145 -0
  728. package/bundled-skills/ui-setup/SKILL.md +196 -88
  729. package/bundled-skills/ui-skills-root/SKILL.md +72 -0
  730. package/bundled-skills/ui-tokens/SKILL.md +44 -52
  731. package/bundled-skills/ui-update/SKILL.md +167 -0
  732. package/bundled-skills/unslop-commit/SKILL.md +113 -0
  733. package/bundled-skills/unslop-file/SKILL.md +157 -0
  734. package/bundled-skills/unslop-review/SKILL.md +102 -0
  735. package/bundled-skills/update-swiftui-apis/SKILL.md +120 -0
  736. package/bundled-skills/update-swiftui-apis/references/scan-manifest.md +230 -0
  737. package/bundled-skills/upgrading-expo/SKILL.md +107 -82
  738. package/bundled-skills/upgrading-expo/agents/openai.yaml +4 -0
  739. package/bundled-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  740. package/bundled-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  741. package/bundled-skills/upgrading-expo/references/native-tabs.md +124 -0
  742. package/bundled-skills/upgrading-expo/references/new-architecture.md +79 -0
  743. package/bundled-skills/upgrading-expo/references/react-19.md +79 -0
  744. package/bundled-skills/upgrading-expo/references/react-compiler.md +59 -0
  745. package/bundled-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  746. package/bundled-skills/usage-based-pricing/README.md +40 -0
  747. package/bundled-skills/usage-based-pricing/SKILL.md +547 -0
  748. package/bundled-skills/use-dom/SKILL.md +428 -0
  749. package/bundled-skills/use-dom/agents/openai.yaml +4 -0
  750. package/bundled-skills/ux-audit/SKILL.md +112 -44
  751. package/bundled-skills/ux-copy/SKILL.md +105 -73
  752. package/bundled-skills/ux-feedback/SKILL.md +106 -58
  753. package/bundled-skills/ux-flow/SKILL.md +51 -50
  754. package/bundled-skills/vitest-skill/SKILL.md +165 -0
  755. package/bundled-skills/weaviate/scripts/weaviate_conn.py +16 -6
  756. package/bundled-skills/webdriverio-skill/SKILL.md +157 -0
  757. package/bundled-skills/wjttc-builder/SKILL.md +355 -0
  758. package/bundled-skills/wjttc-tester/SKILL.md +190 -0
  759. package/package.json +1 -1
  760. package/skills_index.json +4320 -132
@@ -1,10 +1,13 @@
1
1
  ---
2
2
  name: native-data-fetching
3
- description: Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (useLoaderData).
3
+ description: Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).
4
4
  risk: unknown
5
- source: community
6
- version: 1.0.0
5
+ source: https://github.com/expo/skills/tree/main/plugins/expo/skills/native-data-fetching
6
+ source_repo: expo/skills
7
+ source_type: official
8
+ date_added: 2026-07-01
7
9
  license: MIT
10
+ license_source: https://github.com/expo/skills/blob/main/LICENSE
8
11
  ---
9
12
 
10
13
  # Expo Networking
@@ -21,6 +24,7 @@ references/
21
24
  ```
22
25
 
23
26
  ## When to Use
27
+
24
28
  Use this skill when:
25
29
 
26
30
  - Implementing API requests
@@ -497,10 +501,8 @@ User: "How do I handle authentication tokens?"
497
501
 
498
502
  User: "API calls are slow"
499
503
  -> Check caching strategy, use React Query staleTime
500
-
501
504
  User: "How do I configure different API URLs for dev and prod?"
502
505
  -> Use EXPO*PUBLIC* env vars with .env.development and .env.production files
503
-
504
506
  User: "Where should I put my API key?"
505
507
  -> Client-safe keys: EXPO*PUBLIC* in .env. Secret keys: non-prefixed env vars in API routes only
506
508
 
@@ -508,6 +510,7 @@ User: "How do I load data for a page in Expo Router?"
508
510
  -> See references/expo-router-loaders.md for route-level loaders (web, SDK 55+). For native, use React Query or fetch.
509
511
 
510
512
  ## Limitations
511
- - Use this skill only when the task clearly matches the scope described above.
512
- - Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
513
- - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
513
+
514
+ - Use this skill only when the task clearly matches its upstream product or API scope.
515
+ - Verify commands, API behavior, pricing, quotas, credentials, and deployment effects against current official documentation before making changes.
516
+ - Do not treat generated examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Native Data Fetching"
3
+ short_description: "Implement and debug Expo network requests, caching, auth, offline support, and Expo Router data loaders"
4
+ default_prompt: "Use $native-data-fetching for Expo data fetching work: fetch wrappers, React Query or SWR setup, error handling, retry/cancellation, authenticated requests, environment-based API URLs, offline behavior, and Expo Router loaders."
@@ -0,0 +1,341 @@
1
+ # Expo Router Data Loaders
2
+
3
+ Route-level data loading for web apps using Expo SDK 55+. Loaders are async functions exported from route files that load data before the route renders, following the Remix/React Router loader model.
4
+
5
+ **Dual execution model:**
6
+
7
+ - **Initial page load (SSR):** The loader runs server-side. Its return value is serialized as JSON and embedded in the HTML response.
8
+ - **Client-side navigation:** The browser fetches the loader data from the server via HTTP. The route renders once the data arrives.
9
+
10
+ You write one function and the framework manages when and how it executes.
11
+
12
+ ## Configuration
13
+
14
+ **Requirements:** Expo SDK 55+, web output mode (`npx expo serve` or `npx expo export --platform web`) set in `app.json` or `app.config.js`.
15
+
16
+ **Server rendering:**
17
+
18
+ ```json
19
+ {
20
+ "expo": {
21
+ "web": {
22
+ "output": "server"
23
+ },
24
+ "plugins": [
25
+ ["expo-router", {
26
+ "unstable_useServerDataLoaders": true,
27
+ "unstable_useServerRendering": true
28
+ }]
29
+ ]
30
+ }
31
+ }
32
+ ```
33
+
34
+ **Static/SSG:**
35
+
36
+ ```json
37
+ {
38
+ "expo": {
39
+ "web": {
40
+ "output": "static"
41
+ },
42
+ "plugins": [
43
+ ["expo-router", {
44
+ "unstable_useServerDataLoaders": true
45
+ }]
46
+ ]
47
+ }
48
+ }
49
+ ```
50
+
51
+ | | `"server"` | `"static"` |
52
+ |---|-----------|------------|
53
+ | `unstable_useServerDataLoaders` | Required | Required |
54
+ | `unstable_useServerRendering` | Required | Not required |
55
+ | Loader runs on | Live server (every request) | Build time (static generation) |
56
+ | `request` object | Full access (headers, cookies) | Not available |
57
+ | Hosting | Node.js server (EAS Hosting) | Any static host (Netlify, Vercel, S3) |
58
+
59
+ ## Imports
60
+
61
+ Loaders use two packages:
62
+
63
+ - **`expo-router`** — `useLoaderData` hook
64
+ - **`expo-server`** — `LoaderFunction` type, `StatusError`, `setResponseHeaders`. Always available (dependency of `expo-router`), no install needed.
65
+
66
+ ## Basic Loader
67
+
68
+ For loaders without params, a plain async function works:
69
+
70
+ ```tsx
71
+ // app/posts/index.tsx
72
+ import { Suspense } from "react";
73
+ import { useLoaderData } from "expo-router";
74
+ import { ActivityIndicator, View, Text } from "react-native";
75
+
76
+ export async function loader() {
77
+ const response = await fetch("https://api.example.com/posts");
78
+ const posts = await response.json();
79
+ return { posts };
80
+ }
81
+
82
+ function PostList() {
83
+ const { posts } = useLoaderData<typeof loader>();
84
+
85
+ return (
86
+ <View>
87
+ {posts.map((post) => (
88
+ <Text key={post.id}>{post.title}</Text>
89
+ ))}
90
+ </View>
91
+ );
92
+ }
93
+
94
+ export default function Posts() {
95
+ return (
96
+ <Suspense fallback={<ActivityIndicator size="large" />}>
97
+ <PostList />
98
+ </Suspense>
99
+ );
100
+ }
101
+ ```
102
+
103
+ `useLoaderData` is typed via `typeof loader` — the generic parameter infers the return type.
104
+
105
+ ## Dynamic Routes
106
+
107
+ For loaders with params, use the `LoaderFunction<T>` type from `expo-server`. The first argument is the request (an immutable `Request`-like object, or `undefined` in static mode). The second is `params` (`Record<string, string | string[]>`), which contains **path parameters only**. Access individual params with a cast like `params.id as string`. For query parameters, use `new URL(request.url).searchParams`:
108
+
109
+ ```tsx
110
+ // app/posts/[id].tsx
111
+ import { Suspense } from "react";
112
+ import { useLoaderData } from "expo-router";
113
+ import { StatusError, type LoaderFunction } from "expo-server";
114
+ import { ActivityIndicator, View, Text } from "react-native";
115
+
116
+ type Post = {
117
+ id: number;
118
+ title: string;
119
+ body: string;
120
+ };
121
+
122
+ export const loader: LoaderFunction<{ post: Post }> = async (
123
+ request,
124
+ params,
125
+ ) => {
126
+ const id = params.id as string;
127
+ const response = await fetch(`https://api.example.com/posts/${id}`);
128
+
129
+ if (!response.ok) {
130
+ throw new StatusError(404, `Post ${id} not found`);
131
+ }
132
+
133
+ const post: Post = await response.json();
134
+ return { post };
135
+ };
136
+
137
+ function PostContent() {
138
+ const { post } = useLoaderData<typeof loader>();
139
+
140
+ return (
141
+ <View>
142
+ <Text>{post.title}</Text>
143
+ <Text>{post.body}</Text>
144
+ </View>
145
+ );
146
+ }
147
+
148
+ export default function PostDetail() {
149
+ return (
150
+ <Suspense fallback={<ActivityIndicator size="large" />}>
151
+ <PostContent />
152
+ </Suspense>
153
+ );
154
+ }
155
+ ```
156
+
157
+ Catch-all routes access `params.slug` the same way:
158
+
159
+ ```tsx
160
+ // app/docs/[...slug].tsx
161
+ import { type LoaderFunction } from "expo-server";
162
+
163
+ type Doc = { title: string; content: string };
164
+
165
+ export const loader: LoaderFunction<{ doc: Doc }> = async (request, params) => {
166
+ const slug = params.slug as string[];
167
+ const path = slug.join("/");
168
+ const doc = await fetchDoc(path);
169
+ return { doc };
170
+ };
171
+ ```
172
+
173
+ Query parameters are available via the `request` object (server output mode only):
174
+
175
+ ```tsx
176
+ // app/search.tsx
177
+ import { type LoaderFunction } from "expo-server";
178
+
179
+ export const loader: LoaderFunction<{ results: any[]; query: string }> = async (request) => {
180
+ // Assuming request.url is `/search?q=expo&page=2`
181
+ const url = new URL(request!.url);
182
+ const query = url.searchParams.get("q") ?? "";
183
+ const page = Number(url.searchParams.get("page") ?? "1");
184
+
185
+ const results = await fetchSearchResults(query, page);
186
+ return { results, query };
187
+ };
188
+ ```
189
+
190
+ ## Server-Side Secrets & Request Access
191
+
192
+ Loaders run on the server, so you can access secrets and server-only resources directly:
193
+
194
+ ```tsx
195
+ // app/dashboard.tsx
196
+ import { type LoaderFunction } from "expo-server";
197
+
198
+ export const loader: LoaderFunction<{ balance: any; isAuthenticated: boolean }> = async (
199
+ request,
200
+ params,
201
+ ) => {
202
+ const data = await fetch("https://api.stripe.com/v1/balance", {
203
+ headers: {
204
+ Authorization: `Bearer ${process.env.STRIPE_SECRET_KEY}`,
205
+ },
206
+ });
207
+
208
+ const sessionToken = request?.headers.get("cookie")?.match(/session=([^;]+)/)?.[1];
209
+
210
+ const balance = await data.json();
211
+ return { balance, isAuthenticated: !!sessionToken };
212
+ };
213
+ ```
214
+
215
+ The `request` object is available in server output mode. In static output mode, `request` is always `undefined`.
216
+
217
+ ## Response Utilities
218
+
219
+ ### Setting Response Headers
220
+
221
+ ```tsx
222
+ // app/products.tsx
223
+ import { setResponseHeaders } from "expo-server";
224
+
225
+ export async function loader() {
226
+ setResponseHeaders({
227
+ "Cache-Control": "public, max-age=300",
228
+ });
229
+
230
+ const products = await fetchProducts();
231
+ return { products };
232
+ }
233
+ ```
234
+
235
+ ### Throwing HTTP Errors
236
+
237
+ ```tsx
238
+ // app/products/[id].tsx
239
+ import { StatusError, type LoaderFunction } from "expo-server";
240
+
241
+ export const loader: LoaderFunction<{ product: Product }> = async (request, params) => {
242
+ const id = params.id as string;
243
+ const product = await fetchProduct(id);
244
+
245
+ if (!product) {
246
+ throw new StatusError(404, "Product not found");
247
+ }
248
+
249
+ return { product };
250
+ };
251
+ ```
252
+
253
+ ## Suspense & Error Boundaries
254
+
255
+ ### Loading States with Suspense
256
+
257
+ `useLoaderData()` suspends during client-side navigation. Push it into a child component and wrap with `<Suspense>`:
258
+
259
+ ```tsx
260
+ // app/posts/index.tsx
261
+ import { Suspense } from "react";
262
+ import { useLoaderData } from "expo-router";
263
+ import { ActivityIndicator, View, Text } from "react-native";
264
+
265
+ export async function loader() {
266
+ const response = await fetch("https://api.example.com/posts");
267
+ return { posts: await response.json() };
268
+ }
269
+
270
+ function PostList() {
271
+ const { posts } = useLoaderData<typeof loader>();
272
+
273
+ return (
274
+ <View>
275
+ {posts.map((post) => (
276
+ <Text key={post.id}>{post.title}</Text>
277
+ ))}
278
+ </View>
279
+ );
280
+ }
281
+
282
+ export default function Posts() {
283
+ return (
284
+ <Suspense
285
+ fallback={
286
+ <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
287
+ <ActivityIndicator size="large" />
288
+ </View>
289
+ }
290
+ >
291
+ <PostList />
292
+ </Suspense>
293
+ );
294
+ }
295
+ ```
296
+
297
+ The `<Suspense>` boundary must be above the component calling `useLoaderData()`. On initial page load the data is already in the HTML, suspension only occurs during client-side navigation.
298
+
299
+ ### Error Boundaries
300
+
301
+ ```tsx
302
+ // app/posts/[id].tsx
303
+ export function ErrorBoundary({ error }: { error: Error }) {
304
+ return (
305
+ <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
306
+ <Text>Error: {error.message}</Text>
307
+ </View>
308
+ );
309
+ }
310
+ ```
311
+
312
+ When a loader throws (including `StatusError`), the nearest `ErrorBoundary` catches it.
313
+
314
+ ## Static vs Server Rendering
315
+
316
+ | | Server (`"server"`) | Static (`"static"`) |
317
+ |---|---|---|
318
+ | **When loader runs** | Every request (live) | At build time (`npx expo export`) |
319
+ | **Data freshness** | Fresh on initial server request | Stale until next build |
320
+ | **`request` object** | Full access | Not available |
321
+ | **Hosting** | Node.js server (EAS Hosting) | Any static host |
322
+ | **Use case** | Personalized/dynamic content | Marketing pages, blogs, docs |
323
+
324
+ **Choose server** when data changes frequently or content is personalized (cookies, auth, headers).
325
+
326
+ **Choose static** when content is the same for all users and changes infrequently.
327
+
328
+ ## Best Practices
329
+
330
+ - Loaders are web-only; use client-side fetching (React Query, fetch) for native
331
+ - Loaders cannot be used in `_layout` files — only in route files
332
+ - Use `LoaderFunction<T>` from `expo-server` to type loaders that use params
333
+ - The request object is immutable — use optional chaining (`request?.headers`) as it may be `undefined` in static mode
334
+ - Return only JSON-serializable values (no `Date`, `Map`, `Set`, class instances, functions)
335
+ - Use non-prefixed `process.env` vars for secrets in loaders, not `EXPO_PUBLIC_` (which is embedded in the client bundle)
336
+ - Use `StatusError` from `expo-server` for HTTP error responses
337
+ - Use `setResponseHeaders` from `expo-server` to set headers
338
+ - Export `ErrorBoundary` from route files to handle loader failures gracefully
339
+ - Validate and sanitize user input (params, query strings) before using in database queries or API calls
340
+ - Handle errors gracefully with try/catch; log server-side for debugging
341
+ - Loader data is currently cached for the session. This is a known limitation that will be lifted in a future release
@@ -0,0 +1,237 @@
1
+ ---
2
+ name: neon-ai-gateway
3
+ description: One API and one credential for frontier and open-source LLMs, built into your Neon branch and powered by Databricks. Use when a user wants to call an LLM, add AI/chat/an agent to their app, route between model providers (OpenAI, Anthropic, Google/Gemini, Meta, Alibaba, DeepSeek), or...
4
+ risk: unknown
5
+ source: https://github.com/neondatabase/agent-skills/tree/main/skills/neon-ai-gateway
6
+ source_repo: neondatabase/agent-skills
7
+ source_type: official
8
+ date_added: 2026-07-01
9
+ license: Apache-2.0
10
+ license_source: https://github.com/neondatabase/agent-skills/blob/main/LICENSE
11
+ ---
12
+
13
+ # Neon AI Gateway
14
+
15
+ This is a preview feature and only available in `us-east-2`. The Neon AI Gateway is the LLM inference layer built into your Neon branch: one API and one Neon credential give you access to frontier and open-source models from Anthropic, OpenAI, Google, Meta, Alibaba, DeepSeek, and Databricks — powered by Databricks. Your existing OpenAI/Anthropic/Gemini SDK works by changing only the base URL.
16
+
17
+ Use this skill to help the user send model calls through the gateway, wire it into the AI SDK or Mastra, and switch providers without rewiring code. Deliver a working inference request, a configured agent, or a precise answer from the official Neon docs.
18
+
19
+ ## When to Use
20
+
21
+ Reach for the AI Gateway whenever an app or agent needs to call an LLM and the user would rather not manage model providers themselves:
22
+
23
+ - **One credential instead of many provider accounts.** A single Neon credential reaches the entire model catalog across seven providers. No separate OpenAI / Anthropic / Google billing, keys, or signups to provision and rotate.
24
+ - **Switch models without rewiring.** The unified endpoint is OpenAI-compatible and works with every model in the catalog — change one `model` field to move between Claude, GPT, and Gemini. Standard SDKs (OpenAI, Anthropic, google-genai) work with just a base-URL change.
25
+ - **AI follows your branches.** Each branch has its own gateway endpoint, scoped with the same lineage as your database. AI requests from a preview/feature branch are isolated to that branch — the same isolation your data already gets — which makes preview, CI, and agent environments self-contained.
26
+ - **No extra infrastructure, and it's already next to your data.** The gateway lives inside your Neon project (and is injected into Neon Functions automatically), runs on the same Databricks infrastructure that serves trillions of tokens a month, and supports streaming (SSE) out of the box.
27
+
28
+ If the user already has a deep, single-provider integration and no interest in Neon branching or multi-model routing, a direct provider SDK is fine — but the moment they want one credential, model portability, or branch-scoped AI, this is the reason to use it.
29
+
30
+ ## What It Does
31
+
32
+ - **One API for all models** — Frontier and open-source models behind a single endpoint, addressed by their catalog ID (e.g. `claude-sonnet-4-6`, `gpt-5-mini`, `gemini-2-5-flash`).
33
+ - **Standard SDKs, one URL change** — OpenAI SDK and AI SDK (OpenAI-compatible MLflow/Responses routes), Anthropic SDK (native Messages), google-genai (native Gemini).
34
+ - **Branch-scoped** — Each branch gets its own gateway host; the Neon credential authorizes requests for that branch and its descendants.
35
+ - **Streaming** — Server-sent events work on all endpoints with no extra configuration.
36
+
37
+ ## Setup
38
+
39
+ The gateway is part of `neon.ts` (see the `neon` skill for the branch-first workflow and `neon.ts` basics). Enable it under `preview.aiGateway`:
40
+
41
+ ```typescript
42
+ // neon.ts
43
+ import { defineConfig } from "@neon/config/v1";
44
+
45
+ export default defineConfig({
46
+ preview: {
47
+ aiGateway: true,
48
+ },
49
+ });
50
+ ```
51
+
52
+ ```bash
53
+ neon deploy # provisions the gateway on the linked branch
54
+ ```
55
+
56
+ ## Neon Infrastructure as Code (`neon.ts`)
57
+
58
+ The `preview.aiGateway` toggle above is part of `neon.ts`, Neon's infrastructure-as-code file — one TypeScript file declares the gateway alongside every other branch service, in version control (see the `neon` skill for the full reference). Reconcile it against a branch the Terraform way:
59
+
60
+ ```bash
61
+ neon config status # print the branch's live config (is the gateway on?)
62
+ neon config plan # dry-run diff of what apply would change
63
+ neon config apply # enable the gateway on the branch (neon deploy is an alias)
64
+ ```
65
+
66
+ The gateway is **branch-scoped**: each branch gets its own gateway host. When a `neon.ts` is present, `neon checkout` applies the policy as it _creates_ a branch, so a fresh preview/CI branch comes up with the gateway already enabled. Checking out an _existing_ branch doesn't reconcile it — run `neon deploy` to apply changes. Provisioning (`config apply` / `deploy`), `link`, and `checkout` also pull the branch's gateway credentials into your local `.env.local`, so local runs hit the same branch gateway as the deployed function (no manual `env pull` needed).
67
+
68
+ For typed, validated access to the injected credentials, pass the same config object to `parseEnv` from `@neon/env` — it returns an `env.aiGateway` namespace (`apiKey`, `baseUrl`) derived from your `neon.ts`.
69
+
70
+ ## Environment variables
71
+
72
+ When `preview.aiGateway` is enabled, Neon injects the gateway credentials as **OpenAI-standard** env vars (so the OpenAI SDK and AI SDK work from the environment with no config), plus `NEON_`-branded aliases. Inside a deployed Neon Function these are injected automatically; locally, `neon env pull` writes them to `.env`/`.env.local` (or use `neon-env run -- <cmd>` to inject at runtime without a file):
73
+
74
+ | Variable | Meaning |
75
+ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
76
+ | `OPENAI_API_KEY` | Gateway bearer token (a Neon credential, `nt_live_...`) |
77
+ | `OPENAI_BASE_URL` | Full OpenAI-dialect route, **including** `/ai-gateway/openai/v1`: `https://<branch-id>-api.ai.<region>.aws.neon.tech/ai-gateway/openai/v1` |
78
+ | `NEON_AI_GATEWAY_TOKEN` | Same bearer as `OPENAI_API_KEY` (survives a user overriding `OPENAI_*` with their own keys) |
79
+ | `NEON_AI_GATEWAY_BASE_URL` | **Bare branch gateway host** (`scheme://host`, **no path** — no `/ai-gateway`): `https://<branch-id>-api.ai.<region>.aws.neon.tech` |
80
+
81
+ The two base URLs are **different**: `OPENAI_BASE_URL` already includes the full `/ai-gateway/openai/v1` (Responses) route, while `NEON_AI_GATEWAY_BASE_URL` is just the bare host, so you append `/ai-gateway/<dialect>` yourself (this is also what the `@neon/ai-sdk-provider` does for you). The routes under the host are:
82
+
83
+ - `/ai-gateway/mlflow/v1` — unified, OpenAI **Chat Completions**-compatible; recommended default, works with every provider.
84
+ - `/ai-gateway/openai/v1` — OpenAI **Responses** API (required for `gpt-5-…-codex` variants and `gpt-5-5-pro`). This is the route `OPENAI_BASE_URL` already points at, because the `@ai-sdk/openai` provider uses the Responses API by default.
85
+ - `/ai-gateway/anthropic/v1` — native Anthropic Messages (extended thinking, prompt caching).
86
+ - `/ai-gateway/gemini/v1beta/...` — native Gemini `generateContent`.
87
+
88
+ So `${NEON_AI_GATEWAY_BASE_URL}/ai-gateway/mlflow/v1` is the chat-completions endpoint, `${NEON_AI_GATEWAY_BASE_URL}/ai-gateway/openai/v1` equals `OPENAI_BASE_URL`, and so on. If you only have `OPENAI_BASE_URL` and need chat completions, swap the dialect: `baseUrl.replace("/openai/v1", "/mlflow/v1")` (this is what the Mastra example does).
89
+
90
+ For typed access, `parseEnv` (from `@neon/env`) returns `env.aiGateway` (`apiKey`, `baseUrl`) derived from your `neon.ts`.
91
+
92
+ ## Build agents with the Vercel AI SDK (recommended)
93
+
94
+ The [Vercel AI SDK](https://ai-sdk.dev) is the recommended way to call the gateway and build agents from TypeScript: one set of primitives (`generateText`, `streamText`, tool calling, structured output) over every catalog model, with first-class streaming for the long agent responses Neon Functions are built to host.
95
+
96
+ On a Neon Function that streams text and generates images, the `@ai-sdk/openai` provider reads `OPENAI_API_KEY` and `OPENAI_BASE_URL` from the injected env automatically — no client config needed; just pick a catalog model:
97
+
98
+ ```typescript
99
+ import { openai } from "@ai-sdk/openai";
100
+ import { streamText } from "ai";
101
+
102
+ const result = streamText({
103
+ model: openai("gpt-5-mini"),
104
+ messages,
105
+ tools: {
106
+ image_generation: openai.tools.imageGeneration({
107
+ outputFormat: "jpeg",
108
+ size: "1024x1024",
109
+ }),
110
+ },
111
+ });
112
+ return result.toUIMessageStreamResponse();
113
+ ```
114
+
115
+ For multi-provider routing from a single call, the dedicated `@neon/ai-sdk-provider` reads `NEON_AI_GATEWAY_BASE_URL` + `NEON_AI_GATEWAY_TOKEN` and routes each model to the best endpoint (Anthropic → Messages, OpenAI/Codex → Responses, everything else → MLflow):
116
+
117
+ ```typescript
118
+ import { neon } from "@neon/ai-sdk-provider";
119
+ import { generateText } from "ai";
120
+
121
+ const { text } = await generateText({
122
+ model: neon("claude-haiku-4-5"), // or gpt-5-3-codex, gemini-2-5-flash, ...
123
+ prompt: "Summarize Postgres for me.",
124
+ });
125
+ ```
126
+
127
+ To build an **agent** — a model that calls tools in a loop and then answers — add `tools` and a `stopWhen` budget. The loop runs in-process, so on a Neon Function it isn't cut off by lambda-style timeouts:
128
+
129
+ ```typescript
130
+ import { neon } from "@neon/ai-sdk-provider";
131
+ import { generateText, tool, stepCountIs } from "ai";
132
+ import { z } from "zod";
133
+
134
+ const { text } = await generateText({
135
+ model: neon("claude-sonnet-4-6"),
136
+ prompt: "How many open todos do I have, and what's the oldest one?",
137
+ tools: {
138
+ listTodos: tool({
139
+ description: "List the user's open todos.",
140
+ inputSchema: z.object({}), // AI SDK v5+: `inputSchema`, not `parameters`
141
+ execute: async () => db.select().from(todos),
142
+ }),
143
+ },
144
+ stopWhen: stepCountIs(5), // let the model call tools, then summarize
145
+ });
146
+ ```
147
+
148
+ For a full AI SDK agent deployed as a Neon Function (streaming, tool calling, image generation, persistence), see the `neon-functions` skill's `references/ai-sdk.md`.
149
+
150
+ ## Build agents with Mastra (recommended)
151
+
152
+ [Mastra](https://mastra.ai) is the recommended framework when you want batteries-included agents — built-in memory, tools, workflows, and tracing — with the model still pointed at the gateway. A memory-backed agent (threads/messages in Postgres via `@mastra/pg`) running as a Neon Function reads `env.aiGateway` from `parseEnv` and uses the **chat-completions** (MLflow) dialect:
153
+
154
+ ```typescript
155
+ import { Agent } from "@mastra/core/agent";
156
+ import { parseEnv } from "@neon/env";
157
+ import config from "../neon";
158
+
159
+ const env = parseEnv(config);
160
+ const gatewayUrl = env.aiGateway.baseUrl.replace("/openai/v1", "/mlflow/v1");
161
+
162
+ export const personalAssistant = new Agent({
163
+ id: "personal-assistant",
164
+ name: "personal-assistant",
165
+ instructions:
166
+ "You are a warm, concise personal assistant with long-term memory.",
167
+ model: {
168
+ id: `neon/claude-haiku-4-5`,
169
+ url: gatewayUrl,
170
+ apiKey: env.aiGateway.apiKey,
171
+ },
172
+ memory,
173
+ });
174
+ ```
175
+
176
+ ## Use with plain SDKs (lower-level)
177
+
178
+ When you don't need an agent framework — a single completion, an existing provider-SDK integration, or native provider features — call the gateway with the plain SDKs. The injected `OPENAI_API_KEY` and `OPENAI_BASE_URL` are OpenAI-standard, so `new OpenAI()` picks them up with **zero config**. Since `OPENAI_BASE_URL` is the OpenAI **Responses** dialect (`/openai/v1`), call the Responses API:
179
+
180
+ ```typescript
181
+ import OpenAI from "openai";
182
+
183
+ const client = new OpenAI(); // reads OPENAI_API_KEY + OPENAI_BASE_URL from the env
184
+
185
+ const res = await client.responses.create({
186
+ model: "gpt-5-mini", // swap to claude-sonnet-4-6, gemini-2-5-flash, ...
187
+ input: "What is Neon?",
188
+ });
189
+ ```
190
+
191
+ For the unified **chat-completions** dialect (`/mlflow/v1`) instead, point the client at it. The ergonomic way is to swap the dialect on the injected base URL rather than rebuild it (same move the Mastra example makes):
192
+
193
+ ```typescript
194
+ const client = new OpenAI({
195
+ baseURL: process.env.OPENAI_BASE_URL!.replace("/openai/v1", "/mlflow/v1"),
196
+ });
197
+
198
+ const res = await client.chat.completions.create({
199
+ model: "claude-sonnet-4-6",
200
+ messages: [{ role: "user", content: "What is Neon?" }],
201
+ });
202
+ ```
203
+
204
+ The Anthropic SDK and google-genai work the same way for native provider features — point them at the `/anthropic` and `/gemini` routes on the bare gateway host (`${NEON_AI_GATEWAY_BASE_URL}/ai-gateway/anthropic`, `${NEON_AI_GATEWAY_BASE_URL}/ai-gateway/gemini`).
205
+
206
+ ## Model identifiers
207
+
208
+ Use a model's catalog ID directly in the `model` field — e.g. `claude-sonnet-4-6`, `gpt-5-mini`, `gemini-2-5-flash`. No provider prefix is needed. To look up the exact identifiers the gateway serves, which underlying model each maps to, and their context windows, pricing, and capabilities, use any of:
209
+
210
+ - **models.dev Neon provider page: https://models.dev/providers/neon** — the canonical, always-current list of the Neon provider's model IDs and their underlying models. The machine-readable catalog is at https://models.dev/api.json (the `neon` key).
211
+ - **Models doc:** see Further reading.
212
+
213
+ ## Availability
214
+
215
+ The AI Gateway is a preview (early access) feature available only on new projects in the `us-east-2` region; it can't be enabled on existing projects. Foundation model access requires a paid Neon plan. Confirm the user's project is a new project in `us-east-2`. If the user does not yet have access, point them to the private beta sign-up: https://neon.com/blog/were-building-backends#access
216
+
217
+ ## Neon Documentation
218
+
219
+ The Neon documentation is the source of truth and the AI Gateway is evolving rapidly, so always verify against the official docs. Any doc page can be fetched as markdown by appending `.md` to the URL or by requesting `Accept: text/markdown`. Find the right page from the docs index (https://neon.com/docs/llms.txt) and the changelog announcements.
220
+
221
+ ## Further reading
222
+
223
+ - https://neon.com/docs/ai-gateway/overview.md
224
+ - https://neon.com/docs/ai-gateway/get-started.md
225
+ - https://neon.com/docs/ai-gateway/models.md
226
+ - https://neon.com/docs/ai-gateway/chat-completions.md
227
+ - https://neon.com/docs/ai-gateway/anthropic-messages.md
228
+ - https://neon.com/docs/ai-gateway/openai-responses.md
229
+ - https://neon.com/docs/ai-gateway/gemini.md
230
+ - https://neon.com/docs/ai-gateway/authentication.md
231
+ - https://neon.com/docs/ai-gateway/troubleshooting.md
232
+
233
+ ## Limitations
234
+
235
+ - Use this skill only when the task clearly matches its upstream product or API scope.
236
+ - Verify commands, API behavior, pricing, quotas, credentials, and deployment effects against current official documentation before making changes.
237
+ - Do not treat generated examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.