Sim Helm
simstudioai/sim
Install, upgrade, and operate the Sim Helm chart on Kubernetes.
Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .claude/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.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/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .claude/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-servicesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .agents/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .agents/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .cursor/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .cursor/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/educates/educates-training-platform.git --path .claude/skills/educates-upgrade-cluster-services--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .gemini/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .gemini/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-servicesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .github/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .github/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .opencode/skills/educates-upgrade-cluster-services && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "educates-upgrade-cluster-services" agent skill from https://github.com/educates/educates-training-platform/tree/develop/.claude/skills/educates-upgrade-cluster-services into .opencode/skills/educates-upgrade-cluster-services/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "educates-upgrade-cluster-services", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
educates-upgrade-cluster-servicesUpgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.
Educates Upgrade Cluster Services is an agent skill from educates/educates-training-platform. Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns. Invoke when asked to "upgrade cert-manager / contour / kyverno / external-dns", "bump a vendored cluster-service chart", or "update the operator's bundled charts".
Its SKILL.md is about 3.2k 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. It works with Helm and Kubernetes. The repository describes itself as: A platform for hosting interactive workshop environments in Kubernetes, or on top of a local container runtime. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 36abce0. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditBashWebFetchGlobFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
makegitcurlyqhelmFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comkyverno.github.iocharts.jetstack.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Educates Upgrade Cluster Services loads about 3.2k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,225 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Bash, WebFetch, GlobAutomated 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.
The full file from educates/educates-training-platform at commit 36abce0, republished under its Apache-2.0 licence (© educates). 1,225 words, ~3,170 tokens.
.claude/skills/educates-upgrade-cluster-services/SKILL.md (or your agent's skills folder).The operator installs four upstream cluster services for EducatesClusterConfig
(Managed mode) from Helm chart tarballs vendored at
installer/operator/vendored-charts/: cert-manager, Contour,
Kyverno, external-dns. The bytes are checked into the repo and embedded
into the operator binary via //go:embed. This skill bumps one (or checks all)
to a new upstream version.
installer/operator/vendored-charts/README.md is the canonical reference for
this workflow — keep it and this skill in agreement.
If $ARGUMENTS names a service, upgrade only that one. With no argument, check
all four for newer upstream versions and report before changing anything.
The same directory also holds the in-repo runtime subcharts (secrets-manager, lookup-service, session-manager, node-ca-injector, remote-access). Those are not in scope here — they are repackaged from source via
make package-local-charts, not downloaded.
A version is pinned in four canonical places that must stay in lockstep (a consistency test enforces it — see Verification):
installer/operator/Makefile → VENDORED_CHARTS list: name=version=url.installer/operator/vendored-charts/SHA256SUMS: <sha256> <name>-<version>.tgz.installer/operator/vendored-charts/embed.go: the //go:embed <name>-<version>.tgz
directive, the <X>ChartVersion constant, and (Contour / external-dns /
Kyverno) the <X>AppVersion constant. cert-manager has a single
CertManagerVersion (its chart version equals its appVersion).Beyond these four, some tests hardcode a version string rather than
referencing the embed.go constant (an import cycle prevents the helm package's
tests from importing vendoredcharts). The DirectoryConsistent test does not
cover these, so they go stale silently and only surface as a CI test failure. The
known one is installer/operator/internal/helm/load_test.go
(TestLoadArchive_VendoredCertManager), which hardcodes the cert-manager
version twice (the .tgz filename and the AppVersion assertion). Always finish a
bump with the straggler grep below — do not rely on the four-place list alone.
| Service | Upstream releases | Chart URL pattern | App version |
|---|---|---|---|
| cert-manager | https://github.com/cert-manager/cert-manager/releases | https://charts.jetstack.io/charts/cert-manager-v<VER>.tgz | == chart version (v<VER>) |
| contour | https://github.com/projectcontour/helm-charts/releases | https://github.com/projectcontour/helm-charts/releases/download/contour-<VER>/contour-<VER>.tgz | Contour binary version (e.g. 1.33.5) |
| external-dns | https://github.com/kubernetes-sigs/external-dns/releases | https://github.com/kubernetes-sigs/external-dns/releases/download/external-dns-helm-chart-<VER>/external-dns-<VER>.tgz | external-dns binary version |
| kyverno | https://github.com/kyverno/kyverno/releases | https://kyverno.github.io/kyverno/kyverno-<VER>.tgz | Kyverno binary version (e.g. v1.18.1) |
Use WebFetch on the releases page to find the latest stable chart version (not a
pre-release). The chart version and the bundled app version differ for Contour,
external-dns, and Kyverno — read the new app version from the tarball's
Chart.yaml (appVersion:) after downloading.
Kyverno is the awkward one: its chart version and binary version are on
different numbering tracks and live in different places. The
github.com/kyverno/kyverno/releases page lists the binary version
(appVersion, e.g. v1.18.1); the chart version (<VER> in the URL above,
e.g. 3.8.1) only exists in the Helm repo's index.yaml. They are not
aligned and you cannot derive one from the other by inspection — you must resolve
the chart version that ships a given Kyverno binary from the repo index:
# What chart version ships Kyverno binary v1.18.1? (stable, non-rc rows only)
curl -sSfL https://kyverno.github.io/kyverno/index.yaml \
| yq -r '.entries.kyverno[]
| select(.appVersion | test("rc")|not)
| .version + " => " + .appVersion' \
| grep ' v1.18.1$' # → 3.8.1 => v1.18.1To browse the newest stable charts and the binary each one bundles (the first
row is the latest stable chart), drop the grep:
curl -sSfL https://kyverno.github.io/kyverno/index.yaml \
| yq -r '.entries.kyverno[]
| select(.appVersion | test("rc")|not)
| .version + " => " + .appVersion' \
| headEquivalently with the Helm CLI (helm repo add kyverno https://kyverno.github.io/kyverno/ && helm repo update kyverno && helm search repo kyverno/kyverno --versions), whose CHART VERSION / APP VERSION columns
are the same two fields. Either way, that chart version is what goes in
<VER> for the download URL, the Makefile, SHA256SUMS, and the embed.go
filename + KyvernoChartVersion; the matching appVersion is
KyvernoAppVersion (still confirm it from the downloaded tarball's Chart.yaml
per step 5).
Current versions: read them from the Makefile VENDORED_CHARTS line and the
embed.go constants.
Worked example: contour 0.6.0 → <VER>. Other charts are identical except
cert-manager has no separate AppVersion constant.
Compute the new tarball's SHA256 from the upstream URL (the "I am
deliberately trusting these bytes" step — make vendor-charts refuses to
download anything whose hash isn't already recorded):
curl -sSfL "https://github.com/projectcontour/helm-charts/releases/download/contour-<VER>/contour-<VER>.tgz" | shasum -a 256installer/operator/Makefile — update the chart's VENDORED_CHARTS
entry (version and URL).
SHA256SUMS — replace the chart's line with the new filename + hash.
make -C installer/operator vendor-charts — downloads, verifies against
SHA256SUMS, and writes the new tarball into place. Then git rm the old
tarball (nothing prunes it automatically).
embed.go — update the //go:embed filename, the <X>ChartVersion
constant, and the <X>AppVersion constant. Read the new appVersion from the
tarball:
tar -xzOf installer/operator/vendored-charts/contour-<VER>.tgz contour/Chart.yaml | grep -E '^(version|appVersion):'Grep the repo for stragglers — hardcoded references to the old version that live outside the four canonical places (notably tests). Run this with the OLD version string before you forget it, and update every hit:
# e.g. old cert-manager version v1.20.2 → catches internal/helm/load_test.go
git grep -n "<old-version>" -- installer/operatorFor cert-manager this always includes internal/helm/load_test.go (filename +
AppVersion assertion). Skip the vendored-charts/ line for the tarball you
just git rm'd.
Re-verify reconciler assumptions (the load-bearing step — see next section). The per-service reconciler gates readiness on specific workload names / webhook behaviour verified against a chart version.
installer/operator/vendored-charts/README.md — update the "Current
contents" version table.
Kyverno only — also re-vendor the bundled policies. See "Kyverno special case" below.
Each cluster service has a reconciler in installer/operator/internal/controller/config/
that gates readiness on workload names and, sometimes, CRD/webhook behaviour.
A chart bump can rename a Deployment, change a values key, or move a CRD API
version and silently break the gate. Render the new chart and confirm:
# extract + template the new chart with the operator's values shape
helm template <name> <path-to-extracted-chart> [--set ...] | grep -E 'kind: (Deployment|DaemonSet)' -A2| Service | Reconciler | What it asserts (verify still true) |
|---|---|---|
| cert-manager | certmanager.go | cert-manager, cert-manager-cainjector, cert-manager-webhook Deployments ready; cert-manager.io API discovery responds; CRDs present (deferred watch) |
| contour | contour.go | contour-contour Deployment + contour-envoy DaemonSet (names from the chart fullname helper); no admission webhook; envoy.useHostPort / envoy.service.type values still honoured |
| external-dns | externaldns.go | the external-dns Deployment is ready; provider value keys (Route53 / CloudDNS) unchanged |
| kyverno | kyverno.go | the four controller Deployments (kyverno-{admission,background,cleanup,reports}-controller) ready; validatingpolicies.policies.kyverno.io CRD still installed; RBAC role names unchanged |
If a name or values key changed, update the reconciler constant and its
"verified against <version>" comment in the same change.
Bumping the Kyverno chart usually means bumping the Kyverno binary
(KyvernoAppVersion), and the bundled Kyverno security policies are pinned to a
matching kyverno/policies release branch. When KyvernoAppVersion changes
(e.g. v1.18.x → v1.19.x):
release-1.NN branch — follow
installer/charts/educates-training-platform/charts/session-manager/files/kyverno-policies/README.md.make -C installer/operator package-local-chartskyverno.go's RBAC / CRD assumptions and the session-manager
validatingpolicies ClusterRole still match the new Kyverno.make -C installer/operator verify-vendored-charts # SHA256 of every on-disk tarball
make -C installer/operator test # runs the consistency + load testsmake test includes:
TestVendoredCharts_DirectoryConsistent — ties the Makefile VENDORED_CHARTS
list, SHA256SUMS, embed.go constants, and the on-disk tarballs together; a
half-finished bump (or a leftover old tarball) fails here.Test<Service>_Embedded — asserts each embedded chart's name/version/appVersion
match the embed.go constants.The operator image //go:embeds these tarballs, so to test on a cluster rebuild
the operator (make image-operator) and redeploy. For a real upgrade, also
deploy EducatesClusterConfig in Managed mode and confirm the service reaches
Ready and its reconciler condition flips (CertificatesReady, IngressReady,
DNSReady, PolicyEnforcementReady).
render<Service>Values in the reconcilers), not by patching
the bytes.VENDORED_CHARTS (Makefile), SHA256SUMS, and embed.go all updated to the new versionmake vendor-charts (hash-verified); old tarball git rm'dembed.go <X>AppVersion read from the new tarball's Chart.yamlgit grep "<old-version>" run; straggler hardcoded refs updated (cert-manager: internal/helm/load_test.go)make generate-installer-rbac) + CLI copy synced (make embed-installer-chart); an "unmapped Kind" error means adding the Kind to hack/generate-installer-rbac.shmake verify-vendored-charts and make test pass© educates, 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
Just SKILL.md in .claude/skills/educates-upgrade-cluster-services of educates/educates-training-platform.
Open the folder on GitHubat commit 36abce0
Educates Upgrade Cluster Services 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Educates Upgrade Cluster Services this skilleducates/educates-training-platform | 161 | — | ~3.2k | Automated safety check: Notes | Apache-2.0 | |
| Sim Helmsimstudioai/sim | 30k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Helm Chart ScaffoldingCybereason-Public/owLSM | 280 | 13 repos | ~381 | Automated safety check: Pass | GPL-2.0 | |
| Kubernetes SpecialistJeffallan/claude-skills | 12k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| NGINX Ingress Controller Feature Checklistsnginx/kubernetes-ingress | 5.1k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| KubeShark for KubernetesLukasNiessen/kubernetes-skill | 446 | — | ~1.2k | Automated safety check: Pass | MIT |
simstudioai/sim
Install, upgrade, and operate the Sim Helm chart on Kubernetes.
Cybereason-Public/owLSM
Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications.
Jeffallan/claude-skills
Creates and checks Kubernetes manifests, Helm charts, RBAC and network policies, and helps debug pod problems, with kubectl checks and rollback steps.
nginx/kubernetes-ingress
Gives step-by-step checklists for adding Ingress annotations, VirtualServer fields and Helm values to the NGINX Kubernetes Ingress Controller, with common gotchas.
LukasNiessen/kubernetes-skill
Keeps Kubernetes manifests, Helm charts and policies grounded by diagnosing six failure modes, such as insecure defaults and API drift, and loading only matching references.
NVIDIA/k8s-nim-operator
Install NVIDIA NIM Operator on Kubernetes with prerequisite checks, optional NVIDIA GPU Operator dependency installation, public or local Helm chart selection, optional Dynamo support, and optional…
educates/educates-training-platform
Drives the Educates project's Gitflow-based branch and release workflow.
educates/educates-training-platform
Create release notes for an Educates version. An agent skill from educates/educates-training-platform.
educates/educates-training-platform
Upgrade the Go version across the entire educates-training-platform project.
educates/educates-training-platform
Upgrade Kubernetes version support across the educates-training-platform project.
educates/educates-training-platform
Upgrade the vendored third-party frontend libraries bundled into the Educates workshop dashboard theme (Bootstrap, Font Awesome, jQuery, Underscore.js, JSONForm, js-yaml).
educates/educates-training-platform
Upgrade the vcluster software version (and the Kubernetes versions the virtual cluster provisions) used by the vcluster workshop application in session-manager.
Works with
Categories
Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns. Educates Upgrade Cluster Services is an agent skill from educates/educates-training-platform. Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.
Educates Upgrade Cluster Services fits situations like: tasks that involve Container orchestration.
Run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a claude-code`. Or copy the skill folder (.claude/skills/educates-upgrade-cluster-services in educates/educates-training-platform) into .claude/skills/educates-upgrade-cluster-services in your project. Claude Code loads it when a task matches its description.
Run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a codex`. Or copy the skill folder (.claude/skills/educates-upgrade-cluster-services in educates/educates-training-platform) into .agents/skills/educates-upgrade-cluster-services in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/educates-upgrade-cluster-services, .gemini/skills/educates-upgrade-cluster-services, .github/skills/educates-upgrade-cluster-services and .opencode/skills/educates-upgrade-cluster-services in your project.
Going by SKILL.md and its folder, Educates Upgrade Cluster Services needs the command-line tools its instructions call (make, git, curl, yq and helm). Its frontmatter pre-approves these tools: Read, Edit, Bash, WebFetch, Glob.
SKILL.md names 3 domains. In commands or code: github.com, kyverno.github.io and charts.jetstack.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Educates Upgrade Cluster Services 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.
About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Educates Upgrade Cluster Services: Sim Helm (simstudioai/sim, 30k stars), Helm Chart Scaffolding (Cybereason-Public/owLSM, 280 stars), Kubernetes Specialist (Jeffallan/claude-skills, 12k stars) and NGINX Ingress Controller Feature Checklists (nginx/kubernetes-ingress, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
educates (a GitHub organization) maintains it in educates/educates-training-platform, which has 161 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.
Source: educates/educates-training-platform on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.