Files
development-gitops-argo-cd-…/README.md
T
root-at-skicandClaude Opus 5 a2200988b5 Add cluster-side connect operations to the ArgoCD skill
Fold the operational half of ArgoCD work into this skill, which until now
covered only authoring the Copier-templated repo. The two never overlapped:
authoring edits files in git, connecting applies objects to a cluster.

- Add references/connecting-a-repo.md: host-key trust, repository Secret
  registration with its project-scoping decision table, bootstrap apply
  ordering, SSO RBAC, prerequisites, and verification commands.
- Add references/connect-env-vars.md: layered .env loading, variable table,
  CLI flags, and SSH deploy-key rules.
- Add SKILL.md section 11 plus scope-routing rows, and state the split:
  sections 1-10 author, section 11 operates.
- Map the numbered cluster/0000-bootstrap layout onto the cluster/argocd
  layout, since the connect scripts reference those folder names directly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 22:45:21 +03:00

2.4 KiB

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

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
│   ├── connecting-a-repo.md                  # Cluster-side: repo Secret, bootstrap, host key, SSO RBAC
│   ├── connect-env-vars.md                   # Variables and flags for the connect operations
│   └── 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:

copier.yaml                                            → declares the flag + variables
cluster/argocd/{{ 'NNN-name' if flag }}/               → ArgoCD Application
cluster/resources/{{ 'NNN-name' if flag }}/            → Helm values

Deploy

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.