frontend-forge-fe-oper…
Operate FrontendExtension (FE) resources in frontend-forge: create, update, rebuild, inspect package artifacts, download packages, publish, unpublish, delete,…
NodeGroup operation Skill for the edgewize nodegroup project. Use this whenever the user wants to query, create, update, delete, bind, unbind, or troubleshoot NodeGroup resources, including node binding, namespace binding, workspace binding, and deployment/config inspection for
$ npx -y skills add kubesphere/kubesphere --skill nodegroup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/nodegroupContext preview
The summary Claude sees to decide when to auto-load this skill.
NodeGroup operation Skill for the edgewize nodegroup project. Use this whenever the user wants to query, create, update, delete, bind, unbind, or troubleshoot NodeGroup resources, including node binding, namespace binding, workspace binding, and deployment/config inspection for
name: nodegroup description: NodeGroup operation Skill for the edgewize nodegroup project. Use this whenever the user wants to query, create, update, delete, bind, unbind, or troubleshoot NodeGroup resources, including node binding, namespace binding, workspace binding, and deployment/config inspection for nodegroup.
Use this skill to perform real `nodegroup`-related operations in the `edgewize-io/nodegroup` environment.
This skill should help with:
Prefer using the bundled script `scripts/nodegroup_api.py` for authenticated KAPI operations. Use `kubectl` only as a verification or fallback tool when the API path is unavailable.
Use the bundled script:
Authentication model:
Setup:
cd scripts pip install requests export KUBESPHERE_HOST="http://<kubesphere-host>" python nodegroup_api.py login --username admin --password <password>
Token helpers:
python nodegroup_api.py clear-cache python nodegroup_api.py request GET /kapis/infra.kubesphere.io/v1alpha1/nodegroups
When you need to confirm how an operation works, read these files first from the nodegroup source repository root:
Do not invent unsupported operations. Base the workflow on the source repository.
Cluster-scoped resource.
Important fields:
For any write operation, follow this order:
1. Inspect the current resource. 2. Apply the minimal required change. 3. Verify the resulting resource and any affected node, namespace, or workspace. 4. If sync looks wrong, inspect labels, annotations, and controller behavior.
python nodegroup_api.py nodegroup list python nodegroup_api.py nodegroup get <name>
python nodegroup_api.py nodegroup create \ --name <nodegroup-name> \ --alias "<alias>" \ --description "<description>" \ --manager "<manager>" python nodegroup_api.py nodegroup get <nodegroup-name>
Prefer patching for small changes.
python nodegroup_api.py nodegroup patch <name> \ --alias "<new-alias>" \ --description "<new-description>" \ --manager "<manager>" python nodegroup_api.py nodegroup get <name>
For unsupported fields or ad hoc testing, use raw request mode.
For `PATCH`, send a JSON Patch array:
python nodegroup_api.py request PATCH /kapis/infra.kubesphere.io/v1alpha1/nodegroups/<name> '[{"op":"add","path":"/spec/alias","value":"<new-alias>"}]'Only do this when explicitly requested.
python nodegroup_api.py nodegroup delete <name>
If delete hangs, inspect finalizers:
python nodegroup_api.py nodegroup get <name>
Relevant finalizer:
Node binding is implemented through nodegroup APIs and reflected with label:
Read current state:
kubectl get node <node-name> --show-labels kubectl get nodes -l apps.edgewize.io/nodegroup=<nodegroup-name>
Operate through the bundled script:
python nodegroup_api.py bind node --nodegroup <nodegroup-name> --node <node-name> python nodegroup_api.py unbind node --nodegroup <nodegroup-name> --node <node-name> # Verify kubectl get nodes -l apps.edgewize.io/nodegroup=<nodegroup-name> kubectl get node <node-name> -o yaml
Read current state:
kubectl get ns <namespace> --show-labels
Operate through the bundled script:
python nodegroup_api.py bind namespace --nodegroup <nodegroup-name> --namespace <namespace> python nodegroup_api.py unbind namespace --nodegroup <nodegroup-name> --namespace <namespace> # Verify python nodegroup_api.py nodegroup get <nodegroup-name> kubectl get ns <namespace> -o yaml
python nodegroup_api.py bind workspace --nodegroup <nodegroup-name> --workspace <workspace> python nodegroup_api.py unbind workspace --nodegroup <nodegroup-name> --workspace <workspace>
When an operation appears to succeed but state is wrong, check these in order:
1. Does the resource exist? 2. Does it still have a finalizer? 3. Are node labels correct? 4. Are namespace or workspace labels/annotations correct? 5. Did IPPool annotations or labels fail to sync? 6. Is the feature enabled in nodegroup config?
Useful checks:
python nodegroup_api.py nodegroup get <name> kubectl get node <node-name> -o yaml kubectl get ns <namespace> -o yaml kubectl get cm nodegroup-config -n kubesphe
The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ 🖥 ☁️
Repo: kubesphere/kubesphere
Operate FrontendExtension (FE) resources in frontend-forge: create, update, rebuild, inspect package artifacts, download packages, publish, unpublish, delete,…
Operate FrontendIntegration resources and the frontend-forge extension. Use when Codex needs to create a FrontendIntegration from FrontendIntegration YAML,…
Generate canonical FrontendIntegration YAML from a simplified single-menu authoring model for frontend-forge.
Use when deploying KubeEye for cluster inspection, creating InspectRule/InspectPlan resources, or retrieving inspection results. Covers InstallPlan-based…
KubeSphere cluster query Skill (read-only). Use when user requests to view cluster list, cluster status, cluster details, or cluster version info. Do not…
KubeSphere central controller Skill. Routes to specific Skills based on user requests: multi-cluster management (kubesphere-cluster-management), multi-tenant…