Agent skill

Educates Upgrade Go

by educates in educates/educates-training-platform

Upgrade the Go version across the entire educates-training-platform project.

Apache-2.0Auto-check: notesDevOps & Cloud

Install Educates Upgrade Go

skills CLI
$ npx skills add educates/educates-training-platform --skill educates-upgrade-go -a claude-code

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

GitHub CLI
$ gh skill install educates/educates-training-platform educates-upgrade-go --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/educates/educates-training-platform.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/educates-upgrade-go .claude/skills/educates-upgrade-go && 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
educates-upgrade-go
GitHub stars
161
Token cost
~1.4k tokens
SKILL.md length
549 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Upgrade the Go version across the entire educates-training-platform project.

  • Works in 4 steps: Find the Current Version → Update All Files → Verify → …
  • Tasks that involve Containers
  • SKILL.md covers Step 1: Find the Current Version, Step 2: Update All Files, Step 3: Verify and Step 4: Post-Verification…
  • Calls go, make and git

What it does

Educates Upgrade Go is an agent skill from educates/educates-training-platform. Upgrade the Go version across the entire educates-training-platform project. Invoke when asked to "upgrade go version", "bump golang", "update go", or "use go 1.xx". Updates go.work, all go.mod files, all Dockerfiles, and CI/CD workflow files.

Its SKILL.md is about 1.4k 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 Containers and CI/CD. It works with Go, Docker 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.

When your agent uses it

  • Tasks that involve Containers
  • Tasks that involve CI/CD

Example prompts

  • “upgrade go version”
  • “bump golang”
  • “update go”
  • “/educates-upgrade-go”

Requirements

  • Python 3
  • Docker
  • Pre-approved tools (allowed-tools): Read, Edit, Glob, Bash

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Find the Current Version
  2. Update All Files
  3. Verify
  4. Post-Verification Checklist

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Glob
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • make
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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

Educates Upgrade Go loads about 1.4k tokens when it runs. Until then it costs about 66 tokens; SKILL.md has 549 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Edit, Glob, Bash

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 educates/educates-training-platform at commit 36abce0, republished under its Apache-2.0 licence (© educates). 549 words, ~1,376 tokens.

Download SKILL.mdSave it as .claude/skills/educates-upgrade-go/SKILL.md (or your agent's skills folder).
name
educates-upgrade-go
description
Upgrade the Go version across the entire educates-training-platform project. Invoke when asked to "upgrade go version", "bump golang", "update go", or "use go 1.xx". Updates go.work, all go.mod files, all Dockerfiles, and CI/CD workflow files.
allowed-tools
Read, Edit, Glob, Bash
argument-hint
<new-go-version> (e.g. 1.24)

Educates Go Version Upgrade Protocol

Upgrade the Go version to $ARGUMENTS (e.g. 1.24) across all files in the project.

Step 1: Find the Current Version

Check the current Go version before making changes:

bash
grep -rn "^go 1\." go.work client-programs/go.mod installer/operator/go.mod node-ca-injector/go.mod assets-server/go.mod

Step 2: Update All Files

You must update all of the following. Do not skip any.

Go Module Files
  • go.work — update the go 1.xx directive. The workspace covers client-programs/, installer/operator/, and node-ca-injector/.
  • client-programs/go.mod — update the go 1.xx line
  • installer/operator/go.mod — update the go 1.xx line (the kubebuilder operator)
  • node-ca-injector/go.mod — update the go 1.xx line
  • assets-server/go.mod — update the go 1.xx line (Docker-only module, not in go.work)

Discover every module so none is missed (the platform modules are at the repo root; ignore any go.mod under workshop-samples/, which is sample workshop content with its own lifecycle):

bash
git ls-files 'go.mod' '*/go.mod' | grep -v '^workshop-samples/'

Note: tunnel-manager is a Python (uv) component and has no go.mod.

Dockerfiles

Use the plain golang:1.xx image tag — do not switch to Alpine, Buster, Trixie, or other derivative tags. Only the golang:1.xx version changes — do not add or remove the --platform=$BUILDPLATFORM prefix as part of a version bump.

  • client-programs/Dockerfile — FROM --platform=$BUILDPLATFORM golang:1.xx AS builder
  • installer/operator/Dockerfile — FROM --platform=$BUILDPLATFORM golang:1.xx AS builder
  • node-ca-injector/Dockerfile — FROM --platform=$BUILDPLATFORM golang:1.xx AS builder
  • assets-server/Dockerfile — FROM --platform=$BUILDPLATFORM golang:1.xx AS builder
  • workshop-images/base-environment/Dockerfile — FROM --platform=$BUILDPLATFORM golang:1.xx as builder-image

Search for any other Dockerfile referencing golang:

bash
grep -rn "FROM .*golang:" --include="Dockerfile*" .
About --platform=$BUILDPLATFORM

It is not a standalone flag — it is correct only as a three-part cross-compile set in the same stage:

  1. FROM --platform=$BUILDPLATFORM golang:1.xx AS builder (builder runs on the build host, not emulated),
  2. ARG TARGETOS / ARG TARGETARCH,
  3. ... GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build ... (cross-compile to the target).

With all three, a multiarch build cross-compiles natively instead of running the Go toolchain under QEMU for each non-native arch — much faster. Adding the prefix to a stage that builds with a plain go build (no GOOS/GOARCH) produces a wrong-architecture binary — so the prefix and the GOOS/GOARCH build must always go together.

All five Go Dockerfiles above currently cross-compile and carry the prefix. If you ever add a new Go build stage, give it the full three-part set (or no --platform at all) — never the prefix alone.

Show full SKILL.md (202 more words)Show less
CI/CD Workflows

The Go workflows (.github/workflows/*.yaml — note the extension) pin the toolchain with actions/setup-go using go-version-file: pointing at a module's go.mod (e.g. client-programs-ci.yaml → client-programs/go.mod, installer-operator-ci.yaml → installer/operator/go.mod). Because the version is read from go.mod, bumping the go.mod files above is normally enough — no hardcoded version to edit.

Still confirm there's no stray hardcoded version left behind:

bash
grep -rnE "go-version:|golang:1\." .github/workflows/

If any go-version: '1.xx' literal exists, update it (or, preferably, convert it to go-version-file:).

Step 3: Verify

Run in order, fix any failures before proceeding:

  1. Sync dependencies in every module (run go mod tidy in each):
bash
for m in client-programs installer/operator node-ca-injector assets-server; do
  (cd "$m" && go mod tidy)
done
  1. Build the CLI and the operator:
bash
make build-cli                        # CLI (build-client-programs is an alias)
make -C installer/operator build      # operator manager binary
  1. Run tests (the operator's envtest is the most likely to surface a toolchain issue):
bash
cd client-programs && go test ./...
make -C installer/operator test

Step 4: Post-Verification Checklist

  • go.work updated
  • All four platform go.mod files updated (client-programs, installer/operator, node-ca-injector, assets-server)
  • All five Dockerfiles with FROM ...golang: updated, --platform=$BUILDPLATFORM prefix preserved where present
  • CI: no stray hardcoded go-version:/golang:1. literal left (versions come from go-version-file: <module>/go.mod)
  • go mod tidy ran cleanly in all modules
  • CLI builds (make build-cli) and operator builds + tests (make -C installer/operator build test)
  • No remaining references to the old Go version (grep -rn "golang:1\.<old>" --include="Dockerfile*" .)

If go mod tidy changes go.sum, commit that change but confirm with the user first.

© 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

Files

Just SKILL.md in .claude/skills/educates-upgrade-go of educates/educates-training-platform.

Open the folder on GitHubat commit 36abce0

Compare with similar skills

Educates Upgrade Go 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.

Educates Upgrade Go compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Educates Upgrade Go this skilleducates/educates-training-platform161—~1.4kAutomated safety check: NotesApache-2.0
Senior DevOps Toolkitmaslennikov-ig/claude-code-orchestrator-kit2606 repos~1.1kAutomated safety check: NotesCustom licence
Headless Codex CLI AutomationXiaomiMiMo/MiMo-Code14k—~2.7kAutomated safety check: PassMIT
Data Processingaiskillstore/marketplace4301 repos~720Automated safety check: NotesMIT
Deployment and CI/CD Patternsaffaan-m/ECC276k6 repos~2.8kAutomated safety check: PassMIT
CI/CD Pipeline Principlesirahardianto/awesome-agv157—~2.7kAutomated safety check: NotesMIT

Similar skills

  • Senior DevOps Toolkit

    maslennikov-ig/claude-code-orchestrator-kit

    Comprehensive DevOps skill for CI/CD, infrastructure automation, containerization, and cloud platforms (AWS, GCP, Azure). Includes pipeline setup…

    260 GitHub starsUsed in 6 repos~1.1k tokens
    DevOps & CloudAuto-check: notes
  • Headless Codex CLI Automation

    XiaomiMiMo/MiMo-Code

    Runs OpenAI Codex CLI as a non-interactive worker for CI, Docker, Kubernetes or remote servers, with sandbox modes and JSONL-friendly output.

    14k GitHub stars~2.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Data Processing

    aiskillstore/marketplace

    Process JSON with jq and YAML/TOML with yq. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 1 repo~720 tokens
    DevOps & CloudAuto-check: notes
  • Covers rolling, blue-green and canary deployments, multi-stage Dockerfiles, a GitHub Actions pipeline, health checks and production readiness for web apps.

    276k GitHub starsUsed in 6 repos~2.8k tokens
    DevOps & CloudAuto-check passed
  • CI/CD Pipeline Principles

    irahardianto/awesome-agv

    Rules for designing CI/CD pipelines in layers: universal lint, test and scan stages, container builds with SBOM attestation, and GitOps for orchestrated deployments.

    157 GitHub stars~2.7k tokensUpdated 4 days ago
    DevOps & CloudAuto-check: notes
  • Releasing Marchat

    Cod-e-Codes/marchat

    Prepares marchat releases: version bumps, CHANGELOG, packaging checksums, GitHub Actions release workflow, and Docker tags.

    137 GitHub stars~801 tokensUpdated 6 days ago
    DevOps & CloudAuto-check passed

More from educates/educates-training-platform

  • Educates Git Workflow

    educates/educates-training-platform

    Drives the Educates project's Gitflow-based branch and release workflow.

    161 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Educates Release Notes

    educates/educates-training-platform

    Create release notes for an Educates version. An agent skill from educates/educates-training-platform.

    161 GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Educates Upgrade Cluster Services

    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.

    161 GitHub stars~3.2k tokensUpdated today
    Auto-check: notes
  • Educates Upgrade Kubernetes

    educates/educates-training-platform

    Upgrade Kubernetes version support across the educates-training-platform project.

    161 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Educates Upgrade Theme Libraries

    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).

    161 GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Educates Upgrade Vcluster

    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.

    161 GitHub stars~2.7k tokensUpdated today
    Auto-check: notes

Categories

Questions about Educates Upgrade Go

What does Educates Upgrade Go do?

Upgrade the Go version across the entire educates-training-platform project. Educates Upgrade Go is an agent skill from educates/educates-training-platform. Upgrade the Go version across the entire educates-training-platform project.

When should I use Educates Upgrade Go?

Educates Upgrade Go fits situations like: tasks that involve Containers; tasks that involve CI/CD.

How do I install Educates Upgrade Go in Claude Code?

Run `npx skills add educates/educates-training-platform --skill educates-upgrade-go -a claude-code`. Or copy the skill folder (.claude/skills/educates-upgrade-go in educates/educates-training-platform) into .claude/skills/educates-upgrade-go in your project. Claude Code loads it when a task matches its description.

How do I install Educates Upgrade Go in Codex?

Run `npx skills add educates/educates-training-platform --skill educates-upgrade-go -a codex`. Or copy the skill folder (.claude/skills/educates-upgrade-go in educates/educates-training-platform) into .agents/skills/educates-upgrade-go in your project. Codex loads it when a task matches its description.

Can I use Educates Upgrade Go 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 educates/educates-training-platform --skill educates-upgrade-go -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-go, .gemini/skills/educates-upgrade-go, .github/skills/educates-upgrade-go and .opencode/skills/educates-upgrade-go in your project.

What does Educates Upgrade Go need to run?

Going by SKILL.md and its folder, Educates Upgrade Go needs the command-line tools its instructions call (go, make and git). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: Read, Edit, Glob, Bash.

Does Educates Upgrade Go access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Educates Upgrade Go safe to install?

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.

What licence does Educates Upgrade Go use?

Educates Upgrade Go 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 Educates Upgrade Go use?

About 1.4k tokens (SKILL.md is roughly 5.5k 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 Educates Upgrade Go?

Skills that share tags, products or a category with Educates Upgrade Go: Senior DevOps Toolkit (maslennikov-ig/claude-code-orchestrator-kit, 260 stars), Headless Codex CLI Automation (XiaomiMiMo/MiMo-Code, 14k stars), Data Processing (aiskillstore/marketplace, 430 stars) and Deployment and CI/CD Patterns (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Educates Upgrade Go?

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.