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
@@ -0,0 +1,160 @@
1
+ # Prompts and Instructions
2
+
3
+ Modern embedding models (E5, BGE, GTE, Qwen3-Embedding, Nomic, Instructor, etc.) use **prompts** / **instructions** at encode time — short prefixes like `"query: "`, `"passage: "`, or `"Represent this sentence for retrieval:"` — to signal task intent.
4
+
5
+ In sentence-transformers, prompts work during both **training** and **inference**, and the library keeps them aligned automatically.
6
+
7
+ The prompt is literally prepended to the input text before tokenization.
8
+
9
+ ## Model-level prompts
10
+
11
+ Set prompts on the model so `encode()`, `encode_query()`, `encode_document()` use them automatically:
12
+
13
+ ```python
14
+ model = SentenceTransformer("your-base-model")
15
+ model.prompts = {
16
+ "query": "query: ",
17
+ "document": "passage: ",
18
+ }
19
+ model.default_prompt_name = "document" # used when none is specified
20
+ ```
21
+
22
+ At inference:
23
+
24
+ ```python
25
+ q_emb = model.encode_query("What is the capital of France?")
26
+ # Internally: encodes "query: What is the capital of France?"
27
+
28
+ d_emb = model.encode_document(["Paris is the capital of France.", "Berlin is the capital of Germany."])
29
+ # Internally: encodes "passage: Paris..." etc.
30
+
31
+ # Explicit prompt_name:
32
+ emb = model.encode(["some text"], prompt_name="query")
33
+ ```
34
+
35
+ ## Training with prompts
36
+
37
+ Set prompts on the training args so they're applied automatically to the right columns during training. Four shapes, increasingly specific:
38
+
39
+ ### 1. Single prompt (applied everywhere)
40
+
41
+ ```python
42
+ args = SentenceTransformerTrainingArguments(
43
+ ...,
44
+ prompts="Represent this sentence for similarity: ",
45
+ )
46
+ ```
47
+
48
+ Every input column gets the prefix. Simplest and often sufficient for single-task training.
49
+
50
+ ### 2. Per-column prompts
51
+
52
+ ```python
53
+ prompts = {
54
+ "anchor": "query: ",
55
+ "positive": "passage: ",
56
+ "negative": "passage: ",
57
+ }
58
+ ```
59
+
60
+ Keys are **column names**. Different prefixes for different roles.
61
+
62
+ ### 3. Per-dataset prompts (multi-dataset)
63
+
64
+ ```python
65
+ prompts = {
66
+ "all-nli": "Classify the entailment relationship: ",
67
+ "stsb": "Score semantic similarity: ",
68
+ }
69
+ ```
70
+
71
+ Keys are **dataset names** (matching the `train_dataset` dict keys).
72
+
73
+ ### 4. Per-dataset + per-column
74
+
75
+ ```python
76
+ prompts = {
77
+ "all-nli": "", # all-nli: no prompt
78
+ "msmarco": { # msmarco: per-column
79
+ "query": "query: ",
80
+ "positive": "passage: ",
81
+ "negative": "passage: ",
82
+ },
83
+ }
84
+ ```
85
+
86
+ ## Cross-encoder specifics
87
+
88
+ Cross-encoders restrict prompts to single-value or per-dataset only (no per-column). This is because cross-encoders take text pairs, not separate columns.
89
+
90
+ ```python
91
+ args = CrossEncoderTrainingArguments(
92
+ ...,
93
+ prompts="Rank this passage for the query: ", # single prompt
94
+ )
95
+ # or
96
+ args = CrossEncoderTrainingArguments(
97
+ ...,
98
+ prompts={"msmarco": "...", "gooaq": "..."}, # per-dataset
99
+ )
100
+ ```
101
+
102
+ ## Sparse encoders (SPLADE)
103
+
104
+ Sparse encoders support prompts with the same four shapes as bi-encoders (added in v5.x). Same `model.prompts = {...}` API.
105
+
106
+ ## Pooling and prompt tokens (bi-encoder)
107
+
108
+ When using mean/last-token pooling with prompt prefixes, the prompt tokens themselves can either:
109
+ - **Be included** in the pooled embedding (default behavior). Simpler, what most models do.
110
+ - **Be excluded** — only the actual content tokens are pooled.
111
+
112
+ To exclude, flip `include_prompt` on the Pooling module — found via `isinstance` rather than a fixed index, since multimodal / Router pipelines don't always put Pooling at position 1:
113
+
114
+ ```python
115
+ from sentence_transformers.sentence_transformer.modules import Pooling
116
+
117
+ for module in model:
118
+ if isinstance(module, Pooling):
119
+ module.include_prompt = False
120
+ ```
121
+
122
+ Or use the helper if your model exposes one (e.g. `SparseEncoder.set_pooling_include_prompt(False)`).
123
+
124
+ **When to exclude**: when the prompt is purely a task signal and you don't want it to dilute the semantic representation. Most E5 / BGE / GTE models leave prompts included.
125
+
126
+ During training with `prompts=`, the `include_prompt` setting is respected; the trainer also tracks `include_prompt_lengths` internally so pooling skips the prompt tokens correctly when `include_prompt=False`.
127
+
128
+ ## Inference alignment
129
+
130
+ If you trained with `prompts={"query": "query: ", ...}`, you must:
131
+
132
+ 1. **Save the prompts on the model**: `model.prompts = args.prompts` before `save_pretrained`, OR let the library do this automatically via the model card data.
133
+ 2. **Use the same prompts at inference**: call `encode_query()` / `encode_document()` and the saved prompts are applied.
134
+
135
+ If the saved model's `config_sentence_transformers.json` has `prompts` + `default_prompt_name`, anyone who loads it gets the correct prompts for free.
136
+
137
+ ## Instruction tuning (different from prompts)
138
+
139
+ Some models (Instructor, Qwen3-Embedding) use **instructions** — longer descriptions like `"Represent the biomedical query for retrieving relevant passages:"`. In sentence-transformers these are modeled the same way: just set them as prompts.
140
+
141
+ The model-card convention is to list available instructions/prompts in a dict:
142
+
143
+ ```python
144
+ model.prompts = {
145
+ "msmarco-query": "Represent the query for MS MARCO retrieval: ",
146
+ "msmarco-doc": "Represent the passage for MS MARCO retrieval: ",
147
+ "sts": "Represent the sentence for semantic similarity: ",
148
+ "classification": "Represent the sentence for topic classification: ",
149
+ }
150
+ ```
151
+
152
+ Users call `model.encode(["..."], prompt_name="msmarco-query")`.
153
+
154
+ ## Gotchas
155
+
156
+ - **Training with prompts but forgetting to set them on the model before `save_pretrained`**: the saved model won't know about the prompts. Users will encode *without* the prefix and get bad results. Fix: `model.prompts = args.prompts` before saving, or use `SentenceTransformerModelCardData(...)` with the prompt info.
157
+ - **Using `encode_query()` at inference but didn't train with a "query" prompt**: the method will just call regular `encode` (no prefix applied), which is fine. But the documentation implies you use it, and users may be confused.
158
+ - **Trailing spaces matter**: `"query: "` vs `"query:"` — the former has a trailing space before the real text. Inspect your training data to know which one your model was trained with.
159
+ - **Mixing prompted and non-prompted data in multi-dataset training** is fine as long as your `prompts` dict covers it per-dataset (e.g. `{"dataset_a": "query: ", "dataset_b": ""}`).
160
+ - **`include_prompt=False` with small datasets**: the model may under-fit because you've effectively shortened every input. Usually leave as True.
@@ -0,0 +1,269 @@
1
+ # Training Arguments
2
+
3
+ `SentenceTransformerTrainingArguments`, `CrossEncoderTrainingArguments`, and `SparseEncoderTrainingArguments` all inherit from Hugging Face's `TrainingArguments`, so 95% of the arguments are the same.
4
+
5
+ This reference covers the arguments that actually matter for embedding-model training.
6
+
7
+ ## The recommended default set
8
+
9
+ Start with this and adjust only what you have a reason to change:
10
+
11
+ ```python
12
+ from sentence_transformers import SentenceTransformerTrainingArguments
13
+ from sentence_transformers.base.sampler import BatchSamplers
14
+
15
+ args = SentenceTransformerTrainingArguments(
16
+ output_dir="models/my-model",
17
+
18
+ # Duration
19
+ num_train_epochs=1,
20
+ # max_steps=10_000, # alternative to epochs
21
+
22
+ # Batch size
23
+ per_device_train_batch_size=64,
24
+ per_device_eval_batch_size=64,
25
+ gradient_accumulation_steps=1,
26
+
27
+ # Optimizer
28
+ learning_rate=2e-5,
29
+ warmup_steps=0.1, # transformers v5.2 deprecated `warmup_ratio`; pass the ratio as a float directly to `warmup_steps`
30
+ lr_scheduler_type="linear",
31
+ weight_decay=0.0,
32
+
33
+ # Precision
34
+ bf16=True, # fp16=True on older GPUs (T4, V100)
35
+
36
+ # Sampler (bi-encoder + sparse-encoder)
37
+ batch_sampler=BatchSamplers.NO_DUPLICATES,
38
+
39
+ # Eval + checkpointing
40
+ eval_strategy="steps",
41
+ eval_steps=0.1, # fraction: 10 evals/epoch, scales with dataset size
42
+ save_strategy="steps",
43
+ save_steps=0.1, # keep aligned with eval_steps for load_best_model_at_end
44
+ save_total_limit=2,
45
+ load_best_model_at_end=True,
46
+ metric_for_best_model="eval_NanoBEIR_mean_cosine_ndcg@10",
47
+ greater_is_better=True,
48
+
49
+ # Logging
50
+ logging_steps=0.01, # fraction: ~100 log lines/epoch
51
+ logging_first_step=True,
52
+ run_name="my-model",
53
+ report_to="trackio", # or "wandb", "tensorboard", "mlflow", "none"
54
+ )
55
+ ```
56
+
57
+ ## Duration
58
+
59
+ - `num_train_epochs` — most common. 1 for large datasets (>500k), 3–10 for small.
60
+ - `max_steps` — use instead of epochs when you want a fixed compute budget. Overrides `num_train_epochs`.
61
+ - For huge datasets where 1 epoch is overkill, pick `max_steps` matching your compute plan.
62
+
63
+ ## Batch size
64
+
65
+ Effective batch size = `per_device_train_batch_size × num_gpus × gradient_accumulation_steps`.
66
+
67
+ Rules of thumb:
68
+ - **Contrastive losses (MNRL, GIST, SMNRL)**: push `per_device_train_batch_size` as high as VRAM allows. Larger in-batch negatives = better gradients. 64–256 typical.
69
+ - **Regression losses (CoSENTLoss, CosineSimilarityLoss, etc.)**: batch size matters less. 16–64 works.
70
+ - **Cross-encoders**: batch size is less critical for quality. 32–128 typical.
71
+ - If you can't fit the desired per-device batch, use `gradient_accumulation_steps` to simulate it — but for MNRL-family losses this **does not** provide the same benefit as a real batch (in-batch negatives are still only per-device). Use `CachedMultipleNegativesRankingLoss` instead.
72
+
73
+ ## Learning rate and schedule
74
+
75
+ - `2e-5` is the safe default for full fine-tuning of BERT-family encoders.
76
+ - `1e-4` to `5e-4` for LoRA / PEFT adapters.
77
+ - `2e-1` for training a `StaticEmbedding` model from scratch (much higher than transformers because each token is a free-floating vector with no upstream gradients).
78
+ - `lr_scheduler_type="linear"` with `warmup_steps=0.1` is standard (a float `< 1` is interpreted as a fraction of total steps). `"cosine"` works equally well; `"constant_with_warmup"` is fine for very short runs. The legacy `warmup_ratio` was deprecated in transformers v5.2 in favor of `warmup_steps` accepting floats; passing `warmup_ratio=...` still works but emits a DeprecationWarning.
79
+ - If loss goes NaN, **drop LR first** before anything else.
80
+
81
+ ## Precision
82
+
83
+ **The non-negotiable rule:** load the model in **fp32** (the default — don't pass `torch_dtype=torch.bfloat16` to the model constructor or `model_kwargs`). Use the `bf16=True` / `fp16=True` flags below to enable **autocast**, not a weight cast. The trainer keeps the model and optimizer state in fp32 and autocasts activations to bf16/fp16 at forward/backward time. This preserves Adam's full-precision moments while giving you most of the bf16 throughput.
84
+
85
+ Casting weights to bf16 *before* the optimizer is created puts the Adam state (`exp_avg`, `exp_avg_sq`) in bf16 too — bf16's 7-bit mantissa is too coarse for small gradient moments and you get silent quality regressions across runs.
86
+
87
+ | Flag | When to use |
88
+ |---|---|
89
+ | `bf16=True` | Ampere (A10G, A100, 3090) and newer (Hopper, Ada). Preferred when supported — more numerically stable than fp16. Activations only; weights stay fp32. |
90
+ | `fp16=True` | Older GPUs (T4, V100, 2080, Titan V). Be prepared to drop LR or enable loss scaling if you see NaN. Activations only; weights stay fp32. |
91
+ | Neither | fp32 throughout. Slow; only useful for debugging numerical issues. |
92
+
93
+ Do not set both `bf16=True` and `fp16=True`.
94
+
95
+ **Evaluator calls outside the trainer** (typically the pre-training baseline + a final post-training pass) don't get the trainer's autocast. Wrap them manually for the speedup — and note that the wrap is **only strictly required when the model uses `attn_implementation="flash_attention_2"`**, since FA2 kernels need bf16/fp16 inputs to function. Without FA2 the wrap is a throughput optimization, not a correctness requirement:
96
+
97
+ ```python
98
+ import torch
99
+ from contextlib import nullcontext
100
+
101
+ def autocast_ctx():
102
+ if not torch.cuda.is_available():
103
+ return nullcontext()
104
+ dtype = torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
105
+ return torch.autocast("cuda", dtype=dtype)
106
+
107
+ with autocast_ctx():
108
+ evaluator(model) # baseline
109
+ trainer.train()
110
+ with autocast_ctx():
111
+ evaluator(model) # post-training
112
+ ```
113
+
114
+ **FlashAttention 2** wants bf16/fp16 inputs but doesn't require bf16 weights. Pass `model_kwargs={"attn_implementation": "flash_attention_2"}` *without* `torch_dtype`, and let `bf16=True` autocast feed bf16 activations to FA2. Weights stay fp32, optimizer state stays fp32.
115
+
116
+ ## Batch sampler (bi-encoder + sparse-encoder)
117
+
118
+ `batch_sampler=BatchSamplers.NO_DUPLICATES` is critical for contrastive losses. Without it, the same (anchor, positive) can appear multiple times in one batch, turning legitimate positives into false negatives.
119
+
120
+ Use `BatchSamplers.NO_DUPLICATES` for MNRL / SMNRL / CachedMNRL / GIST (the default recommendation); `BatchSamplers.GROUP_BY_LABEL` for batch-triplet losses (`BatchAllTripletLoss`, `BatchHardTripletLoss`); `BatchSamplers.NO_DUPLICATES_HASHED` only for very large datasets where per-batch string comparison gets slow.
121
+
122
+ For multi-dataset training, the analogous `MultiDatasetBatchSamplers` class controls how to draw from each dataset (`ROUND_ROBIN`, `PROPORTIONAL`). Under DDP, each dataset is sharded automatically per process — no extra config needed; set `multi_dataset_batch_sampler=...` once and it works for 1-GPU and N-GPU runs identically.
123
+
124
+ ## Evaluation and checkpointing
125
+
126
+ ```python
127
+ eval_strategy="steps",
128
+ eval_steps=0.1, # evaluate every 10% of training
129
+ save_strategy="steps",
130
+ save_steps=0.1, # save at the same cadence (required for load_best_model_at_end)
131
+ save_total_limit=2,
132
+ load_best_model_at_end=True,
133
+ metric_for_best_model="eval_<EvaluatorName>_<metric>",
134
+ greater_is_better=True,
135
+ ```
136
+
137
+ **Prefer fractional values over absolute step counts.** `eval_steps=0.1` / `save_steps=0.1` / `logging_steps=0.01` are interpreted as fractions of total training steps (10 evals per epoch, 100 log lines per epoch) and auto-scale when the dataset size or epoch count changes. The HF Trainer converts a `float < 1` to `int(total_steps * fraction)` at init time, so the same config works whether you're training on 10k or 10M rows — no need to recompute absolute step counts each time.
138
+
139
+ Use an absolute integer (e.g. `eval_steps=500`) only when you have a specific reason: comparing runs at known step counts, or when `max_steps` is set to an unusual value that makes fractions awkward.
140
+
141
+ Non-negotiable rules:
142
+ 1. `save_steps` must be a multiple of `eval_steps` (or equal) when `load_best_model_at_end=True`, so the best-eval checkpoint is actually on disk. Matching them is the simplest path (e.g. both at `0.1`).
143
+ 2. If `eval_strategy="steps"` and you don't pass `eval_dataset`, training hangs. Either provide an eval dataset or set `eval_strategy="no"`.
144
+ 3. `metric_for_best_model` must match the exact key the evaluator writes. The pattern is usually `f"eval_{evaluator.primary_metric}"`. Common values:
145
+ - `NanoBEIREvaluator` (bi-encoder, cosine): `eval_NanoBEIR_mean_cosine_ndcg@10`
146
+ - `SparseNanoBEIREvaluator` (sparse, dot): `eval_NanoBEIR_mean_dot_ndcg@10`
147
+ - `CrossEncoderNanoBEIREvaluator` (rerank from BM25 top-100): `eval_NanoBEIR_R100_mean_ndcg@10`
148
+ - `EmbeddingSimilarityEvaluator(name="sts-dev")`: `eval_sts-dev_spearman_cosine`
149
+
150
+ ## Early stopping
151
+
152
+ Add `EarlyStoppingCallback` via `callbacks=[...]`:
153
+
154
+ ```python
155
+ from transformers import EarlyStoppingCallback
156
+
157
+ trainer = SentenceTransformerTrainer(
158
+ ..., callbacks=[EarlyStoppingCallback(early_stopping_patience=3)],
159
+ )
160
+ ```
161
+
162
+ This requires `load_best_model_at_end=True` and `metric_for_best_model=...` to be set.
163
+
164
+ `early_stopping_patience=3` means "stop if the best metric hasn't improved in 3 consecutive eval rounds." Use `early_stopping_threshold=0.001` to require a minimum improvement.
165
+
166
+ **When it actually matters:**
167
+ - **Cross-encoders**: strongly recommended. CE rerankers typically peak mid-training and then degrade — the best checkpoint is rarely the last. Early stopping saves compute *and* guards against quality regression.
168
+ - **Bi-encoders and sparse encoders**: usually plateau rather than regress, so early stopping fires much less often. `load_best_model_at_end=True` alone gives you the right final model; adding the callback is a belt-and-suspenders safety net.
169
+
170
+ ## Resuming training
171
+
172
+ `trainer.train(resume_from_checkpoint=True)` resumes from the latest checkpoint in `output_dir`. Pass a specific path to resume from a specific step: `resume_from_checkpoint="models/my-model/checkpoint-500"`.
173
+
174
+ State that persists across resumption: optimizer, scheduler, random seeds, trainer step counter. State that does **not**: dataset iteration order for `IterableDataset` — if you use streaming datasets, you must handle resumption yourself.
175
+
176
+ ## Hub push
177
+
178
+ `push_to_hub=True` + `hub_model_id="your-username/my-model"` + `hub_strategy="every_save"` is the standard pattern. On HF Jobs, also pass `secrets={"HF_TOKEN": "$HF_TOKEN"}` on the job submission. The four `hub_strategy` values: `"every_save"` (each checkpoint, mandatory for HF Jobs), `"end"` (final only), `"checkpoint"` (latest, overwrite), `"all_checkpoints"` (each as a separate commit).
179
+
180
+ ## Logging
181
+
182
+ ```python
183
+ logging_steps=0.01, # fraction: ~100 log lines per epoch (use an int for a fixed cadence)
184
+ logging_first_step=True, # log before any training; useful sanity check
185
+ logging_dir=None, # defaults to output_dir/runs
186
+ report_to="trackio", # or ["trackio", "tensorboard"] for multiple; "none" disables all
187
+ run_name="meaningful-name", # shown in the tracker UI
188
+ ```
189
+
190
+ **Tracker recommendation:**
191
+ - **Trackio** (default) for solo / small-team work: zero friction beyond `HF_TOKEN`. Auto-creates a Space at `https://huggingface.co/spaces/<your-username>/trackio` on the first run; subsequent runs append and group by `run_name`.
192
+ - **W&B** for larger teams or sweep / report features. `pip install wandb && wandb login` (or set `WANDB_API_KEY`).
193
+ - **TensorBoard** for air-gapped environments. No remote dashboard.
194
+ - **MLflow** when it's already the org standard.
195
+
196
+ For trackio sweeps / ablations, use `trackio.init(project="...", name="...", group="v1", config={...})` before training to group related runs side-by-side. Without `trackio.init()`, defaults are derived from `run_name` and HF username.
197
+
198
+ **Tracker gotchas:**
199
+ - `report_to="all"` enables every installed integration (usually more than you want); `"none"` disables everything (the current `transformers` default). Always set explicitly.
200
+ - Trackio on HF Jobs without `secrets={"HF_TOKEN": "$HF_TOKEN"}` fails silently. W&B on HF Jobs needs `WANDB_API_KEY` in `secrets`.
201
+ - The HF Trainer logs only on rank 0 under DDP; custom logging in your script may need explicit rank checks to avoid duplicate writes.
202
+
203
+ ## Memory-saving arguments
204
+
205
+ ```python
206
+ gradient_checkpointing=True, # trades compute for memory. ~30% slowdown, ~40% less memory.
207
+ gradient_checkpointing_kwargs={"use_reentrant": False},
208
+ torch_empty_cache_steps=1000, # periodically clear PyTorch allocator cache
209
+ dataloader_num_workers=2, # parallel data loading; 2-4 is usually enough
210
+ dataloader_pin_memory=True,
211
+ ```
212
+
213
+ Do **not** combine `gradient_checkpointing=True` with any `Cached*` loss — they conflict.
214
+
215
+ ## Hyperparameter search
216
+
217
+ `trainer.hyperparameter_search(...)` is supported for all three trainers via Hugging Face's `Trainer` API (uses Optuna, Ray Tune, Sigopt, or W&B as backends).
218
+
219
+ Minimal example:
220
+
221
+ ```python
222
+ def model_init(trial):
223
+ return SentenceTransformer("microsoft/mpnet-base")
224
+
225
+ def hp_space(trial):
226
+ return {
227
+ "learning_rate": trial.suggest_float("learning_rate", 1e-6, 1e-4, log=True),
228
+ "num_train_epochs": trial.suggest_int("num_train_epochs", 1, 3),
229
+ "per_device_train_batch_size": trial.suggest_categorical(
230
+ "per_device_train_batch_size", [32, 64, 128]
231
+ ),
232
+ }
233
+
234
+ trainer = SentenceTransformerTrainer(
235
+ model=None, model_init=model_init,
236
+ args=args, train_dataset=train_dataset, eval_dataset=eval_dataset,
237
+ loss=lambda model: MultipleNegativesRankingLoss(model), # function that takes model -> loss
238
+ evaluator=evaluator,
239
+ )
240
+
241
+ best_run = trainer.hyperparameter_search(
242
+ hp_space=hp_space,
243
+ direction="maximize",
244
+ n_trials=10,
245
+ backend="optuna",
246
+ )
247
+ print(best_run)
248
+ ```
249
+
250
+ Install a backend: `pip install optuna` (or `ray[tune]`).
251
+
252
+ HPO is expensive. Don't reach for it until a single manually-tuned run is working end-to-end. For most production models, picking a reasonable LR from the range above and tuning batch size is enough.
253
+
254
+ ## Multi-task training args (brief)
255
+
256
+ When training on a dict of datasets with a dict of losses, add:
257
+
258
+ ```python
259
+ multi_dataset_batch_sampler=MultiDatasetBatchSamplers.PROPORTIONAL, # or ROUND_ROBIN
260
+ ```
261
+
262
+ See `../scripts/train_sentence_transformer_multi_dataset_example.py` (docstring covers per-dataset losses, single-loss + DatasetDict variant, samplers, gotchas).
263
+
264
+ ## Don't
265
+
266
+ - Don't set `eval_strategy="epoch"` without setting `save_strategy="epoch"` — checkpoint/eval alignment matters for `load_best_model_at_end`.
267
+ - Don't set `remove_unused_columns=False` unless you have a custom collator that consumes metadata columns the loss doesn't see. The default (True) is safer — it drops unused columns automatically.
268
+ - Don't set `seed` to verify reproducibility and then expect bit-for-bit identical runs on different GPUs or across PyTorch versions — exact reproducibility across hardware is not guaranteed.
269
+ - Don't tune `adam_beta1` / `adam_beta2` / `adam_epsilon` unless you have a specific reason. The defaults are fine for 99% of cases.
@@ -0,0 +1,225 @@
1
+ # Troubleshooting
2
+
3
+ Common failures in sentence-transformers training, with root causes and fixes. Organized by symptom.
4
+
5
+ ## Out of memory (OOM)
6
+
7
+ **Symptom:** `torch.cuda.OutOfMemoryError` or `CUDA out of memory`.
8
+
9
+ **Fixes in order:**
10
+
11
+ 1. Reduce `per_device_train_batch_size`. For MNRL, compensate via `CachedMultipleNegativesRankingLoss(model, mini_batch_size=...)` with a large outer batch.
12
+ 2. Set `gradient_accumulation_steps` to accumulate gradients over multiple smaller batches (for non-contrastive losses).
13
+ 3. Enable `gradient_checkpointing=True`. ~30% slower, ~40% less activation memory. **Incompatible with `Cached*` losses.**
14
+ 4. Use `bf16=True` instead of fp32 (if your GPU supports Ampere+).
15
+ 5. Reduce `max_seq_length` on the transformer module: `model[0].max_seq_length = 128`.
16
+ 6. Use LoRA (`peft`) for large decoder bases. See `../scripts/train_sentence_transformer_with_lora_example.py` (docstring covers when to use, hyperparams, QLoRA, gotchas).
17
+ 7. Move to a bigger GPU or multi-GPU (`accelerate launch`).
18
+
19
+ **See also**: `hardware_guide.md` for VRAM estimates by batch size.
20
+
21
+ ## Loss is NaN or Inf
22
+
23
+ **Symptom:** training loss printed as `nan` or `inf`, or suddenly jumps to a huge value.
24
+
25
+ **Fixes:**
26
+
27
+ 1. **Drop learning rate** first. Try `5e-6` or `1e-6`.
28
+ 2. Enable `warmup_steps=0.1` (a float `< 1` is interpreted as a fraction of total steps), or set an absolute `warmup_steps=500`.
29
+ 3. Switch fp16 -> bf16 (more numerically stable). If stuck on fp16 (older GPU), try disabling fp16 for a sanity run.
30
+ 4. Check the dataset for broken rows: empty strings, NaN label values, mismatched column counts. Inspect a few rows with `print(dataset[:5])`.
31
+ 5. For custom losses or unusual base models (very long context), consider adding `max_grad_norm=1.0` to the training args.
32
+ 6. Check tokenization: some tokenizers emit no tokens for certain unicode / whitespace-only inputs, which can cause downstream NaN in mean pooling.
33
+
34
+ ## Metrics don't improve / are at baseline
35
+
36
+ **Symptom:** eval metrics after training are the same as before.
37
+
38
+ **Fixes:**
39
+
40
+ 1. **Re-run dataset inspector** with `--loss <your-loss>`. Most likely cause: column order wrong, label column not detected, or loss expects a different shape.
41
+ 2. For retrieval: **your negatives are too easy**. Mine hard negatives (`scripts/mine_hard_negatives.py`).
42
+ 3. Check `metric_for_best_model` — if the key doesn't match what the evaluator writes, the trainer silently uses the final checkpoint (not the best).
43
+ 4. Confirm `BatchSamplers.NO_DUPLICATES` is set for MNRL-style losses. Without it, the in-batch negative signal is corrupted.
44
+ 5. Base model is wrong for the task (e.g. decoder-only LLM for short-text STS). Try a different base.
45
+ 6. Learning rate too low. Default `2e-5` works for encoders; LoRA wants `1e-4+`; static embeddings want about `2e-1` (much higher than transformers).
46
+ 7. Dataset too small for the chosen loss. Contrastive losses need >10k pairs to be meaningful.
47
+
48
+ ## Training hangs at the first eval
49
+
50
+ **Symptom:** training starts, then hangs indefinitely at the first evaluation step.
51
+
52
+ **Fix:** you set `eval_strategy="steps"` or `"epoch"` but either didn't pass `eval_dataset` or passed an empty one. Either provide an `eval_dataset` or set `eval_strategy="no"`.
53
+
54
+ ## Training hangs at startup (multi-GPU)
55
+
56
+ **Symptom:** `accelerate launch` runs, prints "Found X GPUs" + model-loading messages, then hangs.
57
+
58
+ **Fixes:**
59
+
60
+ 1. If using a custom dataset class, ensure `__len__` is implemented and returns a consistent length across processes.
61
+ 2. If using `batch_sampler=BatchSamplers.NO_DUPLICATES` with a very small dataset relative to the world size, batches may not form. Use a larger dataset or smaller per-device batch.
62
+ 3. Check for mismatched PyTorch / CUDA versions across nodes. `nvidia-smi` + `python -c "import torch; print(torch.version.cuda)"` on each node.
63
+ 4. NCCL timeout. Set `NCCL_TIMEOUT=300` (seconds) env var.
64
+
65
+ ## `CachedMultipleNegativesRankingLoss` crashes
66
+
67
+ **Symptom:** error like "element 0 of tensors does not require grad", or a cryptic autograd error.
68
+
69
+ **Fix:** you have `gradient_checkpointing=True`. The cached losses do their own forward/backward orchestration; gradient checkpointing conflicts with it. Disable `gradient_checkpointing`.
70
+
71
+ Same applies to `CachedSpladeLoss`, `CachedGISTEmbedLoss`, and any other `Cached*` loss.
72
+
73
+ ## Hub push fails
74
+
75
+ **Symptom:** `HTTPError: 401` or `403` during `push_to_hub`.
76
+
77
+ **Fixes:**
78
+
79
+ 1. Run `hf auth whoami`. If it fails, run `hf auth login`.
80
+ 2. Token needs **write** permission. Regenerate from https://huggingface.co/settings/tokens.
81
+ 3. Repo either must exist and you have write access, or `hub_private_repo=True`/`False` is set so the library can create it.
82
+ 4. On HF Jobs: pass `secrets={"HF_TOKEN": "$HF_TOKEN"}` on the job submission.
83
+
84
+ ## Tracker (Trackio / W&B / TensorBoard) not logging
85
+
86
+ **Symptom:** training runs but no metrics appear in the tracker UI.
87
+
88
+ **Fixes:**
89
+
90
+ - Trackio: confirm `pip install trackio` succeeded. No login step — trackio uses your `HF_TOKEN` (set by `hf auth login` or the `HF_TOKEN` env var). On HF Jobs, `HF_TOKEN` must be in `secrets`.
91
+ - W&B: confirm `wandb login` succeeded, or `WANDB_API_KEY` env var is set. On HF Jobs, `WANDB_API_KEY` must be in `secrets`.
92
+ - `report_to` not set to the right tracker: `report_to="trackio"` (or `"wandb"`, or a list like `["trackio", "tensorboard"]`).
93
+ - TensorBoard: check `logging_dir` (defaults to `output_dir/runs/<timestamp>`); point TB at the parent.
94
+
95
+ ## Base model loads but `encode` produces garbage
96
+
97
+ **Symptom:** `model.encode(["test"])` returns constant vectors, or all-zeros, or NaN.
98
+
99
+ **Fixes:**
100
+
101
+ 1. You loaded a classification fine-tune as a base (e.g. a BERT fine-tuned on SQuAD). The CLS head is a QA head, not a usable pooling layer. Use the underlying pretrained encoder (`bert-base-uncased`), not the task-specific checkpoint.
102
+ 2. For decoder models: you're using mean pooling on causal attention. Switch to last-token pooling.
103
+ 3. For SPLADE: the model's MLM head isn't initialized properly. Make sure the base has `AutoModelForMaskedLM` compatibility.
104
+
105
+ ## Dataset loads but eval is trivially correct
106
+
107
+ **Symptom:** eval metric is 1.0 (perfect) from the first evaluation step.
108
+
109
+ **Fix:** your eval set overlaps the train set. Check `dataset.train_test_split(test_size=...)` was called correctly, or that the Hub dataset's `train` vs. `dev` splits are actually disjoint.
110
+
111
+ ## Model-card generation fails
112
+
113
+ **Symptom:** warning about model-card generation, or `README.md` is missing after `save_pretrained`.
114
+
115
+ **Fixes:**
116
+
117
+ - `codecarbon` may be attempting to write emissions and failing. Set `CODECARBON_LOG_LEVEL=error` or uninstall codecarbon.
118
+ - Some training state couldn't be serialized (custom objects with unusual types). Pass `model_card_data=SentenceTransformerModelCardData(...)` with explicit fields to bypass inference.
119
+
120
+ ## `num_labels` mismatch on CrossEncoder
121
+
122
+ **Symptom:** `BinaryCrossEntropyLoss` raises about mismatched dims, or `CrossEntropyLoss` complains.
123
+
124
+ **Fix:** `num_labels=1` goes with `BinaryCrossEntropyLoss`; `num_labels>=2` goes with `CrossEntropyLoss`. Set `CrossEncoder("...", num_labels=1)` for BCE.
125
+
126
+ ## CrossEncoder eval nDCG crashes after distillation / listwise / pairwise training
127
+
128
+ **Symptom:** training loss looks healthy, baseline eval looked fine, but post-training eval nDCG drops a lot (e.g. 0.59 → 0.14). Every checkpoint after the first eval is below baseline.
129
+
130
+ **Root cause:** the default `Sigmoid` activation function on `CrossEncoder(num_labels=1, ...)` saturates raw logits >5 to ~1.0. Distillation/listwise/pairwise losses (`MSELoss`, `MarginMSELoss`, `LambdaLoss`, `RankNetLoss`, `ListNetLoss`, `ListMLELoss`, `PListMLELoss`, `ADRMSELoss`) operate on raw logits — once the model learns to push positives past the saturation point, ranking information is lost.
131
+
132
+ **Fix:** construct the model with an `Identity` activation:
133
+
134
+ ```python
135
+ import torch.nn as nn
136
+ model = CrossEncoder("...", num_labels=1, activation_fn=nn.Identity())
137
+ ```
138
+
139
+ Keep the default `Sigmoid` only for `BinaryCrossEntropyLoss` (which uses BCE-with-logits internally and wants sigmoidable inputs).
140
+
141
+ ## LambdaLoss training loss is tiny (e.g. 1e-4): is training broken?
142
+
143
+ **Symptom:** with `LambdaLoss(model, weighting_scheme=NDCGLoss2PPScheme())` and large `K` (>=64), training loss prints in the 1e-3 to 1e-5 range.
144
+
145
+ **Root cause:** `NDCGLoss2PPScheme` normalizes by the discount-weighted pair count, which scales roughly with K. The numeric magnitude of the loss isn't the signal you should track.
146
+
147
+ **Fix:** ignore training loss for LambdaLoss; watch the eval metric (`eval_NanoBEIR_R100_mean_ndcg@10` or your `metric_for_best_model`) instead. If eval is moving in the right direction and loss is "too small", that's expected.
148
+
149
+ ## LambdaLoss OOM: what to drop first
150
+
151
+ **Symptom:** `CUDA out of memory` during a `LambdaLoss` training step, especially at K>=64.
152
+
153
+ **Recovery order:**
154
+
155
+ 1. **Lower `mini_batch_size`** on the loss first. The internal forward chunking preserves the K-list semantic — this is the cheapest knob and doesn't change the experiment.
156
+ 2. Lower `per_device_train_batch_size` and compensate with `gradient_accumulation_steps` to keep total batch fixed.
157
+ 3. **Reduce K (the candidate-list length per query) only as a last resort.** Lowering K changes what the loss is computing; this is an experimental change, not a memory tweak.
158
+
159
+ For very large K (>=128), `NDCGLoss2PPScheme` materializes O(K²) weight buffers per query that aren't covered by the forward chunking, so even small `mini_batch_size` may not be enough — at that point K is the right knob.
160
+
161
+ ## Loading a model with a custom inline `nn.Module` raises `ImportError`
162
+
163
+ **Symptom:** training and saving via `train.py` works fine; loading the saved model from any other script (`predict.py`, a notebook, or another package) fails with:
164
+
165
+ ```
166
+ ImportError: Module "__main__" does not define a "ClassifierHead" attribute
167
+ ```
168
+
169
+ **Root cause:** when a custom `nn.Module` is defined inline in a script, Python records its qualname as `__main__.ClassifierHead`. ST writes that qualname into `modules.json` at save time. Loading from a different entry point can't resolve `__main__.ClassifierHead` — the class doesn't exist in the loader's `__main__`.
170
+
171
+ **Fixes (any one):**
172
+
173
+ 1. Move the class to an importable module: `from my_pkg.heads import ClassifierHead`. Save again so `modules.json` records `my_pkg.heads.ClassifierHead`.
174
+ 2. Build the same shape using stock ST modules (`Dense + LayerNorm + Dense`) instead of a custom class — those are always loadable.
175
+ 3. Document that the model is only loadable from the same script (acceptable for one-off experiments, not for shipping models).
176
+
177
+ ## SPLADE embeddings are dense (not sparse)
178
+
179
+ **Symptom:** after training, `(embedding != 0).sum(dim=-1)` is in the thousands, not ~30-250.
180
+
181
+ **Fixes:**
182
+
183
+ 1. You're missing the `SpladeLoss` wrapper. `SparseMultipleNegativesRankingLoss` alone doesn't add FLOPS regularization. Wrap: `SpladeLoss(model, loss=inner_loss, query_regularizer_weight=5e-5, document_regularizer_weight=3e-5)`.
184
+ 2. Regularizer weights too low. Increase to 1e-4 or higher.
185
+ 3. Scheduler wiped out early. `SpladeRegularizerWeightSchedulerCallback` ramps weights from 0 to target over the first ~33% of training (`warmup_ratio=1/3` by default; configurable). On very short runs this never reaches target. Either train longer or set `query_regularizer_weight` / `document_regularizer_weight` higher to compensate.
186
+
187
+ ## `ValueError: The dataset has ... columns but the loss expects N`
188
+
189
+ **Fix:** column count mismatch. Drop extra columns (`dataset.remove_columns([...])`) or reorder with `select_columns`. Names don't matter; count and order do.
190
+
191
+ ## Encoding on CPU is painfully slow
192
+
193
+ **Symptom:** a few dozen sentences per second instead of 1000s.
194
+
195
+ **Fixes:**
196
+
197
+ - Ensure the model is on GPU: `model.to("cuda")` (or `device_map="auto"` when loading).
198
+ - For genuine CPU inference (no GPU available), consider switching to a `StaticEmbedding`-based model — ~1000x faster on CPU than a transformer.
199
+
200
+ ## Hub model loads, but `model.encode(prompt_name="query")` acts like no prompt was applied
201
+
202
+ **Fix:** the saved model doesn't have `prompts` in `config_sentence_transformers.json`. When training, set `model.prompts = args.prompts` before `save_pretrained`, or use `SentenceTransformerModelCardData(prompts=...)`.
203
+
204
+ ## `accelerate launch` runs only on one GPU
205
+
206
+ **Fix:** run `accelerate config` first, set number of GPUs and precision. Or pass explicitly: `accelerate launch --multi_gpu --num_processes=4 train.py`.
207
+
208
+ ## Cached loss + PEFT adapter fails to backprop
209
+
210
+ **Symptom:** "None of the inputs have requires_grad=True" when using Cached* loss with a LoRA adapter.
211
+
212
+ **Fix:** after `add_adapter`, call:
213
+
214
+ ```python
215
+ model.transformers_model.enable_input_require_grads()
216
+ ```
217
+
218
+ This ensures gradient flow through the frozen base + trainable adapter.
219
+
220
+ ## Related reference docs
221
+
222
+ - `training_args.md` (shared) — the args that affect all of the above.
223
+ - `hardware_guide.md` (shared) — VRAM sizing and multi-GPU.
224
+ - `dataset_formats.md` (shared) — column/loss validation.
225
+ - `losses_sentence_transformer.md` / `losses_cross_encoder.md` / `losses_sparse_encoder.md` (per-model-type catalogs) — loss-specific quirks.