opencode-skills-collection 4.0.68 → 4.0.70

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 (491) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +304 -1
  2. package/bundled-skills/access-review/SKILL.md +394 -0
  3. package/bundled-skills/access-review/references/details.md +121 -0
  4. package/bundled-skills/agent-evals/SKILL.md +420 -0
  5. package/bundled-skills/agent-observability/SKILL.md +346 -0
  6. package/bundled-skills/agent-observability/references/details.md +786 -0
  7. package/bundled-skills/ai-agent-security/SKILL.md +393 -0
  8. package/bundled-skills/ai-agent-security/references/details.md +912 -0
  9. package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
  10. package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
  11. package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
  12. package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
  13. package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
  14. package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
  15. package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
  16. package/bundled-skills/alerting-oncall/SKILL.md +458 -0
  17. package/bundled-skills/alerting-oncall/references/details.md +84 -0
  18. package/bundled-skills/api-integration-architect/SKILL.md +241 -0
  19. package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
  20. package/bundled-skills/apify-integration-development/SKILL.md +168 -0
  21. package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
  22. package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
  23. package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
  24. package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
  25. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  26. package/bundled-skills/architecture-review/README.md +42 -0
  27. package/bundled-skills/architecture-review/SKILL.md +77 -0
  28. package/bundled-skills/architecture-review/examples.md +11 -0
  29. package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
  30. package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
  31. package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
  32. package/bundled-skills/architecture-review/reference/graph.md +15 -0
  33. package/bundled-skills/architecture-review/reference/mcp.md +14 -0
  34. package/bundled-skills/architecture-review/reference/workflow.md +15 -0
  35. package/bundled-skills/architecture-review/templates/architecture-review.md +21 -0
  36. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  37. package/bundled-skills/arm-templates/SKILL.md +438 -0
  38. package/bundled-skills/arm-templates/references/details.md +64 -0
  39. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  40. package/bundled-skills/asset-inventory/references/details.md +127 -0
  41. package/bundled-skills/audit-logging/SKILL.md +476 -0
  42. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  43. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  44. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  45. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  46. package/bundled-skills/aws-iam/SKILL.md +463 -0
  47. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  48. package/bundled-skills/aws-rds/SKILL.md +380 -0
  49. package/bundled-skills/aws-s3/SKILL.md +434 -0
  50. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  51. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  52. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  53. package/bundled-skills/azure-aks/SKILL.md +423 -0
  54. package/bundled-skills/azure-devops/SKILL.md +457 -0
  55. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  56. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  57. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  58. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  59. package/bundled-skills/azure-networking/SKILL.md +448 -0
  60. package/bundled-skills/azure-networking/references/details.md +135 -0
  61. package/bundled-skills/azure-sql/SKILL.md +413 -0
  62. package/bundled-skills/azure-sql/references/details.md +113 -0
  63. package/bundled-skills/azure-vms/SKILL.md +402 -0
  64. package/bundled-skills/azure-vms/references/details.md +134 -0
  65. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  66. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  67. package/bundled-skills/bb-methodology/references/details.md +120 -0
  68. package/bundled-skills/block-storage/SKILL.md +371 -0
  69. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  70. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  71. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  72. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  73. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  74. package/bundled-skills/business-continuity/SKILL.md +463 -0
  75. package/bundled-skills/career-ops/SKILL.md +186 -0
  76. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  77. package/bundled-skills/change-management/SKILL.md +438 -0
  78. package/bundled-skills/change-management/references/details.md +105 -0
  79. package/bundled-skills/circleci/SKILL.md +475 -0
  80. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  81. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  82. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  83. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  84. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  85. package/bundled-skills/cloudformation/SKILL.md +461 -0
  86. package/bundled-skills/code-review-sensei/SKILL.md +177 -0
  87. package/bundled-skills/codebase-onboarding/README.md +42 -0
  88. package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
  89. package/bundled-skills/codebase-onboarding/examples.md +11 -0
  90. package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
  91. package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
  92. package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
  93. package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
  94. package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
  95. package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
  96. package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
  97. package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
  98. package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -0
  99. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  100. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  101. package/bundled-skills/container-hardening/SKILL.md +126 -0
  102. package/bundled-skills/container-registries/SKILL.md +435 -0
  103. package/bundled-skills/container-scanning/SKILL.md +416 -0
  104. package/bundled-skills/convex-backend/SKILL.md +338 -0
  105. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  106. package/bundled-skills/database-backups/SKILL.md +425 -0
  107. package/bundled-skills/datadog/SKILL.md +487 -0
  108. package/bundled-skills/dependency-analysis/README.md +42 -0
  109. package/bundled-skills/dependency-analysis/SKILL.md +76 -0
  110. package/bundled-skills/dependency-analysis/examples.md +11 -0
  111. package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
  112. package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
  113. package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
  114. package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
  115. package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
  116. package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
  117. package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
  118. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  119. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  120. package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -0
  121. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  122. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  123. package/bundled-skills/dns-management/SKILL.md +375 -0
  124. package/bundled-skills/docker-compose/SKILL.md +482 -0
  125. package/bundled-skills/docker-management/SKILL.md +426 -0
  126. package/bundled-skills/eas-app-stores/SKILL.md +197 -0
  127. package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
  128. package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
  129. package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
  130. package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
  131. package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
  132. package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
  133. package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
  134. package/bundled-skills/eas-hosting/SKILL.md +448 -0
  135. package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
  136. package/bundled-skills/eas-observe/SKILL.md +75 -0
  137. package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
  138. package/bundled-skills/eas-observe/references/metrics.md +98 -0
  139. package/bundled-skills/eas-observe/references/queries.md +403 -0
  140. package/bundled-skills/eas-observe/references/setup.md +476 -0
  141. package/bundled-skills/eas-observe/references/third-party.md +136 -0
  142. package/bundled-skills/eas-simulator/SKILL.md +251 -0
  143. package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
  144. package/bundled-skills/eas-simulator/references/controllers.md +135 -0
  145. package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
  146. package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
  147. package/bundled-skills/eas-workflows/SKILL.md +119 -0
  148. package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
  149. package/bundled-skills/eas-workflows/scripts/fetch.js +109 -0
  150. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  151. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  152. package/bundled-skills/elk-stack/SKILL.md +487 -0
  153. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  154. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  155. package/bundled-skills/expo-animation/LICENSE +21 -0
  156. package/bundled-skills/expo-animation/RECIPES.md +385 -0
  157. package/bundled-skills/expo-animation/SKILL.md +295 -0
  158. package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
  159. package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
  160. package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
  161. package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
  162. package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
  163. package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
  164. package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
  165. package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
  166. package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
  167. package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
  168. package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
  169. package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
  170. package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -0
  171. package/bundled-skills/feature-flags/SKILL.md +426 -0
  172. package/bundled-skills/feature-flags/references/details.md +86 -0
  173. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  174. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  175. package/bundled-skills/firewall-config/SKILL.md +479 -0
  176. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  177. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  178. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  179. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  180. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  181. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  182. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  183. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  184. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  185. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  186. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  187. package/bundled-skills/geo-audit/SKILL.md +368 -0
  188. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  189. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  190. package/bundled-skills/geo-citability/SKILL.md +350 -0
  191. package/bundled-skills/geo-compare/SKILL.md +340 -0
  192. package/bundled-skills/geo-content/SKILL.md +383 -0
  193. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  194. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  195. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  196. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  197. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  198. package/bundled-skills/geo-report/SKILL.md +436 -0
  199. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  200. package/bundled-skills/geo-schema/SKILL.md +408 -0
  201. package/bundled-skills/geo-technical/SKILL.md +78 -0
  202. package/bundled-skills/geo-technical/references/details.md +543 -0
  203. package/bundled-skills/git-workflow/SKILL.md +460 -0
  204. package/bundled-skills/github-actions/SKILL.md +368 -0
  205. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  206. package/bundled-skills/gpt-taste/SKILL.md +8 -1
  207. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  208. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  209. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  210. package/bundled-skills/helm-charts/SKILL.md +469 -0
  211. package/bundled-skills/hf-cli/SKILL.md +263 -0
  212. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  213. package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
  214. package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
  215. package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
  216. package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
  217. package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
  218. package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
  219. package/bundled-skills/huggingface-datasets/SKILL.md +130 -0
  220. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  221. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  222. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  223. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  224. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  225. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  226. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  227. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  228. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  229. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  230. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  231. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  232. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  233. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  234. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  235. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  236. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  237. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  238. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  239. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  240. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  241. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  242. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  243. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  244. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  245. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  246. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  247. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  248. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  249. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  250. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  251. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  252. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  253. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  254. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  255. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  256. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  257. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  258. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  259. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  260. package/bundled-skills/hunt-rce/references/details.md +110 -0
  261. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  262. package/bundled-skills/hunt-session/SKILL.md +342 -0
  263. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  264. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  265. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  266. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  267. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  268. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  269. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  270. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  271. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  272. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  273. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  274. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  275. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  276. package/bundled-skills/identity-access-management/references/details.md +524 -0
  277. package/bundled-skills/incident-management/SKILL.md +484 -0
  278. package/bundled-skills/incident-response/SKILL.md +448 -0
  279. package/bundled-skills/incident-response/references/details.md +113 -0
  280. package/bundled-skills/interview-me/SKILL.md +248 -0
  281. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  282. package/bundled-skills/jenkins/SKILL.md +462 -0
  283. package/bundled-skills/jev-social/SKILL.md +182 -0
  284. package/bundled-skills/jev-use/SKILL.md +158 -0
  285. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  286. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  287. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  288. package/bundled-skills/kustomize/SKILL.md +478 -0
  289. package/bundled-skills/linux-administration/SKILL.md +367 -0
  290. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  291. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  292. package/bundled-skills/llm-app-security/references/details.md +674 -0
  293. package/bundled-skills/llm-caching/SKILL.md +334 -0
  294. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  295. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  296. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  297. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  298. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  299. package/bundled-skills/load-balancing/SKILL.md +403 -0
  300. package/bundled-skills/loki-logging/SKILL.md +479 -0
  301. package/bundled-skills/longbridge-derivatives/SKILL.md +117 -0
  302. package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
  303. package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
  304. package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
  305. package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
  306. package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
  307. package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
  308. package/bundled-skills/longbridge-quant/SKILL.md +151 -0
  309. package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
  310. package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
  311. package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
  312. package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
  313. package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
  314. package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
  315. package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
  316. package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
  317. package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
  318. package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
  319. package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
  320. package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
  321. package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
  322. package/bundled-skills/longbridge-research/SKILL.md +187 -0
  323. package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
  324. package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
  325. package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
  326. package/bundled-skills/longbridge-research/references/consensus.md +92 -0
  327. package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
  328. package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
  329. package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
  330. package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
  331. package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
  332. package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
  333. package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
  334. package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
  335. package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
  336. package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
  337. package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
  338. package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
  339. package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
  340. package/bundled-skills/longbridge-research/references/investors.md +87 -0
  341. package/bundled-skills/longbridge-research/references/onchain.md +70 -0
  342. package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
  343. package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
  344. package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
  345. package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
  346. package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
  347. package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
  348. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  349. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  350. package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
  351. package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
  352. package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
  353. package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
  354. package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
  355. package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
  356. package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
  357. package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
  358. package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
  359. package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
  360. package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
  361. package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
  362. package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
  363. package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
  364. package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -0
  365. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  366. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  367. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  368. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  369. package/bundled-skills/meeting-distiller-pro/SKILL.md +120 -0
  370. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  371. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  372. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  373. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  374. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  375. package/bundled-skills/mongodb/SKILL.md +436 -0
  376. package/bundled-skills/monte-carlo-analyze-root-cause/SKILL.md +12 -1
  377. package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
  378. package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
  379. package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -0
  380. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  381. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  382. package/bundled-skills/mysql/SKILL.md +390 -0
  383. package/bundled-skills/new-relic/SKILL.md +472 -0
  384. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  385. package/bundled-skills/object-storage/SKILL.md +378 -0
  386. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  387. package/bundled-skills/okta-attack/SKILL.md +436 -0
  388. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  389. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  390. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  391. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  392. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  393. package/bundled-skills/openshift/SKILL.md +485 -0
  394. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  395. package/bundled-skills/opentelemetry/references/details.md +78 -0
  396. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  397. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  398. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  399. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  400. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  401. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  402. package/bundled-skills/planetscale/SKILL.md +297 -0
  403. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  404. package/bundled-skills/platform-engineering/references/details.md +944 -0
  405. package/bundled-skills/podman/SKILL.md +405 -0
  406. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  407. package/bundled-skills/policy-as-code/references/details.md +204 -0
  408. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  409. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  410. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  411. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  412. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  413. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  414. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  415. package/bundled-skills/redis/SKILL.md +421 -0
  416. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  417. package/bundled-skills/remotion-captions/SKILL.md +57 -0
  418. package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
  419. package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
  420. package/bundled-skills/remotion-captions/display-captions.md +190 -0
  421. package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
  422. package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
  423. package/bundled-skills/remotion-create/SKILL.md +106 -0
  424. package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
  425. package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
  426. package/bundled-skills/remotion-create/tailwind.md +11 -0
  427. package/bundled-skills/remotion-create/video-layout.md +9 -0
  428. package/bundled-skills/remotion-docs/SKILL.md +67 -0
  429. package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
  430. package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
  431. package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
  432. package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
  433. package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
  434. package/bundled-skills/remotion-render/SKILL.md +48 -0
  435. package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
  436. package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
  437. package/bundled-skills/remotion-render/transparent-videos.md +106 -0
  438. package/bundled-skills/report-writing/SKILL.md +426 -0
  439. package/bundled-skills/report-writing/references/details.md +187 -0
  440. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  441. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  442. package/bundled-skills/runbook-creation/references/details.md +71 -0
  443. package/bundled-skills/saas-pricing-strategist/SKILL.md +169 -0
  444. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  445. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  446. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  447. package/bundled-skills/score-eval/SKILL.md +35 -0
  448. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  449. package/bundled-skills/security-arsenal/references/details.md +540 -0
  450. package/bundled-skills/security-automation/SKILL.md +146 -0
  451. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  452. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  453. package/bundled-skills/service-mesh/SKILL.md +422 -0
  454. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  455. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  456. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  457. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  458. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  459. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  460. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  461. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  462. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  463. package/bundled-skills/systemd-services/SKILL.md +379 -0
  464. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  465. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  466. package/bundled-skills/terraform-azure/references/details.md +231 -0
  467. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  468. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  469. package/bundled-skills/user-management/SKILL.md +383 -0
  470. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  471. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  472. package/bundled-skills/vendor-management/SKILL.md +439 -0
  473. package/bundled-skills/vendor-management/references/details.md +109 -0
  474. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  475. package/bundled-skills/vllm-server/SKILL.md +236 -0
  476. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  477. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  478. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  479. package/bundled-skills/waf-setup/SKILL.md +354 -0
  480. package/bundled-skills/waf-setup/references/details.md +211 -0
  481. package/bundled-skills/web2-recon/SKILL.md +440 -0
  482. package/bundled-skills/web2-recon/references/details.md +319 -0
  483. package/bundled-skills/web3-audit/SKILL.md +445 -0
  484. package/bundled-skills/web3-audit/references/details.md +224 -0
  485. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  486. package/bundled-skills/windows-hardening/references/details.md +204 -0
  487. package/bundled-skills/windows-server/SKILL.md +318 -0
  488. package/bundled-skills/writing-guidelines/SKILL.md +60 -0
  489. package/bundled-skills/zero-trust/SKILL.md +461 -0
  490. package/package.json +1 -1
  491. package/skills_index.json +7874 -277
@@ -0,0 +1,284 @@
1
+ ---
2
+ name: gcp-cloud-functions
3
+ description: Deploy serverless functions on Google Cloud Functions. Configure triggers
4
+ and manage deployments. Use when implementing serverless workloads on GCP.
5
+ category: devops
6
+ risk: critical
7
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
8
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
13
+ compatibility: Requires the relevant OS/platform tooling and privileged access where
14
+ noted. Docs-only; helper scripts and templates not bundled.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # GCP Cloud Functions
21
+
22
+ Build and deploy event-driven serverless applications with Google Cloud Functions (Gen1 and Gen2).
23
+
24
+ ## When to Use
25
+
26
+ - Processing webhooks, API endpoints, or lightweight HTTP backends
27
+ - Reacting to events from Pub/Sub, Cloud Storage, Firestore, or Eventarc
28
+ - Running scheduled tasks (cron) without maintaining a server
29
+ - Building data-processing pipelines triggered by file uploads
30
+ - Prototyping microservices before committing to Cloud Run or GKE
31
+
32
+ ## Prerequisites
33
+
34
+ - Google Cloud SDK (`gcloud`) installed and authenticated
35
+ - APIs enabled: Cloud Functions, Cloud Build, Artifact Registry, Cloud Run (Gen2)
36
+ - IAM role `roles/cloudfunctions.developer` (or `roles/run.developer` for Gen2)
37
+
38
+ ```bash
39
+ gcloud services enable cloudfunctions.googleapis.com cloudbuild.googleapis.com \
40
+ artifactregistry.googleapis.com run.googleapis.com eventarc.googleapis.com
41
+ ```
42
+
43
+ ## Gen1 vs Gen2 Comparison
44
+
45
+ | Feature | Gen1 | Gen2 (recommended) |
46
+ |---------|------|---------------------|
47
+ | Runtime | Cloud Functions infra | Built on Cloud Run |
48
+ | Max timeout | 9 minutes | 60 minutes |
49
+ | Max memory | 8 GB | 32 GB |
50
+ | Concurrency | 1 request/instance | Up to 1000/instance |
51
+ | Traffic splitting | No | Yes |
52
+ | Eventarc triggers | No | Yes |
53
+
54
+ ## Deploy an HTTP Function (Gen2)
55
+
56
+ ```bash
57
+ # Python HTTP function
58
+ gcloud functions deploy hello-http \
59
+ --gen2 --region=us-central1 --runtime=python312 \
60
+ --trigger-http --allow-unauthenticated \
61
+ --entry-point=hello_http \
62
+ --memory=256Mi --timeout=60s \
63
+ --min-instances=0 --max-instances=100 \
64
+ --set-env-vars=APP_ENV=production --source=.
65
+
66
+ # Node.js HTTP function
67
+ gcloud functions deploy hello-node \
68
+ --gen2 --region=us-central1 --runtime=nodejs20 \
69
+ --trigger-http --allow-unauthenticated \
70
+ --entry-point=helloNode --memory=256Mi --source=.
71
+ ```
72
+
73
+ ## Deploy a Pub/Sub Triggered Function
74
+
75
+ ```bash
76
+ gcloud pubsub topics create order-events
77
+
78
+ gcloud functions deploy process-order \
79
+ --gen2 --region=us-central1 --runtime=python312 \
80
+ --trigger-topic=order-events \
81
+ --entry-point=process_order \
82
+ --memory=512Mi --timeout=120s --retry \
83
+ --service-account=order-processor@${PROJECT_ID}.iam.gserviceaccount.com \
84
+ --source=.
85
+ ```
86
+
87
+ ## Deploy a Cloud Storage Triggered Function
88
+
89
+ ```bash
90
+ gcloud functions deploy process-upload \
91
+ --gen2 --region=us-central1 --runtime=python312 \
92
+ --trigger-event-filters="type=google.cloud.storage.object.v1.finalized" \
93
+ --trigger-event-filters="bucket=my-upload-bucket" \
94
+ --entry-point=process_upload \
95
+ --memory=1Gi --timeout=300s --source=.
96
+ ```
97
+
98
+ ## Deploy a Scheduled Function
99
+
100
+ ```bash
101
+ gcloud functions deploy daily-cleanup \
102
+ --gen2 --region=us-central1 --runtime=python312 \
103
+ --trigger-http --no-allow-unauthenticated \
104
+ --entry-point=daily_cleanup --source=.
105
+
106
+ gcloud scheduler jobs create http daily-cleanup-job \
107
+ --schedule="0 2 * * *" \
108
+ --uri="https://us-central1-${PROJECT_ID}.cloudfunctions.net/daily-cleanup" \
109
+ --http-method=POST \
110
+ --oidc-service-account-email=scheduler-sa@${PROJECT_ID}.iam.gserviceaccount.com \
111
+ --location=us-central1
112
+ ```
113
+
114
+ ## Python Function Examples
115
+
116
+ ```python
117
+ # main.py
118
+ import functions_framework
119
+ import base64, json
120
+ from flask import jsonify
121
+ from google.cloud import firestore
122
+
123
+ @functions_framework.http
124
+ def hello_http(request):
125
+ """HTTP Cloud Function."""
126
+ name = request.args.get("name", "World")
127
+ return jsonify({"message": f"Hello, {name}!", "status": "ok"}), 200
128
+
129
+ @functions_framework.cloud_event
130
+ def process_order(cloud_event):
131
+ """Triggered by a Pub/Sub message."""
132
+ data = base64.b64decode(cloud_event.data["message"]["data"]).decode("utf-8")
133
+ order = json.loads(data)
134
+ db = firestore.Client()
135
+ db.collection("orders").document(order["id"]).set({
136
+ "status": "processing", "items": order["items"], "total": order["total"],
137
+ })
138
+
139
+ @functions_framework.cloud_event
140
+ def process_upload(cloud_event):
141
+ """Triggered when a file is uploaded to Cloud Storage."""
142
+ data = cloud_event.data
143
+ bucket_name, file_name = data["bucket"], data["name"]
144
+ if not file_name.lower().endswith((".png", ".jpg", ".jpeg")):
145
+ return
146
+ from google.cloud import vision
147
+ client = vision.ImageAnnotatorClient()
148
+ image = vision.Image(source=vision.ImageSource(
149
+ gcs_image_uri=f"gs://{bucket_name}/{file_name}"))
150
+ labels = [l.description for l in client.label_detection(image=image).label_annotations]
151
+ print(f"Labels for {file_name}: {labels}")
152
+ ```
153
+
154
+ ```
155
+ # requirements.txt
156
+ functions-framework==3.*
157
+ google-cloud-firestore==2.*
158
+ google-cloud-storage==2.*
159
+ google-cloud-vision==3.*
160
+ flask>=2.0
161
+ ```
162
+
163
+ ## Node.js Function Examples
164
+
165
+ ```javascript
166
+ // index.js
167
+ const functions = require("@google-cloud/functions-framework");
168
+
169
+ functions.http("helloNode", (req, res) => {
170
+ const name = req.query.name || "World";
171
+ res.json({ message: `Hello, ${name}!`, status: "ok" });
172
+ });
173
+
174
+ functions.cloudEvent("processMessage", (cloudEvent) => {
175
+ const data = Buffer.from(cloudEvent.data.message.data, "base64").toString();
176
+ console.log(`Processing: ${JSON.parse(data)}`);
177
+ });
178
+ ```
179
+
180
+ ## Managing Deployed Functions
181
+
182
+ ```bash
183
+ gcloud functions list --gen2 --region=us-central1
184
+ gcloud functions describe hello-http --gen2 --region=us-central1
185
+ gcloud functions logs read hello-http --gen2 --region=us-central1 --limit=50
186
+ gcloud functions delete hello-http --gen2 --region=us-central1 --quiet
187
+
188
+ # Update env vars without redeploying code
189
+ gcloud functions deploy hello-http --gen2 --region=us-central1 \
190
+ --update-env-vars=APP_ENV=staging
191
+
192
+ # Test locally before deploying
193
+ functions-framework --target=hello_http --port=8080
194
+ ```
195
+
196
+ ## Terraform Configuration
197
+
198
+ ```hcl
199
+ resource "google_cloudfunctions2_function" "api" {
200
+ name = "hello-http"
201
+ location = "us-central1"
202
+
203
+ build_config {
204
+ runtime = "python312"
205
+ entry_point = "hello_http"
206
+ source {
207
+ storage_source {
208
+ bucket = google_storage_bucket.source.name
209
+ object = google_storage_bucket_object.source.name
210
+ }
211
+ }
212
+ }
213
+
214
+ service_config {
215
+ min_instance_count = 0
216
+ max_instance_count = 100
217
+ available_memory = "256Mi"
218
+ timeout_seconds = 60
219
+ service_account_email = google_service_account.fn.email
220
+ environment_variables = { APP_ENV = "production" }
221
+ }
222
+ }
223
+
224
+ resource "google_cloud_run_service_iam_member" "invoker" {
225
+ location = google_cloudfunctions2_function.api.location
226
+ service = google_cloudfunctions2_function.api.name
227
+ role = "roles/run.invoker"
228
+ member = "allUsers"
229
+ }
230
+
231
+ resource "google_cloudfunctions2_function" "processor" {
232
+ name = "process-order"
233
+ location = "us-central1"
234
+
235
+ build_config {
236
+ runtime = "python312"
237
+ entry_point = "process_order"
238
+ source {
239
+ storage_source {
240
+ bucket = google_storage_bucket.source.name
241
+ object = google_storage_bucket_object.source.name
242
+ }
243
+ }
244
+ }
245
+
246
+ service_config {
247
+ max_instance_count = 50
248
+ available_memory = "512Mi"
249
+ timeout_seconds = 120
250
+ service_account_email = google_service_account.fn.email
251
+ }
252
+
253
+ event_trigger {
254
+ trigger_region = "us-central1"
255
+ event_type = "google.cloud.pubsub.topic.v1.messagePublished"
256
+ pubsub_topic = google_pubsub_topic.orders.id
257
+ retry_policy = "RETRY_POLICY_RETRY"
258
+ }
259
+ }
260
+ ```
261
+
262
+ ## Troubleshooting
263
+
264
+ | Symptom | Cause | Fix |
265
+ |---------|-------|-----|
266
+ | `PERMISSION_DENIED` on deploy | Missing Cloud Build or Artifact Registry perms | Grant `roles/cloudbuild.builds.builder` to Cloud Build SA |
267
+ | Function deploys but returns 403 | Missing `roles/run.invoker` for Gen2 | Add `--allow-unauthenticated` or grant invoker role |
268
+ | Cold start latency > 5s | Large dependencies or no min instances | Set `--min-instances=1`; reduce deps; use lazy imports |
269
+ | Pub/Sub messages redelivered | Function errors or times out | Increase `--timeout`; fix error handling; add dead-letter topic |
270
+ | `Build failed` during deploy | Syntax error or missing dependency | Check `gcloud builds log`; verify requirements.txt |
271
+ | Cannot connect to VPC resource | Function not on VPC connector | Add `--vpc-connector=my-connector` to deploy |
272
+
273
+ ## Related Skills
274
+
275
+ - **gcp-networking** - VPC connectors for accessing private resources from functions
276
+ - **gcp-cloud-sql** - Connecting Cloud Functions to managed databases
277
+ - **terraform-gcp** - Deploy Cloud Functions with Infrastructure as Code
278
+ - **gcp-gke** - When workloads outgrow serverless and need Kubernetes
279
+
280
+ ## Limitations
281
+
282
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
283
+ - Docs-only import: upstream scripts and templates not bundled.
284
+
@@ -0,0 +1,277 @@
1
+ ---
2
+ name: gcp-cloud-sql
3
+ description: Provision Cloud SQL and Spanner databases. Configure high availability,
4
+ backups, and security. Use when deploying managed databases on GCP.
5
+ category: devops
6
+ risk: critical
7
+ source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
8
+ source_repo: BagelHole/DevOps-Security-Agent-Skills
9
+ source_type: community
10
+ date_added: '2026-09-20'
11
+ license: MIT
12
+ license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
13
+ compatibility: Requires the relevant OS/platform tooling and privileged access where
14
+ noted. Docs-only; helper scripts and templates not bundled.
15
+ metadata:
16
+ author: devops-skills
17
+ version: '1.0'
18
+ ---
19
+
20
+ # GCP Cloud SQL
21
+
22
+ Deploy and manage fully managed relational databases (PostgreSQL, MySQL, SQL Server) on Google Cloud.
23
+
24
+ ## When to Use
25
+
26
+ - Running production relational databases without managing replication, patching, or backups
27
+ - Migrating on-premises PostgreSQL or MySQL workloads to a managed service
28
+ - Applications requiring ACID transactions, relational schemas, and SQL query support
29
+ - Workloads that need automated high availability with regional failover
30
+
31
+ ## Prerequisites
32
+
33
+ - Google Cloud SDK (`gcloud`) installed and authenticated
34
+ - Cloud SQL Admin API and Service Networking API enabled
35
+ - IAM role `roles/cloudsql.admin` for full management
36
+
37
+ ```bash
38
+ gcloud services enable sqladmin.googleapis.com servicenetworking.googleapis.com
39
+ ```
40
+
41
+ ## Instance Tiers Reference
42
+
43
+ | Tier | vCPUs | Memory | Use Case |
44
+ |------|-------|--------|----------|
45
+ | db-f1-micro | Shared | 0.6 GB | Dev/test only |
46
+ | db-g1-small | Shared | 1.7 GB | Low-traffic staging |
47
+ | db-custom-2-8192 | 2 | 8 GB | Small production |
48
+ | db-custom-4-16384 | 4 | 16 GB | Medium production |
49
+ | db-custom-8-32768 | 8 | 32 GB | High-traffic production |
50
+
51
+ ## Create a PostgreSQL Instance
52
+
53
+ ```bash
54
+ gcloud sql instances create prod-db \
55
+ --database-version=POSTGRES_16 \
56
+ --tier=db-custom-4-16384 \
57
+ --region=us-central1 \
58
+ --availability-type=REGIONAL \
59
+ --storage-type=SSD --storage-size=100GB --storage-auto-increase \
60
+ --backup-start-time=02:00 --enable-point-in-time-recovery \
61
+ --retained-backups-count=14 \
62
+ --maintenance-window-day=SUN --maintenance-window-hour=4 \
63
+ --database-flags=max_connections=200,log_min_duration_statement=1000 \
64
+ --root-password=$(openssl rand -base64 24) \
65
+ --labels=env=production,team=backend
66
+
67
+ gcloud sql databases create myapp --instance=prod-db --charset=UTF8
68
+ gcloud sql users create appuser --instance=prod-db \
69
+ --password=$(openssl rand -base64 24)
70
+ ```
71
+
72
+ ## Create a MySQL Instance
73
+
74
+ ```bash
75
+ gcloud sql instances create mysql-prod \
76
+ --database-version=MYSQL_8_0 \
77
+ --tier=db-custom-4-16384 --region=us-central1 \
78
+ --availability-type=REGIONAL \
79
+ --storage-type=SSD --storage-size=100GB --storage-auto-increase \
80
+ --backup-start-time=02:00 --enable-bin-log --retained-backups-count=14 \
81
+ --database-flags=slow_query_log=on,long_query_time=2,max_connections=500 \
82
+ --root-password=$(openssl rand -base64 24)
83
+ ```
84
+
85
+ ## Private IP Configuration
86
+
87
+ ```bash
88
+ # Allocate IP range and create private connection
89
+ gcloud compute addresses create google-managed-services \
90
+ --global --purpose=VPC_PEERING --prefix-length=16 --network=my-vpc
91
+
92
+ gcloud services vpc-peerings connect \
93
+ --service=servicenetworking.googleapis.com \
94
+ --ranges=google-managed-services --network=my-vpc
95
+
96
+ # Create instance with private IP only
97
+ gcloud sql instances create private-db \
98
+ --database-version=POSTGRES_16 --tier=db-custom-2-8192 \
99
+ --region=us-central1 \
100
+ --network=projects/${PROJECT_ID}/global/networks/my-vpc \
101
+ --no-assign-ip --availability-type=REGIONAL \
102
+ --storage-type=SSD --storage-size=50GB --storage-auto-increase
103
+ ```
104
+
105
+ ## Read Replicas
106
+
107
+ ```bash
108
+ # Same-region replica
109
+ gcloud sql instances create prod-db-replica-1 \
110
+ --master-instance-name=prod-db --tier=db-custom-4-16384 \
111
+ --region=us-central1 --availability-type=ZONAL
112
+
113
+ # Cross-region replica for DR
114
+ gcloud sql instances create prod-db-replica-eu \
115
+ --master-instance-name=prod-db --tier=db-custom-4-16384 \
116
+ --region=europe-west1 --availability-type=ZONAL
117
+
118
+ # Promote a replica to standalone (disaster recovery)
119
+ gcloud sql instances promote-replica prod-db-replica-eu
120
+ ```
121
+
122
+ ## Backups and Restore
123
+
124
+ ```bash
125
+ gcloud sql backups create --instance=prod-db --description="pre-migration"
126
+ gcloud sql backups list --instance=prod-db
127
+
128
+ # Point-in-time recovery
129
+ gcloud sql instances clone prod-db prod-db-pitr \
130
+ --point-in-time="2026-03-23T10:00:00Z"
131
+
132
+ # Export / import
133
+ gcloud sql export sql prod-db gs://my-bucket/export.sql.gz --database=myapp
134
+ gcloud sql import sql prod-db gs://my-bucket/export.sql.gz --database=myapp
135
+ ```
136
+
137
+ ## Cloud SQL Auth Proxy
138
+
139
+ ```bash
140
+ curl -o cloud-sql-proxy \
141
+ https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.11.0/cloud-sql-proxy.linux.amd64
142
+ chmod +x cloud-sql-proxy
143
+
144
+ ./cloud-sql-proxy ${PROJECT_ID}:us-central1:prod-db --port=5432 --auto-iam-authn
145
+
146
+ # Unix socket (for Kubernetes sidecar pattern)
147
+ ./cloud-sql-proxy ${PROJECT_ID}:us-central1:prod-db --unix-socket=/tmp/cloudsql
148
+ psql "host=/tmp/cloudsql/${PROJECT_ID}:us-central1:prod-db user=appuser dbname=myapp"
149
+ ```
150
+
151
+ ## Connection Methods Summary
152
+
153
+ | Method | Use Case | Requirement |
154
+ |--------|----------|-------------|
155
+ | Public IP + SSL | Dev/test access | Authorized networks configured |
156
+ | Cloud SQL Auth Proxy | Production on GCE/GKE | SA with `roles/cloudsql.client` |
157
+ | Private IP | VPC-native apps | VPC peering configured |
158
+ | Cloud SQL Connector lib | App-level integration | SA credentials |
159
+
160
+ ## Terraform Configuration
161
+
162
+ ```hcl
163
+ resource "google_sql_database_instance" "main" {
164
+ name = "prod-db"
165
+ database_version = "POSTGRES_16"
166
+ region = "us-central1"
167
+
168
+ settings {
169
+ tier = "db-custom-4-16384"
170
+ availability_type = "REGIONAL"
171
+ disk_type = "PD_SSD"
172
+ disk_size = 100
173
+ disk_autoresize = true
174
+
175
+ backup_configuration {
176
+ enabled = true
177
+ start_time = "02:00"
178
+ point_in_time_recovery_enabled = true
179
+ backup_retention_settings { retained_backups = 14 }
180
+ }
181
+
182
+ ip_configuration {
183
+ ipv4_enabled = false
184
+ private_network = google_compute_network.vpc.id
185
+ require_ssl = true
186
+ }
187
+
188
+ maintenance_window { day = 7; hour = 4 }
189
+ database_flags { name = "max_connections"; value = "200" }
190
+
191
+ user_labels = { env = "production" }
192
+ }
193
+
194
+ deletion_protection = true
195
+ depends_on = [google_service_networking_connection.private_vpc]
196
+ }
197
+
198
+ resource "google_sql_database" "app" {
199
+ name = "myapp"
200
+ instance = google_sql_database_instance.main.name
201
+ }
202
+
203
+ resource "google_sql_user" "app" {
204
+ name = "appuser"
205
+ instance = google_sql_database_instance.main.name
206
+ password = random_password.db_password.result
207
+ }
208
+
209
+ resource "google_sql_database_instance" "replica" {
210
+ name = "prod-db-replica-1"
211
+ master_instance_name = google_sql_database_instance.main.name
212
+ region = "us-central1"
213
+ database_version = "POSTGRES_16"
214
+
215
+ replica_configuration { failover_target = false }
216
+
217
+ settings {
218
+ tier = "db-custom-4-16384"
219
+ disk_type = "PD_SSD"
220
+ disk_autoresize = true
221
+ ip_configuration {
222
+ ipv4_enabled = false
223
+ private_network = google_compute_network.vpc.id
224
+ }
225
+ }
226
+ }
227
+
228
+ resource "google_compute_global_address" "private_ip" {
229
+ name = "google-managed-services"
230
+ purpose = "VPC_PEERING"
231
+ address_type = "INTERNAL"
232
+ prefix_length = 16
233
+ network = google_compute_network.vpc.id
234
+ }
235
+
236
+ resource "google_service_networking_connection" "private_vpc" {
237
+ network = google_compute_network.vpc.id
238
+ service = "servicenetworking.googleapis.com"
239
+ reserved_peering_ranges = [google_compute_global_address.private_ip.name]
240
+ }
241
+ ```
242
+
243
+ ## Common Operations
244
+
245
+ ```bash
246
+ gcloud sql instances list
247
+ gcloud sql instances describe prod-db \
248
+ --format="yaml(state,settings.tier,settings.availabilityType,ipAddresses)"
249
+ gcloud sql instances patch prod-db --storage-size=200GB
250
+ gcloud sql instances patch prod-db --database-flags=max_connections=300
251
+ gcloud sql instances restart prod-db
252
+ ```
253
+
254
+ ## Troubleshooting
255
+
256
+ | Symptom | Cause | Fix |
257
+ |---------|-------|-----|
258
+ | `Connection refused` via public IP | IP not in authorized networks | Add IP with `gcloud sql instances patch --authorized-networks` |
259
+ | `SSL required` error | `require_ssl=true` but client not using SSL | Use Cloud SQL Proxy or pass `sslmode=require` |
260
+ | High replication lag | Replica tier too small or write-heavy primary | Increase replica tier; reduce write load |
261
+ | Instance slow despite RUNNABLE | Under-provisioned CPU/memory | Scale tier with `gcloud sql instances patch --tier` |
262
+ | Proxy returns `ECONNREFUSED` | Wrong connection name or missing IAM role | Verify `project:region:instance` format; grant `roles/cloudsql.client` |
263
+ | Cannot create private IP instance | VPC peering not established | Run `gcloud services vpc-peerings connect` first |
264
+ | Backup restore fails | Incompatible version | Ensure same major database version between source and target |
265
+
266
+ ## Related Skills
267
+
268
+ - **gcp-networking** - VPC and private service connect for Cloud SQL private IP
269
+ - **terraform-gcp** - Provision Cloud SQL with Infrastructure as Code
270
+ - **gcp-gke** - Connecting Kubernetes workloads to Cloud SQL via sidecar proxy
271
+ - **gcp-compute** - Running applications on Compute Engine that connect to Cloud SQL
272
+
273
+ ## Limitations
274
+
275
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
276
+ - Docs-only import: upstream scripts and templates not bundled.
277
+