opencode-skills-collection 3.1.12 → 3.1.14

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 (770) hide show
  1. package/README.md +4 -6
  2. package/bundled-skills/.antigravity-install-manifest.json +195 -1
  3. package/bundled-skills/ab-testing/SKILL.md +368 -0
  4. package/bundled-skills/ab-testing/evals/evals.json +105 -0
  5. package/bundled-skills/ab-testing/references/sample-size-guide.md +263 -0
  6. package/bundled-skills/ab-testing/references/test-templates.md +277 -0
  7. package/bundled-skills/accint-commitments/SKILL.md +32 -0
  8. package/bundled-skills/accint-frames/SKILL.md +35 -0
  9. package/bundled-skills/accint-solve/SKILL.md +22 -192
  10. package/bundled-skills/add-app-clip/SKILL.md +297 -0
  11. package/bundled-skills/add-app-clip/agents/openai.yaml +4 -0
  12. package/bundled-skills/add-app-clip/references/native-module.md +96 -0
  13. package/bundled-skills/agent-memory/SKILL.md +84 -0
  14. package/bundled-skills/alternatives-pages/README.md +46 -0
  15. package/bundled-skills/alternatives-pages/SKILL.md +376 -0
  16. package/bundled-skills/analytics/SKILL.md +324 -0
  17. package/bundled-skills/analytics/evals/evals.json +90 -0
  18. package/bundled-skills/analytics/references/event-library.md +260 -0
  19. package/bundled-skills/analytics/references/ga4-implementation.md +300 -0
  20. package/bundled-skills/analytics/references/gtm-implementation.md +390 -0
  21. package/bundled-skills/anti-deception/SKILL.md +50 -0
  22. package/bundled-skills/api-analyzer/SKILL.md +101 -0
  23. package/bundled-skills/api-and-interface-design/SKILL.md +307 -0
  24. package/bundled-skills/api-designer/SKILL.md +167 -0
  25. package/bundled-skills/api-integration/SKILL.md +175 -0
  26. package/bundled-skills/api-onboarding/README.md +47 -0
  27. package/bundled-skills/api-onboarding/SKILL.md +473 -0
  28. package/bundled-skills/api-sdk-generator/SKILL.md +223 -0
  29. package/bundled-skills/appium-skill/SKILL.md +317 -0
  30. package/bundled-skills/applicationinsights-web-ts/SKILL.md +477 -0
  31. package/bundled-skills/automated-triage/SKILL.md +189 -0
  32. package/bundled-skills/aws-agentic-ai/SKILL.md +141 -0
  33. package/bundled-skills/aws-cdk-development/SKILL.md +275 -0
  34. package/bundled-skills/aws-cost-operations/SKILL.md +273 -0
  35. package/bundled-skills/aws-mcp-setup/SKILL.md +192 -0
  36. package/bundled-skills/aws-serverless-eda/SKILL.md +394 -0
  37. package/bundled-skills/aws-sst-development/SKILL.md +175 -0
  38. package/bundled-skills/azure-ai-language-conversations-py/SKILL.md +112 -0
  39. package/bundled-skills/azure-servicebus-rust/SKILL.md +182 -0
  40. package/bundled-skills/azure-storage-queue-rust/SKILL.md +178 -0
  41. package/bundled-skills/baseline-ui/SKILL.md +15 -10
  42. package/bundled-skills/before-you-build/SKILL.md +111 -0
  43. package/bundled-skills/brooks-audit/SKILL.md +49 -0
  44. package/bundled-skills/brooks-audit/architecture-guide.md +195 -0
  45. package/bundled-skills/brooks-audit/onboarding-guide.md +89 -0
  46. package/bundled-skills/brooks-debt/SKILL.md +42 -0
  47. package/bundled-skills/brooks-debt/debt-guide.md +125 -0
  48. package/bundled-skills/brooks-harness/SKILL.md +139 -0
  49. package/bundled-skills/brooks-review/SKILL.md +42 -0
  50. package/bundled-skills/brooks-review/pr-review-guide.md +163 -0
  51. package/bundled-skills/brooks-sweep/SKILL.md +44 -0
  52. package/bundled-skills/brooks-sweep/sweep-guide.md +264 -0
  53. package/bundled-skills/brooks-test/SKILL.md +41 -0
  54. package/bundled-skills/brooks-test/test-guide.md +147 -0
  55. package/bundled-skills/bug-hunt-swarm/SKILL.md +189 -0
  56. package/bundled-skills/bug-hunt-swarm/agents/openai.yaml +4 -0
  57. package/bundled-skills/building-native-ui/SKILL.md +77 -18
  58. package/bundled-skills/building-native-ui/agents/openai.yaml +4 -0
  59. package/bundled-skills/building-native-ui/references/animations.md +220 -0
  60. package/bundled-skills/building-native-ui/references/controls.md +270 -0
  61. package/bundled-skills/building-native-ui/references/form-sheet.md +253 -0
  62. package/bundled-skills/building-native-ui/references/gradients.md +106 -0
  63. package/bundled-skills/building-native-ui/references/icons.md +213 -0
  64. package/bundled-skills/building-native-ui/references/media.md +198 -0
  65. package/bundled-skills/building-native-ui/references/route-structure.md +229 -0
  66. package/bundled-skills/building-native-ui/references/search.md +248 -0
  67. package/bundled-skills/building-native-ui/references/storage.md +121 -0
  68. package/bundled-skills/building-native-ui/references/tabs.md +433 -0
  69. package/bundled-skills/building-native-ui/references/toolbar-and-headers.md +284 -0
  70. package/bundled-skills/building-native-ui/references/visual-effects.md +197 -0
  71. package/bundled-skills/building-native-ui/references/webgpu-three.md +605 -0
  72. package/bundled-skills/building-native-ui/references/zoom-transitions.md +158 -0
  73. package/bundled-skills/changelog-updates/README.md +53 -0
  74. package/bundled-skills/changelog-updates/SKILL.md +552 -0
  75. package/bundled-skills/ci-cd-and-automation/SKILL.md +403 -0
  76. package/bundled-skills/claimable-postgres/SKILL.md +91 -59
  77. package/bundled-skills/co-marketing/SKILL.md +301 -0
  78. package/bundled-skills/co-marketing/evals/evals.json +84 -0
  79. package/bundled-skills/code-review-and-quality/SKILL.md +394 -0
  80. package/bundled-skills/code-showcase-core-components/SKILL.md +281 -0
  81. package/bundled-skills/code-showcase-react-ui-patterns/SKILL.md +306 -0
  82. package/bundled-skills/code-showcase-systematic-debugging/SKILL.md +167 -0
  83. package/bundled-skills/code-showcase-testing-patterns/SKILL.md +276 -0
  84. package/bundled-skills/code-simplification/SKILL.md +344 -0
  85. package/bundled-skills/community-building/README.md +102 -0
  86. package/bundled-skills/community-building/SKILL.md +415 -0
  87. package/bundled-skills/competitor-profiling/SKILL.md +427 -0
  88. package/bundled-skills/competitor-profiling/evals/evals.json +85 -0
  89. package/bundled-skills/competitor-profiling/references/templates.md +167 -0
  90. package/bundled-skills/competitor-profiling/references/tool-reference.md +179 -0
  91. package/bundled-skills/competitor-tracking/README.md +40 -0
  92. package/bundled-skills/competitor-tracking/SKILL.md +322 -0
  93. package/bundled-skills/context-engineering/SKILL.md +302 -0
  94. package/bundled-skills/cro/SKILL.md +202 -0
  95. package/bundled-skills/cro/evals/evals.json +111 -0
  96. package/bundled-skills/cro/references/experiments.md +248 -0
  97. package/bundled-skills/cro/references/form.md +422 -0
  98. package/bundled-skills/cron-doctor/scripts/cron-engine.js +10 -7
  99. package/bundled-skills/cucumber-skill/SKILL.md +235 -0
  100. package/bundled-skills/customer-research/SKILL.md +287 -0
  101. package/bundled-skills/customer-research/evals/evals.json +162 -0
  102. package/bundled-skills/customer-research/references/source-guides.md +401 -0
  103. package/bundled-skills/cypress-skill/SKILL.md +235 -0
  104. package/bundled-skills/debugging-and-error-recovery/SKILL.md +313 -0
  105. package/bundled-skills/debugging-code/SKILL.md +284 -0
  106. package/bundled-skills/debugging-code/references/advanced-techniques.md +50 -0
  107. package/bundled-skills/debugging-code/references/installing-debuggers.md +67 -0
  108. package/bundled-skills/debugging-code/scripts/install-dap.sh +87 -0
  109. package/bundled-skills/deprecation-and-migration/SKILL.md +219 -0
  110. package/bundled-skills/design-philosophy/SKILL.md +40 -0
  111. package/bundled-skills/design-philosophy/reference.md +19 -0
  112. package/bundled-skills/design-spatial/SKILL.md +271 -0
  113. package/bundled-skills/design-spatial/scripts/layout-audit.js +138 -0
  114. package/bundled-skills/design-system/SKILL.md +140 -0
  115. package/bundled-skills/design-system/references/motion-choreography.md +111 -0
  116. package/bundled-skills/design-thinking/SKILL.md +109 -0
  117. package/bundled-skills/design-ux/SKILL.md +75 -0
  118. package/bundled-skills/dev-to-hashnode/README.md +62 -0
  119. package/bundled-skills/dev-to-hashnode/SKILL.md +399 -0
  120. package/bundled-skills/developer-advocacy/README.md +102 -0
  121. package/bundled-skills/developer-advocacy/SKILL.md +423 -0
  122. package/bundled-skills/developer-audience-context/README.md +61 -0
  123. package/bundled-skills/developer-audience-context/SKILL.md +271 -0
  124. package/bundled-skills/developer-audience-context/references/example-apitest.md +175 -0
  125. package/bundled-skills/developer-audience-context/references/template.md +152 -0
  126. package/bundled-skills/developer-churn/README.md +80 -0
  127. package/bundled-skills/developer-churn/SKILL.md +652 -0
  128. package/bundled-skills/developer-listening/README.md +30 -0
  129. package/bundled-skills/developer-listening/SKILL.md +232 -0
  130. package/bundled-skills/developer-newsletter/README.md +84 -0
  131. package/bundled-skills/developer-newsletter/SKILL.md +376 -0
  132. package/bundled-skills/developer-onboarding/README.md +35 -0
  133. package/bundled-skills/developer-onboarding/SKILL.md +530 -0
  134. package/bundled-skills/developer-sandbox/README.md +47 -0
  135. package/bundled-skills/developer-sandbox/SKILL.md +504 -0
  136. package/bundled-skills/developer-seo/README.md +36 -0
  137. package/bundled-skills/developer-seo/SKILL.md +296 -0
  138. package/bundled-skills/developer-signup-flow/README.md +36 -0
  139. package/bundled-skills/developer-signup-flow/SKILL.md +397 -0
  140. package/bundled-skills/devrel-content/README.md +81 -0
  141. package/bundled-skills/devrel-content/SKILL.md +428 -0
  142. package/bundled-skills/dispatch/SKILL.md +130 -0
  143. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  144. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  145. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  146. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  147. package/bundled-skills/docs/users/bundles.md +1 -1
  148. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  149. package/bundled-skills/docs/users/faq.md +1 -1
  150. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  151. package/bundled-skills/docs/users/getting-started.md +1 -1
  152. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  153. package/bundled-skills/docs/users/usage.md +8 -8
  154. package/bundled-skills/docs/users/visual-guide.md +8 -8
  155. package/bundled-skills/docs-as-marketing/README.md +37 -0
  156. package/bundled-skills/docs-as-marketing/SKILL.md +398 -0
  157. package/bundled-skills/documentation-and-adrs/SKILL.md +291 -0
  158. package/bundled-skills/doubt-driven-development/SKILL.md +256 -0
  159. package/bundled-skills/eas-update-insights/SKILL.md +232 -0
  160. package/bundled-skills/eas-update-insights/agents/openai.yaml +4 -0
  161. package/bundled-skills/eas-update-insights/references/channel-insights-schema.md +47 -0
  162. package/bundled-skills/eas-update-insights/references/update-insights-schema.md +69 -0
  163. package/bundled-skills/expo-api-routes/SKILL.md +9 -5
  164. package/bundled-skills/expo-api-routes/agents/openai.yaml +4 -0
  165. package/bundled-skills/expo-brownfield/SKILL.md +71 -0
  166. package/bundled-skills/expo-brownfield/agents/openai.yaml +4 -0
  167. package/bundled-skills/expo-brownfield/references/brownfield-integrated.md +526 -0
  168. package/bundled-skills/expo-brownfield/references/brownfield-isolated.md +402 -0
  169. package/bundled-skills/expo-brownfield/references/comparison.md +63 -0
  170. package/bundled-skills/expo-brownfield/references/troubleshooting.md +88 -0
  171. package/bundled-skills/expo-cicd-workflows/SKILL.md +18 -16
  172. package/bundled-skills/expo-cicd-workflows/agents/openai.yaml +4 -0
  173. package/bundled-skills/expo-cicd-workflows/scripts/fetch.js +109 -0
  174. package/bundled-skills/expo-cicd-workflows/scripts/package.json +11 -0
  175. package/bundled-skills/expo-cicd-workflows/scripts/validate.js +84 -0
  176. package/bundled-skills/expo-deployment/SKILL.md +157 -53
  177. package/bundled-skills/expo-deployment/agents/openai.yaml +4 -0
  178. package/bundled-skills/expo-deployment/references/app-store-metadata.md +497 -0
  179. package/bundled-skills/expo-deployment/references/ios-app-store.md +371 -0
  180. package/bundled-skills/expo-deployment/references/play-store.md +246 -0
  181. package/bundled-skills/expo-deployment/references/testflight.md +58 -0
  182. package/bundled-skills/expo-deployment/references/workflows.md +160 -0
  183. package/bundled-skills/expo-dev-client/SKILL.md +25 -14
  184. package/bundled-skills/expo-dev-client/agents/openai.yaml +4 -0
  185. package/bundled-skills/expo-examples/SKILL.md +111 -0
  186. package/bundled-skills/expo-examples/references/catalog.md +105 -0
  187. package/bundled-skills/expo-module/SKILL.md +152 -0
  188. package/bundled-skills/expo-module/agents/openai.yaml +4 -0
  189. package/bundled-skills/expo-module/references/config-plugin.md +90 -0
  190. package/bundled-skills/expo-module/references/create-expo-module.md +206 -0
  191. package/bundled-skills/expo-module/references/lifecycle.md +127 -0
  192. package/bundled-skills/expo-module/references/module-config.md +48 -0
  193. package/bundled-skills/expo-module/references/native-module.md +286 -0
  194. package/bundled-skills/expo-module/references/native-view.md +171 -0
  195. package/bundled-skills/expo-observe/SKILL.md +44 -0
  196. package/bundled-skills/expo-observe/references/metrics.md +47 -0
  197. package/bundled-skills/expo-observe/references/queries.md +342 -0
  198. package/bundled-skills/expo-observe/references/setup.md +255 -0
  199. package/bundled-skills/expo-tailwind-setup/SKILL.md +13 -10
  200. package/bundled-skills/expo-tailwind-setup/agents/openai.yaml +4 -0
  201. package/bundled-skills/expo-ui/SKILL.md +61 -0
  202. package/bundled-skills/expo-ui/agents/openai.yaml +4 -0
  203. package/bundled-skills/expo-ui/references/drop-in-replacements.md +27 -0
  204. package/bundled-skills/expo-ui/references/jetpack-compose.md +73 -0
  205. package/bundled-skills/expo-ui/references/swift-ui.md +73 -0
  206. package/bundled-skills/expo-ui/references/universal.md +73 -0
  207. package/bundled-skills/expo-ui/scripts/list-components.js +193 -0
  208. package/bundled-skills/faf-context/SKILL.md +106 -0
  209. package/bundled-skills/faf-go/SKILL.md +336 -0
  210. package/bundled-skills/fixing-accessibility/SKILL.md +16 -5
  211. package/bundled-skills/fixing-metadata/SKILL.md +18 -8
  212. package/bundled-skills/fixing-motion-performance/SKILL.md +17 -6
  213. package/bundled-skills/formik-patterns/SKILL.md +379 -0
  214. package/bundled-skills/free-tier-strategy/README.md +39 -0
  215. package/bundled-skills/free-tier-strategy/SKILL.md +462 -0
  216. package/bundled-skills/frontend-architecture/SKILL.md +419 -0
  217. package/bundled-skills/frontend-data-contracts/SKILL.md +331 -0
  218. package/bundled-skills/frontend-observability/SKILL.md +434 -0
  219. package/bundled-skills/frontend-optimistic-mutations/SKILL.md +278 -0
  220. package/bundled-skills/frontend-seo/SKILL.md +710 -0
  221. package/bundled-skills/frontend-slides-frontend-slides/SKILL.md +397 -0
  222. package/bundled-skills/frontend-ui-engineering/SKILL.md +341 -0
  223. package/bundled-skills/gemini-api-dev/SKILL.md +96 -53
  224. package/bundled-skills/gemini-live-api-dev/SKILL.md +339 -0
  225. package/bundled-skills/gemini-omni-flash-api/SKILL.md +335 -0
  226. package/bundled-skills/gemini-omni-flash-api/scripts/upload_file.py +218 -0
  227. package/bundled-skills/gemini-omni-flash-api/scripts/video/generate_video.py +439 -0
  228. package/bundled-skills/gemini-omni-flash-api/scripts/video/inspect_video.py +197 -0
  229. package/bundled-skills/gemini-omni-flash-api/scripts/video/prep_video.py +255 -0
  230. package/bundled-skills/gh-image/SKILL.md +10 -2
  231. package/bundled-skills/git-workflow-and-versioning/SKILL.md +313 -0
  232. package/bundled-skills/github-presence/README.md +67 -0
  233. package/bundled-skills/github-presence/SKILL.md +484 -0
  234. package/bundled-skills/graphql-schema/SKILL.md +309 -0
  235. package/bundled-skills/hf-mcp/SKILL.md +195 -0
  236. package/bundled-skills/hf-mem/SKILL.md +92 -0
  237. package/bundled-skills/hugging-face-cli/SKILL.md +155 -115
  238. package/bundled-skills/hugging-face-community-evals/SKILL.md +14 -7
  239. package/bundled-skills/hugging-face-dataset-viewer/SKILL.md +30 -37
  240. package/bundled-skills/hugging-face-gradio/SKILL.md +14 -7
  241. package/bundled-skills/hugging-face-model-trainer/SKILL.md +42 -11
  242. package/bundled-skills/hugging-face-model-trainer/references/gguf_conversion.md +5 -0
  243. package/bundled-skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +57 -51
  244. package/bundled-skills/hugging-face-model-trainer/scripts/hf_benchmarks.py +659 -0
  245. package/bundled-skills/hugging-face-paper-publisher/SKILL.md +13 -6
  246. package/bundled-skills/hugging-face-papers/SKILL.md +12 -5
  247. package/bundled-skills/hugging-face-trackio/SKILL.md +11 -5
  248. package/bundled-skills/hugging-face-vision-trainer/SKILL.md +11 -5
  249. package/bundled-skills/huggingface-best/SKILL.md +143 -0
  250. package/bundled-skills/huggingface-local-models/SKILL.md +130 -0
  251. package/bundled-skills/huggingface-local-models/references/hardware.md +38 -0
  252. package/bundled-skills/huggingface-local-models/references/hub-discovery.md +178 -0
  253. package/bundled-skills/huggingface-local-models/references/quantization.md +256 -0
  254. package/bundled-skills/huggingface-lora-space-builder/SKILL.md +409 -0
  255. package/bundled-skills/huggingface-lora-space-builder/references/adapting-to-the-lora.md +113 -0
  256. package/bundled-skills/huggingface-lora-space-builder/references/base-models/krea-2.md +63 -0
  257. package/bundled-skills/huggingface-lora-space-builder/references/base-models/ltx.md +205 -0
  258. package/bundled-skills/huggingface-lora-space-builder/references/base-models/qwen-image.md +144 -0
  259. package/bundled-skills/huggingface-lora-space-builder/references/creative-mode.md +262 -0
  260. package/bundled-skills/huggingface-lora-space-builder/references/tasks.md +124 -0
  261. package/bundled-skills/huggingface-lora-space-builder/references/zerogpu-and-publishing.md +194 -0
  262. package/bundled-skills/huggingface-spaces/SKILL.md +247 -0
  263. package/bundled-skills/huggingface-spaces/references/buckets.md +89 -0
  264. package/bundled-skills/huggingface-spaces/references/debugging.md +234 -0
  265. package/bundled-skills/huggingface-spaces/references/gradio.md +171 -0
  266. package/bundled-skills/huggingface-spaces/references/grants.md +56 -0
  267. package/bundled-skills/huggingface-spaces/references/inference-providers.md +85 -0
  268. package/bundled-skills/huggingface-spaces/references/known-errors.md +232 -0
  269. package/bundled-skills/huggingface-spaces/references/requirements.md +153 -0
  270. package/bundled-skills/huggingface-spaces/references/zerogpu.md +276 -0
  271. package/bundled-skills/huggingface-tool-builder/SKILL.md +137 -0
  272. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.py +57 -0
  273. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.sh +40 -0
  274. package/bundled-skills/huggingface-tool-builder/references/baseline_hf_api.tsx +57 -0
  275. package/bundled-skills/huggingface-tool-builder/references/find_models_by_paper.sh +230 -0
  276. package/bundled-skills/huggingface-tool-builder/references/hf_enrich_models.sh +96 -0
  277. package/bundled-skills/huggingface-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  278. package/bundled-skills/huggingface-tool-builder/references/hf_model_papers_auth.sh +171 -0
  279. package/bundled-skills/huggingface-zerogpu/SKILL.md +306 -0
  280. package/bundled-skills/huggingface-zerogpu/references/concurrency.md +79 -0
  281. package/bundled-skills/huggingface-zerogpu/references/cuda-and-deps.md +66 -0
  282. package/bundled-skills/huggingface-zerogpu/references/how-quota-works.md +74 -0
  283. package/bundled-skills/huggingface-zerogpu/references/how-zerogpu-works.md +50 -0
  284. package/bundled-skills/hugo-to-markdown/SKILL.md +201 -0
  285. package/bundled-skills/hugo-to-markdown/agents/openai.yaml +4 -0
  286. package/bundled-skills/hugo-to-markdown/references/conversion-workflow.md +143 -0
  287. package/bundled-skills/hugo-to-markdown/references/front-matter-and-content.md +145 -0
  288. package/bundled-skills/hugo-to-markdown/references/links-assets-and-validation.md +106 -0
  289. package/bundled-skills/hugo-to-markdown/references/shortcodes-and-render-hooks.md +281 -0
  290. package/bundled-skills/hugo-to-markdown/scripts/check_standard_markdown.py +70 -0
  291. package/bundled-skills/hugo-to-markdown/scripts/inventory_hugo_rules.py +188 -0
  292. package/bundled-skills/hyperexecute-skill/SKILL.md +65 -0
  293. package/bundled-skills/idea-refine/SKILL.md +195 -0
  294. package/bundled-skills/idea-refine/examples.md +238 -0
  295. package/bundled-skills/idea-refine/frameworks.md +99 -0
  296. package/bundled-skills/idea-refine/refinement-criteria.md +113 -0
  297. package/bundled-skills/idea-refine/scripts/idea-refine.sh +15 -0
  298. package/bundled-skills/implement/SKILL.md +32 -0
  299. package/bundled-skills/incremental-implementation/SKILL.md +262 -0
  300. package/bundled-skills/jest-skill/SKILL.md +182 -0
  301. package/bundled-skills/junit-5-skill/SKILL.md +236 -0
  302. package/bundled-skills/logic-diff/SKILL.md +50 -0
  303. package/bundled-skills/logic-diff/logic-diff-guide.md +75 -0
  304. package/bundled-skills/logic-explain/SKILL.md +50 -0
  305. package/bundled-skills/logic-explain/logic-explain-guide.md +74 -0
  306. package/bundled-skills/logic-fix-all/SKILL.md +87 -0
  307. package/bundled-skills/logic-fix-all/guide-phases-0-2-consent-scope-health.md +113 -0
  308. package/bundled-skills/logic-fix-all/guide-phases-3-5-review-locate-clarify.md +47 -0
  309. package/bundled-skills/logic-fix-all/guide-phases-6-9-fix-iterate-report.md +143 -0
  310. package/bundled-skills/logic-fix-all/logic-fix-all-guide.md +60 -0
  311. package/bundled-skills/logic-locate/SKILL.md +52 -0
  312. package/bundled-skills/logic-locate/logic-locate-guide.md +85 -0
  313. package/bundled-skills/logic-review/SKILL.md +100 -0
  314. package/bundled-skills/logic-review/logic-review-guide.md +296 -0
  315. package/bundled-skills/longbridge-content/SKILL.md +87 -0
  316. package/bundled-skills/longbridge-fundamentals/SKILL.md +134 -0
  317. package/bundled-skills/longbridge-market-data/SKILL.md +129 -0
  318. package/bundled-skills/loopy/SKILL.md +289 -0
  319. package/bundled-skills/loopy/agents/openai.yaml +4 -0
  320. package/bundled-skills/loopy/references/audit.md +61 -0
  321. package/bundled-skills/loopy/references/debrief.md +43 -0
  322. package/bundled-skills/loopy/references/discover.md +72 -0
  323. package/bundled-skills/loopy/references/publish.md +65 -0
  324. package/bundled-skills/loopy/references/run.md +73 -0
  325. package/bundled-skills/marketing-plan/SKILL.md +283 -0
  326. package/bundled-skills/marketing-plan/evals/evals.json +96 -0
  327. package/bundled-skills/marketing-plan/references/aarrr-framework.md +180 -0
  328. package/bundled-skills/marketing-plan/references/budget-planning.md +168 -0
  329. package/bundled-skills/marketing-plan/references/client-types.md +373 -0
  330. package/bundled-skills/marketing-plan/references/current-state-rubric.md +255 -0
  331. package/bundled-skills/marketing-plan/references/example-quietude.md +972 -0
  332. package/bundled-skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
  333. package/bundled-skills/marketing-plan/references/growth-patterns.md +148 -0
  334. package/bundled-skills/marketing-plan/references/idea-cross-reference.md +265 -0
  335. package/bundled-skills/marketing-plan/references/measurement-framework.md +213 -0
  336. package/bundled-skills/marketing-plan/references/methodology.md +363 -0
  337. package/bundled-skills/marketing-plan/references/ops-stack-mapping.md +197 -0
  338. package/bundled-skills/marketing-plan/references/plan-template.md +494 -0
  339. package/bundled-skills/marketing-plan/references/team-and-agency-model.md +278 -0
  340. package/bundled-skills/mdpr-skill/SKILL.md +233 -0
  341. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +229 -0
  342. package/bundled-skills/monte-carlo-asset-health/SKILL.md +200 -0
  343. package/bundled-skills/monte-carlo-monitoring-advisor/SKILL.md +317 -0
  344. package/bundled-skills/monte-carlo-performance-diagnosis/SKILL.md +153 -0
  345. package/bundled-skills/monte-carlo-remediation/SKILL.md +359 -0
  346. package/bundled-skills/monte-carlo-storage-cost-analysis/SKILL.md +162 -0
  347. package/bundled-skills/native-data-fetching/SKILL.md +11 -8
  348. package/bundled-skills/native-data-fetching/agents/openai.yaml +4 -0
  349. package/bundled-skills/native-data-fetching/references/expo-router-loaders.md +341 -0
  350. package/bundled-skills/neon-ai-gateway/SKILL.md +237 -0
  351. package/bundled-skills/neon-functions/SKILL.md +465 -0
  352. package/bundled-skills/neon-functions/references/ai-sdk.md +139 -0
  353. package/bundled-skills/neon-functions/references/hono-websockets.md +145 -0
  354. package/bundled-skills/neon-functions/references/mastra-studio.md +132 -0
  355. package/bundled-skills/neon-functions/references/mcp.md +137 -0
  356. package/bundled-skills/neon-functions/references/sentry.md +131 -0
  357. package/bundled-skills/neon-functions/references/sse.md +143 -0
  358. package/bundled-skills/neon-object-storage/SKILL.md +200 -0
  359. package/bundled-skills/neon-postgres/SKILL.md +234 -469
  360. package/bundled-skills/neon-postgres-branches/SKILL.md +292 -0
  361. package/bundled-skills/neon-postgres-egress-optimizer/SKILL.md +256 -0
  362. package/bundled-skills/newman-cicd-integration/SKILL.md +330 -0
  363. package/bundled-skills/observability-and-instrumentation/SKILL.md +216 -0
  364. package/bundled-skills/odw/SKILL.md +57 -0
  365. package/bundled-skills/offers/SKILL.md +168 -0
  366. package/bundled-skills/offers/references/bonus-stacking.md +150 -0
  367. package/bundled-skills/offers/references/examples.md +215 -0
  368. package/bundled-skills/offers/references/guarantee-design.md +172 -0
  369. package/bundled-skills/offers/references/offer-anatomy.md +203 -0
  370. package/bundled-skills/offers/references/offer-formats.md +240 -0
  371. package/bundled-skills/offers/references/scarcity-urgency.md +175 -0
  372. package/bundled-skills/offers/references/value-equation.md +134 -0
  373. package/bundled-skills/onboarding/SKILL.md +235 -0
  374. package/bundled-skills/onboarding/evals/evals.json +92 -0
  375. package/bundled-skills/onboarding/references/experiments.md +258 -0
  376. package/bundled-skills/open-source-marketing/README.md +100 -0
  377. package/bundled-skills/open-source-marketing/SKILL.md +466 -0
  378. package/bundled-skills/openapi-spec-generator/SKILL.md +335 -0
  379. package/bundled-skills/performance-optimization/SKILL.md +363 -0
  380. package/bundled-skills/planning-and-task-breakdown/SKILL.md +240 -0
  381. package/bundled-skills/polis-protocol-a-self-optimizing-city-of-agents/SKILL.md +170 -0
  382. package/bundled-skills/postgresql-cli/SKILL.md +498 -0
  383. package/bundled-skills/postgresql-cli/references/cli-options-and-variables.md +444 -0
  384. package/bundled-skills/postgresql-cli/references/meta-commands-core.md +466 -0
  385. package/bundled-skills/postgresql-cli/references/meta-commands-formatting.md +154 -0
  386. package/bundled-skills/postgresql-cli/references/meta-commands-inspection.md +134 -0
  387. package/bundled-skills/postgresql-cli/references/tips-advanced.md +289 -0
  388. package/bundled-skills/postgresql-cli/references/tips-workflows.md +407 -0
  389. package/bundled-skills/postman-collection-generator/SKILL.md +184 -0
  390. package/bundled-skills/postman-newman-automation/SKILL.md +311 -0
  391. package/bundled-skills/postman-openapi-converter/SKILL.md +174 -0
  392. package/bundled-skills/power-user-cultivation/README.md +78 -0
  393. package/bundled-skills/power-user-cultivation/SKILL.md +598 -0
  394. package/bundled-skills/pricing/SKILL.md +246 -0
  395. package/bundled-skills/pricing/evals/evals.json +90 -0
  396. package/bundled-skills/pricing/references/research-methods.md +152 -0
  397. package/bundled-skills/pricing/references/tier-structure.md +232 -0
  398. package/bundled-skills/privacy-mask/SKILL.md +96 -0
  399. package/bundled-skills/product-marketing/SKILL.md +256 -0
  400. package/bundled-skills/product-marketing/evals/evals.json +85 -0
  401. package/bundled-skills/public-relations/SKILL.md +146 -0
  402. package/bundled-skills/public-relations/references/journalist-pitching.md +368 -0
  403. package/bundled-skills/public-relations/references/media-outlets.md +207 -0
  404. package/bundled-skills/public-relations/references/newsjacking.md +218 -0
  405. package/bundled-skills/public-relations/references/press-platforms.md +188 -0
  406. package/bundled-skills/puppeteer-skill/SKILL.md +143 -0
  407. package/bundled-skills/pytest-skill/SKILL.md +201 -0
  408. package/bundled-skills/rclone-cli/SKILL.md +351 -0
  409. package/bundled-skills/rclone-cli/references/bisync.md +2003 -0
  410. package/bundled-skills/rclone-cli/references/cache.md +726 -0
  411. package/bundled-skills/rclone-cli/references/chunker.md +484 -0
  412. package/bundled-skills/rclone-cli/references/combine.md +187 -0
  413. package/bundled-skills/rclone-cli/references/commands/rclone.md +1169 -0
  414. package/bundled-skills/rclone-cli/references/commands/rclone_about.md +89 -0
  415. package/bundled-skills/rclone-cli/references/commands/rclone_archive.md +49 -0
  416. package/bundled-skills/rclone-cli/references/commands/rclone_archive_create.md +97 -0
  417. package/bundled-skills/rclone-cli/references/commands/rclone_archive_extract.md +83 -0
  418. package/bundled-skills/rclone-cli/references/commands/rclone_archive_list.md +98 -0
  419. package/bundled-skills/rclone-cli/references/commands/rclone_authorize.md +53 -0
  420. package/bundled-skills/rclone-cli/references/commands/rclone_backend.md +82 -0
  421. package/bundled-skills/rclone-cli/references/commands/rclone_bisync.md +160 -0
  422. package/bundled-skills/rclone-cli/references/commands/rclone_cat.md +122 -0
  423. package/bundled-skills/rclone-cli/references/commands/rclone_check.md +134 -0
  424. package/bundled-skills/rclone-cli/references/commands/rclone_checksum.md +120 -0
  425. package/bundled-skills/rclone-cli/references/commands/rclone_cleanup.md +49 -0
  426. package/bundled-skills/rclone-cli/references/commands/rclone_completion.md +40 -0
  427. package/bundled-skills/rclone-cli/references/commands/rclone_completion_bash.md +70 -0
  428. package/bundled-skills/rclone-cli/references/commands/rclone_completion_fish.md +57 -0
  429. package/bundled-skills/rclone-cli/references/commands/rclone_completion_powershell.md +49 -0
  430. package/bundled-skills/rclone-cli/references/commands/rclone_completion_zsh.md +57 -0
  431. package/bundled-skills/rclone-cli/references/commands/rclone_config.md +56 -0
  432. package/bundled-skills/rclone-cli/references/commands/rclone_config_create.md +150 -0
  433. package/bundled-skills/rclone-cli/references/commands/rclone_config_delete.md +33 -0
  434. package/bundled-skills/rclone-cli/references/commands/rclone_config_disconnect.md +40 -0
  435. package/bundled-skills/rclone-cli/references/commands/rclone_config_dump.md +33 -0
  436. package/bundled-skills/rclone-cli/references/commands/rclone_config_edit.md +39 -0
  437. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption.md +36 -0
  438. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_check.md +43 -0
  439. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_remove.md +44 -0
  440. package/bundled-skills/rclone-cli/references/commands/rclone_config_encryption_set.md +54 -0
  441. package/bundled-skills/rclone-cli/references/commands/rclone_config_file.md +33 -0
  442. package/bundled-skills/rclone-cli/references/commands/rclone_config_password.md +49 -0
  443. package/bundled-skills/rclone-cli/references/commands/rclone_config_paths.md +33 -0
  444. package/bundled-skills/rclone-cli/references/commands/rclone_config_providers.md +33 -0
  445. package/bundled-skills/rclone-cli/references/commands/rclone_config_reconnect.md +40 -0
  446. package/bundled-skills/rclone-cli/references/commands/rclone_config_redacted.md +45 -0
  447. package/bundled-skills/rclone-cli/references/commands/rclone_config_show.md +33 -0
  448. package/bundled-skills/rclone-cli/references/commands/rclone_config_string.md +57 -0
  449. package/bundled-skills/rclone-cli/references/commands/rclone_config_touch.md +33 -0
  450. package/bundled-skills/rclone-cli/references/commands/rclone_config_update.md +150 -0
  451. package/bundled-skills/rclone-cli/references/commands/rclone_config_userinfo.md +38 -0
  452. package/bundled-skills/rclone-cli/references/commands/rclone_convmv.md +440 -0
  453. package/bundled-skills/rclone-cli/references/commands/rclone_copy.md +258 -0
  454. package/bundled-skills/rclone-cli/references/commands/rclone_copyto.md +219 -0
  455. package/bundled-skills/rclone-cli/references/commands/rclone_copyurl.md +91 -0
  456. package/bundled-skills/rclone-cli/references/commands/rclone_cryptcheck.md +141 -0
  457. package/bundled-skills/rclone-cli/references/commands/rclone_cryptdecode.md +51 -0
  458. package/bundled-skills/rclone-cli/references/commands/rclone_dedupe.md +166 -0
  459. package/bundled-skills/rclone-cli/references/commands/rclone_delete.md +117 -0
  460. package/bundled-skills/rclone-cli/references/commands/rclone_deletefile.md +50 -0
  461. package/bundled-skills/rclone-cli/references/commands/rclone_gendocs.md +39 -0
  462. package/bundled-skills/rclone-cli/references/commands/rclone_gitannex.md +113 -0
  463. package/bundled-skills/rclone-cli/references/commands/rclone_hashsum.md +120 -0
  464. package/bundled-skills/rclone-cli/references/commands/rclone_link.md +60 -0
  465. package/bundled-skills/rclone-cli/references/commands/rclone_listremotes.md +55 -0
  466. package/bundled-skills/rclone-cli/references/commands/rclone_ls.md +114 -0
  467. package/bundled-skills/rclone-cli/references/commands/rclone_lsd.md +127 -0
  468. package/bundled-skills/rclone-cli/references/commands/rclone_lsf.md +241 -0
  469. package/bundled-skills/rclone-cli/references/commands/rclone_lsjson.md +195 -0
  470. package/bundled-skills/rclone-cli/references/commands/rclone_lsl.md +115 -0
  471. package/bundled-skills/rclone-cli/references/commands/rclone_md5sum.md +96 -0
  472. package/bundled-skills/rclone-cli/references/commands/rclone_mkdir.md +43 -0
  473. package/bundled-skills/rclone-cli/references/commands/rclone_mount.md +1105 -0
  474. package/bundled-skills/rclone-cli/references/commands/rclone_move.md +223 -0
  475. package/bundled-skills/rclone-cli/references/commands/rclone_moveto.md +218 -0
  476. package/bundled-skills/rclone-cli/references/commands/rclone_ncdu.md +140 -0
  477. package/bundled-skills/rclone-cli/references/commands/rclone_nfsmount.md +1111 -0
  478. package/bundled-skills/rclone-cli/references/commands/rclone_obscure.md +60 -0
  479. package/bundled-skills/rclone-cli/references/commands/rclone_purge.md +58 -0
  480. package/bundled-skills/rclone-cli/references/commands/rclone_rc.md +111 -0
  481. package/bundled-skills/rclone-cli/references/commands/rclone_rcat.md +79 -0
  482. package/bundled-skills/rclone-cli/references/commands/rclone_rcd.md +219 -0
  483. package/bundled-skills/rclone-cli/references/commands/rclone_rmdir.md +52 -0
  484. package/bundled-skills/rclone-cli/references/commands/rclone_rmdirs.md +66 -0
  485. package/bundled-skills/rclone-cli/references/commands/rclone_selfupdate.md +91 -0
  486. package/bundled-skills/rclone-cli/references/commands/rclone_serve.md +61 -0
  487. package/bundled-skills/rclone-cli/references/commands/rclone_serve_dlna.md +619 -0
  488. package/bundled-skills/rclone-cli/references/commands/rclone_serve_docker.md +653 -0
  489. package/bundled-skills/rclone-cli/references/commands/rclone_serve_ftp.md +698 -0
  490. package/bundled-skills/rclone-cli/references/commands/rclone_serve_http.md +837 -0
  491. package/bundled-skills/rclone-cli/references/commands/rclone_serve_nfs.md +670 -0
  492. package/bundled-skills/rclone-cli/references/commands/rclone_serve_restic.md +246 -0
  493. package/bundled-skills/rclone-cli/references/commands/rclone_serve_s3.md +867 -0
  494. package/bundled-skills/rclone-cli/references/commands/rclone_serve_sftp.md +745 -0
  495. package/bundled-skills/rclone-cli/references/commands/rclone_serve_webdav.md +896 -0
  496. package/bundled-skills/rclone-cli/references/commands/rclone_settier.md +63 -0
  497. package/bundled-skills/rclone-cli/references/commands/rclone_sha1sum.md +99 -0
  498. package/bundled-skills/rclone-cli/references/commands/rclone_size.md +94 -0
  499. package/bundled-skills/rclone-cli/references/commands/rclone_sync.md +252 -0
  500. package/bundled-skills/rclone-cli/references/commands/rclone_test.md +51 -0
  501. package/bundled-skills/rclone-cli/references/commands/rclone_test_changenotify.md +34 -0
  502. package/bundled-skills/rclone-cli/references/commands/rclone_test_histogram.md +41 -0
  503. package/bundled-skills/rclone-cli/references/commands/rclone_test_info.md +51 -0
  504. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefile.md +39 -0
  505. package/bundled-skills/rclone-cli/references/commands/rclone_test_makefiles.md +47 -0
  506. package/bundled-skills/rclone-cli/references/commands/rclone_test_memory.md +33 -0
  507. package/bundled-skills/rclone-cli/references/commands/rclone_test_speed.md +66 -0
  508. package/bundled-skills/rclone-cli/references/commands/rclone_touch.md +110 -0
  509. package/bundled-skills/rclone-cli/references/commands/rclone_tree.md +121 -0
  510. package/bundled-skills/rclone-cli/references/commands/rclone_version.md +83 -0
  511. package/bundled-skills/rclone-cli/references/crypt.md +844 -0
  512. package/bundled-skills/rclone-cli/references/docker.md +615 -0
  513. package/bundled-skills/rclone-cli/references/faq.md +364 -0
  514. package/bundled-skills/rclone-cli/references/filtering.md +991 -0
  515. package/bundled-skills/rclone-cli/references/flags.md +1221 -0
  516. package/bundled-skills/rclone-cli/references/hasher.md +383 -0
  517. package/bundled-skills/rclone-cli/references/install.md +686 -0
  518. package/bundled-skills/rclone-cli/references/overview.md +620 -0
  519. package/bundled-skills/rclone-cli/references/providers/alias.md +141 -0
  520. package/bundled-skills/rclone-cli/references/providers/archive.md +287 -0
  521. package/bundled-skills/rclone-cli/references/providers/azureblob.md +1140 -0
  522. package/bundled-skills/rclone-cli/references/providers/azurefiles.md +834 -0
  523. package/bundled-skills/rclone-cli/references/providers/b2.md +879 -0
  524. package/bundled-skills/rclone-cli/references/providers/box.md +573 -0
  525. package/bundled-skills/rclone-cli/references/providers/cloudinary.md +259 -0
  526. package/bundled-skills/rclone-cli/references/providers/compress.md +222 -0
  527. package/bundled-skills/rclone-cli/references/providers/drime.md +319 -0
  528. package/bundled-skills/rclone-cli/references/providers/drive.md +2032 -0
  529. package/bundled-skills/rclone-cli/references/providers/dropbox.md +661 -0
  530. package/bundled-skills/rclone-cli/references/providers/fichier.md +230 -0
  531. package/bundled-skills/rclone-cli/references/providers/filefabric.md +298 -0
  532. package/bundled-skills/rclone-cli/references/providers/filelu.md +256 -0
  533. package/bundled-skills/rclone-cli/references/providers/filen.md +243 -0
  534. package/bundled-skills/rclone-cli/references/providers/filescom.md +209 -0
  535. package/bundled-skills/rclone-cli/references/providers/ftp.md +621 -0
  536. package/bundled-skills/rclone-cli/references/providers/gofile.md +274 -0
  537. package/bundled-skills/rclone-cli/references/providers/googlecloudstorage.md +846 -0
  538. package/bundled-skills/rclone-cli/references/providers/googlephotos.md +676 -0
  539. package/bundled-skills/rclone-cli/references/providers/hdfs.md +263 -0
  540. package/bundled-skills/rclone-cli/references/providers/hidrive.md +487 -0
  541. package/bundled-skills/rclone-cli/references/providers/http.md +323 -0
  542. package/bundled-skills/rclone-cli/references/providers/iclouddrive.md +212 -0
  543. package/bundled-skills/rclone-cli/references/providers/internetarchive.md +355 -0
  544. package/bundled-skills/rclone-cli/references/providers/internxt.md +189 -0
  545. package/bundled-skills/rclone-cli/references/providers/jottacloud.md +604 -0
  546. package/bundled-skills/rclone-cli/references/providers/koofr.md +395 -0
  547. package/bundled-skills/rclone-cli/references/providers/linkbox.md +117 -0
  548. package/bundled-skills/rclone-cli/references/providers/local.md +749 -0
  549. package/bundled-skills/rclone-cli/references/providers/mailru.md +470 -0
  550. package/bundled-skills/rclone-cli/references/providers/mega.md +361 -0
  551. package/bundled-skills/rclone-cli/references/providers/memory.md +109 -0
  552. package/bundled-skills/rclone-cli/references/providers/netstorage.md +371 -0
  553. package/bundled-skills/rclone-cli/references/providers/onedrive.md +1322 -0
  554. package/bundled-skills/rclone-cli/references/providers/opendrive.md +222 -0
  555. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/_index.md +932 -0
  556. package/bundled-skills/rclone-cli/references/providers/oracleobjectstorage/tutorial_mount.md +503 -0
  557. package/bundled-skills/rclone-cli/references/providers/pcloud.md +373 -0
  558. package/bundled-skills/rclone-cli/references/providers/pikpak.md +373 -0
  559. package/bundled-skills/rclone-cli/references/providers/pixeldrain.md +182 -0
  560. package/bundled-skills/rclone-cli/references/providers/premiumizeme.md +253 -0
  561. package/bundled-skills/rclone-cli/references/providers/protondrive.md +397 -0
  562. package/bundled-skills/rclone-cli/references/providers/putio.md +246 -0
  563. package/bundled-skills/rclone-cli/references/providers/qingstor.md +346 -0
  564. package/bundled-skills/rclone-cli/references/providers/quatrix.md +295 -0
  565. package/bundled-skills/rclone-cli/references/providers/s3.md +9687 -0
  566. package/bundled-skills/rclone-cli/references/providers/seafile.md +432 -0
  567. package/bundled-skills/rclone-cli/references/providers/sftp.md +1277 -0
  568. package/bundled-skills/rclone-cli/references/providers/shade.md +267 -0
  569. package/bundled-skills/rclone-cli/references/providers/sharefile.md +357 -0
  570. package/bundled-skills/rclone-cli/references/providers/sia.md +223 -0
  571. package/bundled-skills/rclone-cli/references/providers/smb.md +309 -0
  572. package/bundled-skills/rclone-cli/references/providers/storj.md +503 -0
  573. package/bundled-skills/rclone-cli/references/providers/sugarsync.md +305 -0
  574. package/bundled-skills/rclone-cli/references/providers/swift.md +744 -0
  575. package/bundled-skills/rclone-cli/references/providers/ulozto.md +283 -0
  576. package/bundled-skills/rclone-cli/references/providers/webdav.md +565 -0
  577. package/bundled-skills/rclone-cli/references/providers/yandex.md +283 -0
  578. package/bundled-skills/rclone-cli/references/providers/zoho.md +305 -0
  579. package/bundled-skills/rclone-cli/references/rc.md +2725 -0
  580. package/bundled-skills/rclone-cli/references/union.md +336 -0
  581. package/bundled-skills/rclone-cli/references/usage.md +3555 -0
  582. package/bundled-skills/rclone-cli/scripts/install.sh +204 -0
  583. package/bundled-skills/redis-cli/SKILL.md +392 -0
  584. package/bundled-skills/redis-cli/references/advanced-features.md +338 -0
  585. package/bundled-skills/redis-cli/references/connection-and-options.md +258 -0
  586. package/bundled-skills/redis-cli/references/data-query-commands.md +417 -0
  587. package/bundled-skills/redis-cli/references/inspection-and-monitoring.md +309 -0
  588. package/bundled-skills/redis-cli/references/key-management.md +252 -0
  589. package/bundled-skills/redis-cli/references/module-data-types.md +429 -0
  590. package/bundled-skills/redis-cli/references/server-administration.md +366 -0
  591. package/bundled-skills/repo-maintainer/SKILL.md +480 -0
  592. package/bundled-skills/resolving-merge-conflicts/SKILL.md +32 -0
  593. package/bundled-skills/review-and-simplify-changes/SKILL.md +202 -0
  594. package/bundled-skills/review-swarm/SKILL.md +185 -0
  595. package/bundled-skills/review-swarm/agents/openai.yaml +4 -0
  596. package/bundled-skills/riffkit/SKILL.md +122 -0
  597. package/bundled-skills/robot-framework-skill/SKILL.md +153 -0
  598. package/bundled-skills/sdk-dx/README.md +39 -0
  599. package/bundled-skills/sdk-dx/SKILL.md +541 -0
  600. package/bundled-skills/security-and-hardening/SKILL.md +474 -0
  601. package/bundled-skills/selenium-skill/SKILL.md +258 -0
  602. package/bundled-skills/shipping-and-launch/SKILL.md +323 -0
  603. package/bundled-skills/smartui-skill/SKILL.md +149 -0
  604. package/bundled-skills/source-driven-development/SKILL.md +207 -0
  605. package/bundled-skills/spec-driven-development/SKILL.md +217 -0
  606. package/bundled-skills/sql-sentinel/SKILL.md +12 -3
  607. package/bundled-skills/styleseed-design-review/SKILL.md +126 -0
  608. package/bundled-skills/supabase/CHANGELOG.md +35 -0
  609. package/bundled-skills/supabase/SKILL.md +149 -0
  610. package/bundled-skills/supabase/assets/feedback-issue-template.md +17 -0
  611. package/bundled-skills/supabase/references/skill-feedback.md +17 -0
  612. package/bundled-skills/supabase-postgres-best-practices/CHANGELOG.md +29 -0
  613. package/bundled-skills/supabase-postgres-best-practices/SKILL.md +74 -0
  614. package/bundled-skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  615. package/bundled-skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  616. package/bundled-skills/supabase-postgres-best-practices/references/_template.md +34 -0
  617. package/bundled-skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  618. package/bundled-skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  619. package/bundled-skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  620. package/bundled-skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  621. package/bundled-skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  622. package/bundled-skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  623. package/bundled-skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  624. package/bundled-skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  625. package/bundled-skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  626. package/bundled-skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  627. package/bundled-skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  628. package/bundled-skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  629. package/bundled-skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  630. package/bundled-skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  631. package/bundled-skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  632. package/bundled-skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  633. package/bundled-skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  634. package/bundled-skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  635. package/bundled-skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  636. package/bundled-skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  637. package/bundled-skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  638. package/bundled-skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  639. package/bundled-skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  640. package/bundled-skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  641. package/bundled-skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  642. package/bundled-skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  643. package/bundled-skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  644. package/bundled-skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  645. package/bundled-skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  646. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  647. package/bundled-skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  648. package/bundled-skills/swiftui-expert-skill/SKILL.md +175 -242
  649. package/bundled-skills/swiftui-expert-skill/references/accessibility-patterns.md +215 -0
  650. package/bundled-skills/swiftui-expert-skill/references/animation-advanced.md +428 -0
  651. package/bundled-skills/swiftui-expert-skill/references/animation-basics.md +284 -0
  652. package/bundled-skills/swiftui-expert-skill/references/animation-transitions.md +326 -0
  653. package/bundled-skills/swiftui-expert-skill/references/charts-accessibility.md +135 -0
  654. package/bundled-skills/swiftui-expert-skill/references/charts.md +602 -0
  655. package/bundled-skills/swiftui-expert-skill/references/focus-patterns.md +299 -0
  656. package/bundled-skills/swiftui-expert-skill/references/image-optimization.md +203 -0
  657. package/bundled-skills/swiftui-expert-skill/references/latest-apis.md +528 -0
  658. package/bundled-skills/swiftui-expert-skill/references/layout-best-practices.md +266 -0
  659. package/bundled-skills/swiftui-expert-skill/references/liquid-glass.md +423 -0
  660. package/bundled-skills/swiftui-expert-skill/references/list-patterns.md +467 -0
  661. package/bundled-skills/swiftui-expert-skill/references/localization.md +194 -0
  662. package/bundled-skills/swiftui-expert-skill/references/macos-scenes.md +318 -0
  663. package/bundled-skills/swiftui-expert-skill/references/macos-views.md +357 -0
  664. package/bundled-skills/swiftui-expert-skill/references/macos-window-styling.md +303 -0
  665. package/bundled-skills/swiftui-expert-skill/references/performance-patterns.md +417 -0
  666. package/bundled-skills/swiftui-expert-skill/references/previews.md +313 -0
  667. package/bundled-skills/swiftui-expert-skill/references/scroll-patterns.md +293 -0
  668. package/bundled-skills/swiftui-expert-skill/references/sheet-navigation-patterns.md +363 -0
  669. package/bundled-skills/swiftui-expert-skill/references/soft-deprecation.md +39 -0
  670. package/bundled-skills/swiftui-expert-skill/references/state-management.md +492 -0
  671. package/bundled-skills/swiftui-expert-skill/references/text-patterns.md +34 -0
  672. package/bundled-skills/swiftui-expert-skill/references/trace-analysis.md +295 -0
  673. package/bundled-skills/swiftui-expert-skill/references/trace-recording.md +134 -0
  674. package/bundled-skills/swiftui-expert-skill/references/view-structure.md +854 -0
  675. package/bundled-skills/swiftui-expert-skill/scripts/analyze_trace.py +301 -0
  676. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/__init__.py +1 -0
  677. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/causes.py +187 -0
  678. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/correlate.py +179 -0
  679. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/events.py +291 -0
  680. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hangs.py +108 -0
  681. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/hitches.py +145 -0
  682. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/summary.py +243 -0
  683. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/swiftui.py +195 -0
  684. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/time_profiler.py +135 -0
  685. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xctrace.py +117 -0
  686. package/bundled-skills/swiftui-expert-skill/scripts/instruments_parser/xml_utils.py +224 -0
  687. package/bundled-skills/swiftui-expert-skill/scripts/record_trace.py +252 -0
  688. package/bundled-skills/technical-tutorials/README.md +90 -0
  689. package/bundled-skills/technical-tutorials/SKILL.md +581 -0
  690. package/bundled-skills/test-framework-migration-skill/SKILL.md +122 -0
  691. package/bundled-skills/testng-skill/SKILL.md +163 -0
  692. package/bundled-skills/train-sentence-transformers/SKILL.md +118 -0
  693. package/bundled-skills/train-sentence-transformers/references/base_model_selection.md +79 -0
  694. package/bundled-skills/train-sentence-transformers/references/dataset_formats.md +128 -0
  695. package/bundled-skills/train-sentence-transformers/references/evaluators_cross_encoder.md +116 -0
  696. package/bundled-skills/train-sentence-transformers/references/evaluators_sentence_transformer.md +151 -0
  697. package/bundled-skills/train-sentence-transformers/references/evaluators_sparse_encoder.md +121 -0
  698. package/bundled-skills/train-sentence-transformers/references/hardware_guide.md +105 -0
  699. package/bundled-skills/train-sentence-transformers/references/hf_jobs_execution.md +173 -0
  700. package/bundled-skills/train-sentence-transformers/references/losses_cross_encoder.md +137 -0
  701. package/bundled-skills/train-sentence-transformers/references/losses_sentence_transformer.md +246 -0
  702. package/bundled-skills/train-sentence-transformers/references/losses_sparse_encoder.md +106 -0
  703. package/bundled-skills/train-sentence-transformers/references/model_architectures.md +178 -0
  704. package/bundled-skills/train-sentence-transformers/references/prompts_and_instructions.md +160 -0
  705. package/bundled-skills/train-sentence-transformers/references/training_args.md +269 -0
  706. package/bundled-skills/train-sentence-transformers/references/troubleshooting.md +225 -0
  707. package/bundled-skills/train-sentence-transformers/scripts/mine_hard_negatives.py +199 -0
  708. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_distillation_example.py +254 -0
  709. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_example.py +253 -0
  710. package/bundled-skills/train-sentence-transformers/scripts/train_cross_encoder_listwise_example.py +282 -0
  711. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_distillation_example.py +303 -0
  712. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_example.py +227 -0
  713. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_make_multilingual_example.py +308 -0
  714. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_matryoshka_example.py +212 -0
  715. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_multi_dataset_example.py +258 -0
  716. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_static_embedding_example.py +273 -0
  717. package/bundled-skills/train-sentence-transformers/scripts/train_sentence_transformer_with_lora_example.py +275 -0
  718. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_distillation_example.py +262 -0
  719. package/bundled-skills/train-sentence-transformers/scripts/train_sparse_encoder_example.py +237 -0
  720. package/bundled-skills/transformers-js/SKILL.md +83 -29
  721. package/bundled-skills/transformers-js/references/CONFIGURATION.md +55 -7
  722. package/bundled-skills/transformers-js/references/EXAMPLES.md +98 -83
  723. package/bundled-skills/transformers-js/references/MODEL_REGISTRY.md +197 -0
  724. package/bundled-skills/transformers-js/references/PIPELINE_OPTIONS.md +31 -19
  725. package/bundled-skills/transformers-js/references/TEXT_GENERATION.md +18 -18
  726. package/bundled-skills/trl-training/SKILL.md +327 -0
  727. package/bundled-skills/tune-monitor/SKILL.md +268 -0
  728. package/bundled-skills/ui-a11y/SKILL.md +76 -68
  729. package/bundled-skills/ui-component/SKILL.md +54 -82
  730. package/bundled-skills/ui-lint/SKILL.md +111 -0
  731. package/bundled-skills/ui-motion/SKILL.md +181 -0
  732. package/bundled-skills/ui-page/SKILL.md +80 -90
  733. package/bundled-skills/ui-pattern/SKILL.md +50 -68
  734. package/bundled-skills/ui-review/SKILL.md +95 -77
  735. package/bundled-skills/ui-score/SKILL.md +145 -0
  736. package/bundled-skills/ui-setup/SKILL.md +196 -88
  737. package/bundled-skills/ui-skills-root/SKILL.md +72 -0
  738. package/bundled-skills/ui-tokens/SKILL.md +44 -52
  739. package/bundled-skills/ui-update/SKILL.md +167 -0
  740. package/bundled-skills/unslop-commit/SKILL.md +113 -0
  741. package/bundled-skills/unslop-file/SKILL.md +157 -0
  742. package/bundled-skills/unslop-review/SKILL.md +102 -0
  743. package/bundled-skills/update-swiftui-apis/SKILL.md +120 -0
  744. package/bundled-skills/update-swiftui-apis/references/scan-manifest.md +230 -0
  745. package/bundled-skills/upgrading-expo/SKILL.md +107 -82
  746. package/bundled-skills/upgrading-expo/agents/openai.yaml +4 -0
  747. package/bundled-skills/upgrading-expo/references/expo-av-to-audio.md +132 -0
  748. package/bundled-skills/upgrading-expo/references/expo-av-to-video.md +160 -0
  749. package/bundled-skills/upgrading-expo/references/native-tabs.md +124 -0
  750. package/bundled-skills/upgrading-expo/references/new-architecture.md +79 -0
  751. package/bundled-skills/upgrading-expo/references/react-19.md +79 -0
  752. package/bundled-skills/upgrading-expo/references/react-compiler.md +59 -0
  753. package/bundled-skills/upgrading-expo/references/react-navigation-to-expo-router.md +61 -0
  754. package/bundled-skills/usage-based-pricing/README.md +40 -0
  755. package/bundled-skills/usage-based-pricing/SKILL.md +547 -0
  756. package/bundled-skills/use-dom/SKILL.md +428 -0
  757. package/bundled-skills/use-dom/agents/openai.yaml +4 -0
  758. package/bundled-skills/ux-audit/SKILL.md +112 -44
  759. package/bundled-skills/ux-copy/SKILL.md +105 -73
  760. package/bundled-skills/ux-feedback/SKILL.md +106 -58
  761. package/bundled-skills/ux-flow/SKILL.md +51 -50
  762. package/bundled-skills/vitest-skill/SKILL.md +165 -0
  763. package/bundled-skills/weaviate/references/environment_requirements.md +4 -1
  764. package/bundled-skills/weaviate/scripts/weaviate_conn.py +51 -17
  765. package/bundled-skills/webdriverio-skill/SKILL.md +157 -0
  766. package/bundled-skills/wjttc-builder/SKILL.md +355 -0
  767. package/bundled-skills/wjttc-tester/SKILL.md +190 -0
  768. package/bundled-skills/youtube-notetaker/scripts/serve.py +20 -11
  769. package/package.json +1 -1
  770. package/skills_index.json +4404 -146
@@ -0,0 +1,276 @@
1
+ ---
2
+ name: code-showcase-testing-patterns
3
+ description: Jest testing patterns, factory functions, mocking strategies, and TDD workflow. Use when writing unit tests, creating test factories, or following TDD red-green-refactor cycle.
4
+ risk: unknown
5
+ source: https://github.com/ChrisWiles/claude-code-showcase/tree/main/.claude/skills/testing-patterns
6
+ source_repo: ChrisWiles/claude-code-showcase
7
+ source_type: community
8
+ date_added: 2026-07-01
9
+ license: MIT
10
+ license_source: https://github.com/ChrisWiles/claude-code-showcase/blob/main/LICENSE
11
+ ---
12
+
13
+ # Testing Patterns and Utilities
14
+ ## When to Use
15
+
16
+ Use this skill when you need jest testing patterns, factory functions, mocking strategies, and TDD workflow. Use when writing unit tests, creating test factories, or following TDD red-green-refactor cycle.
17
+
18
+
19
+ ## Testing Philosophy
20
+
21
+ **Test-Driven Development (TDD):**
22
+ - Write failing test FIRST
23
+ - Implement minimal code to pass
24
+ - Refactor after green
25
+ - Never write production code without a failing test
26
+
27
+ **Behavior-Driven Testing:**
28
+ - Test behavior, not implementation
29
+ - Focus on public APIs and business requirements
30
+ - Avoid testing implementation details
31
+ - Use descriptive test names that describe behavior
32
+
33
+ **Factory Pattern:**
34
+ - Create `getMockX(overrides?: Partial<X>)` functions
35
+ - Provide sensible defaults
36
+ - Allow overriding specific properties
37
+ - Keep tests DRY and maintainable
38
+
39
+ ## Test Utilities
40
+
41
+ ### Custom Render Function
42
+
43
+ Create a custom render that wraps components with required providers:
44
+
45
+ ```typescript
46
+ // src/utils/testUtils.tsx
47
+ import { render } from '@testing-library/react-native';
48
+ import { ThemeProvider } from './theme';
49
+
50
+ export const renderWithTheme = (ui: React.ReactElement) => {
51
+ return render(
52
+ <ThemeProvider>{ui}</ThemeProvider>
53
+ );
54
+ };
55
+ ```
56
+
57
+ **Usage:**
58
+ ```typescript
59
+ import { renderWithTheme } from 'utils/testUtils';
60
+ import { screen } from '@testing-library/react-native';
61
+
62
+ it('should render component', () => {
63
+ renderWithTheme(<MyComponent />);
64
+ expect(screen.getByText('Hello')).toBeTruthy();
65
+ });
66
+ ```
67
+
68
+ ## Factory Pattern
69
+
70
+ ### Component Props Factory
71
+
72
+ ```typescript
73
+ import { ComponentProps } from 'react';
74
+
75
+ const getMockMyComponentProps = (
76
+ overrides?: Partial<ComponentProps<typeof MyComponent>>
77
+ ) => {
78
+ return {
79
+ title: 'Default Title',
80
+ count: 0,
81
+ onPress: jest.fn(),
82
+ isLoading: false,
83
+ ...overrides,
84
+ };
85
+ };
86
+
87
+ // Usage in tests
88
+ it('should render with custom title', () => {
89
+ const props = getMockMyComponentProps({ title: 'Custom Title' });
90
+ renderWithTheme(<MyComponent {...props} />);
91
+ expect(screen.getByText('Custom Title')).toBeTruthy();
92
+ });
93
+ ```
94
+
95
+ ### Data Factory
96
+
97
+ ```typescript
98
+ interface User {
99
+ id: string;
100
+ name: string;
101
+ email: string;
102
+ role: 'admin' | 'user';
103
+ }
104
+
105
+ const getMockUser = (overrides?: Partial<User>): User => {
106
+ return {
107
+ id: '123',
108
+ name: 'John Doe',
109
+ email: 'john@example.com',
110
+ role: 'user',
111
+ ...overrides,
112
+ };
113
+ };
114
+
115
+ // Usage
116
+ it('should display admin badge for admin users', () => {
117
+ const user = getMockUser({ role: 'admin' });
118
+ renderWithTheme(<UserCard user={user} />);
119
+ expect(screen.getByText('Admin')).toBeTruthy();
120
+ });
121
+ ```
122
+
123
+ ## Mocking Patterns
124
+
125
+ ### Mocking Modules
126
+
127
+ ```typescript
128
+ // Mock entire module
129
+ jest.mock('utils/analytics');
130
+
131
+ // Mock with factory function
132
+ jest.mock('utils/analytics', () => ({
133
+ Analytics: {
134
+ logEvent: jest.fn(),
135
+ },
136
+ }));
137
+
138
+ // Access mock in test
139
+ const mockLogEvent = jest.requireMock('utils/analytics').Analytics.logEvent;
140
+ ```
141
+
142
+ ### Mocking GraphQL Hooks
143
+
144
+ ```typescript
145
+ jest.mock('./GetItems.generated', () => ({
146
+ useGetItemsQuery: jest.fn(),
147
+ }));
148
+
149
+ const mockUseGetItemsQuery = jest.requireMock(
150
+ './GetItems.generated'
151
+ ).useGetItemsQuery as jest.Mock;
152
+
153
+ // In test
154
+ mockUseGetItemsQuery.mockReturnValue({
155
+ data: { items: [] },
156
+ loading: false,
157
+ error: undefined,
158
+ });
159
+ ```
160
+
161
+ ## Test Structure
162
+
163
+ ```typescript
164
+ describe('ComponentName', () => {
165
+ beforeEach(() => {
166
+ jest.clearAllMocks();
167
+ });
168
+
169
+ describe('Rendering', () => {
170
+ it('should render component with default props', () => {});
171
+ it('should render loading state when loading', () => {});
172
+ });
173
+
174
+ describe('User interactions', () => {
175
+ it('should call onPress when button is clicked', async () => {});
176
+ });
177
+
178
+ describe('Edge cases', () => {
179
+ it('should handle empty data gracefully', () => {});
180
+ });
181
+ });
182
+ ```
183
+
184
+ ## Query Patterns
185
+
186
+ ```typescript
187
+ // Element must exist
188
+ expect(screen.getByText('Hello')).toBeTruthy();
189
+
190
+ // Element should not exist
191
+ expect(screen.queryByText('Goodbye')).toBeNull();
192
+
193
+ // Element appears asynchronously
194
+ await waitFor(() => {
195
+ expect(screen.findByText('Loaded')).toBeTruthy();
196
+ });
197
+ ```
198
+
199
+ ## User Interaction Patterns
200
+
201
+ ```typescript
202
+ import { fireEvent, screen } from '@testing-library/react-native';
203
+
204
+ it('should submit form on button click', async () => {
205
+ const onSubmit = jest.fn();
206
+ renderWithTheme(<LoginForm onSubmit={onSubmit} />);
207
+
208
+ fireEvent.changeText(screen.getByLabelText('Email'), 'user@example.com');
209
+ fireEvent.changeText(screen.getByLabelText('Password'), 'password123');
210
+ fireEvent.press(screen.getByTestId('login-button'));
211
+
212
+ await waitFor(() => {
213
+ expect(onSubmit).toHaveBeenCalled();
214
+ });
215
+ });
216
+ ```
217
+
218
+ ## Anti-Patterns to Avoid
219
+
220
+ ### Testing Mock Behavior Instead of Real Behavior
221
+
222
+ ```typescript
223
+ // Bad - testing the mock
224
+ expect(mockFetchData).toHaveBeenCalled();
225
+
226
+ // Good - testing actual behavior
227
+ expect(screen.getByText('John Doe')).toBeTruthy();
228
+ ```
229
+
230
+ ### Not Using Factories
231
+
232
+ ```typescript
233
+ // Bad - duplicated, inconsistent test data
234
+ it('test 1', () => {
235
+ const user = { id: '1', name: 'John', email: 'john@test.com', role: 'user' };
236
+ });
237
+ it('test 2', () => {
238
+ const user = { id: '2', name: 'Jane', email: 'jane@test.com' }; // Missing role!
239
+ });
240
+
241
+ // Good - reusable factory
242
+ const user = getMockUser({ name: 'Custom Name' });
243
+ ```
244
+
245
+ ## Best Practices
246
+
247
+ 1. **Always use factory functions** for props and data
248
+ 2. **Test behavior, not implementation**
249
+ 3. **Use descriptive test names**
250
+ 4. **Organize with describe blocks**
251
+ 5. **Clear mocks between tests**
252
+ 6. **Keep tests focused** - one behavior per test
253
+
254
+ ## Running Tests
255
+
256
+ ```bash
257
+ # Run all tests
258
+ npm test
259
+
260
+ # Run with coverage
261
+ npm run test:coverage
262
+
263
+ # Run specific file
264
+ npm test ComponentName.test.tsx
265
+ ```
266
+
267
+ ## Integration with Other Skills
268
+
269
+ - **react-ui-patterns**: Test all UI states (loading, error, empty, success)
270
+ - **systematic-debugging**: Write test that reproduces bug before fixing
271
+
272
+ ## Limitations
273
+
274
+ - Use this skill only when the task clearly matches its upstream source and local project context.
275
+ - Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
276
+ - Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
@@ -0,0 +1,344 @@
1
+ ---
2
+ name: code-simplification
3
+ description: Simplifies code for clarity. Use when refactoring code for clarity without changing behavior. Use when code works but is harder to read, maintain, or extend than it should be. Use when reviewing code that has accumulated unnecessary complexity.
4
+ risk: unknown
5
+ source: https://github.com/addyosmani/agent-skills/tree/main/skills/code-simplification
6
+ source_repo: addyosmani/agent-skills
7
+ source_type: community
8
+ date_added: 2026-07-01
9
+ license: MIT
10
+ license_source: https://github.com/addyosmani/agent-skills/blob/main/LICENSE
11
+ ---
12
+
13
+ # Code Simplification
14
+
15
+ > Inspired by the [Claude Code Simplifier plugin](https://github.com/anthropics/claude-plugins-official/blob/main/plugins/code-simplifier/agents/code-simplifier.md). Adapted here as a model-agnostic, process-driven skill for any AI coding agent.
16
+
17
+ ## Overview
18
+
19
+ Simplify code by reducing complexity while preserving exact behavior. The goal is not fewer lines — it's code that is easier to read, understand, modify, and debug. Every simplification must pass a simple test: "Would a new team member understand this faster than the original?"
20
+
21
+ ## When to Use
22
+
23
+ - After a feature is working and tests pass, but the implementation feels heavier than it needs to be
24
+ - During code review when readability or complexity issues are flagged
25
+ - When you encounter deeply nested logic, long functions, or unclear names
26
+ - When refactoring code written under time pressure
27
+ - When consolidating related logic scattered across files
28
+ - After merging changes that introduced duplication or inconsistency
29
+
30
+ **When NOT to use:**
31
+
32
+ - Code is already clean and readable — don't simplify for the sake of it
33
+ - You don't understand what the code does yet — comprehend before you simplify
34
+ - The code is performance-critical and the "simpler" version would be measurably slower
35
+ - You're about to rewrite the module entirely — simplifying throwaway code wastes effort
36
+
37
+ ## The Five Principles
38
+
39
+ ### 1. Preserve Behavior Exactly
40
+
41
+ Don't change what the code does — only how it expresses it. All inputs, outputs, side effects, error behavior, and edge cases must remain identical. If you're not sure a simplification preserves behavior, don't make it.
42
+
43
+ ```
44
+ ASK BEFORE EVERY CHANGE:
45
+ → Does this produce the same output for every input?
46
+ → Does this maintain the same error behavior?
47
+ → Does this preserve the same side effects and ordering?
48
+ → Do all existing tests still pass without modification?
49
+ ```
50
+
51
+ ### 2. Follow Project Conventions
52
+
53
+ Simplification means making code more consistent with the codebase, not imposing external preferences. Before simplifying:
54
+
55
+ ```
56
+ 1. Read CLAUDE.md / project conventions
57
+ 2. Study how neighboring code handles similar patterns
58
+ 3. Match the project's style for:
59
+ - Import ordering and module system
60
+ - Function declaration style
61
+ - Naming conventions
62
+ - Error handling patterns
63
+ - Type annotation depth
64
+ ```
65
+
66
+ Simplification that breaks project consistency is not simplification — it's churn.
67
+
68
+ ### 3. Prefer Clarity Over Cleverness
69
+
70
+ Explicit code is better than compact code when the compact version requires a mental pause to parse.
71
+
72
+ ```typescript
73
+ // UNCLEAR: Dense ternary chain
74
+ const label = isNew ? 'New' : isUpdated ? 'Updated' : isArchived ? 'Archived' : 'Active';
75
+
76
+ // CLEAR: Readable mapping
77
+ function getStatusLabel(item: Item): string {
78
+ if (item.isNew) return 'New';
79
+ if (item.isUpdated) return 'Updated';
80
+ if (item.isArchived) return 'Archived';
81
+ return 'Active';
82
+ }
83
+ ```
84
+
85
+ ```typescript
86
+ // UNCLEAR: Chained reduces with inline logic
87
+ const result = items.reduce((acc, item) => ({
88
+ ...acc,
89
+ [item.id]: { ...acc[item.id], count: (acc[item.id]?.count ?? 0) + 1 }
90
+ }), {});
91
+
92
+ // CLEAR: Named intermediate step
93
+ const countById = new Map<string, number>();
94
+ for (const item of items) {
95
+ countById.set(item.id, (countById.get(item.id) ?? 0) + 1);
96
+ }
97
+ ```
98
+
99
+ ### 4. Maintain Balance
100
+
101
+ Simplification has a failure mode: over-simplification. Watch for these traps:
102
+
103
+ - **Inlining too aggressively** — removing a helper that gave a concept a name makes the call site harder to read
104
+ - **Combining unrelated logic** — two simple functions merged into one complex function is not simpler
105
+ - **Removing "unnecessary" abstraction** — some abstractions exist for extensibility or testability, not complexity
106
+ - **Optimizing for line count** — fewer lines is not the goal; easier comprehension is
107
+
108
+ ### 5. Scope to What Changed
109
+
110
+ Default to simplifying recently modified code. Avoid drive-by refactors of unrelated code unless explicitly asked to broaden scope. Unscoped simplification creates noise in diffs and risks unintended regressions.
111
+
112
+ ## The Simplification Process
113
+
114
+ ### Step 1: Understand Before Touching (Chesterton's Fence)
115
+
116
+ Before changing or removing anything, understand why it exists. This is Chesterton's Fence: if you see a fence across a road and don't understand why it's there, don't tear it down. First understand the reason, then decide if the reason still applies.
117
+
118
+ ```
119
+ BEFORE SIMPLIFYING, ANSWER:
120
+ - What is this code's responsibility?
121
+ - What calls it? What does it call?
122
+ - What are the edge cases and error paths?
123
+ - Are there tests that define the expected behavior?
124
+ - Why might it have been written this way? (Performance? Platform constraint? Historical reason?)
125
+ - Check git blame: what was the original context for this code?
126
+ ```
127
+
128
+ If you can't answer these, you're not ready to simplify. Read more context first.
129
+
130
+ ### Step 2: Identify Simplification Opportunities
131
+
132
+ Scan for these patterns — each one is a concrete signal, not a vague smell:
133
+
134
+ **Structural complexity:**
135
+
136
+ | Pattern | Signal | Simplification |
137
+ |---------|--------|----------------|
138
+ | Deep nesting (3+ levels) | Hard to follow control flow | Extract conditions into guard clauses or helper functions |
139
+ | Long functions (50+ lines) | Multiple responsibilities | Split into focused functions with descriptive names |
140
+ | Nested ternaries | Requires mental stack to parse | Replace with if/else chains, switch, or lookup objects |
141
+ | Boolean parameter flags | `doThing(true, false, true)` | Replace with options objects or separate functions |
142
+ | Repeated conditionals | Same `if` check in multiple places | Extract to a well-named predicate function |
143
+
144
+ **Naming and readability:**
145
+
146
+ | Pattern | Signal | Simplification |
147
+ |---------|--------|----------------|
148
+ | Generic names | `data`, `result`, `temp`, `val`, `item` | Rename to describe the content: `userProfile`, `validationErrors` |
149
+ | Abbreviated names | `usr`, `cfg`, `btn`, `evt` | Use full words unless the abbreviation is universal (`id`, `url`, `api`) |
150
+ | Misleading names | Function named `get` that also mutates state | Rename to reflect actual behavior |
151
+ | Comments explaining "what" | `// increment counter` above `count++` | Delete the comment — the code is clear enough |
152
+ | Comments explaining "why" | `// Retry because the API is flaky under load` | Keep these — they carry intent the code can't express |
153
+
154
+ **Redundancy:**
155
+
156
+ | Pattern | Signal | Simplification |
157
+ |---------|--------|----------------|
158
+ | Duplicated logic | Same 5+ lines in multiple places | Extract to a shared function |
159
+ | Dead code | Unreachable branches, unused variables, commented-out blocks | Remove (after confirming it's truly dead) |
160
+ | Unnecessary abstractions | Wrapper that adds no value | Inline the wrapper, call the underlying function directly |
161
+ | Over-engineered patterns | Factory-for-a-factory, strategy-with-one-strategy | Replace with the simple direct approach |
162
+ | Redundant type assertions | Casting to a type that's already inferred | Remove the assertion |
163
+
164
+ ### Step 3: Apply Changes Incrementally
165
+
166
+ Make one simplification at a time. Run tests after each change. **Submit refactoring changes separately from feature or bug fix changes.** A PR that refactors and adds a feature is two PRs — split them.
167
+
168
+ ```
169
+ FOR EACH SIMPLIFICATION:
170
+ 1. Make the change
171
+ 2. Run the test suite
172
+ 3. If tests pass → commit (or continue to next simplification)
173
+ 4. If tests fail → revert and reconsider
174
+ ```
175
+
176
+ Avoid batching multiple simplifications into a single untested change. If something breaks, you need to know which simplification caused it.
177
+
178
+ **The Rule of 500:** If a refactoring would touch more than 500 lines, invest in automation (codemods, sed scripts, AST transforms) rather than making the changes by hand. Manual edits at that scale are error-prone and exhausting to review.
179
+
180
+ ### Step 4: Verify the Result
181
+
182
+ After all simplifications, step back and evaluate the whole:
183
+
184
+ ```
185
+ COMPARE BEFORE AND AFTER:
186
+ - Is the simplified version genuinely easier to understand?
187
+ - Did you introduce any new patterns inconsistent with the codebase?
188
+ - Is the diff clean and reviewable?
189
+ - Would a teammate approve this change?
190
+ ```
191
+
192
+ If the "simplified" version is harder to understand or review, revert. Not every simplification attempt succeeds.
193
+
194
+ ## Language-Specific Guidance
195
+
196
+ ### TypeScript / JavaScript
197
+
198
+ ```typescript
199
+ // SIMPLIFY: Unnecessary async wrapper
200
+ // Before
201
+ async function getUser(id: string): Promise<User> {
202
+ return await userService.findById(id);
203
+ }
204
+ // After
205
+ function getUser(id: string): Promise<User> {
206
+ return userService.findById(id);
207
+ }
208
+
209
+ // SIMPLIFY: Verbose conditional assignment
210
+ // Before
211
+ let displayName: string;
212
+ if (user.nickname) {
213
+ displayName = user.nickname;
214
+ } else {
215
+ displayName = user.fullName;
216
+ }
217
+ // After
218
+ const displayName = user.nickname || user.fullName;
219
+
220
+ // SIMPLIFY: Manual array building
221
+ // Before
222
+ const activeUsers: User[] = [];
223
+ for (const user of users) {
224
+ if (user.isActive) {
225
+ activeUsers.push(user);
226
+ }
227
+ }
228
+ // After
229
+ const activeUsers = users.filter((user) => user.isActive);
230
+
231
+ // SIMPLIFY: Redundant boolean return
232
+ // Before
233
+ function isValid(input: string): boolean {
234
+ if (input.length > 0 && input.length < 100) {
235
+ return true;
236
+ }
237
+ return false;
238
+ }
239
+ // After
240
+ function isValid(input: string): boolean {
241
+ return input.length > 0 && input.length < 100;
242
+ }
243
+ ```
244
+
245
+ ### Python
246
+
247
+ ```python
248
+ # SIMPLIFY: Verbose dictionary building
249
+ # Before
250
+ result = {}
251
+ for item in items:
252
+ result[item.id] = item.name
253
+ # After
254
+ result = {item.id: item.name for item in items}
255
+
256
+ # SIMPLIFY: Nested conditionals with early return
257
+ # Before
258
+ def process(data):
259
+ if data is not None:
260
+ if data.is_valid():
261
+ if data.has_permission():
262
+ return do_work(data)
263
+ else:
264
+ raise PermissionError("No permission")
265
+ else:
266
+ raise ValueError("Invalid data")
267
+ else:
268
+ raise TypeError("Data is None")
269
+ # After
270
+ def process(data):
271
+ if data is None:
272
+ raise TypeError("Data is None")
273
+ if not data.is_valid():
274
+ raise ValueError("Invalid data")
275
+ if not data.has_permission():
276
+ raise PermissionError("No permission")
277
+ return do_work(data)
278
+ ```
279
+
280
+ ### React / JSX
281
+
282
+ ```tsx
283
+ // SIMPLIFY: Verbose conditional rendering
284
+ // Before
285
+ function UserBadge({ user }: Props) {
286
+ if (user.isAdmin) {
287
+ return <Badge variant="admin">Admin</Badge>;
288
+ } else {
289
+ return <Badge variant="default">User</Badge>;
290
+ }
291
+ }
292
+ // After
293
+ function UserBadge({ user }: Props) {
294
+ const variant = user.isAdmin ? 'admin' : 'default';
295
+ const label = user.isAdmin ? 'Admin' : 'User';
296
+ return <Badge variant={variant}>{label}</Badge>;
297
+ }
298
+
299
+ // SIMPLIFY: Prop drilling through intermediate components
300
+ // Before — consider whether context or composition solves this better.
301
+ // This is a judgment call — flag it, don't auto-refactor.
302
+ ```
303
+
304
+ ## Common Rationalizations
305
+
306
+ | Rationalization | Reality |
307
+ |---|---|
308
+ | "It's working, no need to touch it" | Working code that's hard to read will be hard to fix when it breaks. Simplifying now saves time on every future change. |
309
+ | "Fewer lines is always simpler" | A 1-line nested ternary is not simpler than a 5-line if/else. Simplicity is about comprehension speed, not line count. |
310
+ | "I'll just quickly simplify this unrelated code too" | Unscoped simplification creates noisy diffs and risks regressions in code you didn't intend to change. Stay focused. |
311
+ | "The types make it self-documenting" | Types document structure, not intent. A well-named function explains *why* better than a type signature explains *what*. |
312
+ | "This abstraction might be useful later" | Don't preserve speculative abstractions. If it's not used now, it's complexity without value. Remove it and re-add when needed. |
313
+ | "The original author must have had a reason" | Maybe. Check git blame — apply Chesterton's Fence. But accumulated complexity often has no reason; it's just the residue of iteration under pressure. |
314
+ | "I'll refactor while adding this feature" | Separate refactoring from feature work. Mixed changes are harder to review, revert, and understand in history. |
315
+
316
+ ## Red Flags
317
+
318
+ - Simplification that requires modifying tests to pass (you likely changed behavior)
319
+ - "Simplified" code that is longer and harder to follow than the original
320
+ - Renaming things to match your preferences rather than project conventions
321
+ - Removing error handling because "it makes the code cleaner"
322
+ - Simplifying code you don't fully understand
323
+ - Batching many simplifications into one large, hard-to-review commit
324
+ - Refactoring code outside the scope of the current task without being asked
325
+
326
+ ## Verification
327
+
328
+ After completing a simplification pass:
329
+
330
+ - [ ] All existing tests pass without modification
331
+ - [ ] Build succeeds with no new warnings
332
+ - [ ] Linter/formatter passes (no style regressions)
333
+ - [ ] Each simplification is a reviewable, incremental change
334
+ - [ ] The diff is clean — no unrelated changes mixed in
335
+ - [ ] Simplified code follows project conventions (checked against CLAUDE.md or equivalent)
336
+ - [ ] No error handling was removed or weakened
337
+ - [ ] No dead code was left behind (unused imports, unreachable branches)
338
+ - [ ] A teammate or review agent would approve the change as a net improvement
339
+
340
+ ## Limitations
341
+
342
+ - Use this skill only when the task clearly matches its upstream source and local project context.
343
+ - Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
344
+ - Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.