opencode-skills-collection 4.0.68 → 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 +266 -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/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/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/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/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/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/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/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/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/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/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/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/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/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6943 -323
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: change-management
|
|
3
|
+
description: Implement change management processes. Configure CAB reviews, change
|
|
4
|
+
windows, and rollback procedures. Use when managing production changes.
|
|
5
|
+
category: security
|
|
6
|
+
risk: safe
|
|
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: Checklist and framework guidance; no privileged tooling required. Apply
|
|
14
|
+
controls through your own change process.
|
|
15
|
+
metadata:
|
|
16
|
+
author: devops-skills
|
|
17
|
+
version: '1.0'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Change Management
|
|
21
|
+
|
|
22
|
+
Implement structured change management processes covering change classification, CAB workflows, emergency change procedures, and automation for compliance with SOC 2, ITIL, and regulatory frameworks.
|
|
23
|
+
|
|
24
|
+
## Change Classification
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
change_types:
|
|
28
|
+
standard:
|
|
29
|
+
risk: Low
|
|
30
|
+
approval: Pre-approved (no per-change approval needed)
|
|
31
|
+
lead_time: None (within maintenance window)
|
|
32
|
+
examples:
|
|
33
|
+
- Routine patching within tested patch sets
|
|
34
|
+
- Certificate rotation with established procedure
|
|
35
|
+
- Scaling operations (adding/removing instances within limits)
|
|
36
|
+
- Pre-approved configuration changes
|
|
37
|
+
- Log rotation and archival
|
|
38
|
+
requirements:
|
|
39
|
+
- Change must match an approved Standard Change template
|
|
40
|
+
- Automated testing must pass
|
|
41
|
+
- Documented rollback procedure exists
|
|
42
|
+
- Within defined maintenance window
|
|
43
|
+
|
|
44
|
+
normal_low:
|
|
45
|
+
risk: Low
|
|
46
|
+
approval: Peer review (1 approver)
|
|
47
|
+
lead_time: 2 business days
|
|
48
|
+
examples:
|
|
49
|
+
- Non-critical configuration changes
|
|
50
|
+
- Feature flag toggles
|
|
51
|
+
- Documentation updates to production systems
|
|
52
|
+
- Adding monitoring dashboards or alerts
|
|
53
|
+
|
|
54
|
+
normal_medium:
|
|
55
|
+
risk: Medium
|
|
56
|
+
approval: Team lead + peer review (2 approvers)
|
|
57
|
+
lead_time: 5 business days
|
|
58
|
+
examples:
|
|
59
|
+
- Application deployments with new features
|
|
60
|
+
- Database schema changes (non-breaking)
|
|
61
|
+
- Network rule modifications
|
|
62
|
+
- Integration endpoint changes
|
|
63
|
+
- Dependency version upgrades
|
|
64
|
+
|
|
65
|
+
normal_high:
|
|
66
|
+
risk: High
|
|
67
|
+
approval: CAB review required
|
|
68
|
+
lead_time: 10 business days
|
|
69
|
+
examples:
|
|
70
|
+
- Infrastructure migrations
|
|
71
|
+
- Breaking database schema changes
|
|
72
|
+
- Major version upgrades (OS, runtime, database engine)
|
|
73
|
+
- Changes to authentication or authorization systems
|
|
74
|
+
- Multi-service coordinated deployments
|
|
75
|
+
- Changes affecting data processing or compliance controls
|
|
76
|
+
|
|
77
|
+
emergency:
|
|
78
|
+
risk: Variable
|
|
79
|
+
approval: Emergency CAB (minimum 2 approvers from on-call)
|
|
80
|
+
lead_time: None (immediate implementation)
|
|
81
|
+
examples:
|
|
82
|
+
- Security vulnerability remediation (active exploitation)
|
|
83
|
+
- Production outage resolution
|
|
84
|
+
- Data integrity emergency fixes
|
|
85
|
+
- Regulatory compliance deadline fixes
|
|
86
|
+
requirements:
|
|
87
|
+
- Retroactive full documentation within 48 hours
|
|
88
|
+
- Post-implementation review required
|
|
89
|
+
- CAB retroactive review at next meeting
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Change Request Template
|
|
93
|
+
|
|
94
|
+
```yaml
|
|
95
|
+
change_request:
|
|
96
|
+
metadata:
|
|
97
|
+
id: "CR-YYYY-NNNN"
|
|
98
|
+
title: ""
|
|
99
|
+
requestor: ""
|
|
100
|
+
date_submitted: ""
|
|
101
|
+
target_date: ""
|
|
102
|
+
change_type: "" # standard | normal_low | normal_medium | normal_high | emergency
|
|
103
|
+
|
|
104
|
+
description:
|
|
105
|
+
summary: "Brief description of the change"
|
|
106
|
+
detailed_description: "Full technical details of what will change"
|
|
107
|
+
business_justification: "Why this change is needed"
|
|
108
|
+
affected_systems: []
|
|
109
|
+
affected_services: []
|
|
110
|
+
affected_users: "Description of user impact"
|
|
111
|
+
|
|
112
|
+
risk_assessment:
|
|
113
|
+
risk_level: "" # low | medium | high
|
|
114
|
+
impact_if_failed: "What happens if the change fails"
|
|
115
|
+
likelihood_of_failure: "" # low | medium | high
|
|
116
|
+
risk_mitigation: "Steps to reduce risk"
|
|
117
|
+
dependencies: "Other systems or changes this depends on"
|
|
118
|
+
|
|
119
|
+
implementation:
|
|
120
|
+
change_window:
|
|
121
|
+
start: ""
|
|
122
|
+
end: ""
|
|
123
|
+
maintenance_window: true
|
|
124
|
+
implementation_steps:
|
|
125
|
+
- step: "Step 1 description"
|
|
126
|
+
responsible: "Person/team"
|
|
127
|
+
estimated_duration: "X minutes"
|
|
128
|
+
- step: "Step 2 description"
|
|
129
|
+
responsible: "Person/team"
|
|
130
|
+
estimated_duration: "X minutes"
|
|
131
|
+
|
|
132
|
+
testing:
|
|
133
|
+
pre_change_testing:
|
|
134
|
+
- "Unit tests pass"
|
|
135
|
+
- "Integration tests pass"
|
|
136
|
+
- "Staging deployment verified"
|
|
137
|
+
post_change_verification:
|
|
138
|
+
- "Health check endpoints responding"
|
|
139
|
+
- "Key transactions processing successfully"
|
|
140
|
+
- "No error rate increase in monitoring"
|
|
141
|
+
- "Performance metrics within baseline"
|
|
142
|
+
|
|
143
|
+
rollback:
|
|
144
|
+
rollback_plan: "Detailed steps to revert the change"
|
|
145
|
+
rollback_trigger: "Conditions that trigger rollback"
|
|
146
|
+
rollback_estimated_time: "X minutes"
|
|
147
|
+
rollback_steps:
|
|
148
|
+
- "Step 1: Revert deployment to previous version"
|
|
149
|
+
- "Step 2: Verify rollback successful"
|
|
150
|
+
- "Step 3: Notify stakeholders"
|
|
151
|
+
data_rollback: "Describe any data migration rollback needed"
|
|
152
|
+
|
|
153
|
+
communication:
|
|
154
|
+
stakeholders_notified: []
|
|
155
|
+
notification_sent_date: ""
|
|
156
|
+
status_page_update: true
|
|
157
|
+
customer_notification_required: false
|
|
158
|
+
|
|
159
|
+
approvals:
|
|
160
|
+
technical_reviewer: ""
|
|
161
|
+
technical_approval_date: ""
|
|
162
|
+
security_reviewer: ""
|
|
163
|
+
security_approval_date: ""
|
|
164
|
+
cab_approval_date: ""
|
|
165
|
+
cab_notes: ""
|
|
166
|
+
|
|
167
|
+
closure:
|
|
168
|
+
implementation_date: ""
|
|
169
|
+
implementation_result: "" # success | partial | failed | rolled_back
|
|
170
|
+
post_implementation_review: ""
|
|
171
|
+
lessons_learned: ""
|
|
172
|
+
follow_up_actions: []
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## CAB Workflow
|
|
176
|
+
|
|
177
|
+
```yaml
|
|
178
|
+
cab_workflow:
|
|
179
|
+
meeting_schedule:
|
|
180
|
+
regular_cab: "Weekly, Thursday 2:00 PM"
|
|
181
|
+
emergency_cab: "On-demand, minimum 2 members required"
|
|
182
|
+
|
|
183
|
+
cab_members:
|
|
184
|
+
permanent:
|
|
185
|
+
- Engineering Manager (Chair)
|
|
186
|
+
- Security Team Representative
|
|
187
|
+
- Infrastructure/SRE Lead
|
|
188
|
+
- Release Manager
|
|
189
|
+
advisory:
|
|
190
|
+
- Business stakeholder (invited per change)
|
|
191
|
+
- Database administrator (for DB changes)
|
|
192
|
+
- Network engineer (for network changes)
|
|
193
|
+
|
|
194
|
+
agenda:
|
|
195
|
+
1: "Review emergency changes from prior week"
|
|
196
|
+
2: "Review high-risk change requests for upcoming window"
|
|
197
|
+
3: "Review failed changes and lessons learned"
|
|
198
|
+
4: "Discuss upcoming change freeze periods"
|
|
199
|
+
5: "Review change metrics and trends"
|
|
200
|
+
|
|
201
|
+
decision_criteria:
|
|
202
|
+
approve_when:
|
|
203
|
+
- Risk assessment is complete and accurate
|
|
204
|
+
- Testing evidence is provided
|
|
205
|
+
- Rollback plan is documented and feasible
|
|
206
|
+
- Change window is appropriate
|
|
207
|
+
- Required approvals obtained
|
|
208
|
+
- No conflicts with other scheduled changes
|
|
209
|
+
request_changes_when:
|
|
210
|
+
- Rollback plan is missing or incomplete
|
|
211
|
+
- Testing is insufficient for the risk level
|
|
212
|
+
- Impact assessment needs clarification
|
|
213
|
+
- Change conflicts with another scheduled change
|
|
214
|
+
deny_when:
|
|
215
|
+
- Risk is unacceptable without mitigation
|
|
216
|
+
- Change window conflicts with freeze period
|
|
217
|
+
- Dependencies are not resolved
|
|
218
|
+
- Compliance concerns are unaddressed
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Emergency Change Procedure
|
|
222
|
+
|
|
223
|
+
```yaml
|
|
224
|
+
emergency_change_process:
|
|
225
|
+
definition: "A change required to restore service or prevent imminent security compromise"
|
|
226
|
+
|
|
227
|
+
step_1_declare:
|
|
228
|
+
actions:
|
|
229
|
+
- On-call engineer identifies need for emergency change
|
|
230
|
+
- Incident commander approves emergency classification
|
|
231
|
+
- Minimum 2 approvers from emergency CAB roster contacted
|
|
232
|
+
- Document initial justification in incident channel
|
|
233
|
+
|
|
234
|
+
step_2_approve:
|
|
235
|
+
approval_method:
|
|
236
|
+
- Slack/Teams approval with screenshots preserved
|
|
237
|
+
- Verbal approval over bridge call (documented in notes)
|
|
238
|
+
- Emergency approvers can be any 2 of the following roles:
|
|
239
|
+
- Engineering Manager
|
|
240
|
+
- SRE/Infrastructure Lead
|
|
241
|
+
- Security Team Lead
|
|
242
|
+
- VP of Engineering
|
|
243
|
+
timeout: "If no response in 15 minutes, escalate to next tier"
|
|
244
|
+
|
|
245
|
+
step_3_implement:
|
|
246
|
+
actions:
|
|
247
|
+
- Implement the minimum change needed to resolve the issue
|
|
248
|
+
- Record all actions taken with timestamps
|
|
249
|
+
- Monitor for successful resolution
|
|
250
|
+
- Document any deviations from planned change
|
|
251
|
+
|
|
252
|
+
step_4_verify:
|
|
253
|
+
actions:
|
|
254
|
+
- Confirm service restoration
|
|
255
|
+
- Verify no unintended side effects
|
|
256
|
+
- Run post-change verification checks
|
|
257
|
+
- Update status page and stakeholders
|
|
258
|
+
|
|
259
|
+
step_5_document:
|
|
260
|
+
deadline: "Within 48 hours of implementation"
|
|
261
|
+
required_documentation:
|
|
262
|
+
- Complete change request form (retroactive)
|
|
263
|
+
- Timeline of events and actions
|
|
264
|
+
- Justification for emergency classification
|
|
265
|
+
- Approval records (messages, emails)
|
|
266
|
+
- Post-implementation verification results
|
|
267
|
+
- Root cause analysis (what made it an emergency)
|
|
268
|
+
- Preventive actions to avoid future emergency
|
|
269
|
+
|
|
270
|
+
step_6_review:
|
|
271
|
+
actions:
|
|
272
|
+
- CAB review at next regular meeting
|
|
273
|
+
- Assess if emergency classification was appropriate
|
|
274
|
+
- Identify process improvements
|
|
275
|
+
- Track emergency change trends
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## Pull Request Template for Changes
|
|
279
|
+
|
|
280
|
+
```markdown
|
|
281
|
+
## Change Request
|
|
282
|
+
|
|
283
|
+
### Type
|
|
284
|
+
- [ ] Standard (pre-approved, low risk)
|
|
285
|
+
- [ ] Normal - Low Risk
|
|
286
|
+
- [ ] Normal - Medium Risk
|
|
287
|
+
- [ ] Normal - High Risk (CAB required)
|
|
288
|
+
- [ ] Emergency (retroactive documentation required)
|
|
289
|
+
|
|
290
|
+
### Description
|
|
291
|
+
<!-- What is being changed and why? -->
|
|
292
|
+
|
|
293
|
+
### Risk Assessment
|
|
294
|
+
**Impact if failed:** <!-- What breaks? -->
|
|
295
|
+
**Likelihood of failure:** Low / Medium / High
|
|
296
|
+
**Affected services:** <!-- List services -->
|
|
297
|
+
**User impact:** <!-- Will users notice? -->
|
|
298
|
+
|
|
299
|
+
### Testing Evidence
|
|
300
|
+
- [ ] Unit tests pass
|
|
301
|
+
- [ ] Integration tests pass
|
|
302
|
+
- [ ] Staging deployment verified
|
|
303
|
+
- [ ] Performance test completed (if applicable)
|
|
304
|
+
- [ ] Security scan clean (if applicable)
|
|
305
|
+
|
|
306
|
+
### Rollback Plan
|
|
307
|
+
<!-- How to revert if something goes wrong -->
|
|
308
|
+
**Estimated rollback time:** <!-- X minutes -->
|
|
309
|
+
**Data rollback needed:** Yes / No
|
|
310
|
+
|
|
311
|
+
### Deployment Plan
|
|
312
|
+
**Target window:** <!-- Date and time -->
|
|
313
|
+
**Estimated duration:** <!-- X minutes -->
|
|
314
|
+
|
|
315
|
+
### Post-Deployment Verification
|
|
316
|
+
- [ ] Health checks passing
|
|
317
|
+
- [ ] Error rates within baseline
|
|
318
|
+
- [ ] Key transactions working
|
|
319
|
+
- [ ] Monitoring dashboards reviewed
|
|
320
|
+
|
|
321
|
+
### Communication
|
|
322
|
+
- [ ] Team notified
|
|
323
|
+
- [ ] Stakeholders notified (if user-facing)
|
|
324
|
+
- [ ] Status page updated (if applicable)
|
|
325
|
+
|
|
326
|
+
### Approvals Required
|
|
327
|
+
- [ ] Peer review
|
|
328
|
+
- [ ] Team lead (medium+ risk)
|
|
329
|
+
- [ ] Security review (security-impacting changes)
|
|
330
|
+
- [ ] CAB approval (high risk)
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## CI/CD Change Tracking Automation
|
|
334
|
+
|
|
335
|
+
```yaml
|
|
336
|
+
# GitHub Actions - Automated change tracking
|
|
337
|
+
name: Change Management
|
|
338
|
+
on:
|
|
339
|
+
pull_request:
|
|
340
|
+
types: [opened, synchronize, labeled]
|
|
341
|
+
push:
|
|
342
|
+
branches: [main]
|
|
343
|
+
|
|
344
|
+
jobs:
|
|
345
|
+
classify-change:
|
|
346
|
+
if: github.event_name == 'pull_request'
|
|
347
|
+
runs-on: ubuntu-latest
|
|
348
|
+
steps:
|
|
349
|
+
- uses: actions/checkout@v4
|
|
350
|
+
|
|
351
|
+
- name: Classify change risk
|
|
352
|
+
id: classify
|
|
353
|
+
run: |
|
|
354
|
+
FILES_CHANGED=$(gh pr diff ${{ github.event.pull_request.number }} --name-only)
|
|
355
|
+
|
|
356
|
+
# High risk indicators
|
|
357
|
+
if echo "$FILES_CHANGED" | grep -qE 'terraform/|infrastructure/|migrations/|auth/|security/'; then
|
|
358
|
+
echo "risk=high" >> $GITHUB_OUTPUT
|
|
359
|
+
echo "::warning::High-risk change detected - CAB review may be required"
|
|
360
|
+
elif echo "$FILES_CHANGED" | grep -qE 'config/|database/|api/'; then
|
|
361
|
+
echo "risk=medium" >> $GITHUB_OUTPUT
|
|
362
|
+
else
|
|
363
|
+
echo "risk=low" >> $GITHUB_OUTPUT
|
|
364
|
+
fi
|
|
365
|
+
env:
|
|
366
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
367
|
+
|
|
368
|
+
- name: Add risk label
|
|
369
|
+
run: |
|
|
370
|
+
gh pr edit ${{ github.event.pull_request.number }} \
|
|
371
|
+
--add-label "risk:${{ steps.classify.outputs.risk }}"
|
|
372
|
+
env:
|
|
373
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
374
|
+
|
|
375
|
+
- name: Enforce approvals by risk
|
|
376
|
+
if: steps.classify.outputs.risk == 'high'
|
|
377
|
+
run: |
|
|
378
|
+
APPROVALS=$(gh pr view ${{ github.event.pull_request.number }} \
|
|
379
|
+
--json reviews --jq '[.reviews[] | select(.state=="APPROVED")] | length')
|
|
380
|
+
if [ "$APPROVALS" -lt 2 ]; then
|
|
381
|
+
echo "::error::High-risk changes require at least 2 approvals"
|
|
382
|
+
exit 1
|
|
383
|
+
fi
|
|
384
|
+
env:
|
|
385
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
386
|
+
|
|
387
|
+
record-deployment:
|
|
388
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
389
|
+
runs-on: ubuntu-latest
|
|
390
|
+
steps:
|
|
391
|
+
- name: Record deployment
|
|
392
|
+
run: |
|
|
393
|
+
CHANGE_ID="CR-$(date +%Y)-$(printf '%04d' ${{ github.run_number }})"
|
|
394
|
+
echo "Change ID: $CHANGE_ID"
|
|
395
|
+
echo "Deployed at: $(date -u +%Y-%m-%dT%H:%M:%SZ)"
|
|
396
|
+
echo "Commit: ${{ github.sha }}"
|
|
397
|
+
echo "Author: ${{ github.actor }}"
|
|
398
|
+
|
|
399
|
+
cat > /tmp/deployment-record.json <<EOF
|
|
400
|
+
{
|
|
401
|
+
"change_id": "$CHANGE_ID",
|
|
402
|
+
"timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
|
|
403
|
+
"commit": "${{ github.sha }}",
|
|
404
|
+
"author": "${{ github.actor }}",
|
|
405
|
+
"environment": "production",
|
|
406
|
+
"status": "deployed"
|
|
407
|
+
}
|
|
408
|
+
EOF
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
## Contents
|
|
413
|
+
|
|
414
|
+
- [Change Freeze Policy](references/details.md)
|
|
415
|
+
- [Change Management Metrics](references/details.md)
|
|
416
|
+
- [Change Management Checklist](references/details.md)
|
|
417
|
+
- [Best Practices](references/details.md)
|
|
418
|
+
|
|
419
|
+
## When to Use
|
|
420
|
+
|
|
421
|
+
- Establishing change management processes for production environments
|
|
422
|
+
- Implementing change advisory board (CAB) workflows
|
|
423
|
+
- Defining change classification and approval requirements
|
|
424
|
+
- Configuring automated change tracking in CI/CD pipelines
|
|
425
|
+
- Handling emergency changes with proper controls and documentation
|
|
426
|
+
|
|
427
|
+
## Limitations
|
|
428
|
+
|
|
429
|
+
- Guidance and checklists only; not legal advice and not a substitute for a qualified auditor.
|
|
430
|
+
- Docs-only import: upstream templates and scripts not bundled.
|
|
431
|
+
|
|
432
|
+
### Example
|
|
433
|
+
|
|
434
|
+
```markdown
|
|
435
|
+
Map this skill's control checklist to our current evidence and list gaps.
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
> 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,105 @@
|
|
|
1
|
+
# Details (moved from SKILL.md)
|
|
2
|
+
|
|
3
|
+
> Extended reference content for `change-management`, kept under `references/` so the entrypoint stays within the audit budget.
|
|
4
|
+
|
|
5
|
+
## Change Freeze Policy
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
change_freeze:
|
|
9
|
+
definition: "Period during which non-emergency changes are prohibited"
|
|
10
|
+
|
|
11
|
+
scheduled_freezes:
|
|
12
|
+
year_end:
|
|
13
|
+
start: "December 15"
|
|
14
|
+
end: "January 3"
|
|
15
|
+
scope: "All production changes"
|
|
16
|
+
major_events:
|
|
17
|
+
- "Black Friday through Cyber Monday (e-commerce)"
|
|
18
|
+
- "Tax filing deadline periods (financial services)"
|
|
19
|
+
- "Open enrollment periods (healthcare)"
|
|
20
|
+
|
|
21
|
+
exceptions_during_freeze:
|
|
22
|
+
allowed:
|
|
23
|
+
- Security patches for actively exploited vulnerabilities
|
|
24
|
+
- Changes required by regulatory deadline
|
|
25
|
+
- Fixes for P1/SEV1 production incidents
|
|
26
|
+
approval: "VP of Engineering + Security Lead"
|
|
27
|
+
|
|
28
|
+
communication:
|
|
29
|
+
announcement: "2 weeks before freeze"
|
|
30
|
+
reminder: "1 week and 1 day before freeze"
|
|
31
|
+
daily_status: "During freeze period"
|
|
32
|
+
lift_notification: "When freeze ends"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Change Management Metrics
|
|
37
|
+
|
|
38
|
+
```yaml
|
|
39
|
+
metrics:
|
|
40
|
+
change_success_rate:
|
|
41
|
+
description: "Percentage of changes implemented without rollback or incident"
|
|
42
|
+
target: ">95%"
|
|
43
|
+
formula: "(successful changes / total changes) * 100"
|
|
44
|
+
|
|
45
|
+
emergency_change_rate:
|
|
46
|
+
description: "Percentage of changes classified as emergency"
|
|
47
|
+
target: "<5%"
|
|
48
|
+
formula: "(emergency changes / total changes) * 100"
|
|
49
|
+
|
|
50
|
+
rollback_rate:
|
|
51
|
+
description: "Percentage of changes that required rollback"
|
|
52
|
+
target: "<3%"
|
|
53
|
+
|
|
54
|
+
mean_time_to_implement:
|
|
55
|
+
description: "Average time from approval to implementation"
|
|
56
|
+
target: "Varies by type"
|
|
57
|
+
|
|
58
|
+
cab_approval_time:
|
|
59
|
+
description: "Average time from submission to CAB decision"
|
|
60
|
+
target: "<5 business days for normal changes"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## Change Management Checklist
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
change_management_checklist:
|
|
68
|
+
process_setup:
|
|
69
|
+
- [ ] Change types defined with classification criteria
|
|
70
|
+
- [ ] Approval matrix documented (who approves what)
|
|
71
|
+
- [ ] CAB established with regular meeting schedule
|
|
72
|
+
- [ ] Emergency change procedure documented
|
|
73
|
+
- [ ] Change request template created
|
|
74
|
+
- [ ] Change freeze policy defined
|
|
75
|
+
|
|
76
|
+
tooling:
|
|
77
|
+
- [ ] PR template includes change management fields
|
|
78
|
+
- [ ] Automated risk classification in CI/CD
|
|
79
|
+
- [ ] Branch protection enforces required approvals
|
|
80
|
+
- [ ] Deployment records captured automatically
|
|
81
|
+
- [ ] Change audit trail preserved (PR history, approvals)
|
|
82
|
+
|
|
83
|
+
compliance:
|
|
84
|
+
- [ ] All production changes have documented approval
|
|
85
|
+
- [ ] Rollback plans exist for every change
|
|
86
|
+
- [ ] Post-implementation reviews conducted for failures
|
|
87
|
+
- [ ] Emergency changes documented retroactively within 48 hours
|
|
88
|
+
- [ ] Change metrics reported monthly
|
|
89
|
+
- [ ] Audit trail retained for compliance period (1-3 years)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
## Best Practices
|
|
94
|
+
|
|
95
|
+
- Classify changes by risk level to apply proportionate controls without slowing low-risk work
|
|
96
|
+
- Automate risk classification based on files changed, services affected, and deployment scope
|
|
97
|
+
- Use PR approvals as the native change approval mechanism for code-driven changes
|
|
98
|
+
- Require rollback plans for every change and test rollback procedures periodically
|
|
99
|
+
- Track emergency changes as a key metric: a high rate indicates systemic process issues
|
|
100
|
+
- Implement change freezes during critical business periods to protect stability
|
|
101
|
+
- Conduct post-implementation reviews for all failed changes to drive improvement
|
|
102
|
+
- Separate duty of implementation from duty of approval (no self-approving changes)
|
|
103
|
+
- Capture deployment records automatically in CI/CD rather than relying on manual entry
|
|
104
|
+
- Keep the CAB focused on high-risk decisions; do not bottleneck low-risk changes through CAB
|
|
105
|
+
|