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.
Claude Code
$ npx -y skills add openshift/hypershift --skill debug-cluster --agent claude-code
Codex
$ npx skills add openshift/hypershift --skill debug-cluster -a codex -y
Cursor
$ npx skills add openshift/hypershift --skill debug-cluster -a cursor -y
Gemini CLI
$ npx skills add openshift/hypershift --skill debug-cluster -a gemini-cli -y
GitHub Copilot
$ npx skills add openshift/hypershift --skill debug-cluster -a github-copilot -y
OpenCode
$ npx skills add openshift/hypershift --skill debug-cluster -a opencode -y
Windsurf
$ npx skills add openshift/hypershift --skill debug-cluster -a windsurf -y
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.
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…
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…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.