# development-gitops-argo-cd Agent Skill for GitOps repositories where **ArgoCD** syncs cluster state from a **Copier**-templated Git repo — app-of-apps `Application` manifests under `cluster/argocd/`, Helm `values.yaml.jinja` templates under `cluster/resources/`, Jinja2 conditional directory names used as feature flags, and per-environment `copier-answers.yaml` files. The rules are repo-agnostic; `references/cogarchhubgitops-reference.md` records CogArchHubGitOps as the concrete reference implementation (bands in use, flag names, global settings, ordering dependencies). ## Layout ```text development-gitops-argo-cd/ ├── SKILL.md # Entry point — scope routing + shared rules ├── references/ │ ├── argocd-applications.md # Application manifests, sync policy, troubleshooting │ ├── copier-templates.md # copier.yaml, .jinja authoring, render() macro │ ├── helm-values.md # values.yaml.jinja, images, global block, probes │ ├── environments.md # copier-answers.yaml, flags, drift, copier update │ ├── adding-a-resource.md # End-to-end walkthrough across all three layers │ └── cogarchhubgitops-reference.md # The CogArchHubGitOps instance └── assets/ └── example-cluster-resource/ # Starting templates for a new resource ├── argocd/application.yaml.jinja ├── resources/values.yaml.jinja └── copier-variables.yaml ``` ## The three-layer contract Every managed resource spans three layers that share one feature flag and one conditional directory expression: ```text copier.yaml → declares the flag + variables cluster/argocd/{{ 'NNN-name' if flag }}/ → ArgoCD Application cluster/resources/{{ 'NNN-name' if flag }}/ → Helm values ``` ## Deploy ```bash cd ../skill-manager/scripts task deploy -- --skill-dir="$(cd ../../development-gitops-argo-cd && pwd)" ``` Built with the `skill-manager` skill, following the [agentskills.io specification](https://agentskills.io/specification).