Agent skill

Kcli Cluster Deployment

by karmab in karmab/kcli

Guides deployment and management of Kubernetes clusters with kcli.

Apache-2.0Auto-check passedDevOps & Cloud

Install Kcli Cluster Deployment

skills CLI
$ npx skills add karmab/kcli --skill kcli-cluster-deployment -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install karmab/kcli kcli-cluster-deployment --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/karmab/kcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/kcli-cluster-deployment .claude/skills/kcli-cluster-deployment && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
kcli-cluster-deployment
GitHub stars
653
Token cost
~1.5k tokens
SKILL.md length
187 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
Apache-2.0

At a glance

Guides deployment and management of Kubernetes clusters with kcli.

  • Works in 4 steps: API IP not reachable: Ensure api_ip is… → Pull secret invalid: Verify JSON format… → Insufficient resources: Check VM… → …
  • Deploying OpenShift
  • SKILL.md covers Supported Cluster Types, Basic Cluster Commands, OpenShift Deployment and kubeadm Deployment, plus 8 more sections
  • Calls kubectl

What it does

Kcli Cluster Deployment is an agent skill from karmab/kcli. Guides deployment and management of Kubernetes clusters with kcli. Use when deploying OpenShift, k3s, kubeadm, or other Kubernetes distributions.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Container orchestration and Deployment. It works with Kubernetes, Google Kubernetes Engine, Amazon Web Services and Google Cloud. The repository describes itself as: Management tool for virtualization and kubernetes platforms. The licence is Apache-2.0.

When your agent uses it

  • Deploying OpenShift
  • Other Kubernetes distributions

Example prompts

  • “Use the kcli-cluster-deployment skill to guide deployment and management of Kubernetes clusters with kcli”
  • “/kcli-cluster-deployment”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. API IP not reachable: Ensure api_ip is in the correct subnet
  2. Pull secret invalid: Verify JSON format and Red Hat subscription
  3. Insufficient resources: Check VM memory/CPU against requirements
  4. DNS resolution: Ensure domain resolves or use sslip: true

What it can do on your machine

Read from SKILL.md and the folder at commit 30a28e3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • kubectl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use kubectl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Kcli Cluster Deployment loads about 1.5k tokens when it runs. Until then it costs about 42 tokens; SKILL.md has 187 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~42
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from karmab/kcli at commit 30a28e3, republished under its Apache-2.0 licence (© karmab). 187 words, ~1,477 tokens.

Download SKILL.mdSave it as .claude/skills/kcli-cluster-deployment/SKILL.md (or your agent's skills folder).
name
kcli-cluster-deployment
description
Guides deployment and management of Kubernetes clusters with kcli. Use when deploying OpenShift, k3s, kubeadm, or other Kubernetes distributions.

kcli Cluster Deployment

Supported Cluster Types

TypeDescriptionModule
openshiftRed Hat OpenShift (IPI/UPI)kvirt/cluster/openshift/
okdCommunity OpenShiftSame as openshift
hypershiftOpenShift Hosted Control Planeskvirt/cluster/hypershift/
microshiftLightweight edge OpenShiftkvirt/cluster/microshift/
genericGeneric Kubernetes (alias: kubernetes)kvirt/cluster/kubernetes/
kubeadmStandard Kubernetes via kubeadmkvirt/cluster/kubeadm/
k3sLightweight Kuberneteskvirt/cluster/k3s/
rke2Rancher Kubernetes Engine 2kvirt/cluster/rke2/
aksAzure Kubernetes Servicekvirt/cluster/aks/
eksAmazon Elastic Kuberneteskvirt/cluster/eks/
gkeGoogle Kubernetes Enginekvirt/cluster/gke/

Basic Cluster Commands

bash
# Create cluster
kcli create kube <type> <clustername>

# Create with parameters
kcli create kube openshift -P ctlplanes=3 -P workers=2 mycluster

# List clusters
kcli list kube

# Get cluster info
kcli info kube mycluster

# Delete cluster
kcli delete kube mycluster

# Scale cluster
kcli scale kube <type> -P workers=5 mycluster

# Get kubeconfig
kcli get kubeconfig mycluster

OpenShift Deployment

Minimal Example
bash
kcli create kube openshift -P pull_secret=~/pull-secret.json mycluster
Key Parameters
yaml
# Required
pull_secret: ~/pull-secret.json    # Red Hat pull secret
domain: example.com                 # Base domain

# Topology
ctlplanes: 3                        # Control plane nodes
workers: 2                          # Worker nodes
version: stable                     # OpenShift version (stable, 4.14, etc.)

# Resources
ctlplane_memory: 16384              # Control plane memory (MB)
ctlplane_numcpus: 8                 # Control plane CPUs
worker_memory: 8192                 # Worker memory
worker_numcpus: 4                   # Worker CPUs

# Networking
network: default                    # Libvirt network
api_ip: 192.168.122.253            # API VIP (auto-detected if omitted)
ingress_ip: 192.168.122.252        # Ingress VIP
Disconnected/Air-gapped
yaml
disconnected_url: registry.local:5000
disconnected_user: admin
disconnected_password: password
ca: |
  -----BEGIN CERTIFICATE-----
  ...
  -----END CERTIFICATE-----

kubeadm Deployment

bash
kcli create kube kubeadm -P domain=k8s.local -P ctlplanes=1 -P workers=2 myk8s
Key Parameters
yaml
domain: k8s.local                   # Required domain
version: 1.29                       # Kubernetes version
ctlplanes: 1                        # Control planes (odd number for HA)
workers: 2                          # Worker count
network: default                    # Network name
api_ip: 192.168.122.250            # API endpoint (for multi-ctlplane)
image: centos9stream                # Base OS image

k3s Deployment

bash
kcli create kube k3s -P ctlplanes=1 -P workers=2 myk3s
Key Parameters
yaml
ctlplanes: 1
workers: 2
version: latest                     # k3s version
domain: k3s.local
image: ubuntu2204

RKE2 Deployment

bash
kcli create kube rke2 -P ctlplanes=1 -P workers=2 myrke2
Key Parameters
yaml
ctlplanes: 1
workers: 2
version: latest                     # RKE2 version
domain: rke2.local
image: ubuntu2204

HyperShift (Hosted Control Planes)

bash
kcli create kube hypershift \
  -P pull_secret=~/pull-secret.json \
  -P nodepool_replicas=2 \
  myhypershift
Key Parameters
yaml
pull_secret: ~/pull-secret.json
management_cluster: mgmt            # Existing cluster name
nodepool_replicas: 2                # Worker node count
release_image: ...                  # Specific OCP release

MicroShift Deployment

bash
kcli create kube microshift -P pull_secret=~/pull-secret.json mymicroshift
Key Parameters
yaml
pull_secret: ~/pull-secret.json
version: latest                     # MicroShift version
image: rhel9                        # RHEL-based image required

Cluster Directory Structure

Clusters store state in ~/.kcli/clusters/<clustername>/:

~/.kcli/clusters/mycluster/
├── kcli_parameters.yml    # Stored parameters
├── kubeconfig             # Cluster kubeconfig
├── auth/                  # Auth credentials (OpenShift)
│   ├── kubeadmin-password
│   └── kubeconfig
└── (other cluster-specific files)

Scaling Operations

bash
# Scale workers
kcli scale kube openshift -P workers=5 mycluster

# Scale control planes (careful!)
kcli scale kube kubeadm -P ctlplanes=3 mycluster

# Add nodes with specific parameters
kcli scale kube openshift -P workers=3 -P worker_memory=16384 mycluster

Troubleshooting

Check Deployment Progress
bash
# OpenShift: watch bootstrap
kcli ssh mycluster-bootstrap
journalctl -f -u bootkube

# kubeadm: check cluster status
export KUBECONFIG=~/.kcli/clusters/mycluster/kubeconfig
kubectl get nodes
kubectl get pods -A
Common Issues
  1. API IP not reachable: Ensure api_ip is in the correct subnet
  2. Pull secret invalid: Verify JSON format and Red Hat subscription
  3. Insufficient resources: Check VM memory/CPU against requirements
  4. DNS resolution: Ensure domain resolves or use sslip: true
Debug Mode
bash
kcli -d create kube openshift mycluster  # Verbose output

Cloud Provider Notes

For cloud providers (AWS, GCP, Azure), kcli can:

  • Auto-create load balancers (cloud_lb: true)
  • Configure cloud DNS (cloud_dns: true)
  • Set up cloud storage (cloud_storage: true)
yaml
cloud_lb: true
cloud_dns: true
cloud_storage: true

© karmab, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/kcli-cluster-deployment of karmab/kcli.

Open the folder on GitHubat commit 30a28e3

Compare with similar skills

Kcli Cluster Deployment next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Kcli Cluster Deployment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kcli Cluster Deployment this skillkarmab/kcli653—~1.5kAutomated safety check: PassApache-2.0
Apex Azure Cloud Migratejonathan-vella/apex217—~1.2kAutomated safety check: PassMIT
Provider Bug Reviewmondoohq/mql411—~2.9kAutomated safety check: PassCustom licence
Extend Discovery Typerunwhen-contrib/runwhen-local163—~1.7kAutomated safety check: PassApache-2.0
Aspire DeploymentCommunityToolkit/Aspire629—~4.5kAutomated safety check: NotesMIT
Azure Arcvinayaklatthe/microsoft-security-skills175—~1.9kAutomated safety check: PassMIT

Similar skills

  • Apex Azure Cloud Migrate

    jonathan-vella/apex

    WORKFLOW SKILL — Assess and migrate cross-cloud workloads to Azure: assessments and code conversion from AWS, GCP, Heroku, Kubernetes or Spring.

    217 GitHub stars~1.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Deep static code review of an mql provider for logic errors, nil-handling bugs, pagination truncation, caching/id collisions, and other defects that silently give users wrong data.

    411 GitHub stars~2.9k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Extend Discovery Type

    runwhen-contrib/runwhen-local

    Add or enrich a resource type in an existing RunWhen Local discovery indexer (Azure azureapi, GCP gcpapi, AWS, or Kubernetes).

    163 GitHub stars~1.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Aspire Deployment

    CommunityToolkit/Aspire

    WORKFLOW SKILL — Deploy Aspire apps from AppHost models to Docker Compose, Kubernetes, Azure, AWS, or preview Radius.

    629 GitHub stars~4.5k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Azure Arc

    vinayaklatthe/microsoft-security-skills

    Guidance for Azure Arc — projecting on-premises, multicloud (AWS/GCP), and edge servers, Kubernetes, and data services into Azure Resource Manager for unified governance, security, and management.

    175 GitHub stars~1.9k tokensUpdated 3 mo ago
    DevOps & CloudAuto-check passed
  • A skill your agent uses when a provider scan is slow, times out, or trips rate limits (429, throttling, Retry-After), when the same request URL appears many times in a debug log, when an asset's…

    411 GitHub stars~7.7k tokensUpdated today
    DevOps & CloudAuto-check passed

More from karmab/kcli

All 8 skills in this repo
  • Kcli

    karmab/kcli

    Comprehensive guide for kcli usage. An agent skill from karmab/kcli.

    653 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: warnings
  • Guides creation of kcli plan files for deploying VMs, networks, and infrastructure.

    653 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Guides implementation of new virtualization providers for kcli.

    653 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Guides kcli configuration and provider setup. An agent skill from karmab/kcli.

    653 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check: warnings
  • Kcli Ksushy

    karmab/kcli

    Guides interaction with kcli VMs via ksushy (Redfish emulator).

    653 GitHub stars~1k tokensUpdated yesterday
    Auto-check: warnings
  • Kcli Testing

    karmab/kcli

    Guides testing and code quality for kcli. An agent skill from karmab/kcli.

    653 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check: warnings

Categories

Questions about Kcli Cluster Deployment

What does Kcli Cluster Deployment do?

Guides deployment and management of Kubernetes clusters with kcli. Kcli Cluster Deployment is an agent skill from karmab/kcli. Guides deployment and management of Kubernetes clusters with kcli.

When should I use Kcli Cluster Deployment?

Kcli Cluster Deployment fits situations like: deploying OpenShift; other Kubernetes distributions.

How do I install Kcli Cluster Deployment in Claude Code?

Run `npx skills add karmab/kcli --skill kcli-cluster-deployment -a claude-code`. Or copy the skill folder (skills/kcli-cluster-deployment in karmab/kcli) into .claude/skills/kcli-cluster-deployment in your project. Claude Code loads it when a task matches its description.

How do I install Kcli Cluster Deployment in Codex?

Run `npx skills add karmab/kcli --skill kcli-cluster-deployment -a codex`. Or copy the skill folder (skills/kcli-cluster-deployment in karmab/kcli) into .agents/skills/kcli-cluster-deployment in your project. Codex loads it when a task matches its description.

Can I use Kcli Cluster Deployment in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add karmab/kcli --skill kcli-cluster-deployment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kcli-cluster-deployment, .gemini/skills/kcli-cluster-deployment, .github/skills/kcli-cluster-deployment and .opencode/skills/kcli-cluster-deployment in your project.

What does Kcli Cluster Deployment need to run?

Going by SKILL.md and its folder, Kcli Cluster Deployment needs the command-line tools its instructions call (kubectl).

Does Kcli Cluster Deployment access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Kcli Cluster Deployment safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Kcli Cluster Deployment use?

Kcli Cluster Deployment is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Kcli Cluster Deployment use?

About 1.5k tokens (SKILL.md is roughly 5.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Kcli Cluster Deployment?

Skills that share tags, products or a category with Kcli Cluster Deployment: Apex Azure Cloud Migrate (jonathan-vella/apex, 217 stars), Provider Bug Review (mondoohq/mql, 411 stars), Extend Discovery Type (runwhen-contrib/runwhen-local, 163 stars) and Aspire Deployment (CommunityToolkit/Aspire, 629 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kcli Cluster Deployment?

karmab (a GitHub user) maintains it in karmab/kcli, which has 653 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 6, 2026.

Source: karmab/kcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.