Manage Cluster Skill
SkillAI & modelsBring an existing GKE cluster under management on user request (e.g. "manage my cluster <name> in <location>") by creating its Cluster Agent profile. Use whenever a user asks to manage/onboard/watch a specific existing cluster.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Manage Cluster Skill skill
What this skill tells your AI
The instructions your AI receives, as published by gke-labs/kube-agents in agents/platform/skills/manage-cluster/SKILL.md and read by ahel’s review.
When a user asks you to manage (onboard / start watching) a specific existing GKE cluster — e.g. "manage my cluster payments-prod in us-central1" — bring it under management by creating its Cluster Agent profile. After this, the cluster gets a per-cluster agent and is delegable via the kanban board.
This is the explicit, user-driven counterpart to onboarding-time creation (gke-cluster-creation). It is safe to run repeatedly (idempotent).
Steps
-
Gather the target. You need
project,cluster, andlocation.- Use any values the user gave. If the user omits the project, resolve it:
- default to the platform's active project:
gcloud config get-value project; then - confirm the cluster exists in that project (next step). If it isn't there, or the name is ambiguous, run
gcloud container clusters list --format="value(name,location,resourceLabels)"(optionally--project <p>) to locate it, and ask the user only if still ambiguous.
- default to the platform's active project:
- Use any values the user gave. If the user omits the project, resolve it:
-
Verify the cluster exists before creating a profile (clean error instead of a half-scaffold):
verify_gke_cluster(platform GKE tool) orgcloud container clusters describe <cluster> --location <location> --project <project> --format="value(status)".- If it does not exist, tell the user and stop.
-
Create the profile:
python3 /opt/data/scripts/cluster_agent_profile.py create \ --project "<project>" --cluster "<cluster>" --location "<location>"This scaffolds the Cluster Agent profile home on the data PVC, pins a read-only
KUBECONFIGto that cluster, stamps itscluster_identityinto the profile config, and prints the profile name. It is idempotent — re-managing an already-managed cluster is a safe no-op. -
Confirm to the user. Report that
<cluster>(<project>/<location>) is now managed: it has a Cluster Agent and is delegable (kanban).
This step gives the cluster an agent immediately. Even without it, the
cluster-agent-reconcilecron automatically gives every cluster in the project — including the management cluster where kube-agents runs — an agent on its next run; this skill just does it now.
Stop managing
Because reconciliation manages all project clusters, deleting a still-existing cluster's profile alone won't stick — the next reconcile recreates it. To stop managing a cluster:
- Tear down the cluster (see
gke-cluster-creation); reconcile prunes its profile automatically. - Or exclude it: add its name to the
cluster-agent-reconcilecron'sRECONCILE_EXCLUDE, then delete the profile withcluster_agent_profile.py delete --project … --cluster … --location ….
Notes
- Requires the cluster to be reachable by the platform's credentials (the create step runs
gcloud container clusters get-credentials). If that fails, surface the error — the user may need to grant access. - The Cluster Agent is read-only; managing a cluster does not grant any mutation ability. Remediation still flows through the Platform Agent's GitOps write path.
Signals
- GitHub stars
- 54
- Forks
- 36
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
manage-cluster- Source
- github.com/gke-labs/kube-agents