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.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: alerting-oncall
|
|
3
|
+
description: Set up alerting rules, configure on-call rotations, and manage incident
|
|
4
|
+
response workflows.
|
|
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 platform CLIs (kubectl, helm, terraform, git,
|
|
14
|
+
CI runners) and authorized access to the target environment. Docs-only; helper scripts
|
|
15
|
+
and templates not bundled.
|
|
16
|
+
metadata:
|
|
17
|
+
author: devops-skills
|
|
18
|
+
version: '1.0'
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Alerting & On-Call
|
|
22
|
+
|
|
23
|
+
Configure effective alerting and on-call management for production systems.
|
|
24
|
+
|
|
25
|
+
## Prerequisites
|
|
26
|
+
|
|
27
|
+
- Monitoring system (Prometheus, Datadog, etc.)
|
|
28
|
+
- On-call platform (PagerDuty, Opsgenie, Grafana OnCall)
|
|
29
|
+
- Communication channels (Slack, email)
|
|
30
|
+
|
|
31
|
+
## Alerting Best Practices
|
|
32
|
+
|
|
33
|
+
### Alert Categories
|
|
34
|
+
|
|
35
|
+
```yaml
|
|
36
|
+
# Severity levels
|
|
37
|
+
critical:
|
|
38
|
+
- Service completely down
|
|
39
|
+
- Data loss imminent
|
|
40
|
+
- Security breach
|
|
41
|
+
response: Immediate page, wake people up
|
|
42
|
+
|
|
43
|
+
high:
|
|
44
|
+
- Service degraded significantly
|
|
45
|
+
- Error rate above SLO
|
|
46
|
+
- Capacity near limit
|
|
47
|
+
response: Page during business hours, notify after hours
|
|
48
|
+
|
|
49
|
+
medium:
|
|
50
|
+
- Performance degradation
|
|
51
|
+
- Non-critical component failure
|
|
52
|
+
- Warning thresholds exceeded
|
|
53
|
+
response: Notify via Slack, review next business day
|
|
54
|
+
|
|
55
|
+
low:
|
|
56
|
+
- Informational alerts
|
|
57
|
+
- Capacity planning triggers
|
|
58
|
+
- Routine maintenance needed
|
|
59
|
+
response: Email notification, weekly review
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Alert Design Principles
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
# Good alert characteristics
|
|
66
|
+
alerts:
|
|
67
|
+
actionable:
|
|
68
|
+
- Every alert should require human action
|
|
69
|
+
- Include runbook links
|
|
70
|
+
- Clear remediation steps
|
|
71
|
+
|
|
72
|
+
relevant:
|
|
73
|
+
- Alert on symptoms, not causes
|
|
74
|
+
- Focus on user impact
|
|
75
|
+
- Avoid alerting on expected behavior
|
|
76
|
+
|
|
77
|
+
timely:
|
|
78
|
+
- Appropriate thresholds
|
|
79
|
+
- Suitable evaluation windows
|
|
80
|
+
- Account for normal variance
|
|
81
|
+
|
|
82
|
+
unique:
|
|
83
|
+
- No duplicate alerts
|
|
84
|
+
- Proper alert grouping
|
|
85
|
+
- Clear ownership
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Prometheus Alerting
|
|
89
|
+
|
|
90
|
+
### Alert Rules
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
# prometheus/rules/alerts.yml
|
|
94
|
+
groups:
|
|
95
|
+
- name: service_alerts
|
|
96
|
+
rules:
|
|
97
|
+
# High-level service health
|
|
98
|
+
- alert: ServiceDown
|
|
99
|
+
expr: up{job="myapp"} == 0
|
|
100
|
+
for: 1m
|
|
101
|
+
labels:
|
|
102
|
+
severity: critical
|
|
103
|
+
annotations:
|
|
104
|
+
summary: "Service {{ $labels.instance }} is down"
|
|
105
|
+
description: "{{ $labels.job }} on {{ $labels.instance }} has been down for more than 1 minute."
|
|
106
|
+
runbook_url: "https://wiki.example.com/runbooks/service-down"
|
|
107
|
+
|
|
108
|
+
# Error rate alert
|
|
109
|
+
- alert: HighErrorRate
|
|
110
|
+
expr: |
|
|
111
|
+
sum(rate(http_requests_total{status=~"5.."}[5m])) by (service)
|
|
112
|
+
/ sum(rate(http_requests_total[5m])) by (service) > 0.05
|
|
113
|
+
for: 5m
|
|
114
|
+
labels:
|
|
115
|
+
severity: critical
|
|
116
|
+
annotations:
|
|
117
|
+
summary: "High error rate for {{ $labels.service }}"
|
|
118
|
+
description: "Error rate is {{ $value | humanizePercentage }} for the last 5 minutes"
|
|
119
|
+
|
|
120
|
+
# Latency alert (SLO-based)
|
|
121
|
+
- alert: HighLatency
|
|
122
|
+
expr: |
|
|
123
|
+
histogram_quantile(0.95,
|
|
124
|
+
sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service)
|
|
125
|
+
) > 0.5
|
|
126
|
+
for: 5m
|
|
127
|
+
labels:
|
|
128
|
+
severity: high
|
|
129
|
+
annotations:
|
|
130
|
+
summary: "P95 latency above 500ms for {{ $labels.service }}"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Alertmanager Configuration
|
|
134
|
+
|
|
135
|
+
```yaml
|
|
136
|
+
# alertmanager.yml
|
|
137
|
+
global:
|
|
138
|
+
resolve_timeout: 5m
|
|
139
|
+
slack_api_url: 'https://hooks.slack.com/services/xxx'
|
|
140
|
+
pagerduty_url: 'https://events.pagerduty.com/v2/enqueue'
|
|
141
|
+
|
|
142
|
+
templates:
|
|
143
|
+
- '/etc/alertmanager/templates/*.tmpl'
|
|
144
|
+
|
|
145
|
+
route:
|
|
146
|
+
receiver: 'default-receiver'
|
|
147
|
+
group_by: ['alertname', 'service']
|
|
148
|
+
group_wait: 30s
|
|
149
|
+
group_interval: 5m
|
|
150
|
+
repeat_interval: 4h
|
|
151
|
+
|
|
152
|
+
routes:
|
|
153
|
+
# Critical alerts go to PagerDuty
|
|
154
|
+
- match:
|
|
155
|
+
severity: critical
|
|
156
|
+
receiver: 'pagerduty-critical'
|
|
157
|
+
group_wait: 0s
|
|
158
|
+
repeat_interval: 1h
|
|
159
|
+
|
|
160
|
+
# High severity during business hours
|
|
161
|
+
- match:
|
|
162
|
+
severity: high
|
|
163
|
+
receiver: 'slack-high'
|
|
164
|
+
active_time_intervals:
|
|
165
|
+
- business-hours
|
|
166
|
+
|
|
167
|
+
# Route by team
|
|
168
|
+
- match_re:
|
|
169
|
+
team: platform.*
|
|
170
|
+
receiver: 'platform-team'
|
|
171
|
+
|
|
172
|
+
receivers:
|
|
173
|
+
- name: 'default-receiver'
|
|
174
|
+
slack_configs:
|
|
175
|
+
- channel: '#alerts'
|
|
176
|
+
send_resolved: true
|
|
177
|
+
|
|
178
|
+
- name: 'pagerduty-critical'
|
|
179
|
+
pagerduty_configs:
|
|
180
|
+
- service_key: 'xxx'
|
|
181
|
+
severity: critical
|
|
182
|
+
description: '{{ .CommonAnnotations.summary }}'
|
|
183
|
+
details:
|
|
184
|
+
firing: '{{ template "pagerduty.firing" . }}'
|
|
185
|
+
|
|
186
|
+
- name: 'slack-high'
|
|
187
|
+
slack_configs:
|
|
188
|
+
- channel: '#alerts-high'
|
|
189
|
+
title: '{{ .CommonAnnotations.summary }}'
|
|
190
|
+
text: '{{ .CommonAnnotations.description }}'
|
|
191
|
+
actions:
|
|
192
|
+
- type: button
|
|
193
|
+
text: 'Runbook'
|
|
194
|
+
url: '{{ .CommonAnnotations.runbook_url }}'
|
|
195
|
+
- type: button
|
|
196
|
+
text: 'Dashboard'
|
|
197
|
+
url: '{{ .CommonAnnotations.dashboard_url }}'
|
|
198
|
+
|
|
199
|
+
- name: 'platform-team'
|
|
200
|
+
slack_configs:
|
|
201
|
+
- channel: '#platform-alerts'
|
|
202
|
+
|
|
203
|
+
time_intervals:
|
|
204
|
+
- name: business-hours
|
|
205
|
+
time_intervals:
|
|
206
|
+
- weekdays: ['monday:friday']
|
|
207
|
+
times:
|
|
208
|
+
- start_time: '09:00'
|
|
209
|
+
end_time: '17:00'
|
|
210
|
+
|
|
211
|
+
inhibit_rules:
|
|
212
|
+
- source_match:
|
|
213
|
+
severity: critical
|
|
214
|
+
target_match:
|
|
215
|
+
severity: high
|
|
216
|
+
equal: ['service']
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## PagerDuty Integration
|
|
220
|
+
|
|
221
|
+
### Service Configuration
|
|
222
|
+
|
|
223
|
+
```yaml
|
|
224
|
+
# Terraform example
|
|
225
|
+
resource "pagerduty_service" "myapp" {
|
|
226
|
+
name = "MyApp Production"
|
|
227
|
+
description = "Production application service"
|
|
228
|
+
escalation_policy = pagerduty_escalation_policy.default.id
|
|
229
|
+
alert_creation = "create_alerts_and_incidents"
|
|
230
|
+
auto_resolve_timeout = 14400 # 4 hours
|
|
231
|
+
acknowledgement_timeout = 600 # 10 minutes
|
|
232
|
+
|
|
233
|
+
incident_urgency_rule {
|
|
234
|
+
type = "use_support_hours"
|
|
235
|
+
|
|
236
|
+
during_support_hours {
|
|
237
|
+
type = "constant"
|
|
238
|
+
urgency = "high"
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
outside_support_hours {
|
|
242
|
+
type = "constant"
|
|
243
|
+
urgency = "low"
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
resource "pagerduty_escalation_policy" "default" {
|
|
249
|
+
name = "Default Escalation"
|
|
250
|
+
num_loops = 2
|
|
251
|
+
|
|
252
|
+
rule {
|
|
253
|
+
escalation_delay_in_minutes = 10
|
|
254
|
+
target {
|
|
255
|
+
type = "schedule_reference"
|
|
256
|
+
id = pagerduty_schedule.primary.id
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
rule {
|
|
261
|
+
escalation_delay_in_minutes = 15
|
|
262
|
+
target {
|
|
263
|
+
type = "user_reference"
|
|
264
|
+
id = pagerduty_user.manager.id
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Schedule Configuration
|
|
271
|
+
|
|
272
|
+
```yaml
|
|
273
|
+
resource "pagerduty_schedule" "primary" {
|
|
274
|
+
name = "Primary On-Call"
|
|
275
|
+
time_zone = "America/New_York"
|
|
276
|
+
|
|
277
|
+
layer {
|
|
278
|
+
name = "Weekly Rotation"
|
|
279
|
+
start = "2024-01-01T00:00:00-05:00"
|
|
280
|
+
rotation_virtual_start = "2024-01-01T00:00:00-05:00"
|
|
281
|
+
rotation_turn_length_seconds = 604800 # 1 week
|
|
282
|
+
users = [for user in pagerduty_user.oncall : user.id]
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
# Override layer for holidays
|
|
286
|
+
layer {
|
|
287
|
+
name = "Holiday Coverage"
|
|
288
|
+
start = "2024-01-01T00:00:00-05:00"
|
|
289
|
+
rotation_virtual_start = "2024-01-01T00:00:00-05:00"
|
|
290
|
+
rotation_turn_length_seconds = 86400
|
|
291
|
+
users = [pagerduty_user.holiday_coverage.id]
|
|
292
|
+
|
|
293
|
+
restriction {
|
|
294
|
+
type = "daily_restriction"
|
|
295
|
+
start_time_of_day = "00:00:00"
|
|
296
|
+
duration_seconds = 86400
|
|
297
|
+
start_day_of_week = 0 # Sunday
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Grafana OnCall
|
|
304
|
+
|
|
305
|
+
### Integration Setup
|
|
306
|
+
|
|
307
|
+
```yaml
|
|
308
|
+
# docker-compose.yml addition
|
|
309
|
+
services:
|
|
310
|
+
oncall:
|
|
311
|
+
image: grafana/oncall
|
|
312
|
+
environment:
|
|
313
|
+
- SECRET_KEY=your-secret-key
|
|
314
|
+
- BASE_URL=http://oncall:8080
|
|
315
|
+
- GRAFANA_API_URL=http://grafana:3000
|
|
316
|
+
ports:
|
|
317
|
+
- "8080:8080"
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Escalation Chain
|
|
321
|
+
|
|
322
|
+
```yaml
|
|
323
|
+
# Example escalation chain structure
|
|
324
|
+
escalation_chains:
|
|
325
|
+
- name: "Production Critical"
|
|
326
|
+
steps:
|
|
327
|
+
- step: 1
|
|
328
|
+
type: notify
|
|
329
|
+
persons:
|
|
330
|
+
- "@oncall-primary"
|
|
331
|
+
wait_delay: 0
|
|
332
|
+
|
|
333
|
+
- step: 2
|
|
334
|
+
type: notify
|
|
335
|
+
persons:
|
|
336
|
+
- "@oncall-secondary"
|
|
337
|
+
wait_delay: 5m
|
|
338
|
+
|
|
339
|
+
- step: 3
|
|
340
|
+
type: notify
|
|
341
|
+
persons:
|
|
342
|
+
- "@engineering-manager"
|
|
343
|
+
wait_delay: 10m
|
|
344
|
+
|
|
345
|
+
- step: 4
|
|
346
|
+
type: trigger_action
|
|
347
|
+
action: "escalate_to_incident_commander"
|
|
348
|
+
wait_delay: 15m
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
## Alert Templates
|
|
352
|
+
|
|
353
|
+
### Slack Alert Template
|
|
354
|
+
|
|
355
|
+
```go
|
|
356
|
+
{{ define "slack.title" }}
|
|
357
|
+
[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .CommonLabels.alertname }}
|
|
358
|
+
{{ end }}
|
|
359
|
+
|
|
360
|
+
{{ define "slack.text" }}
|
|
361
|
+
{{ range .Alerts }}
|
|
362
|
+
*Alert:* {{ .Annotations.summary }}
|
|
363
|
+
*Severity:* {{ .Labels.severity }}
|
|
364
|
+
*Description:* {{ .Annotations.description }}
|
|
365
|
+
*Runbook:* {{ .Annotations.runbook_url }}
|
|
366
|
+
{{ end }}
|
|
367
|
+
{{ end }}
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### PagerDuty Details Template
|
|
371
|
+
|
|
372
|
+
```go
|
|
373
|
+
{{ define "pagerduty.firing" }}
|
|
374
|
+
{{ range .Alerts.Firing }}
|
|
375
|
+
Alert: {{ .Labels.alertname }}
|
|
376
|
+
Service: {{ .Labels.service }}
|
|
377
|
+
Instance: {{ .Labels.instance }}
|
|
378
|
+
Value: {{ .Annotations.value }}
|
|
379
|
+
Started: {{ .StartsAt.Format "2006-01-02 15:04:05" }}
|
|
380
|
+
{{ end }}
|
|
381
|
+
{{ end }}
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
## On-Call Best Practices
|
|
385
|
+
|
|
386
|
+
### Rotation Guidelines
|
|
387
|
+
|
|
388
|
+
```yaml
|
|
389
|
+
on_call_guidelines:
|
|
390
|
+
rotation_length: 1 week
|
|
391
|
+
handoff_time: "10:00 AM Monday"
|
|
392
|
+
|
|
393
|
+
responsibilities:
|
|
394
|
+
- Monitor alerts during shift
|
|
395
|
+
- Respond within SLA (critical: 5min, high: 15min)
|
|
396
|
+
- Document incidents
|
|
397
|
+
- Handoff unresolved issues
|
|
398
|
+
|
|
399
|
+
support:
|
|
400
|
+
- Secondary on-call for backup
|
|
401
|
+
- Clear escalation path
|
|
402
|
+
- Manager availability for major incidents
|
|
403
|
+
|
|
404
|
+
wellness:
|
|
405
|
+
- Maximum 1 week on-call per month
|
|
406
|
+
- Comp time after high-alert periods
|
|
407
|
+
- No-interrupt recovery day after shift
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Runbook Template
|
|
411
|
+
|
|
412
|
+
```markdown
|
|
413
|
+
# Alert: High Error Rate
|
|
414
|
+
|
|
415
|
+
## Summary
|
|
416
|
+
Error rate has exceeded the threshold of 5% for the service.
|
|
417
|
+
|
|
418
|
+
## Impact
|
|
419
|
+
Users may experience errors when accessing the application.
|
|
420
|
+
|
|
421
|
+
## Investigation Steps
|
|
422
|
+
1. Check service logs: `kubectl logs -l app=myapp -n production`
|
|
423
|
+
2. Review recent deployments: `kubectl rollout history deployment/myapp`
|
|
424
|
+
3. Check database connectivity: `kubectl exec -it myapp -- nc -zv postgres 5432`
|
|
425
|
+
4. Review error traces in APM dashboard
|
|
426
|
+
|
|
427
|
+
|
|
428
|
+
## Contents
|
|
429
|
+
|
|
430
|
+
- [Remediation](references/details.md)
|
|
431
|
+
- [Escalation](references/details.md)
|
|
432
|
+
- [Alert Fatigue Reduction](references/details.md)
|
|
433
|
+
- [Common Issues](references/details.md)
|
|
434
|
+
- [Best Practices](references/details.md)
|
|
435
|
+
- [Related Skills](references/details.md)
|
|
436
|
+
|
|
437
|
+
## When to Use This Skill
|
|
438
|
+
|
|
439
|
+
Use this skill when:
|
|
440
|
+
- Setting up alerting rules and thresholds
|
|
441
|
+
- Configuring on-call rotations and schedules
|
|
442
|
+
- Implementing alert routing and escalation
|
|
443
|
+
- Reducing alert fatigue
|
|
444
|
+
- Managing incident response workflows
|
|
445
|
+
|
|
446
|
+
## Limitations
|
|
447
|
+
|
|
448
|
+
- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.
|
|
449
|
+
- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.
|
|
450
|
+
|
|
451
|
+
### Example
|
|
452
|
+
|
|
453
|
+
```bash
|
|
454
|
+
git status && git diff --stat
|
|
455
|
+
kubectl diff -f manifest.yaml
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
> Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Details (moved from SKILL.md)
|
|
2
|
+
|
|
3
|
+
> Extended reference content for `alerting-oncall`, kept under `references/` so the entrypoint stays within the audit budget.
|
|
4
|
+
|
|
5
|
+
## Remediation
|
|
6
|
+
### If caused by recent deployment:
|
|
7
|
+
```bash
|
|
8
|
+
kubectl rollout undo deployment/myapp -n production
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### If database related:
|
|
12
|
+
```bash
|
|
13
|
+
kubectl delete pod -l app=postgres -n production
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Escalation
|
|
18
|
+
If not resolved within 15 minutes, escalate to:
|
|
19
|
+
- Database team: @db-oncall
|
|
20
|
+
- Platform team: @platform-oncall
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## Alert Fatigue Reduction
|
|
25
|
+
|
|
26
|
+
### Strategies
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
fatigue_reduction:
|
|
30
|
+
aggregate_alerts:
|
|
31
|
+
- Group related alerts
|
|
32
|
+
- Use inhibit rules
|
|
33
|
+
- Implement alert correlation
|
|
34
|
+
|
|
35
|
+
tune_thresholds:
|
|
36
|
+
- Base on SLOs, not arbitrary values
|
|
37
|
+
- Account for normal variance
|
|
38
|
+
- Use appropriate evaluation windows
|
|
39
|
+
|
|
40
|
+
automate_responses:
|
|
41
|
+
- Auto-remediation for known issues
|
|
42
|
+
- Self-healing infrastructure
|
|
43
|
+
- Automated scaling
|
|
44
|
+
|
|
45
|
+
regular_review:
|
|
46
|
+
- Weekly alert review
|
|
47
|
+
- Remove unused alerts
|
|
48
|
+
- Update thresholds based on data
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Common Issues
|
|
53
|
+
|
|
54
|
+
### Issue: Alert Storm
|
|
55
|
+
**Problem**: Too many alerts firing simultaneously
|
|
56
|
+
**Solution**: Implement proper grouping and inhibition rules
|
|
57
|
+
|
|
58
|
+
### Issue: Missed Alerts
|
|
59
|
+
**Problem**: Critical alerts not reaching on-call
|
|
60
|
+
**Solution**: Test escalation policies, verify contact methods
|
|
61
|
+
|
|
62
|
+
### Issue: False Positives
|
|
63
|
+
**Problem**: Alerts firing without actual issues
|
|
64
|
+
**Solution**: Tune thresholds, increase evaluation windows
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Best Practices
|
|
68
|
+
|
|
69
|
+
- Define clear severity levels
|
|
70
|
+
- Every alert needs a runbook
|
|
71
|
+
- Test on-call notifications regularly
|
|
72
|
+
- Review and tune alerts weekly
|
|
73
|
+
- Implement proper escalation paths
|
|
74
|
+
- Use alert grouping and inhibition
|
|
75
|
+
- Track alert metrics (MTTR, frequency)
|
|
76
|
+
- Practice incident response regularly
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Related Skills
|
|
80
|
+
|
|
81
|
+
- prometheus-grafana (`prometheus-grafana`) - Monitoring setup
|
|
82
|
+
- incident-response (`incident-response`) - Incident handling
|
|
83
|
+
- runbook-creation (`runbook-creation`) - Runbook creation
|
|
84
|
+
|