opencode-skills-collection 4.0.67 → 4.0.69

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 (329) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +281 -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/anti-slop-design/SKILL.md +393 -0
  19. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
  20. package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
  21. package/bundled-skills/argocd-gitops/SKILL.md +469 -0
  22. package/bundled-skills/arm-templates/SKILL.md +438 -0
  23. package/bundled-skills/arm-templates/references/details.md +64 -0
  24. package/bundled-skills/artifact-yylo/SKILL.md +122 -0
  25. package/bundled-skills/asset-inventory/SKILL.md +412 -0
  26. package/bundled-skills/asset-inventory/references/details.md +127 -0
  27. package/bundled-skills/audit-logging/SKILL.md +476 -0
  28. package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
  29. package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
  30. package/bundled-skills/aws-ec2/SKILL.md +426 -0
  31. package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
  32. package/bundled-skills/aws-iam/SKILL.md +463 -0
  33. package/bundled-skills/aws-lambda/SKILL.md +428 -0
  34. package/bundled-skills/aws-rds/SKILL.md +380 -0
  35. package/bundled-skills/aws-s3/SKILL.md +434 -0
  36. package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
  37. package/bundled-skills/aws-vpc/SKILL.md +436 -0
  38. package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
  39. package/bundled-skills/azure-aks/SKILL.md +423 -0
  40. package/bundled-skills/azure-devops/SKILL.md +457 -0
  41. package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
  42. package/bundled-skills/azure-keyvault/SKILL.md +455 -0
  43. package/bundled-skills/azure-keyvault/references/details.md +83 -0
  44. package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
  45. package/bundled-skills/azure-networking/SKILL.md +448 -0
  46. package/bundled-skills/azure-networking/references/details.md +135 -0
  47. package/bundled-skills/azure-sql/SKILL.md +413 -0
  48. package/bundled-skills/azure-sql/references/details.md +113 -0
  49. package/bundled-skills/azure-vms/SKILL.md +402 -0
  50. package/bundled-skills/azure-vms/references/details.md +134 -0
  51. package/bundled-skills/backup-recovery/SKILL.md +388 -0
  52. package/bundled-skills/bb-methodology/SKILL.md +451 -0
  53. package/bundled-skills/bb-methodology/references/details.md +120 -0
  54. package/bundled-skills/block-storage/SKILL.md +371 -0
  55. package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
  56. package/bundled-skills/blue-green-deploy/references/details.md +90 -0
  57. package/bundled-skills/bug-bounty/SKILL.md +447 -0
  58. package/bundled-skills/bug-bounty/references/details.md +1316 -0
  59. package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
  60. package/bundled-skills/business-continuity/SKILL.md +463 -0
  61. package/bundled-skills/career-ops/SKILL.md +186 -0
  62. package/bundled-skills/cdn-setup/SKILL.md +374 -0
  63. package/bundled-skills/change-management/SKILL.md +438 -0
  64. package/bundled-skills/change-management/references/details.md +105 -0
  65. package/bundled-skills/circleci/SKILL.md +475 -0
  66. package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
  67. package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
  68. package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
  69. package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
  70. package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
  71. package/bundled-skills/cloudformation/SKILL.md +461 -0
  72. package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
  73. package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
  74. package/bundled-skills/container-hardening/SKILL.md +126 -0
  75. package/bundled-skills/container-registries/SKILL.md +435 -0
  76. package/bundled-skills/container-scanning/SKILL.md +416 -0
  77. package/bundled-skills/convex-backend/SKILL.md +338 -0
  78. package/bundled-skills/dast-scanning/SKILL.md +437 -0
  79. package/bundled-skills/database-backups/SKILL.md +425 -0
  80. package/bundled-skills/datadog/SKILL.md +487 -0
  81. package/bundled-skills/dependency-scanning/SKILL.md +457 -0
  82. package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
  83. package/bundled-skills/disaster-recovery/SKILL.md +374 -0
  84. package/bundled-skills/disaster-recovery/references/details.md +219 -0
  85. package/bundled-skills/dns-management/SKILL.md +375 -0
  86. package/bundled-skills/docker-compose/SKILL.md +482 -0
  87. package/bundled-skills/docker-management/SKILL.md +426 -0
  88. package/bundled-skills/ebpf-observability/SKILL.md +436 -0
  89. package/bundled-skills/ebpf-observability/references/details.md +542 -0
  90. package/bundled-skills/elk-stack/SKILL.md +487 -0
  91. package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
  92. package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
  93. package/bundled-skills/feature-flags/SKILL.md +426 -0
  94. package/bundled-skills/feature-flags/references/details.md +86 -0
  95. package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
  96. package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
  97. package/bundled-skills/firewall-config/SKILL.md +479 -0
  98. package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
  99. package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
  100. package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
  101. package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
  102. package/bundled-skills/gcp-compute/SKILL.md +319 -0
  103. package/bundled-skills/gcp-gke/SKILL.md +307 -0
  104. package/bundled-skills/gcp-networking/SKILL.md +293 -0
  105. package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
  106. package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
  107. package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
  108. package/bundled-skills/gdpr-compliance/references/details.md +145 -0
  109. package/bundled-skills/geo-audit/SKILL.md +368 -0
  110. package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
  111. package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
  112. package/bundled-skills/geo-citability/SKILL.md +350 -0
  113. package/bundled-skills/geo-compare/SKILL.md +340 -0
  114. package/bundled-skills/geo-content/SKILL.md +383 -0
  115. package/bundled-skills/geo-crawlers/SKILL.md +408 -0
  116. package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
  117. package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
  118. package/bundled-skills/geo-proposal/SKILL.md +378 -0
  119. package/bundled-skills/geo-prospect/SKILL.md +225 -0
  120. package/bundled-skills/geo-report/SKILL.md +436 -0
  121. package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
  122. package/bundled-skills/geo-schema/SKILL.md +408 -0
  123. package/bundled-skills/geo-technical/SKILL.md +78 -0
  124. package/bundled-skills/geo-technical/references/details.md +543 -0
  125. package/bundled-skills/git-workflow/SKILL.md +460 -0
  126. package/bundled-skills/github-actions/SKILL.md +368 -0
  127. package/bundled-skills/gitlab-ci/SKILL.md +340 -0
  128. package/bundled-skills/google-no-code/SKILL.md +136 -0
  129. package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
  130. package/bundled-skills/gpu-server-management/SKILL.md +236 -0
  131. package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
  132. package/bundled-skills/helm-charts/SKILL.md +469 -0
  133. package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
  134. package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
  135. package/bundled-skills/hunt-ato/SKILL.md +184 -0
  136. package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
  137. package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
  138. package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
  139. package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
  140. package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
  141. package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
  142. package/bundled-skills/hunt-cicd/SKILL.md +311 -0
  143. package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
  144. package/bundled-skills/hunt-cors/SKILL.md +335 -0
  145. package/bundled-skills/hunt-dom/SKILL.md +323 -0
  146. package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
  147. package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
  148. package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
  149. package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
  150. package/bundled-skills/hunt-grpc/SKILL.md +317 -0
  151. package/bundled-skills/hunt-host-header/SKILL.md +309 -0
  152. package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
  153. package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
  154. package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
  155. package/bundled-skills/hunt-idor/SKILL.md +434 -0
  156. package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
  157. package/bundled-skills/hunt-k8s/SKILL.md +337 -0
  158. package/bundled-skills/hunt-laravel/SKILL.md +255 -0
  159. package/bundled-skills/hunt-ldap/SKILL.md +351 -0
  160. package/bundled-skills/hunt-lfi/SKILL.md +311 -0
  161. package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
  162. package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
  163. package/bundled-skills/hunt-misc/SKILL.md +378 -0
  164. package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
  165. package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
  166. package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
  167. package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
  168. package/bundled-skills/hunt-oauth/SKILL.md +459 -0
  169. package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
  170. package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
  171. package/bundled-skills/hunt-race-condition/references/details.md +159 -0
  172. package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
  173. package/bundled-skills/hunt-rce/SKILL.md +444 -0
  174. package/bundled-skills/hunt-rce/references/details.md +110 -0
  175. package/bundled-skills/hunt-saml/SKILL.md +156 -0
  176. package/bundled-skills/hunt-session/SKILL.md +342 -0
  177. package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
  178. package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
  179. package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
  180. package/bundled-skills/hunt-springboot/SKILL.md +285 -0
  181. package/bundled-skills/hunt-sqli/SKILL.md +466 -0
  182. package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
  183. package/bundled-skills/hunt-ssrf/references/details.md +179 -0
  184. package/bundled-skills/hunt-ssti/SKILL.md +163 -0
  185. package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
  186. package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
  187. package/bundled-skills/hunt-xxe/SKILL.md +466 -0
  188. package/bundled-skills/i-have-adhd/SKILL.md +170 -0
  189. package/bundled-skills/idea-evaluator/SKILL.md +75 -0
  190. package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
  191. package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
  192. package/bundled-skills/identity-access-management/SKILL.md +382 -0
  193. package/bundled-skills/identity-access-management/references/details.md +524 -0
  194. package/bundled-skills/incident-management/SKILL.md +484 -0
  195. package/bundled-skills/incident-response/SKILL.md +448 -0
  196. package/bundled-skills/incident-response/references/details.md +113 -0
  197. package/bundled-skills/interview-me/SKILL.md +248 -0
  198. package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
  199. package/bundled-skills/jenkins/SKILL.md +462 -0
  200. package/bundled-skills/jev-use/SKILL.md +158 -0
  201. package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
  202. package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
  203. package/bundled-skills/kubernetes-ops/references/details.md +108 -0
  204. package/bundled-skills/kustomize/SKILL.md +478 -0
  205. package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
  206. package/bundled-skills/linux-administration/SKILL.md +367 -0
  207. package/bundled-skills/linux-hardening/SKILL.md +154 -0
  208. package/bundled-skills/llm-app-security/SKILL.md +389 -0
  209. package/bundled-skills/llm-app-security/references/details.md +674 -0
  210. package/bundled-skills/llm-caching/SKILL.md +334 -0
  211. package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
  212. package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
  213. package/bundled-skills/llm-gateway/SKILL.md +282 -0
  214. package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
  215. package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
  216. package/bundled-skills/load-balancing/SKILL.md +403 -0
  217. package/bundled-skills/loki-logging/SKILL.md +479 -0
  218. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
  219. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  220. package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
  221. package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
  222. package/bundled-skills/mcp-server-security/SKILL.md +356 -0
  223. package/bundled-skills/mcp-server-security/references/details.md +745 -0
  224. package/bundled-skills/mdm-device-management/SKILL.md +404 -0
  225. package/bundled-skills/mdm-device-management/references/details.md +410 -0
  226. package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
  227. package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
  228. package/bundled-skills/model-registry-governance/SKILL.md +452 -0
  229. package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
  230. package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
  231. package/bundled-skills/mongodb/SKILL.md +436 -0
  232. package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
  233. package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
  234. package/bundled-skills/mysql/SKILL.md +390 -0
  235. package/bundled-skills/new-relic/SKILL.md +472 -0
  236. package/bundled-skills/nfs-storage/SKILL.md +356 -0
  237. package/bundled-skills/object-storage/SKILL.md +378 -0
  238. package/bundled-skills/offensive-osint/SKILL.md +443 -0
  239. package/bundled-skills/okta-attack/SKILL.md +436 -0
  240. package/bundled-skills/ollama-stack/SKILL.md +379 -0
  241. package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
  242. package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
  243. package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
  244. package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
  245. package/bundled-skills/openshift/SKILL.md +485 -0
  246. package/bundled-skills/opentelemetry/SKILL.md +438 -0
  247. package/bundled-skills/opentelemetry/references/details.md +78 -0
  248. package/bundled-skills/opentofu-migration/SKILL.md +349 -0
  249. package/bundled-skills/osint-methodology/SKILL.md +460 -0
  250. package/bundled-skills/osint-methodology/references/details.md +1350 -0
  251. package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
  252. package/bundled-skills/penetration-testing/SKILL.md +152 -0
  253. package/bundled-skills/performance-tuning/SKILL.md +381 -0
  254. package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
  255. package/bundled-skills/planetscale/SKILL.md +297 -0
  256. package/bundled-skills/platform-engineering/SKILL.md +348 -0
  257. package/bundled-skills/platform-engineering/references/details.md +944 -0
  258. package/bundled-skills/podman/SKILL.md +405 -0
  259. package/bundled-skills/policy-as-code/SKILL.md +434 -0
  260. package/bundled-skills/policy-as-code/references/details.md +204 -0
  261. package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
  262. package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
  263. package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
  264. package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
  265. package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
  266. package/bundled-skills/rag-observability-evals/references/details.md +92 -0
  267. package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
  268. package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
  269. package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
  270. package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
  271. package/bundled-skills/redis/SKILL.md +421 -0
  272. package/bundled-skills/redteam-report-template/SKILL.md +370 -0
  273. package/bundled-skills/report-writing/SKILL.md +426 -0
  274. package/bundled-skills/report-writing/references/details.md +187 -0
  275. package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
  276. package/bundled-skills/reverse-proxy/SKILL.md +420 -0
  277. package/bundled-skills/runbook-creation/SKILL.md +438 -0
  278. package/bundled-skills/runbook-creation/references/details.md +71 -0
  279. package/bundled-skills/saas-security-posture/SKILL.md +415 -0
  280. package/bundled-skills/sast-scanning/SKILL.md +444 -0
  281. package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
  282. package/bundled-skills/security-arsenal/SKILL.md +446 -0
  283. package/bundled-skills/security-arsenal/references/details.md +540 -0
  284. package/bundled-skills/security-automation/SKILL.md +146 -0
  285. package/bundled-skills/semantic-versioning/SKILL.md +434 -0
  286. package/bundled-skills/semantic-versioning/references/details.md +83 -0
  287. package/bundled-skills/service-mesh/SKILL.md +422 -0
  288. package/bundled-skills/soc2-compliance/SKILL.md +409 -0
  289. package/bundled-skills/sops-encryption/SKILL.md +124 -0
  290. package/bundled-skills/sre-dashboards/SKILL.md +143 -0
  291. package/bundled-skills/ssh-configuration/SKILL.md +324 -0
  292. package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
  293. package/bundled-skills/ssl-tls-management/references/details.md +99 -0
  294. package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
  295. package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
  296. package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
  297. package/bundled-skills/systemd-services/SKILL.md +379 -0
  298. package/bundled-skills/terraform-aws/SKILL.md +125 -0
  299. package/bundled-skills/terraform-azure/SKILL.md +415 -0
  300. package/bundled-skills/terraform-azure/references/details.md +231 -0
  301. package/bundled-skills/terraform-gcp/SKILL.md +369 -0
  302. package/bundled-skills/threat-modeling/SKILL.md +487 -0
  303. package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
  304. package/bundled-skills/user-management/SKILL.md +383 -0
  305. package/bundled-skills/using-agent-skills/SKILL.md +220 -0
  306. package/bundled-skills/vector-database-ops/SKILL.md +300 -0
  307. package/bundled-skills/vendor-management/SKILL.md +439 -0
  308. package/bundled-skills/vendor-management/references/details.md +109 -0
  309. package/bundled-skills/vercel-deployments/SKILL.md +296 -0
  310. package/bundled-skills/vllm-server/SKILL.md +236 -0
  311. package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
  312. package/bundled-skills/vpn-setup/SKILL.md +452 -0
  313. package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
  314. package/bundled-skills/waf-setup/SKILL.md +354 -0
  315. package/bundled-skills/waf-setup/references/details.md +211 -0
  316. package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
  317. package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
  318. package/bundled-skills/web2-recon/SKILL.md +440 -0
  319. package/bundled-skills/web2-recon/references/details.md +319 -0
  320. package/bundled-skills/web3-audit/SKILL.md +445 -0
  321. package/bundled-skills/web3-audit/references/details.md +224 -0
  322. package/bundled-skills/wiki-yylo/SKILL.md +114 -0
  323. package/bundled-skills/windows-hardening/SKILL.md +454 -0
  324. package/bundled-skills/windows-hardening/references/details.md +204 -0
  325. package/bundled-skills/windows-server/SKILL.md +318 -0
  326. package/bundled-skills/workflow-yylo/SKILL.md +107 -0
  327. package/bundled-skills/zero-trust/SKILL.md +461 -0
  328. package/package.json +1 -1
  329. package/skills_index.json +6924 -0
@@ -0,0 +1,254 @@
1
+ ---
2
+ name: resumable-implementation-contracts
3
+ description: "Create repository-based execution contracts for multi-session implementation work, with stable task IDs, evidence, checkpoints, and exact resume state."
4
+ category: project-management
5
+ risk: safe
6
+ source: self
7
+ source_type: self
8
+ date_added: "2026-09-19"
9
+ author: ShianMike
10
+ tags: [project-management, execution-contracts, checkpoints, verification, agent-workflows]
11
+ tools: [claude, cursor, gemini, codex, antigravity]
12
+ ---
13
+
14
+ # Resumable Implementation Contracts
15
+
16
+ ## Overview
17
+
18
+ Turn a large, mostly defined implementation request into a repository contract
19
+ that a fresh agent can read, update, verify, and resume without reconstructing
20
+ the project from chat history. Keep stable intent separate from mutable
21
+ execution state, and require evidence before any task is called complete.
22
+
23
+ This is a tool-neutral document pattern. It does not depend on, replace, or
24
+ configure any agent platform's built-in goal, task, plan, or project feature.
25
+
26
+ This skill fills the layer between planning and execution. It does not replace
27
+ product discovery, detailed technical design, project-wide state governance,
28
+ or retrospective auditing.
29
+
30
+ ## When to Use This Skill
31
+
32
+ Use it when work:
33
+
34
+ - spans multiple sessions, agents, branches, or context windows;
35
+ - has dependencies or acceptance criteria that must survive interruption;
36
+ - needs an exact resume point rather than a narrative handoff;
37
+ - can appear complete before runtime, artifact, UI, or test evidence exists;
38
+ - must preserve partial work and unrelated repository changes.
39
+
40
+ Skip it for a small task that can be completed and verified in one session.
41
+ If requirements are still unsettled, resolve them before freezing the
42
+ implementation contract.
43
+
44
+ ## Reuse Existing Project Documents
45
+
46
+ Inspect the repository before creating files. Reuse equivalent documents and
47
+ the project's established names when their ownership is clear. For substantial
48
+ multi-session work, the minimum logical document set is:
49
+
50
+ | Document | Owns | Must not become |
51
+ | --- | --- | --- |
52
+ | `IMPLEMENTATION_CONTRACT.md` | stable intent, scope, tasks, acceptance, definition of done | a live activity log |
53
+ | `TASKS.md` | current task/subtask status, dependencies, evidence links | a second copy of the contract |
54
+ | `CHECKPOINT.md` | authoritative current position and exact next action | a vague progress summary |
55
+ | `DECISIONS.md` | material decisions, alternatives, and reasons | a transcript |
56
+ | `VALIDATION.md` | checks actually run, results, evidence, and unresolved gates | a list of planned tests |
57
+
58
+ These may live together under `docs/<contract-slug>/` or follow an existing
59
+ repo layout. An existing `GOAL.md`, specification, or execution brief may own
60
+ the contract role; do not rename it or create parallel files solely to match
61
+ this skill.
62
+
63
+ ## Define Document Authority
64
+
65
+ - Current owner instructions and applicable repository instructions govern
66
+ authorization and scope.
67
+ - `IMPLEMENTATION_CONTRACT.md`, or its existing repository equivalent, owns
68
+ the implementation contract. Do not silently change it to fit the current
69
+ code.
70
+ - The working tree, branch, commit, produced artifacts, and executed checks are
71
+ truth for implementation state.
72
+ - The tracker files summarize that state; they do not override contrary
73
+ evidence on disk.
74
+
75
+ When documents and reality disagree, reconcile status from evidence while
76
+ preserving the contract's intent. Escalate any conflict that would materially
77
+ change scope, behavior, or acceptance.
78
+
79
+ ## Write a Self-Contained Contract
80
+
81
+ A new agent should be able to understand the work from the contract without
82
+ the original conversation. Include only what is needed to execute correctly:
83
+
84
+ 1. objective and observable outcomes;
85
+ 2. current baseline and important constraints;
86
+ 3. in-scope work, exclusions, and authorization boundaries;
87
+ 4. operating rules, including interruption and validation policy;
88
+ 5. tasks with stable IDs, dependencies, acceptance, and breakpoints;
89
+ 6. final definition of done and handoff requirements.
90
+
91
+ Use stable task and subtask IDs such as `T03` and `T03.2`. Never renumber them
92
+ after execution starts; add new IDs or mark obsolete work explicitly.
93
+
94
+ Each task should use this compact form:
95
+
96
+ ```markdown
97
+ ### T03 - <observable task outcome>
98
+
99
+ - [ ] T03.1 <first implementation slice>
100
+ - [ ] T03.2 <second implementation slice>
101
+
102
+ Dependencies: T01
103
+
104
+ Acceptance:
105
+ - <observable behavior or artifact>
106
+ - <required focused check and evidence>
107
+
108
+ Breakpoint:
109
+ - Update TASKS.md, VALIDATION.md, and CHECKPOINT.md after the accepted slice.
110
+ ```
111
+
112
+ Write acceptance in pass/fail terms. File creation, code presence, or an
113
+ agent's completion claim is not acceptance unless that is genuinely the whole
114
+ requirement.
115
+
116
+ ## Read Before Acting
117
+
118
+ At the start of a session or after interruption, read in this order:
119
+
120
+ 1. applicable repository instructions;
121
+ 2. the implementation contract;
122
+ 3. `TASKS.md`, `CHECKPOINT.md`, `DECISIONS.md`, and `VALIDATION.md`;
123
+ 4. current branch, `HEAD`, status, and relevant diff;
124
+ 5. only the code, tests, and artifacts needed for the active task.
125
+
126
+ Reconcile the checkpoint with the working tree before editing. Preserve partial
127
+ and unrelated changes. Resume the exact unfinished subtask when it is still
128
+ valid; otherwise record why the next action changed.
129
+
130
+ ## Keep Writes Narrow and Durable
131
+
132
+ - Change the implementation contract only when the owner changes intent or an
133
+ ambiguity is deliberately resolved.
134
+ - Update `TASKS.md` when work starts, blocks, or becomes evidence-backed done.
135
+ - Replace `CHECKPOINT.md` with the latest authoritative resume state; Git owns
136
+ its detailed history.
137
+ - Add to `DECISIONS.md` only for choices that constrain later work.
138
+ - Add to `VALIDATION.md` only after a check is actually run or explicitly
139
+ recorded as not run.
140
+ - Update the checkpoint after a meaningful increment and before stopping.
141
+
142
+ Do not duplicate the same mutable status across every document. Link to the
143
+ owning record instead.
144
+
145
+ ## Use Evidence-Gated Status
146
+
147
+ Use a small status vocabulary: `pending`, `in_progress`, `blocked`, and `done`.
148
+ A task may become `done` only when its acceptance criteria have supporting
149
+ evidence.
150
+
151
+ For each validation record, capture:
152
+
153
+ - timestamp and relevant commit or working-tree state;
154
+ - exact command or manual procedure;
155
+ - environment when it affects the result;
156
+ - result, including failures and skipped checks;
157
+ - artifact, log, screenshot, route, or report path when applicable;
158
+ - unresolved caveats or gates.
159
+
160
+ Run the smallest check that proves the current slice during implementation.
161
+ Run broader integration or release suites at defined milestones or when the
162
+ change's risk requires them. Never present a planned, mocked, or nominally
163
+ successful check as observed behavior.
164
+
165
+ ## Make the Checkpoint Executable
166
+
167
+ `CHECKPOINT.md` must let another agent continue immediately. Record:
168
+
169
+ ```markdown
170
+ # Checkpoint
171
+
172
+ Updated: <UTC timestamp>
173
+ Branch / HEAD: <branch> / <commit>
174
+ Active task: T03
175
+ Active subtask: T03.2
176
+ Status: in_progress
177
+
178
+ Completed behavior:
179
+ - <verified result and evidence link>
180
+
181
+ Work in progress:
182
+ - <files and partial state that must be preserved>
183
+
184
+ Validation performed:
185
+ - `<exact command>` -> <result>
186
+
187
+ Blockers or uncertainties:
188
+ - <blocker, owner, and condition for clearing it>
189
+
190
+ Pre-existing or unrelated changes:
191
+ - <paths or explicit none observed>
192
+
193
+ Next exact action:
194
+ - <one concrete edit, inspection, or command>
195
+
196
+ Next verification:
197
+ - <focused check that should follow that action>
198
+ ```
199
+
200
+ Avoid next steps such as "continue implementation" or "finish tests." If the
201
+ next agent must decide what those words mean, the checkpoint is incomplete.
202
+
203
+ ## Execution Loop
204
+
205
+ 1. Select the smallest dependency-ready task.
206
+ 2. Mark it `in_progress` and state the intended slice.
207
+ 3. Inspect the real path that owns the behavior.
208
+ 4. Make the minimum scoped change.
209
+ 5. Run focused verification and record the actual outcome.
210
+ 6. Update task status only from that evidence.
211
+ 7. Refresh the checkpoint with one exact next action.
212
+ 8. Repeat until every definition-of-done item is verified or explicitly
213
+ blocked.
214
+
215
+ At final handoff, report completed outcomes, evidence, unresolved blockers,
216
+ branch and commit state, and the exact next action if anything remains. Do not
217
+ promote partial task completion into overall contract completion.
218
+
219
+ ## Limitations
220
+
221
+ - This structure preserves execution state but cannot resolve unclear product
222
+ intent or choose among materially different outcomes for the owner.
223
+ - Evidence quality depends on running checks that exercise the real behavior;
224
+ complete-looking documents do not prove implementation correctness.
225
+ - Concurrent writers still need repository-level coordination to avoid
226
+ conflicting checkpoints and status updates.
227
+ - The five-document layout is unnecessary overhead for small, single-session
228
+ tasks; reuse fewer existing documents when they provide the same ownership.
229
+
230
+ ## Common Failure Modes
231
+
232
+ - Rewriting or renumbering task IDs after work has begun.
233
+ - Treating checked boxes as evidence instead of linking the proof.
234
+ - Recording only happy-path checks and losing failed attempts that constrain
235
+ the next decision.
236
+ - Replaying all history instead of loading the authoritative current state.
237
+ - Allowing implementation discoveries to silently expand the contract.
238
+ - Running an expensive full suite after every small edit while skipping the
239
+ focused check that would isolate the defect.
240
+ - Persisting credentials, tokens, private data, or sensitive command output in
241
+ tracking documents.
242
+
243
+ ## Relationship to Other Skills
244
+
245
+ - Use `spec-driven-loop` when product requirements and technical design still
246
+ need structured discovery, freezing, and approval.
247
+ - Use `planning-and-task-breakdown` when only an executable plan is needed.
248
+ - Use `project-state-governor` when the need is canonical state across the
249
+ whole project rather than one scoped implementation effort.
250
+ - Use `audit-agent-run-evidence` for a read-only retrospective audit of an
251
+ already completed run.
252
+
253
+ This skill owns the compact execution contract that connects those concerns:
254
+ stable intent, mutable progress, verification evidence, and exact resume state.
@@ -0,0 +1,420 @@
1
+ ---
2
+ name: reverse-proxy
3
+ description: Configure nginx and Traefik as reverse proxies. Implement SSL termination
4
+ and routing. Use when setting up application gateways.
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
+ # Reverse Proxy
21
+
22
+ Configure reverse proxies to route traffic, terminate TLS, enforce rate limits, and serve as the gateway between clients and backend services.
23
+
24
+ ## When to Use
25
+
26
+ - Routing traffic from a public domain to one or more backend services.
27
+ - Terminating TLS at the edge and forwarding plain HTTP to backends.
28
+ - Adding rate limiting, CORS, security headers, and access control.
29
+ - Consolidating multiple services under a single domain with path-based routing.
30
+ - Handling WebSocket upgrades, gRPC proxying, or HTTP/2 passthrough.
31
+
32
+ ## Prerequisites
33
+
34
+ - Backend service(s) running on known host:port.
35
+ - TLS certificate (Let's Encrypt, ACM, or self-signed for development).
36
+ - nginx 1.25+ or Traefik 3.x installed.
37
+ - DNS record pointing the domain to the proxy server.
38
+
39
+ ## nginx Reverse Proxy
40
+
41
+ ### Basic HTTPS Proxy with Redirect
42
+
43
+ ```nginx
44
+ # /etc/nginx/sites-available/app.example.com
45
+ server {
46
+ listen 80;
47
+ server_name app.example.com;
48
+ return 301 https://$host$request_uri;
49
+ }
50
+
51
+ server {
52
+ listen 443 ssl http2;
53
+ server_name app.example.com;
54
+
55
+ # TLS configuration
56
+ ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
57
+ ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
58
+ ssl_protocols TLSv1.2 TLSv1.3;
59
+ ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384;
60
+ ssl_prefer_server_ciphers on;
61
+ ssl_session_cache shared:SSL:10m;
62
+ ssl_session_timeout 10m;
63
+
64
+ # Security headers
65
+ add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
66
+ add_header X-Frame-Options DENY always;
67
+ add_header X-Content-Type-Options nosniff always;
68
+ add_header Referrer-Policy strict-origin-when-cross-origin always;
69
+
70
+ # Proxy to backend
71
+ location / {
72
+ proxy_pass http://127.0.0.1:3000;
73
+ proxy_http_version 1.1;
74
+ proxy_set_header Host $host;
75
+ proxy_set_header X-Real-IP $remote_addr;
76
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
77
+ proxy_set_header X-Forwarded-Proto $scheme;
78
+
79
+ # Timeouts
80
+ proxy_connect_timeout 5s;
81
+ proxy_read_timeout 60s;
82
+ proxy_send_timeout 60s;
83
+
84
+ # Buffering
85
+ proxy_buffering on;
86
+ proxy_buffer_size 4k;
87
+ proxy_buffers 8 4k;
88
+ }
89
+ }
90
+ ```
91
+
92
+ ### Path-Based Routing to Multiple Services
93
+
94
+ ```nginx
95
+ server {
96
+ listen 443 ssl http2;
97
+ server_name app.example.com;
98
+
99
+ ssl_certificate /etc/letsencrypt/live/app.example.com/fullchain.pem;
100
+ ssl_certificate_key /etc/letsencrypt/live/app.example.com/privkey.pem;
101
+
102
+ # Frontend SPA
103
+ location / {
104
+ proxy_pass http://127.0.0.1:3000;
105
+ proxy_set_header Host $host;
106
+ }
107
+
108
+ # API backend
109
+ location /api/ {
110
+ proxy_pass http://127.0.0.1:8080/;
111
+ proxy_set_header Host $host;
112
+ proxy_set_header X-Real-IP $remote_addr;
113
+ proxy_read_timeout 120s;
114
+ }
115
+
116
+ # WebSocket endpoint
117
+ location /ws/ {
118
+ proxy_pass http://127.0.0.1:8080;
119
+ proxy_http_version 1.1;
120
+ proxy_set_header Upgrade $http_upgrade;
121
+ proxy_set_header Connection "upgrade";
122
+ proxy_set_header Host $host;
123
+ proxy_read_timeout 86400s; # 24h for long-lived connections
124
+ }
125
+
126
+ # Static assets with caching
127
+ location /static/ {
128
+ alias /var/www/static/;
129
+ expires 30d;
130
+ add_header Cache-Control "public, immutable";
131
+ }
132
+ }
133
+ ```
134
+
135
+ ### Rate Limiting
136
+
137
+ ```nginx
138
+ # Define rate limit zones in http block
139
+ http {
140
+ # 10 requests/second per IP
141
+ limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/s;
142
+
143
+ # 1 request/second for login
144
+ limit_req_zone $binary_remote_addr zone=login_limit:10m rate=1r/s;
145
+
146
+ # Connection limit per IP
147
+ limit_conn_zone $binary_remote_addr zone=conn_limit:10m;
148
+ }
149
+
150
+ server {
151
+ listen 443 ssl http2;
152
+ server_name app.example.com;
153
+
154
+ # Apply rate limit to API
155
+ location /api/ {
156
+ limit_req zone=api_limit burst=20 nodelay;
157
+ limit_req_status 429;
158
+ proxy_pass http://127.0.0.1:8080;
159
+ }
160
+
161
+ # Strict rate limit on auth endpoints
162
+ location /api/auth/ {
163
+ limit_req zone=login_limit burst=5;
164
+ limit_req_status 429;
165
+ proxy_pass http://127.0.0.1:8080;
166
+ }
167
+
168
+ # Connection limit
169
+ location / {
170
+ limit_conn conn_limit 100;
171
+ proxy_pass http://127.0.0.1:3000;
172
+ }
173
+ }
174
+ ```
175
+
176
+ ### Gzip and Brotli Compression
177
+
178
+ ```nginx
179
+ http {
180
+ gzip on;
181
+ gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
182
+ gzip_min_length 256;
183
+ gzip_vary on;
184
+ gzip_proxied any;
185
+ gzip_comp_level 5;
186
+
187
+ # Brotli (requires ngx_brotli module)
188
+ # brotli on;
189
+ # brotli_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
190
+ # brotli_comp_level 6;
191
+ }
192
+ ```
193
+
194
+ ### Let's Encrypt with Certbot
195
+
196
+ ```bash
197
+ # Install certbot with nginx plugin
198
+ sudo apt install certbot python3-certbot-nginx
199
+
200
+ # Obtain and install certificate
201
+ sudo certbot --nginx -d app.example.com -d www.example.com
202
+
203
+ # Auto-renewal is configured via systemd timer
204
+ sudo systemctl status certbot.timer
205
+
206
+ # Manual renewal test
207
+ sudo certbot renew --dry-run
208
+ ```
209
+
210
+ ## Traefik Reverse Proxy
211
+
212
+ ### Static Configuration
213
+
214
+ ```yaml
215
+ # traefik.yml
216
+ entryPoints:
217
+ web:
218
+ address: ":80"
219
+ http:
220
+ redirections:
221
+ entryPoint:
222
+ to: websecure
223
+ scheme: https
224
+ websecure:
225
+ address: ":443"
226
+
227
+ certificatesResolvers:
228
+ letsencrypt:
229
+ acme:
230
+ email: admin@example.com
231
+ storage: /letsencrypt/acme.json
232
+ httpChallenge:
233
+ entryPoint: web
234
+
235
+ providers:
236
+ docker:
237
+ exposedByDefault: false
238
+ file:
239
+ directory: /etc/traefik/dynamic/
240
+
241
+ api:
242
+ dashboard: true
243
+ insecure: false
244
+
245
+ log:
246
+ level: INFO
247
+
248
+ accessLog:
249
+ filePath: /var/log/traefik/access.log
250
+ ```
251
+
252
+ ### Dynamic Configuration (File Provider)
253
+
254
+ ```yaml
255
+ # /etc/traefik/dynamic/services.yml
256
+ http:
257
+ routers:
258
+ app:
259
+ rule: "Host(`app.example.com`)"
260
+ entryPoints:
261
+ - websecure
262
+ service: app
263
+ tls:
264
+ certResolver: letsencrypt
265
+ middlewares:
266
+ - security-headers
267
+ - rate-limit
268
+
269
+ api:
270
+ rule: "Host(`app.example.com`) && PathPrefix(`/api`)"
271
+ entryPoints:
272
+ - websecure
273
+ service: api
274
+ tls:
275
+ certResolver: letsencrypt
276
+
277
+ services:
278
+ app:
279
+ loadBalancer:
280
+ servers:
281
+ - url: "http://127.0.0.1:3000"
282
+ healthCheck:
283
+ path: /health
284
+ interval: 10s
285
+ timeout: 3s
286
+
287
+ api:
288
+ loadBalancer:
289
+ servers:
290
+ - url: "http://127.0.0.1:8080"
291
+ healthCheck:
292
+ path: /api/health
293
+ interval: 10s
294
+ timeout: 3s
295
+
296
+ middlewares:
297
+ security-headers:
298
+ headers:
299
+ stsSeconds: 63072000
300
+ stsIncludeSubdomains: true
301
+ frameDeny: true
302
+ contentTypeNosniff: true
303
+ browserXssFilter: true
304
+ referrerPolicy: strict-origin-when-cross-origin
305
+
306
+ rate-limit:
307
+ rateLimit:
308
+ average: 100
309
+ burst: 50
310
+ period: 1m
311
+ ```
312
+
313
+ ### Traefik with Docker Labels
314
+
315
+ ```yaml
316
+ # docker-compose.yml
317
+ version: "3.8"
318
+
319
+ services:
320
+ traefik:
321
+ image: traefik:v3.0
322
+ ports:
323
+ - "80:80"
324
+ - "443:443"
325
+ volumes:
326
+ - /var/run/docker.sock:/var/run/docker.sock:ro
327
+ - ./traefik.yml:/etc/traefik/traefik.yml:ro
328
+ - letsencrypt:/letsencrypt
329
+
330
+ frontend:
331
+ image: my-frontend:latest
332
+ labels:
333
+ - "traefik.enable=true"
334
+ - "traefik.http.routers.frontend.rule=Host(`app.example.com`)"
335
+ - "traefik.http.routers.frontend.tls.certresolver=letsencrypt"
336
+ - "traefik.http.services.frontend.loadbalancer.server.port=3000"
337
+
338
+ api:
339
+ image: my-api:latest
340
+ labels:
341
+ - "traefik.enable=true"
342
+ - "traefik.http.routers.api.rule=Host(`app.example.com`) && PathPrefix(`/api`)"
343
+ - "traefik.http.routers.api.tls.certresolver=letsencrypt"
344
+ - "traefik.http.services.api.loadbalancer.server.port=8080"
345
+ - "traefik.http.routers.api.middlewares=api-ratelimit"
346
+ - "traefik.http.middlewares.api-ratelimit.ratelimit.average=50"
347
+ - "traefik.http.middlewares.api-ratelimit.ratelimit.burst=25"
348
+
349
+ volumes:
350
+ letsencrypt:
351
+ ```
352
+
353
+ ## nginx Testing and Management
354
+
355
+ ```bash
356
+ # Test configuration syntax
357
+ sudo nginx -t
358
+
359
+ # Reload without downtime
360
+ sudo nginx -s reload
361
+
362
+ # View active connections
363
+ sudo nginx -s status
364
+
365
+ # Check which config file is active
366
+ nginx -V 2>&1 | grep -o '\-\-conf-path=[^ ]*'
367
+
368
+ # Monitor access logs
369
+ tail -f /var/log/nginx/access.log
370
+
371
+ # Monitor error logs
372
+ tail -f /var/log/nginx/error.log
373
+ ```
374
+
375
+ ## IP Allowlisting and Geoblocking
376
+
377
+ ```nginx
378
+ # Allow only specific IPs (admin panel)
379
+ location /admin/ {
380
+ allow 203.0.113.0/24;
381
+ allow 198.51.100.5;
382
+ deny all;
383
+ proxy_pass http://127.0.0.1:3000;
384
+ }
385
+
386
+ # Block by country (requires GeoIP2 module)
387
+ # geoip2 /usr/share/GeoIP/GeoLite2-Country.mmdb {
388
+ # auto_reload 60m;
389
+ # $geoip2_data_country_iso_code country iso_code;
390
+ # }
391
+ # if ($geoip2_data_country_iso_code = "XX") {
392
+ # return 403;
393
+ # }
394
+ ```
395
+
396
+ ## Troubleshooting
397
+
398
+ | Symptom | Cause | Fix |
399
+ |---------|-------|-----|
400
+ | 502 Bad Gateway | Backend not running or unreachable | Verify backend is listening; check `proxy_pass` URL |
401
+ | 504 Gateway Timeout | Backend too slow | Increase `proxy_read_timeout`; check backend performance |
402
+ | Mixed content warnings | `X-Forwarded-Proto` not set | Add `proxy_set_header X-Forwarded-Proto $scheme` |
403
+ | WebSocket disconnects after 60s | Default proxy timeout expires | Set `proxy_read_timeout 86400s` for WebSocket locations |
404
+ | Rate limit hits legitimate users | Zone rate too aggressive | Increase `rate` or `burst` values; use different zones per endpoint |
405
+ | Let's Encrypt renewal fails | Port 80 blocked or wrong server block | Ensure `.well-known/acme-challenge/` is accessible |
406
+ | Traefik shows 404 for all routes | Docker labels not detected | Verify Docker socket is mounted; check `exposedByDefault` setting |
407
+ | TLS handshake failure | Certificate chain incomplete | Include intermediate certificates in `ssl_certificate` |
408
+
409
+ ## Related Skills
410
+
411
+ - load-balancing (`load-balancing`) - Multi-backend traffic distribution
412
+ - cdn-setup (`cdn-setup`) - CDN in front of reverse proxy
413
+ - dns-management (`dns-management`) - DNS records for proxy domains
414
+ - service-mesh (`service-mesh`) - Service-level routing in Kubernetes
415
+
416
+ ## Limitations
417
+
418
+ - Infrastructure commands can disrupt services: confirm target host/scope and have backups/snapshots before mutating state.
419
+ - Docs-only import: upstream scripts and templates not bundled.
420
+