gitops-workflow skill
✓ VerifiedImplement GitOps workflows using ArgoCD and Flux for automated, declarative Kubernetes deployments and continuous reconciliation.
- GitHub stars
- 42,413
- Files
- 3
- Last commit
- Nov 9, 2026
- License
- MIT
- Allowed tools
- —
What does the gitops-workflow skill do?
gitops-workflow is an agent skill. Implement GitOps workflows using ArgoCD and Flux for automated, declarative Kubernetes deployments and continuous reconciliation.
Summary generated from the skill's SKILL.md.
About the gitops-workflow skill
Automating Kubernetes deployments through declarative, Git-based continuous delivery is what this skill enables for DevOps engineers and platform teams. It provides the necessary steps to implement GitOps principles using ArgoCD or Flux CD, ensuring that the actual state of a cluster matches the desired state stored in version control. An agent should load this skill when a developer needs to set up automated synchronization policies, manage multi-cluster environments, or configure progressive delivery strategies like canary or blue-green deployments.
The skill covers specific technical implementations such as the ArgoCD App of Apps pattern and Flux CD bootstrapping via the CLI. It also addresses critical security requirements by detailing secret management techniques using External Secrets Operator or Sealed Secrets. By following these workflows, users can achieve continuous reconciliation where software agents automatically pull updates from Git, maintaining a versioned and immutable infrastructure through tools like kubectl, flux, and argocd.
What an agent can do with it
- 1Implement canary releasesDefine a progressive delivery strategy using ArgoCD Rollouts to gradually shift traffic to a new version of an application.
- 2Securely manage secretsIntegrate the External Secrets Operator to pull sensitive credentials from an external provider like AWS Secrets Manager.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the gitops-workflow skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the gitops-workflow skill in Plugin
/plugin marketplace add wshobson/agents /plugin install kubernetes-operations@claude-code-workflows
Install the gitops-workflow skill in Claude Code
~/.claude/skills/gitops-workflow/SKILL.md
$ npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow ~/.claude/skills/gitops-workflowInstall the gitops-workflow skill in Claude Code (project)
.claude/skills/gitops-workflow/SKILL.md
$ npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow .claude/skills/gitops-workflowInstall the gitops-workflow skill in Codex
~/.agents/skills/gitops-workflow/SKILL.md
$ npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow ~/.agents/skills/gitops-workflowInstall the gitops-workflow skill in Gemini CLI
~/.gemini/skills/gitops-workflow/SKILL.md
$ npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow ~/.gemini/skills/gitops-workflowInstall the gitops-workflow skill in Claude.ai
npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow gitops-workflow && zip -r gitops-workflow.zip gitops-workflow # claude.ai → Customize → Skills → + → Create skill → Upload a skill → gitops-workflow.zip
Automated checks
Ran Nov 15, 2026Full report →Passed our automated checks. That is not a security audit: read the scripts before you let an agent run them. How checks work
- Source repository linked and reachablewshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow is public and reachablegithub.com/wshobson/agents/tree/HEAD/plugins/kubernetes-oper ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit 2026-11-09github.com/wshobson/agents/commits ↗Pass
- No download-and-run or credential theft in scriptsNo scripts in the skill folderPass
- No hidden instructions in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/wshobson/agents/blob/HEAD/plugins/kubernetes-oper ↗Pass
- Pre-approved tools are scopedNo pre-approved tools; the agent asks before using onegithub.com/wshobson/agents/blob/HEAD/plugins/kubernetes-oper ↗Pass
- SKILL.md follows the Agent Skills formatValid name and description; says when to use it; 294 linesgithub.com/wshobson/agents/blob/HEAD/plugins/kubernetes-oper ↗Pass
SKILL.md
View on GitHubGitOps Workflow
Complete guide to implementing GitOps workflows with ArgoCD and Flux for automated Kubernetes deployments.
Purpose
Implement declarative, Git-based continuous delivery for Kubernetes using ArgoCD or Flux CD, following OpenGitOps principles.
When to Use This Skill
- Set up GitOps for Kubernetes clusters
- Automate application deployments from Git
- Implement progressive delivery strategies
- Manage multi-cluster deployments
- Configure automated sync policies
- Set up secret management in GitOps
OpenGitOps Principles
- Declarative - Entire system described declaratively
- Versioned and Immutable - Desired state stored in Git
- Pulled Automatically - Software agents pull desired state
- Continuously Reconciled - Agents reconcile actual vs desired state
ArgoCD Setup
1. Installation
# Create namespace
kubectl create namespace argocd
# Install ArgoCD
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# Get admin password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
Reference: See references/argocd-setup.md for detailed setup
2. Repository Structure
gitops-repo/
├── apps/
│ ├── production/
│ │ ├── app1/
│ │ │ ├── kustomization.yaml
│ │ │ └── deployment.yaml
│ │ └── app2/
│ └── staging/
├── infrastructure/
│ ├── ingress-nginx/
│ ├── cert-manager/
│ └── monitoring/
└── argocd/
├── applications/
└── projects/
3. Create Application
# argocd/applications/my-app.yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/gitops-repo
targetRevision: main
path: apps/production/my-app
destination:
server: https://kubernetes.default.svc
namespace: production
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
4. App of Apps Pattern
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: applications
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/gitops-repo
targetRevision: main
path: argocd/applications
destination:
server: https://kubernetes.default.svc
namespace: argocd
syncPolicy:
automated: {}
Flux CD Setup
1. Installation
The example uses Homebrew. For other systems, follow the official Flux installation guide.
# Install the Flux CLI with Homebrew
brew install fluxcd/tap/flux
flux check --pre
# Bootstrap Flux
flux bootstrap github \
--owner=org \
--repository=gitops-repo \
--branch=main \
--path=clusters/production \
--personal
2. Create GitRepository
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: my-app
namespace: flux-system
spec:
interval: 1m
url: https://github.com/org/my-app
ref:
branch: main
3. Create Kustomization
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: my-app
namespace: flux-system
spec:
interval: 5m
path: ./deploy
prune: true
sourceRef:
kind: GitRepository
name: my-app
Sync Policies
Auto-Sync Configuration
ArgoCD:
syncPolicy:
automated:
prune: true # Delete resources not in Git
selfHeal: true # Reconcile manual changes
allowEmpty: false
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
Flux:
spec:
interval: 1m
prune: true
wait: true
timeout: 5m
Reference: See references/sync-policies.md
Progressive Delivery
Canary Deployment with ArgoCD Rollouts
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: my-app
spec:
replicas: 5
strategy:
canary:
steps:
- setWeight: 20
- pause: { duration: 1m }
- setWeight: 50
- pause: { duration: 2m }
- setWeight: 100
Blue-Green Deployment
strategy:
blueGreen:
activeService: my-app
previewService: my-app-preview
autoPromotionEnabled: false
Secret Management
External Secrets Operator
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-credentials
spec:
refreshInterval: 1h
secretStoreRef:
name: aws-secrets-manager
kind: SecretStore
target:
name: db-credentials
data:
- secretKey: password
remoteRef:
key: prod/db/password
Sealed Secrets
# Encrypt secret
kubeseal --format yaml < secret.yaml > sealed-secret.yaml
# Commit sealed-secret.yaml to Git
Best Practices
- Use separate repos or branches for different environments
- Implement RBAC for Git repositories
- Enable notifications for sync failures
- Use health checks for custom resources
- Implement approval gates for production
- Keep secrets out of Git (use External Secrets)
- Use App of Apps pattern for organization
- Tag releases for easy rollback
- Monitor sync status with alerts
- Test changes in staging first
Troubleshooting
Sync failures:
argocd app get my-app
argocd app sync my-app --prune
Out of sync status:
argocd app diff my-app
argocd app sync my-app --force
Related Skills
k8s-manifest-generator- For creating manifestshelm-chart-scaffolding- For packaging applications
Files in this skill
3gitops-workflow skill questions
How do I install the gitops-workflow skill in Claude Code?
Run npx degit wshobson/agents/plugins/kubernetes-operations/skills/gitops-workflow ~/.claude/skills/gitops-workflow. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the gitops-workflow skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
How do I install ArgoCD on a Kubernetes cluster?
You can install ArgoCD by creating a namespace and applying the official manifests using kubectl.
What are the core principles of OpenGitOps?
OpenGitOps is based on four principles: the system is declarative, versioned and immutable, pulled automatically by software agents, and continuously reconciled.