dist/codex/plugins/infra-ops/skills/managing-infra/SKILL.md
Infrastructure patterns for Kubernetes, Terraform, Helm, Kustomize, and GitHub Actions. Use when making K8s architectural decisions, choosing between Helm vs Kustomize, structuring Terraform modules, writing CI/CD workflows, or applying security best practices. NOT for cloud CLI commands (see using-cloud-cli) or deploy validation and apply workflows (see deploying-infra).
npx skillsauth add alexei-led/claude-code-config managing-infraInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Detect your capability from your tools, not from prose:
terraform plan or kubectl diff. Review the manifests/modules in scope from the files and caller-supplied plan output, and emit changes in the Proposed Changes contract under Output. Apply nothing.Detect the tool from the files in scope and load the matching reference:
*.tf / *.tfvars → TERRAFORM.mdkustomization.yaml → KUBERNETES.mdChart.yaml / templates/*.yaml → HELM.md.github/workflows/ → GITHUB-ACTIONS.mdDockerfile → DOCKERFILE.mdMakefile → MAKEFILE.mdMixed stacks: load each matching reference. Unknown tool: use the core patterns below only.
NEVER run state-changing commands (kubectl apply, terraform apply, helm upgrade --install) without first presenting the plan/diff to the user.
Always run the read-only equivalent first:
terraform plan before terraform applykubectl diff before kubectl applyhelm upgrade --dry-run before helm upgradeIf the user explicitly asks to apply, confirm before executing.
Every workload: non-root user, read-only filesystem, no privilege escalation, dropped capabilities, network policies.
terraform fmt -check, terraform init -backend=false, terraform validate, and terraform plan for changed stacks where credentials allowFor shared VPC, service accounts, and app environments:
terraform fmt -check, terraform init -backend=false, terraform validate, and terraform plan where credentials allow.Engineer (applied after dry-run):
INFRA APPLY COMPLETE
====================
Tool: terraform | kubectl | helm
Dry-run: <command run> — diff shown
Confirmation: <what the user approved>
Status: APPLIED | ABORTED | PARTIAL
Changes:
- <resource> — created/modified/destroyed
Verification:
- <command> — pass/fail
If the user did not confirm or the plan showed unexpected destruction, status is ABORTED — state the blocker, do not apply.
Reviewer (reviewed only — emit changes as a proposal, apply nothing):
## Proposed Changes
### Change 1: <brief description>
File: `path/to/manifest`
Action: CREATE | MODIFY | DELETE
Code:
<the manifest/module content>
Rationale: <security/structure issue this addresses>
kubectl apply -k ./ # Apply kustomize
helm upgrade --install NAME . # Install/upgrade chart
terraform plan && terraform apply
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, TypeScript, Go, web code, or infrastructure operations.
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview.
testing
Author, inspect, troubleshoot, and review infrastructure across IaC, Kubernetes, cloud resources, containers, CI/CD, and Linux hosts. Use when changing Terraform/OpenTofu, Kubernetes, Helm, Kustomize, Dockerfiles, GitHub Actions, AWS, GCP, Cloud Run, BigQuery, IAM, logs, instances, or service health. NOT for deploy/apply/rollback workflows (see deploying-infra). NOT for shell scripts or generic command pipelines (see writing-shell).
development
Configure safe git workflow hygiene: pre-commit/pre-push hooks, Gitleaks secret scanning, .gitignore rules, local git config, and guardrails. Use when setting up git hooks, gitleaks/git leaks, staged pre-commit checks, pre-push validation, core.hooksPath, .gitignore, or git config best practices. NOT for creating commits (use committing-code), cleaning branches/worktrees (use cleanup-git), or creating worktrees (use using-git-worktrees).