@raishin/vanguard-frontier-agentic 1.1.0 → 1.3.0
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/README.md +369 -322
- package/agents/AGENTS.md +263 -21
- package/agents/argocd/README.md +46 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/AGENT.md +55 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/codex.toml +29 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/metadata.json +31 -0
- package/agents/argocd/argocd-gitops-review-agent/AGENT.md +55 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/codex.toml +32 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/argocd/argocd-gitops-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/argocd/argocd-gitops-review-agent/metadata.json +30 -0
- package/agents/aws/aws-live-deployment-guarded-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-ecs-rollout-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-iac-change-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-live-pipeline-approval-operator-agent/metadata.json +10 -1
- package/agents/aws/aws-live-serverless-release-guard-agent/metadata.json +10 -1
- package/agents/aws/aws-maestro-agent/AGENT.md +55 -0
- package/agents/aws/aws-maestro-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/aws/aws-maestro-agent/harnesses/codex.toml +34 -0
- package/agents/aws/aws-maestro-agent/harnesses/copilot.agent.md +51 -0
- package/agents/aws/aws-maestro-agent/harnesses/cursor.agent.md +40 -0
- package/agents/aws/aws-maestro-agent/harnesses/gemini.agent.md +39 -0
- package/agents/aws/aws-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/aws/aws-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/aws/aws-maestro-agent/metadata.json +37 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/AGENT.md +53 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/aws/aws-private-ca-issuer-review-agent/metadata.json +37 -0
- package/agents/azure/AGENTS.md +26 -0
- package/agents/azure/README.md +45 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/AGENT.md +53 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/metadata.json +36 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/PERMISSIONS.md +56 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/PREFLIGHT.md +48 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/ROLLBACK.md +36 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-aks-rollout-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PERMISSIONS.md +43 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/PREFLIGHT.md +50 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/ROLLBACK.md +46 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/metadata.json +35 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PERMISSIONS.md +88 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/PREFLIGHT.md +48 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/ROLLBACK.md +48 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/PERMISSIONS.md +93 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/PREFLIGHT.md +44 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/ROLLBACK.md +49 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-cost-budget-action-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/AGENT.md +59 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/codex.toml +34 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/metadata.json +37 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PERMISSIONS.md +68 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/PREFLIGHT.md +46 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/ROLLBACK.md +44 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/AGENT.md +57 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/PERMISSIONS.md +59 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/PREFLIGHT.md +41 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/ROLLBACK.md +48 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/codex.toml +32 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/metadata.json +36 -0
- package/agents/azure/azure-maestro-agent/AGENT.md +56 -0
- package/agents/azure/azure-maestro-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/azure/azure-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/azure/azure-maestro-agent/harnesses/copilot.agent.md +52 -0
- package/agents/azure/azure-maestro-agent/harnesses/cursor.agent.md +41 -0
- package/agents/azure/azure-maestro-agent/harnesses/gemini.agent.md +40 -0
- package/agents/azure/azure-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/azure/azure-maestro-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/azure/azure-maestro-agent/metadata.json +38 -0
- package/agents/backstage/README.md +36 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/AGENT.md +54 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/codex.toml +31 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/backstage/backstage-scaffolder-template-review-agent/metadata.json +30 -0
- package/agents/cert-manager/README.md +46 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/AGENT.md +55 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/codex.toml +29 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/metadata.json +31 -0
- package/agents/cilium/README.md +46 -0
- package/agents/cilium/cilium-network-policy-review-agent/AGENT.md +55 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/cilium/cilium-network-policy-review-agent/metadata.json +37 -0
- package/agents/falco/README.md +36 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/AGENT.md +49 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/codex.toml +31 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/falco/falco-runtime-threat-rules-review-agent/metadata.json +31 -0
- package/agents/finops/AGENTS.md +36 -0
- package/agents/finops/README.md +27 -0
- package/agents/finops/finops-cloud-price-advisor-agent/AGENT.md +58 -0
- package/agents/finops/finops-cloud-price-advisor-agent/PERMISSIONS.md +112 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/codex.toml +33 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/copilot.agent.md +53 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/cursor.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/gemini.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/finops/finops-cloud-price-advisor-agent/metadata.json +38 -0
- package/agents/fluxcd/README.md +39 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/AGENT.md +55 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/codex.toml +32 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/metadata.json +31 -0
- package/agents/istio/README.md +46 -0
- package/agents/istio/istio-ambient-mesh-review-agent/AGENT.md +55 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/codex.toml +32 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/istio/istio-ambient-mesh-review-agent/metadata.json +30 -0
- package/agents/kubernetes/README.md +143 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/AGENT.md +49 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/codex.toml +31 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/kubernetes/external-secrets-operator-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/AGENT.md +56 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/claude-code.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/copilot.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/cursor.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/kiro-ide.agent.md +39 -0
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/metadata.json +31 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/codex.toml +33 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/copilot.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/cursor.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/gemini.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/AGENT.md +59 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/AGENT.md +62 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/claude-code.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/codex.toml +35 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/copilot.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/cursor.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/kiro-ide.agent.md +43 -0
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-maestro-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/codex.toml +34 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-maestro-agent/metadata.json +40 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/AGENT.md +54 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/codex.toml +27 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/metadata.json +38 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/kubernetes/kubernetes-psa-review-agent/metadata.json +37 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/codex.toml +32 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/copilot.agent.md +51 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/cursor.agent.md +40 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/gemini.agent.md +39 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kubernetes/kubernetes-rbac-review-agent/metadata.json +36 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/AGENT.md +55 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/codex.toml +29 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/metadata.json +37 -0
- package/agents/kyverno/README.md +46 -0
- package/agents/kyverno/kyverno-policy-review-agent/AGENT.md +55 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/codex.toml +32 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/kyverno/kyverno-policy-review-agent/metadata.json +30 -0
- package/agents/oci/AGENTS.md +28 -0
- package/agents/oci/README.md +45 -0
- package/agents/oci/oci-certificates-issuer-review-agent/AGENT.md +53 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/codex.toml +27 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/oci/oci-certificates-issuer-review-agent/metadata.json +36 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PERMISSIONS.md +56 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/PREFLIGHT.md +48 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/ROLLBACK.md +50 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PERMISSIONS.md +77 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/PREFLIGHT.md +54 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/ROLLBACK.md +53 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PERMISSIONS.md +87 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/PREFLIGHT.md +49 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/ROLLBACK.md +44 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/AGENT.md +59 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/claude-code.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/codex.toml +34 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/copilot.agent.md +55 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/cursor.agent.md +44 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/gemini.agent.md +43 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/kiro-ide.agent.md +42 -0
- package/agents/oci/oci-live-network-security-rule-guard-agent/metadata.json +37 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/PERMISSIONS.md +92 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/PREFLIGHT.md +49 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/ROLLBACK.md +47 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-oke-rollout-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/PERMISSIONS.md +80 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/PREFLIGHT.md +51 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/ROLLBACK.md +45 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/AGENT.md +57 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/PERMISSIONS.md +57 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/PREFLIGHT.md +53 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/ROLLBACK.md +49 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/claude-code.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/codex.toml +32 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/copilot.agent.md +53 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/cursor.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/gemini.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-cli.agent.json +1 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/kiro-ide.agent.md +40 -0
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/metadata.json +36 -0
- package/agents/oci/oci-maestro-agent/AGENT.md +58 -0
- package/agents/oci/oci-maestro-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/oci/oci-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/oci/oci-maestro-agent/harnesses/copilot.agent.md +54 -0
- package/agents/oci/oci-maestro-agent/harnesses/cursor.agent.md +43 -0
- package/agents/oci/oci-maestro-agent/harnesses/gemini.agent.md +42 -0
- package/agents/oci/oci-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/oci/oci-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/oci/oci-maestro-agent/metadata.json +37 -0
- package/agents/opentelemetry/README.md +37 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/AGENT.md +55 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/claude-code.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/codex.toml +32 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/copilot.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/cursor.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/gemini.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/kiro-ide.agent.md +38 -0
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/metadata.json +37 -0
- package/agents/prometheus/README.md +36 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/AGENT.md +48 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/claude-code.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/codex.toml +31 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/copilot.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/cursor.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/gemini.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/kiro-ide.agent.md +32 -0
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/metadata.json +31 -0
- package/agents/sigstore/README.md +38 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/AGENT.md +55 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/codex.toml +29 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/metadata.json +31 -0
- package/agents/terraform/README.md +29 -0
- package/agents/terraform/terraform-maestro-agent/AGENT.md +58 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/claude-code.agent.md +41 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/codex.toml +14 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/copilot.agent.md +54 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/cursor.agent.md +43 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/gemini.agent.md +42 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/terraform/terraform-maestro-agent/harnesses/kiro-ide.agent.md +41 -0
- package/agents/terraform/terraform-maestro-agent/metadata.json +38 -0
- package/agents/terraform/terraform-reviewer/harnesses/claude-code.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/codex.toml +29 -0
- package/agents/terraform/terraform-reviewer/harnesses/copilot.agent.md +42 -0
- package/agents/terraform/terraform-reviewer/harnesses/cursor.agent.md +31 -0
- package/agents/terraform/terraform-reviewer/harnesses/gemini.agent.md +30 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-cli.agent.json +5 -0
- package/agents/terraform/terraform-reviewer/harnesses/kiro-ide.agent.md +29 -0
- package/agents/terraform/terraform-reviewer/metadata.json +10 -1
- package/agents/velero/README.md +41 -0
- package/assets/logos/vanguard-frontier-agentic-logo.png +0 -0
- package/catalog/agents.json +1347 -27
- package/catalog/install-roles.json +455 -0
- package/catalog/skill-manifest.json +1358 -62
- package/catalog/skills.json +1231 -25
- package/package.json +11 -1
- package/scripts/export-marketplace-agents.mjs +129 -10
- package/scripts/gen_azure_live_guards.py +1424 -0
- package/scripts/gen_oci_live_guards.py +1510 -0
- package/scripts/update-catalog-new-agents.py +88 -0
- package/skills/argocd/README.md +30 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/SKILL.md +40 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/metadata.json +22 -0
- package/skills/argocd/argo-rollouts-progressive-delivery-review/references/workflow-and-output.md +248 -0
- package/skills/argocd/argocd-gitops-review/SKILL.md +43 -0
- package/skills/argocd/argocd-gitops-review/metadata.json +30 -0
- package/skills/argocd/argocd-gitops-review/references/mcp-and-evidence.md +53 -0
- package/skills/argocd/argocd-gitops-review/references/official-sources.md +32 -0
- package/skills/argocd/argocd-gitops-review/references/workflow-and-output.md +120 -0
- package/skills/aws/README.md +3 -1
- package/skills/aws/aws-maestro/SKILL.md +47 -0
- package/skills/aws/aws-maestro/metadata.json +28 -0
- package/skills/aws/aws-maestro/references/official-sources.md +24 -0
- package/skills/aws/aws-maestro/references/safety-checklist.md +42 -0
- package/skills/aws/aws-maestro/references/workflow-and-output.md +129 -0
- package/skills/aws/aws-private-ca-issuer-review/SKILL.md +39 -0
- package/skills/aws/aws-private-ca-issuer-review/metadata.json +21 -0
- package/skills/aws/aws-private-ca-issuer-review/references/official-sources.md +22 -0
- package/skills/aws/aws-private-ca-issuer-review/references/safety-checklist.md +30 -0
- package/skills/aws/aws-private-ca-issuer-review/references/workflow-and-output.md +214 -0
- package/skills/azure/README.md +3 -1
- package/skills/azure/azure-keyvault-certificate-issuer-review/SKILL.md +37 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/metadata.json +20 -0
- package/skills/azure/azure-keyvault-certificate-issuer-review/references/workflow-and-output.md +190 -0
- package/skills/azure/azure-live-aks-rollout-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-aks-rollout-guard/metadata.json +27 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/official-sources.md +19 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/permission-model.md +54 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/preflight-commands.md +55 -0
- package/skills/azure/azure-live-aks-rollout-guard/references/rollback-playbook.md +38 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/metadata.json +26 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/official-sources.md +12 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/permission-model.md +40 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/preflight-commands.md +46 -0
- package/skills/azure/azure-live-app-service-slot-swap-guard/references/rollback-playbook.md +46 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/metadata.json +27 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/official-sources.md +17 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/permission-model.md +68 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/preflight-commands.md +55 -0
- package/skills/azure/azure-live-arm-deployment-stack-guard/references/rollback-playbook.md +53 -0
- package/skills/azure/azure-live-cost-budget-action-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-cost-budget-action-guard/metadata.json +27 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/official-sources.md +17 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/permission-model.md +66 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/preflight-commands.md +48 -0
- package/skills/azure/azure-live-cost-budget-action-guard/references/rollback-playbook.md +40 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/SKILL.md +56 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/metadata.json +28 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/official-sources.md +21 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/permission-model.md +70 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/preflight-commands.md +69 -0
- package/skills/azure/azure-live-entra-role-assignment-guard/references/rollback-playbook.md +51 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/metadata.json +27 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/official-sources.md +13 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/permission-model.md +64 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/preflight-commands.md +48 -0
- package/skills/azure/azure-live-keyvault-rotation-purge-guard/references/rollback-playbook.md +44 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/SKILL.md +49 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/metadata.json +27 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/official-sources.md +13 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/permission-model.md +56 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/preflight-commands.md +46 -0
- package/skills/azure/azure-live-pim-jit-activation-guard/references/rollback-playbook.md +45 -0
- package/skills/azure/azure-maestro/SKILL.md +140 -0
- package/skills/azure/azure-maestro/metadata.json +28 -0
- package/skills/backstage/backstage-scaffolder-template-review/SKILL.md +39 -0
- package/skills/backstage/backstage-scaffolder-template-review/metadata.json +21 -0
- package/skills/backstage/backstage-scaffolder-template-review/references/workflow-and-output.md +179 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/SKILL.md +40 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/metadata.json +22 -0
- package/skills/cert-manager/cert-manager-issuer-trust-review/references/workflow-and-output.md +222 -0
- package/skills/cilium/README.md +30 -0
- package/skills/cilium/cilium-network-policy-review/SKILL.md +43 -0
- package/skills/cilium/cilium-network-policy-review/metadata.json +30 -0
- package/skills/cilium/cilium-network-policy-review/references/mcp-and-evidence.md +52 -0
- package/skills/cilium/cilium-network-policy-review/references/official-sources.md +30 -0
- package/skills/cilium/cilium-network-policy-review/references/workflow-and-output.md +130 -0
- package/skills/falco/falco-runtime-threat-rules-review/SKILL.md +37 -0
- package/skills/falco/falco-runtime-threat-rules-review/metadata.json +22 -0
- package/skills/falco/falco-runtime-threat-rules-review/references/workflow-and-output.md +249 -0
- package/skills/finops/README.md +30 -0
- package/skills/finops/finops-cloud-price-advisor/SKILL.md +60 -0
- package/skills/finops/finops-cloud-price-advisor/metadata.json +26 -0
- package/skills/finops/finops-cloud-price-advisor/references/currency-handling.md +100 -0
- package/skills/finops/finops-cloud-price-advisor/references/estimation-workflow.md +145 -0
- package/skills/finops/finops-cloud-price-advisor/references/official-sources.md +64 -0
- package/skills/finops/finops-cloud-price-advisor/references/pricing-apis.md +271 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/SKILL.md +40 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/metadata.json +22 -0
- package/skills/fluxcd/fluxcd-kustomization-helmrelease-review/references/workflow-and-output.md +243 -0
- package/skills/istio/README.md +28 -0
- package/skills/istio/istio-ambient-mesh-review/SKILL.md +43 -0
- package/skills/istio/istio-ambient-mesh-review/metadata.json +30 -0
- package/skills/istio/istio-ambient-mesh-review/references/mcp-and-evidence.md +59 -0
- package/skills/istio/istio-ambient-mesh-review/references/official-sources.md +32 -0
- package/skills/istio/istio-ambient-mesh-review/references/workflow-and-output.md +128 -0
- package/skills/kubernetes/README.md +30 -0
- package/skills/kubernetes/external-secrets-operator-review/SKILL.md +37 -0
- package/skills/kubernetes/external-secrets-operator-review/metadata.json +22 -0
- package/skills/kubernetes/external-secrets-operator-review/references/workflow-and-output.md +280 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/SKILL.md +40 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/metadata.json +22 -0
- package/skills/kubernetes/kubecost-chargeback-allocation-review/references/workflow-and-output.md +215 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/SKILL.md +57 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/official-sources.md +18 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/permission-model.md +78 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/preflight-commands.md +81 -0
- package/skills/kubernetes/kubernetes-live-rbac-mutation-guard/references/rollback-playbook.md +61 -0
- package/skills/kubernetes/kubernetes-maestro/SKILL.md +45 -0
- package/skills/kubernetes/kubernetes-maestro/metadata.json +24 -0
- package/skills/kubernetes/kubernetes-maestro/references/safety-checklist.md +78 -0
- package/skills/kubernetes/kubernetes-maestro/references/workflow-and-output.md +206 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/SKILL.md +43 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/metadata.json +28 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/mcp-and-evidence.md +49 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/official-sources.md +26 -0
- package/skills/kubernetes/kubernetes-pod-security-admission-review/references/workflow-and-output.md +129 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/SKILL.md +38 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/metadata.json +22 -0
- package/skills/kubernetes/kubernetes-pod-spec-review/references/workflow-and-output.md +229 -0
- package/skills/kubernetes/kubernetes-rbac-review/SKILL.md +38 -0
- package/skills/kubernetes/kubernetes-rbac-review/metadata.json +27 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/mcp-and-evidence.md +34 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/official-sources.md +22 -0
- package/skills/kubernetes/kubernetes-rbac-review/references/workflow-and-output.md +44 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/SKILL.md +43 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/metadata.json +29 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/mcp-and-evidence.md +57 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/official-sources.md +47 -0
- package/skills/kubernetes/kubernetes-workload-identity-review/references/workflow-and-output.md +166 -0
- package/skills/kyverno/README.md +30 -0
- package/skills/kyverno/kyverno-policy-review/SKILL.md +43 -0
- package/skills/kyverno/kyverno-policy-review/metadata.json +30 -0
- package/skills/kyverno/kyverno-policy-review/references/mcp-and-evidence.md +49 -0
- package/skills/kyverno/kyverno-policy-review/references/official-sources.md +31 -0
- package/skills/kyverno/kyverno-policy-review/references/workflow-and-output.md +106 -0
- package/skills/oci/README.md +63 -0
- package/skills/oci/oci-certificates-issuer-review/SKILL.md +37 -0
- package/skills/oci/oci-certificates-issuer-review/metadata.json +20 -0
- package/skills/oci/oci-certificates-issuer-review/references/workflow-and-output.md +207 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/metadata.json +27 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/permission-model.md +49 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/preflight-commands.md +58 -0
- package/skills/oci/oci-live-autonomous-db-lifecycle-guard/references/rollback-playbook.md +44 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/metadata.json +27 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/official-sources.md +17 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/permission-model.md +59 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/preflight-commands.md +42 -0
- package/skills/oci/oci-live-cost-budget-runaway-guard/references/rollback-playbook.md +44 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/metadata.json +27 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/permission-model.md +71 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/preflight-commands.md +49 -0
- package/skills/oci/oci-live-iam-policy-compartment-guard/references/rollback-playbook.md +62 -0
- package/skills/oci/oci-live-network-security-rule-guard/SKILL.md +57 -0
- package/skills/oci/oci-live-network-security-rule-guard/metadata.json +28 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/official-sources.md +21 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/permission-model.md +65 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/preflight-commands.md +69 -0
- package/skills/oci/oci-live-network-security-rule-guard/references/rollback-playbook.md +79 -0
- package/skills/oci/oci-live-oke-rollout-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-oke-rollout-guard/metadata.json +27 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/official-sources.md +18 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/permission-model.md +80 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/preflight-commands.md +55 -0
- package/skills/oci/oci-live-oke-rollout-guard/references/rollback-playbook.md +45 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/metadata.json +27 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/official-sources.md +12 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/permission-model.md +70 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/preflight-commands.md +57 -0
- package/skills/oci/oci-live-resource-manager-stack-guard/references/rollback-playbook.md +51 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/SKILL.md +49 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/metadata.json +27 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/official-sources.md +13 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/permission-model.md +55 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/preflight-commands.md +62 -0
- package/skills/oci/oci-live-vault-key-destruction-guard/references/rollback-playbook.md +55 -0
- package/skills/oci/oci-maestro/SKILL.md +163 -0
- package/skills/oci/oci-maestro/metadata.json +27 -0
- package/skills/opentelemetry/README.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/SKILL.md +44 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/metadata.json +30 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/mcp-and-evidence.md +49 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/official-sources.md +31 -0
- package/skills/opentelemetry/opentelemetry-collector-config-review/references/workflow-and-output.md +155 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/SKILL.md +38 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/metadata.json +22 -0
- package/skills/prometheus/prometheus-alerting-cardinality-review/references/workflow-and-output.md +221 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/SKILL.md +39 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/metadata.json +22 -0
- package/skills/sigstore/sigstore-cosign-supply-chain-review/references/workflow-and-output.md +196 -0
- package/skills/terraform/README.md +29 -0
- package/skills/terraform/terraform-maestro/SKILL.md +123 -0
- package/skills/terraform/terraform-maestro/metadata.json +30 -0
- package/skills/terraform/terraform-maestro/references/official-sources.md +59 -0
- package/skills/terraform/terraform-maestro/references/safety-checklist.md +53 -0
- package/skills/terraform/terraform-maestro/references/workflow-and-output.md +108 -0
- package/skills/velero/velero-backup-restore-guard/SKILL.md +41 -0
- package/skills/velero/velero-backup-restore-guard/metadata.json +21 -0
- package/skills/velero/velero-backup-restore-guard/references/safety-checklist.md +40 -0
- package/skills/velero/velero-backup-restore-guard/references/workflow-and-output.md +202 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Permission Model: Azure Live Cost Budget Action Guard
|
|
2
|
+
|
|
3
|
+
## Custom role — budget read/write, quota read, no VM creation
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"Name": "Cost Budget Action Guard",
|
|
8
|
+
"IsCustom": true,
|
|
9
|
+
"Description": "Read and modify subscription budgets and read compute quotas. Cannot create VMs. Cannot delete budgets.",
|
|
10
|
+
"Actions": [
|
|
11
|
+
"Microsoft.Consumption/budgets/read",
|
|
12
|
+
"Microsoft.Consumption/budgets/write",
|
|
13
|
+
"Microsoft.CostManagement/budgets/read",
|
|
14
|
+
"Microsoft.CostManagement/budgets/write",
|
|
15
|
+
"Microsoft.CostManagement/query/action",
|
|
16
|
+
"Microsoft.Compute/locations/usages/read",
|
|
17
|
+
"Microsoft.Compute/locations/vmSizes/read",
|
|
18
|
+
"Microsoft.Quota/quotas/read",
|
|
19
|
+
"Microsoft.Quota/usages/read"
|
|
20
|
+
],
|
|
21
|
+
"NotActions": [
|
|
22
|
+
"Microsoft.Compute/virtualMachines/write",
|
|
23
|
+
"Microsoft.Compute/virtualMachineScaleSets/write",
|
|
24
|
+
"Microsoft.Quota/quotas/write",
|
|
25
|
+
"Microsoft.Consumption/budgets/delete",
|
|
26
|
+
"Microsoft.CostManagement/budgets/delete"
|
|
27
|
+
],
|
|
28
|
+
"AssignableScopes": [
|
|
29
|
+
"/subscriptions/<SUBSCRIPTION_ID>"
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
`Microsoft.Quota/quotas/write` is excluded: quota increase requests carry spending risk
|
|
35
|
+
and must go through a separate approval workflow, not this role. VM creation is
|
|
36
|
+
explicitly excluded to prevent the cost guard from becoming a provisioning path.
|
|
37
|
+
|
|
38
|
+
`Microsoft.Consumption/budgets/delete` and `Microsoft.CostManagement/budgets/delete`
|
|
39
|
+
are excluded: deleting a budget silently removes the only cross-region financial
|
|
40
|
+
guardrail and disables every threshold alert on the subscription. Cleanup of stale or
|
|
41
|
+
test budgets must go through a separate PIM-eligible role with MFA + justification gates.
|
|
42
|
+
|
|
43
|
+
## Azure Policy guardrail (deploy alongside the role)
|
|
44
|
+
|
|
45
|
+
Deny GPU VM SKU provisioning without an approved budget tag:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"if": {
|
|
50
|
+
"allOf": [
|
|
51
|
+
{"field": "type", "equals": "Microsoft.Compute/virtualMachines"},
|
|
52
|
+
{"field": "Microsoft.Compute/virtualMachines/sku.name", "in": [
|
|
53
|
+
"Standard_ND96asr_v4", "Standard_NC24rs_v3", "Standard_ND40rs_v2"
|
|
54
|
+
]},
|
|
55
|
+
{"field": "tags.BudgetApproval", "exists": "false"}
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"then": {"effect": "Deny"}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Do not assign
|
|
63
|
+
|
|
64
|
+
- `Cost Management Contributor` at management-group scope
|
|
65
|
+
- `Billing Account Contributor`
|
|
66
|
+
- `Microsoft.Compute/virtualMachines/write` to this role
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Preflight Commands: Azure Live Cost Budget Action Guard
|
|
2
|
+
|
|
3
|
+
Run these before any budget modification. Paste sanitized output as evidence.
|
|
4
|
+
|
|
5
|
+
## 1. Confirm identity and subscription
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
az account show --query "{subscription:id, name:name, user:user.name}"
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## 2. List current budgets
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
az consumption budget list --query \
|
|
15
|
+
"[].{name:name, amount:properties.amount, timeGrain:properties.timeGrain, currentSpend:properties.currentSpend.amount}"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 3. Inspect a specific budget detail
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
az consumption budget show -n <BUDGET_NAME> \
|
|
22
|
+
--query "{amount:properties.amount, filter:properties.filter, notifications:properties.notifications}"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 4. Check current spend vs. budget
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
az costmanagement query \
|
|
29
|
+
--type ActualCost \
|
|
30
|
+
--dataset-aggregation '{"totalCost":{"name":"PreTaxCost","function":"Sum"}}' \
|
|
31
|
+
--timeframe MonthToDate \
|
|
32
|
+
--scope "/subscriptions/<SUBSCRIPTION_ID>"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## 5. Check compute quota usage before action
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
az vm list-usage -l <LOCATION> \
|
|
39
|
+
--query "[?contains(name.value,'cores') || contains(name.value,'GPU')].{name:name.localizedValue, current:currentValue, limit:limit}"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 6. Verify budget action groups are configured
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
az consumption budget show -n <BUDGET_NAME> \
|
|
46
|
+
--query "properties.notifications"
|
|
47
|
+
# All notification.actionGroups should point to valid Action Group resource IDs
|
|
48
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Rollback Playbook: Azure Live Cost Budget Action Guard
|
|
2
|
+
|
|
3
|
+
## Revert a budget modification
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# Inspect current state before revert
|
|
7
|
+
az consumption budget show -n <BUDGET_NAME>
|
|
8
|
+
|
|
9
|
+
# Delete and recreate with original values
|
|
10
|
+
az consumption budget delete -n <BUDGET_NAME>
|
|
11
|
+
|
|
12
|
+
az consumption budget create \
|
|
13
|
+
-n <BUDGET_NAME> \
|
|
14
|
+
--amount <ORIGINAL_AMOUNT> \
|
|
15
|
+
--time-grain <Monthly|Quarterly|Annually> \
|
|
16
|
+
--start-date <YYYY-MM-01> \
|
|
17
|
+
--end-date <YYYY-MM-01> \
|
|
18
|
+
--notification <KEY=VALUE pairs from original>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Remove a runaway action group from a budget
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
# Show notification rules
|
|
25
|
+
az consumption budget show -n <BUDGET_NAME> --query "properties.notifications"
|
|
26
|
+
|
|
27
|
+
# Update budget to clear action groups on a specific notification key
|
|
28
|
+
az consumption budget create -n <BUDGET_NAME> \
|
|
29
|
+
--amount <AMOUNT> \
|
|
30
|
+
--time-grain Monthly \
|
|
31
|
+
--start-date <DATE> \
|
|
32
|
+
--end-date <DATE>
|
|
33
|
+
# Re-specify only the notification rules you want to keep
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Rollback limitations
|
|
37
|
+
|
|
38
|
+
- Spend that already occurred before the budget alert triggered cannot be reversed.
|
|
39
|
+
- Deleting a budget does NOT stop any VMs or resources — it only removes the alerting rule.
|
|
40
|
+
- Quota increases, once approved by Microsoft, cannot be reduced below the original limit.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-live-entra-role-assignment-guard
|
|
3
|
+
description: Guard live permanent Microsoft Entra ID and Azure RBAC role assignments with scope audit, principal-type risk classification, dangerous-role detection, and explicit approval gates before write. Use only when a direct (non-PIM) role assignment is intentionally requested against a confirmed target.
|
|
4
|
+
metadata:
|
|
5
|
+
author: "github: Raishin"
|
|
6
|
+
version: "0.1.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Azure Live Entra Role Assignment Guard
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Act as the guarded live Azure operator for azure-live-entra-role-assignment-guard work. Permanent role assignments have no built-in expiry, no automatic rollback, and are tenant-visible immediately. Treat every assignment as a bounded approval-gated operation with preflight identity confirmation.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
Use this skill when:
|
|
18
|
+
|
|
19
|
+
- a direct (non-PIM) Entra ID or Azure RBAC role assignment must be created against a confirmed principal and scope
|
|
20
|
+
- an existing assignment must be removed and the downstream access impact must be assessed before deletion
|
|
21
|
+
- a role assignment audit finds over-broad, stale, or guest assignments that must be remediated with least-privilege alternatives
|
|
22
|
+
|
|
23
|
+
## Lean operating rules
|
|
24
|
+
|
|
25
|
+
- Prefer Azure CLI (`az`) and Microsoft Learn docs when available; fall back to sanitized user evidence.
|
|
26
|
+
- Do not create or delete any role assignment until subscription or tenant, active principal, target scope, role, and assignee identity are all explicit.
|
|
27
|
+
- Prefer read-only inspection (`az role assignment list`, `az ad user show`) before any write.
|
|
28
|
+
- Flag the following as high-severity and require explicit justification with business case before proceeding:
|
|
29
|
+
- Owner, Contributor, or User Access Administrator at subscription or management-group scope
|
|
30
|
+
- Any role assignment to a Guest principal (external account, highest breach risk)
|
|
31
|
+
- Any Entra ID directory role (Global Administrator, Privileged Role Administrator, Application Administrator)
|
|
32
|
+
- Permanent assignments where PIM eligible assignment would satisfy the requirement
|
|
33
|
+
- If the request skips scope confirmation, assignee type verification, or rollback awareness, push back.
|
|
34
|
+
- Never print access tokens, client secrets, tenant IDs, Object IDs without context, or raw environment dumps. Summarize sanitized evidence only.
|
|
35
|
+
- Load references only when needed.
|
|
36
|
+
|
|
37
|
+
## References
|
|
38
|
+
|
|
39
|
+
Load these only when needed:
|
|
40
|
+
|
|
41
|
+
- [Preflight commands](references/preflight-commands.md) — Azure CLI commands to inspect current assignments, identity, and scope before any write.
|
|
42
|
+
- [Rollback playbook](references/rollback-playbook.md) — how to remove an assignment and verify access is revoked.
|
|
43
|
+
- [Permission model](references/permission-model.md) — least-privilege role alternatives, dangerous role IDs, and PIM vs permanent guidance.
|
|
44
|
+
- [Official sources](references/official-sources.md) — authoritative Microsoft documentation links.
|
|
45
|
+
|
|
46
|
+
## Response minimum
|
|
47
|
+
|
|
48
|
+
Return, at minimum:
|
|
49
|
+
|
|
50
|
+
- confirmed tenant, subscription (if applicable), target scope, and active caller identity
|
|
51
|
+
- preflight evidence: existing assignments on the target scope and current assignee roles
|
|
52
|
+
- principal-type risk classification (member user / guest / service principal / managed identity / group)
|
|
53
|
+
- role risk classification (Owner / Contributor / UAA / custom / narrow built-in)
|
|
54
|
+
- approval status and explicit justification for the assignment
|
|
55
|
+
- rollback posture: the exact `az role assignment delete` command to undo
|
|
56
|
+
- post-assignment verification steps or refusal reason
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "azure-live-entra-role-assignment-guard",
|
|
3
|
+
"name": "Azure Live Entra Role Assignment Guard",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "azure",
|
|
6
|
+
"harnesses": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"cursor",
|
|
10
|
+
"gemini",
|
|
11
|
+
"kiro",
|
|
12
|
+
"other"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Guard live permanent Microsoft Entra ID and Azure RBAC role assignments with scope audit, principal-type risk classification, dangerous-role detection, and explicit approval gates before write.",
|
|
15
|
+
"source_type": "original",
|
|
16
|
+
"official_docs": [
|
|
17
|
+
"https://learn.microsoft.com/en-us/azure/role-based-access-control/overview",
|
|
18
|
+
"https://learn.microsoft.com/en-us/azure/role-based-access-control/best-practices",
|
|
19
|
+
"https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles",
|
|
20
|
+
"https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-alert",
|
|
21
|
+
"https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure"
|
|
22
|
+
],
|
|
23
|
+
"security_notes": "Never create Owner, Contributor, or User Access Administrator assignments at subscription or management-group scope without explicit CISO-level justification. Always prefer PIM eligible assignment over permanent. Block any assignment to Guest principals without Director-level sign-off. Token caching means deletion may take up to 5 minutes to propagate.",
|
|
24
|
+
"last_verified": "2026-05-01",
|
|
25
|
+
"path": "skills/azure/azure-live-entra-role-assignment-guard",
|
|
26
|
+
"author": "github: Raishin",
|
|
27
|
+
"version": "0.1.0"
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Official Sources
|
|
2
|
+
|
|
3
|
+
Load these only when needed:
|
|
4
|
+
|
|
5
|
+
- [Azure RBAC overview](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) — use for role assignment model, scope hierarchy (management group → subscription → resource group → resource), and security principal types.
|
|
6
|
+
- [Best practices for Azure RBAC](https://learn.microsoft.com/en-us/azure/role-based-access-control/best-practices) — use for least privilege, group-based assignment, PIM preference, limiting Owner and UAA, and stable role ID usage.
|
|
7
|
+
- [Azure built-in roles](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles) — use when checking whether a narrow built-in role satisfies the requirement before recommending Contributor or Owner.
|
|
8
|
+
- [Alert on privileged role assignments](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments-alert) — use for the Kusto query pattern to detect Owner / Contributor / UAA assignment events in Activity Log.
|
|
9
|
+
- [Entra ID PIM overview](https://learn.microsoft.com/en-us/entra/id-governance/privileged-identity-management/pim-configure) — use when the permanent assignment request should instead use PIM eligible assignment with JIT activation.
|
|
10
|
+
- [az role assignment CLI reference](https://learn.microsoft.com/en-us/cli/azure/role/assignment) — use for exact `az role assignment create`, `list`, `delete` syntax and parameter options.
|
|
11
|
+
- [Understand role assignments](https://learn.microsoft.com/en-us/azure/role-based-access-control/role-assignments) — use for role assignment object structure (name, roleDefinitionId, principalId, principalType, scope, condition).
|
|
12
|
+
|
|
13
|
+
## Grounded insights worth carrying into the skill
|
|
14
|
+
|
|
15
|
+
- The Azure RBAC API version for role assignments is `2022-04-01` (`Microsoft.Authorization/roleAssignments`).
|
|
16
|
+
- Dangerous role definition IDs (stable — never rename): Owner `8e3af657-a8ff-443c-a75c-2fe8c4bcb635`, Contributor `b24988ac-6180-42a0-ab88-20f7382dd24c`, User Access Administrator `18d7d88d-d35e-4fb5-a5c3-7773c20a72d9`.
|
|
17
|
+
- A permanent role assignment at subscription scope granted to a Guest user is one of the most common post-breach persistence techniques in Azure tenants — always block without explicit CISO-level sign-off.
|
|
18
|
+
- Azure AD token caching means a deleted assignment may still be honored for up to 5 minutes after deletion; do not declare rollback complete immediately.
|
|
19
|
+
- `Microsoft.Authorization/roleAssignments/write` at subscription scope is the permission that enables all downstream privilege escalation — any principal with it can assign themselves Owner.
|
|
20
|
+
- Prefer `az role assignment list --include-inherited` to find assignments at parent scopes that affect the target resource.
|
|
21
|
+
- Microsoft recommends group-based role assignment over direct user assignment to simplify access reviews and offboarding.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Permission Model: Azure Live Entra Role Assignment Guard
|
|
2
|
+
|
|
3
|
+
## Risk classification by role
|
|
4
|
+
|
|
5
|
+
| Role | Risk | Reason |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Owner | Critical | Full resource control + can reassign access |
|
|
8
|
+
| User Access Administrator | Critical | Can assign any role to any principal at scope |
|
|
9
|
+
| Contributor | High | Full resource read/write, no access management |
|
|
10
|
+
| Global Administrator | Critical | Tenant-wide Entra ID control, bypasses RBAC |
|
|
11
|
+
| Privileged Role Administrator | Critical | Can assign Entra directory roles including Global Admin |
|
|
12
|
+
| Application Administrator | High | Can create service principals and grant Graph API permissions |
|
|
13
|
+
| Custom roles with `*/write` | High | Broad mutation rights — review assignable scopes |
|
|
14
|
+
| Reader | Low | Read-only — acceptable for most principals |
|
|
15
|
+
| Narrow built-in roles | Low | e.g. Storage Blob Data Reader, Key Vault Secrets User |
|
|
16
|
+
|
|
17
|
+
## Risk classification by scope
|
|
18
|
+
|
|
19
|
+
| Scope | Risk |
|
|
20
|
+
|---|---|
|
|
21
|
+
| Management group | Critical — affects all child subscriptions and resource groups |
|
|
22
|
+
| Subscription | High — affects all resources in the subscription |
|
|
23
|
+
| Resource group | Medium — contained to group members |
|
|
24
|
+
| Individual resource | Low — minimal blast radius |
|
|
25
|
+
|
|
26
|
+
## Risk classification by principal type
|
|
27
|
+
|
|
28
|
+
| Principal type | Risk | Notes |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Guest user (`userType: Guest`) | Critical | External identity, not governed by corporate IdP; highest breach risk |
|
|
31
|
+
| Member user | Medium | Internal — verify employment status and team ownership |
|
|
32
|
+
| Service principal (application) | High | Non-human identity; verify application ownership and client secret rotation policy |
|
|
33
|
+
| Managed identity (system-assigned) | Low-Medium | Scoped to a resource lifecycle; verify the resource owner |
|
|
34
|
+
| Managed identity (user-assigned) | Medium | Shared across resources; verify all attached resources |
|
|
35
|
+
| Group | Medium | Verify group membership is actively governed; avoid open groups |
|
|
36
|
+
|
|
37
|
+
## Least-privilege guidance
|
|
38
|
+
|
|
39
|
+
1. **Prefer PIM eligible assignments over permanent.** If the role is needed periodically, PIM with time-bounded activation + MFA + justification is always the correct approach.
|
|
40
|
+
2. **Prefer narrow built-in roles over Contributor/Owner.** Azure has 200+ built-in roles; check whether a service-specific role (e.g. `Monitoring Contributor`, `Key Vault Secrets Officer`) satisfies the requirement.
|
|
41
|
+
3. **Prefer resource-group scope over subscription scope.** Subscription scope is justified only for infrastructure, platform, or governance roles.
|
|
42
|
+
4. **Prefer group-based assignment over direct user assignment.** Groups enable consistent access reviews and offboarding.
|
|
43
|
+
|
|
44
|
+
## Minimum caller permissions for role assignment operations
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"Name": "Role Assignment Operator (Guarded)",
|
|
49
|
+
"IsCustom": true,
|
|
50
|
+
"Description": "Read role assignments and create new ones at resource-group or lower scope only.",
|
|
51
|
+
"Actions": [
|
|
52
|
+
"Microsoft.Authorization/roleAssignments/read",
|
|
53
|
+
"Microsoft.Authorization/roleAssignments/write",
|
|
54
|
+
"Microsoft.Authorization/roleAssignments/delete",
|
|
55
|
+
"Microsoft.Authorization/roleDefinitions/read"
|
|
56
|
+
],
|
|
57
|
+
"AssignableScopes": [
|
|
58
|
+
"/subscriptions/<SUBSCRIPTION_ID>"
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Restrict `AssignableScopes` to resource-group scope for operators who should not assign at subscription level.
|
|
64
|
+
|
|
65
|
+
## Dangerous combinations — always block
|
|
66
|
+
|
|
67
|
+
- Owner at management-group scope assigned to a Guest principal
|
|
68
|
+
- User Access Administrator at subscription scope (allows re-elevating to Owner)
|
|
69
|
+
- Any Entra directory role (Global Admin, Privileged Role Admin) assigned outside of PIM
|
|
70
|
+
- Service principal with Owner and no owner/contact defined in application registration
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Preflight Commands: Azure Live Entra Role Assignment Guard
|
|
2
|
+
|
|
3
|
+
Run all of these before creating or deleting any role assignment.
|
|
4
|
+
|
|
5
|
+
## 1. Confirm caller identity and active subscription
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
az account show --query "{subscription:id, name:name, tenantId:tenantId, caller:user.name}"
|
|
9
|
+
az ad signed-in-user show --query "{displayName:displayName, id:id, userPrincipalName:userPrincipalName}"
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## 2. Inspect existing role assignments on the target scope
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Subscription scope
|
|
16
|
+
az role assignment list \
|
|
17
|
+
--scope "/subscriptions/<SUBSCRIPTION_ID>" \
|
|
18
|
+
--include-inherited \
|
|
19
|
+
--query "[].{role:roleDefinitionName, principal:principalName, principalType:principalType, scope:scope}"
|
|
20
|
+
|
|
21
|
+
# Management group scope
|
|
22
|
+
az role assignment list \
|
|
23
|
+
--scope "/providers/Microsoft.Management/managementGroups/<MG_ID>" \
|
|
24
|
+
--include-inherited \
|
|
25
|
+
--query "[].{role:roleDefinitionName, principal:principalName, principalType:principalType, scope:scope}"
|
|
26
|
+
|
|
27
|
+
# Resource group scope
|
|
28
|
+
az role assignment list \
|
|
29
|
+
--resource-group <RESOURCE_GROUP> \
|
|
30
|
+
--include-inherited \
|
|
31
|
+
--query "[].{role:roleDefinitionName, principal:principalName, principalType:principalType, scope:scope}"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 3. Verify the assignee identity and principal type
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# For a user
|
|
38
|
+
az ad user show --id <UPN_OR_OBJECT_ID> \
|
|
39
|
+
--query "{displayName:displayName, userPrincipalName:userPrincipalName, userType:userType, accountEnabled:accountEnabled}"
|
|
40
|
+
|
|
41
|
+
# userType: "Guest" = external account, elevated risk. Always flag.
|
|
42
|
+
|
|
43
|
+
# For a service principal
|
|
44
|
+
az ad sp show --id <APP_ID_OR_OBJECT_ID> \
|
|
45
|
+
--query "{displayName:displayName, appId:appId, servicePrincipalType:servicePrincipalType}"
|
|
46
|
+
|
|
47
|
+
# For a managed identity
|
|
48
|
+
az identity show --name <IDENTITY_NAME> --resource-group <RG> \
|
|
49
|
+
--query "{name:name, principalId:principalId, tenantId:tenantId}"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 4. Check for existing dangerous standing assignments (audit)
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Find Owner and UAA at subscription scope (Kusto alternative via activity log)
|
|
56
|
+
az role assignment list \
|
|
57
|
+
--scope "/subscriptions/<SUBSCRIPTION_ID>" \
|
|
58
|
+
--query "[?roleDefinitionName=='Owner' || roleDefinitionName=='User Access Administrator'].{role:roleDefinitionName, principal:principalName, principalType:principalType}"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 5. Check whether a PIM eligible assignment already exists (prefer PIM over permanent)
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
az role eligibility-schedule list \
|
|
65
|
+
--scope "/subscriptions/<SUBSCRIPTION_ID>" \
|
|
66
|
+
--query "[?principalId=='<PRINCIPAL_OBJECT_ID>'].{role:roleDefinitionDisplayName, endDateTime:endDateTime, status:status}"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
If an eligible assignment already exists, the correct action is PIM activation, not a new permanent assignment.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Rollback Playbook: Azure Live Entra Role Assignment Guard
|
|
2
|
+
|
|
3
|
+
Permanent role assignments do not expire automatically. Rollback means explicit deletion. Always capture the assignment details before write so deletion is unambiguous.
|
|
4
|
+
|
|
5
|
+
## Before any assignment write — capture the full assignment for rollback
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Save the exact object ID, role definition ID, and scope
|
|
9
|
+
az role assignment list \
|
|
10
|
+
--assignee <PRINCIPAL_OBJECT_ID_OR_UPN> \
|
|
11
|
+
--scope <SCOPE> \
|
|
12
|
+
--query "[].{name:name, roleDefinitionId:roleDefinitionId, principalId:principalId, scope:scope}"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Remove a role assignment by name (most precise)
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
az role assignment delete \
|
|
19
|
+
--ids /subscriptions/<SUBSCRIPTION_ID>/providers/Microsoft.Authorization/roleAssignments/<ASSIGNMENT_NAME>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Remove by role + assignee + scope (if name not captured)
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
az role assignment delete \
|
|
26
|
+
--assignee <PRINCIPAL_OBJECT_ID_OR_UPN> \
|
|
27
|
+
--role "<ROLE_NAME_OR_ID>" \
|
|
28
|
+
--scope <SCOPE>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Verify deletion took effect
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
az role assignment list \
|
|
35
|
+
--assignee <PRINCIPAL_OBJECT_ID_OR_UPN> \
|
|
36
|
+
--scope <SCOPE> \
|
|
37
|
+
--query "[].{role:roleDefinitionName, scope:scope}"
|
|
38
|
+
# Should return empty or not include the deleted assignment
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Caveats
|
|
42
|
+
|
|
43
|
+
- Token caching: deleted assignments may still appear valid for up to 5 minutes due to Azure AD token caching. Wait before declaring rollback complete.
|
|
44
|
+
- Inherited assignments: if the assignment was at a parent scope (subscription or management group), removing it at the child scope is not possible — you must delete from the parent scope where it was created.
|
|
45
|
+
- Guest accounts: if the principal is a guest and the assignment was their only entitlement, removal may trigger MFA re-enrollment on next access. Communicate with the affected user.
|
|
46
|
+
- Audit log: the deletion will appear in Azure Activity Log under `Microsoft.Authorization/roleAssignments/delete`. Retain the activity log entry as evidence.
|
|
47
|
+
|
|
48
|
+
## What cannot be rolled back automatically
|
|
49
|
+
|
|
50
|
+
- Access exercised during the window the assignment was active (data accessed, operations performed) cannot be undone via role removal.
|
|
51
|
+
- Any resources created or deleted by the principal during the assignment window must be remediated separately.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: azure-live-keyvault-rotation-purge-guard
|
|
3
|
+
description: Guard Key Vault key rotation, rotation policy changes, soft-delete enforcement, and purge-protection enablement with irreversibility warnings and rollback evidence.
|
|
4
|
+
metadata:
|
|
5
|
+
author: "github: Raishin"
|
|
6
|
+
version: "0.1.0"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Azure Live Key Vault Rotation Purge Guard
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Act as the guarded live Azure operator for azure-live-keyvault-rotation-purge-guard work. Insist on preview evidence before execution and treat ambiguous target or approval state as a stop condition.
|
|
14
|
+
|
|
15
|
+
## When to use
|
|
16
|
+
|
|
17
|
+
Use this skill when:
|
|
18
|
+
|
|
19
|
+
- a Key Vault key or secret rotation must be triggered or scheduled against a live vault
|
|
20
|
+
- soft-delete or purge-protection must be verified or enabled on a production vault
|
|
21
|
+
- a key or secret has been soft-deleted and recovery or permanent purge must be decided
|
|
22
|
+
|
|
23
|
+
## Lean operating rules
|
|
24
|
+
|
|
25
|
+
- Prefer Azure CLI (`az`) official documentation when available; fall back to Microsoft Learn docs and sanitized user evidence.
|
|
26
|
+
- Do not execute a live Azure change until subscription, resource group, active principal, and resource ownership are explicit.
|
|
27
|
+
- Prefer what-if, preview, describe, status, dry-run, plan, and rollback evidence before execution.
|
|
28
|
+
- If the request skips preview or rollback design, push back.
|
|
29
|
+
- Never print secrets, access tokens, connection strings, or raw environment values. Summarize sanitized evidence only.
|
|
30
|
+
- Load references only when needed.
|
|
31
|
+
|
|
32
|
+
## References
|
|
33
|
+
|
|
34
|
+
Load these only when needed:
|
|
35
|
+
|
|
36
|
+
- [Preflight commands](references/preflight-commands.md) — CLI commands to run before any mutation.
|
|
37
|
+
- [Rollback playbook](references/rollback-playbook.md) — concrete rollback steps for this service.
|
|
38
|
+
- [Permission model](references/permission-model.md) — RBAC role definitions and PIM guidance.
|
|
39
|
+
- [Official sources](references/official-sources.md) — authoritative Azure documentation links.
|
|
40
|
+
|
|
41
|
+
## Response minimum
|
|
42
|
+
|
|
43
|
+
Return, at minimum:
|
|
44
|
+
|
|
45
|
+
- confirmed target subscription, resource group, and principal
|
|
46
|
+
- preflight evidence (what-if diff, status, health check, or plan output)
|
|
47
|
+
- approval status for the proposed mutation
|
|
48
|
+
- rollback posture or explicit statement of what cannot be rolled back
|
|
49
|
+
- post-action verification steps or refusal reason
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "azure-live-keyvault-rotation-purge-guard",
|
|
3
|
+
"name": "Azure Live Key Vault Rotation Purge Guard",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "azure",
|
|
6
|
+
"harnesses": [
|
|
7
|
+
"codex",
|
|
8
|
+
"claude-code",
|
|
9
|
+
"cursor",
|
|
10
|
+
"gemini",
|
|
11
|
+
"kiro",
|
|
12
|
+
"other"
|
|
13
|
+
],
|
|
14
|
+
"summary": "Guard Key Vault key rotation, rotation policy changes, soft-delete enforcement, and purge-protection enablement with irreversibility warnings and rollback evidence.",
|
|
15
|
+
"source_type": "original",
|
|
16
|
+
"official_docs": [
|
|
17
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery",
|
|
18
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys-details",
|
|
19
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/keys/how-to-configure-key-rotation",
|
|
20
|
+
"https://learn.microsoft.com/en-us/azure/key-vault/general/best-practices"
|
|
21
|
+
],
|
|
22
|
+
"security_notes": "Purge-protection enable is irreversible. Soft-deleted keys can be recovered within the retention window. HSM-backed hard-purged keys cannot be recovered. Never grant purge rights to routine rotation operators.",
|
|
23
|
+
"last_verified": "2026-04-30",
|
|
24
|
+
"path": "skills/azure/azure-live-keyvault-rotation-purge-guard",
|
|
25
|
+
"author": "github: Raishin",
|
|
26
|
+
"version": "0.1.0"
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Official Sources: Azure Live Key Vault Rotation Purge Guard
|
|
2
|
+
|
|
3
|
+
## Key Vault key management
|
|
4
|
+
|
|
5
|
+
- https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys
|
|
6
|
+
- https://learn.microsoft.com/en-us/azure/key-vault/keys/how-to-configure-key-rotation
|
|
7
|
+
- https://learn.microsoft.com/en-us/azure/key-vault/general/soft-delete-overview
|
|
8
|
+
- https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery
|
|
9
|
+
|
|
10
|
+
## Source-grounding rule
|
|
11
|
+
|
|
12
|
+
Use official Microsoft Learn documentation as the source of truth for Key Vault behavior.
|
|
13
|
+
Purge-protection and soft-delete mechanics change between API versions — verify against current docs.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Permission Model: Azure Live Key Vault Rotation Purge Guard
|
|
2
|
+
|
|
3
|
+
## Rotation operator role — no delete, no purge
|
|
4
|
+
|
|
5
|
+
```json
|
|
6
|
+
{
|
|
7
|
+
"Name": "Key Vault Rotation Guard",
|
|
8
|
+
"IsCustom": true,
|
|
9
|
+
"Description": "Rotate keys and update rotation policies. Cannot delete or purge keys/secrets/certificates. Cannot purge the vault itself. Cannot disable soft-delete.",
|
|
10
|
+
"Actions": [
|
|
11
|
+
"Microsoft.KeyVault/vaults/read",
|
|
12
|
+
"Microsoft.KeyVault/vaults/keys/read",
|
|
13
|
+
"Microsoft.KeyVault/vaults/secrets/read"
|
|
14
|
+
],
|
|
15
|
+
"NotActions": [
|
|
16
|
+
"Microsoft.KeyVault/vaults/purge/action",
|
|
17
|
+
"Microsoft.KeyVault/vaults/delete",
|
|
18
|
+
"Microsoft.KeyVault/vaults/write",
|
|
19
|
+
"Microsoft.KeyVault/vaults/accessPolicies/write"
|
|
20
|
+
],
|
|
21
|
+
"DataActions": [
|
|
22
|
+
"Microsoft.KeyVault/vaults/keys/read",
|
|
23
|
+
"Microsoft.KeyVault/vaults/keys/rotate/action",
|
|
24
|
+
"Microsoft.KeyVault/vaults/keys/rotationpolicy/read",
|
|
25
|
+
"Microsoft.KeyVault/vaults/keys/rotationpolicy/write",
|
|
26
|
+
"Microsoft.KeyVault/vaults/secrets/getSecret/action"
|
|
27
|
+
],
|
|
28
|
+
"NotDataActions": [
|
|
29
|
+
"Microsoft.KeyVault/vaults/keys/delete",
|
|
30
|
+
"Microsoft.KeyVault/vaults/keys/purge/action",
|
|
31
|
+
"Microsoft.KeyVault/vaults/secrets/delete",
|
|
32
|
+
"Microsoft.KeyVault/vaults/secrets/purge/action",
|
|
33
|
+
"Microsoft.KeyVault/vaults/certificates/delete",
|
|
34
|
+
"Microsoft.KeyVault/vaults/certificates/purge/action"
|
|
35
|
+
],
|
|
36
|
+
"AssignableScopes": [
|
|
37
|
+
"/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<TARGET_RG>/providers/Microsoft.KeyVault/vaults/<VAULT_NAME>"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Nearest built-in roles: `Key Vault Crypto Officer` (keys), `Key Vault Secrets Officer` (secrets).
|
|
43
|
+
Both include delete — prefer the custom role above for rotation-only scenarios.
|
|
44
|
+
|
|
45
|
+
**Action vs DataAction distinction (security-critical)**:
|
|
46
|
+
`Microsoft.KeyVault/vaults/purge/action` is a **control-plane Action** that purges the
|
|
47
|
+
soft-deleted **vault** itself (irreversible). It is **not** a DataAction and is not blocked
|
|
48
|
+
by `NotDataActions`. It must be in `NotActions`. Certificate operations exist on both planes;
|
|
49
|
+
this role blocks both. Do not assume `NotDataActions` covers all destructive Key Vault paths.
|
|
50
|
+
|
|
51
|
+
## Purge-protection enablement (separate, PIM-gated operation)
|
|
52
|
+
|
|
53
|
+
Requires `Microsoft.KeyVault/vaults/write` on the vault resource.
|
|
54
|
+
Assign via PIM with justification. Maximum 1-hour activation window.
|
|
55
|
+
|
|
56
|
+
**IRREVERSIBILITY WARNING**: Once `enablePurgeProtection: true` is set on a vault,
|
|
57
|
+
it cannot be unset. All soft-deleted objects are protected from permanent deletion
|
|
58
|
+
until the retention period (7–90 days) expires. This is a one-way door.
|
|
59
|
+
|
|
60
|
+
## Do not assign
|
|
61
|
+
|
|
62
|
+
- `Key Vault Administrator` standing (includes purge rights)
|
|
63
|
+
- `Microsoft.KeyVault/vaults/purge/action` to rotation operators
|
|
64
|
+
- `Microsoft.KeyVault/vaults/accessPolicies/write` to non-admins (legacy access policy model)
|