sandbox-cli:cluster-offboard
This skill should be used when the user asks to "offboard a cluster", "remove a cluster from sandbox", "decommission a cluster", "sandbox offboard", "take a cluster offline", or "remove a shared cluster".
Best use case
sandbox-cli:cluster-offboard is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This skill should be used when the user asks to "offboard a cluster", "remove a cluster from sandbox", "decommission a cluster", "sandbox offboard", "take a cluster offline", or "remove a shared cluster".
Teams using sandbox-cli:cluster-offboard should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/cluster-offboard/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How sandbox-cli:cluster-offboard Compares
| Feature / Agent | sandbox-cli:cluster-offboard | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill should be used when the user asks to "offboard a cluster", "remove a cluster from sandbox", "decommission a cluster", "sandbox offboard", "take a cluster offline", or "remove a shared cluster".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
--- context: main --- # Skill: cluster-offboard **Name:** Sandbox Cluster Offboard **Description:** Offboard an existing OCP shared cluster from the RHDP Sandbox API. --- ## Purpose Walk the user through safely offboarding an OCP shared cluster from the Sandbox API. This includes verifying VPN connectivity, identifying the cluster, checking active placements, running the offboard, and verifying cleanup. ## Workflow ### Step 1: Verify Prerequisites Check that sandbox-cli is installed: ```bash which sandbox-cli ``` If sandbox-cli is not installed, tell the user to run `/sandbox-cli:sandbox-setup` first and stop. ### Step 2: Verify Red Hat VPN Connection **CRITICAL:** Always verify VPN connectivity before any sandbox-cli operation. ```bash host squid.redhat.com ``` **If the DNS resolves** (returns an IP address like `10.x.x.x`), the user is on VPN. Proceed. **If it fails** with `NXDOMAIN`, `not found`, or `connection timed out`, STOP and tell the user: > You are NOT connected to the Red Hat VPN. The sandbox API is IP-restricted and all commands will fail with EOF errors. Please connect to the Red Hat VPN before proceeding. Do NOT proceed until VPN is confirmed. ### Step 3: Check Authentication ```bash sandbox-cli status ``` If not authenticated or token expired, tell the user to re-login: ```bash sandbox-cli login --server <SERVER_URL> --token <TOKEN> ``` ### Step 4: Identify the Cluster to Offboard List all clusters to help the user identify which one to offboard: ```bash sandbox-cli cluster list ``` Output columns: - **NAME** - Cluster identifier - **VALID** - Whether the cluster is reachable (`yes` / `NO`) - **CREATED_BY** - Who onboarded it - **PLACEMENTS** - Current active placements (e.g., `3 / 10`) Ask the user which cluster to offboard. Note the cluster name and current placement count. **IMPORTANT:** If the cluster has active placements, warn the user that offboarding will clean them up. The user should confirm they want to proceed. ### Step 5: Get Cluster Details (Optional) For additional context before offboarding: ```bash sandbox-cli cluster get <CLUSTER_NAME> ``` This shows full configuration, annotations, and connection status. ### Step 6: Login to the Cluster (if reachable) If the cluster is still reachable (VALID = yes), login to it so the offboard can clean up resources: ```bash oc login --token=<ADMIN_TOKEN> --server=<CLUSTER_API_URL> ``` If the cluster is unreachable (VALID = NO), the `--force` flag will be needed in Step 7. ### Step 7: Run the Offboard ```bash sandbox-cli cluster offboard <CLUSTER_NAME> ``` If the cluster is unreachable, use force mode: ```bash sandbox-cli cluster offboard <CLUSTER_NAME> --force ``` **What this does:** 1. Disables scheduling on the cluster 2. Cleans up all active placements (namespaces, service accounts, quotas, etc.) 3. Removes the cluster configuration from the sandbox API 4. Polls for completion (up to 6 minutes, checking every 3 seconds) Expected output: ``` ==> Offboarding cluster '<CLUSTER_NAME>'... Offboard started for cluster <CLUSTER_NAME>. N placement(s) to process. Poll GET /api/v1/ocp-shared-cluster-configurations/<CLUSTER_NAME>/offboard for status. ==> Waiting for offboard to complete... Offboard completed successfully. ``` If the offboard is taking long, check status manually: ```bash sandbox-cli cluster offboard-status <CLUSTER_NAME> ``` ### Step 8: Verify Offboard Confirm the cluster is no longer listed: ```bash sandbox-cli cluster list ``` The offboarded cluster should no longer appear in the list. ## Important Notes - **Force offboard** (`--force`) should only be used when the target cluster is permanently unreachable or decommissioned. It leaves orphaned resources (namespaces, service accounts, Ceph resources, Keycloak users) on the cluster. - Only `admin` and `shared-cluster-manager` (for own clusters) can offboard. - Offboarding is asynchronous -- it may return HTTP 202 and poll for completion. - If offboard fails partway through, some placements may require manual cleanup. The output will list these. - Always verify with `sandbox-cli cluster list` after offboarding.
Related Skills
sandbox-cli:sandbox-setup
This skill should be used when the user asks to "install sandbox-cli", "setup sandbox", "configure sandbox-cli", "get sandbox-cli working", "download sandbox-cli", or "I don't have sandbox-cli installed".
sandbox-cli:cluster-rotate
This skill should be used when the user asks to "rotate a cluster", "replace a cluster", "swap clusters", "offboard old and onboard new cluster", "cluster rotation", "replace an old cluster with a new one", or "refresh cluster".
sandbox-cli:cluster-onboard
This skill should be used when the user asks to "onboard a cluster", "add a cluster to sandbox", "register a cluster", "onboard OCP cluster", "sandbox onboard", or "add a new shared cluster".
sandbox-cli:cluster-list
This skill should be used when the user asks to "list clusters", "show all clusters", "list sandbox clusters", "show registered clusters", "what clusters are available", or "cluster list".
sandbox-cli:cluster-details
This skill should be used when the user asks to "show cluster details", "get cluster info", "describe cluster", "cluster details", "inspect cluster", or "show cluster configuration".
showroom:verify-content
This skill should be used when the user asks to "verify my workshop content", "review my lab module", "check my Showroom content", "validate my AsciiDoc module", "quality check my demo", "review my workshop for Red Hat standards", or "run a content review on my lab".
showroom:create-lab
This skill should be used when the user asks to "create a lab module", "write a workshop module", "build a Showroom lab", "convert docs to a lab", "write a hands-on exercise", "create an AsciiDoc module", or "turn this documentation into a lab exercise".
showroom:create-demo
This skill should be used when the user asks to "create a demo module", "write a Know/Show demo", "build a presenter demo", "create a Showroom demo", "write a facilitator guide", "build a demo script", or "create a presenter-led demo for RHDP".
showroom:blog-generate
This skill should be used when the user asks to "turn this lab into a blog post", "write a blog post from this module", "generate a blog from my Showroom content", "convert my workshop to a blog", "write a Red Hat Developer blog post", or "create a blog post from my demo".
health:deployment-validator
Infrastructure Health Checker — use this when you need to validate that a workload or service DEPLOYED SUCCESSFULLY (pods running, routes accessible, dependencies ready). This is NOT for student E2E lab testing. For student exercise validation (solve/validate buttons), use /ftl:rhdp-lab-validator instead. Triggers on: 'create a validation role', 'build health checks', 'add deployment validation', 'create post-deployment checks', 'validate my deployment', 'check if my workload is healthy'.
agnosticv:validator
This skill should be used when the user asks to "validate my catalog", "check my AgnosticV config", "review common.yaml", "validate my RHDP catalog", "check for errors in my catalog", "lint my AgnosticV files", or "verify my catalog before submitting".
agnosticv:catalog-builder
This skill should be used when the user asks to "create a catalog", "build a common.yaml", "add a new RHDP lab", "set up a new catalog item", "create an AgnosticV catalog", "build a dev.yaml", "add a catalog entry", or "create a new lab catalog for RHDP".