create-cpo-override
Interactively create CPO image overrides — resolves images, verifies fixes, edits overrides.yaml, and prepares a PR
Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues.
$ npx -y skills add openshift/hypershift --skill debug-cluster --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/debug-clusterContext preview
The summary Claude sees to decide when to auto-load this skill.
Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues.
name: Debug Cluster description: "Provides systematic debugging approaches for HyperShift hosted-cluster issues. Auto-applies when debugging cluster problems, investigating stuck deletions, or troubleshooting control plane issues."
This skill provides structured debugging workflows for common HyperShift hosted-cluster issues.
This skill automatically applies when:
For provider-specific issues and detailed troubleshooting steps, refer to these subskills:
The main skill below provides provider-agnostic debugging workflows. When you encounter provider-specific issues, consult the relevant subskill for detailed resolution steps.
When a hosted-cluster is stuck in deleting state, follow this systematic debugging process:
Check and verify NodePool deletion is progressing:
# Check NodePool resources in HC namespace kubectl get nodepool -n <hc-namespace> # Check CAPI cluster resource status in HCP namespace kubectl get cluster -n <hcp-namespace> -o yaml # Check CAPI provider pod logs kubectl logs -n <hcp-namespace> deployment/capi-provider # Check CAPI machines status in HCP namespace kubectl get machines -n <hcp-namespace> kubectl describe machines -n <hcp-namespace> # Review HyperShift operator logs for NodePool issues kubectl logs -n hypershift deployment/operator --tail=100 | grep -i nodepool kubectl logs -n hypershift deployment/operator --tail=100 | grep -i <cluster-name>
**What to look for:**
Verify HCP resource and pods are being cleaned up:
# Check HCP resource status kubectl get hostedcontrolplane -n <hcp-namespace> -o yaml # Check pods in HCP namespace kubectl get pods -n <hcp-namespace> # Check for stuck pods kubectl get pods -n <hcp-namespace> --field-selector=status.phase!=Running # Review control-plane-operator logs kubectl logs -n <hcp-namespace> deployment/control-plane-operator --tail=100
**What to look for:**
Investigate why the HCP namespace isn't being removed:
# Check namespace status
kubectl get namespace <hcp-namespace> -o yaml
# List all remaining resources in namespace
kubectl api-resources --verbs=list --namespaced -o name | \
xargs -n 1 kubectl get --show-kind --ignore-not-found -n <hcp-namespace>
# Check for resources with finalizers
kubectl get all -n <hcp-namespace> -o json | \
jq '.items[] | select(.metadata.finalizers != null) | {kind: .kind, name: .metadata.name, finalizers: .metadata.finalizers}'
# Review HO logs for namespace cleanup
kubectl logs -n hypershift deployment/operator --tail=100 | grep -i namespace**What to look for:**
Final check on the HostedCluster resource itself:
# Check HostedCluster status
kubectl get hostedcluster -n <hc-namespace> <cluster-name> -o yaml
# Check HostedCluster finalizers
kubectl get hostedcluster -n <hc-namespace> <cluster-name> -o jsonpath='{.metadata.finalizers}'
# Review HO logs for HostedCluster deletion
kubectl logs -n hypershift deployment/operator --tail=200 | grep -i "hostedcluster.*<cluster-name>"**What to look for:**
When investigating cluster deletion issues:
HyperShift is a middleware for hosting OpenShift control planes at scale that solves for cost and time to provision, as well as portability cross cloud with strong separation of concerns between management and workloads.
Repo: openshift/hypershift
Interactively create CPO image overrides — resolves images, verifies fixes, edits overrides.yaml, and prepares a PR
Build and push control-plane-operator container image. Auto-applies when testing CPO changes that require deploying to a live cluster.
Build and push hypershift-operator container image. Auto-applies when testing HO changes that require deploying to a live cluster.
Create a HyperShift HostedCluster on AWS for development and testing, with optional custom CPO/HO images.
Destroy a HyperShift HostedCluster and all associated AWS infrastructure (VPC, IAM, Route53, etc.).
Provides the ability to run and iterate on HyperShift e2e tests. Auto-applies when implementing features that require e2e validation, fixing e2e test failures,…