Agent skill

Educates Upgrade Theme Libraries

by educates in 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).

Apache-2.0Auto-check: notesFrontend & Design

Install Educates Upgrade Theme Libraries

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

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

GitHub CLI
$ gh skill install educates/educates-training-platform educates-upgrade-theme-libraries --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-theme-libraries .claude/skills/educates-upgrade-theme-libraries && 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-theme-libraries
GitHub stars
161
Token cost
~2.6k tokens
SKILL.md length
982 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Upgrade the vendored third-party frontend libraries bundled into the Educates workshop dashboard theme (Bootstrap, Font Awesome, jQuery, Underscore.js, JSONForm, js-yaml).

  • Works in 4 steps: Each updated file is non-empty and… → The downloaded file is the minified… → git diff --stat shows the expected files… → …
  • Frontend & Design work in your project
  • SKILL.md covers Canonical location, Libraries, sources, and target…, Keep aligned with the renderer… and Finding current versions, plus 5 more sections
  • Calls curl, git and npm; reaches github.com and cdn.jsdelivr.net

What it does

Educates Upgrade Theme Libraries is an agent skill from 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). Invoke when asked to "update theme libraries", "upgrade bootstrap/font-awesome/jquery/underscore/jsonform/js-yaml", "bump the dashboard frontend libraries", or "refresh the vendored web assets".

Its SKILL.md is about 2.6k 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 Frontend & Design. It works with 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

  • Frontend & Design work in your project

Example prompts

  • “update theme libraries”
  • “upgrade bootstrap/font-awesome/jquery/underscore/jsonform/js-yaml”
  • “bump the dashboard frontend libraries”
  • “/educates-upgrade-theme-libraries”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Bash, WebFetch, Glob, Edit

Workflow steps

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

  1. Each updated file is non-empty and carries the new version banner
  2. The downloaded file is the minified asset, not HTML (a 404 page). file or a
  3. git diff --stat shows the expected files under $LIB// and,
  4. Full check (optional, heavy): rebuild the base environment image so the theme

What it can do on your machine

Read from SKILL.md and the folder at commit a648c25. 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
    • Bash
    • WebFetch
    • Glob
    • Edit

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • git
    • npm
    • make

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • cdn.jsdelivr.net
    • npmjs.com
    • registry.npmjs.org

    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 Theme Libraries loads about 2.6k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 982 words of instructions outside code blocks.

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

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, Bash, WebFetch, Glob, Edit

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 a648c25, republished under its Apache-2.0 licence (© educates). 982 words, ~2,632 tokens.

Download SKILL.mdSave it as .claude/skills/educates-upgrade-theme-libraries/SKILL.md (or your agent's skills folder).
name
educates-upgrade-theme-libraries
description
Upgrade the vendored third-party frontend libraries bundled into the Educates workshop dashboard theme (Bootstrap, Font Awesome, jQuery, Underscore.js, JSONForm, js-yaml). Invoke when asked to "update theme libraries", "upgrade bootstrap/font-awesome/jquery/underscore/jsonform/js-yaml", "bump the dashboard frontend libraries", or "refresh the vendored web assets".
allowed-tools
Read, Bash, WebFetch, Glob, Edit
argument-hint
[<library-name>] (omit to check/update all six)

Educates Workshop Theme Libraries Upgrade Protocol

Refresh the third-party browser libraries vendored into the workshop dashboard theme. These assets are committed directly into the repository and have no build-time fetcher — this skill is how they are updated: it re-downloads a library from its upstream source and writes the files back into the tree.

If $ARGUMENTS names a specific library (e.g. bootstrap, jquery), update only that one. With no argument, check all six for newer upstream versions and report what's available before changing anything.

Canonical location

All libraries live under one directory (the educates dashboard theme's static assets):

workshop-images/base-environment/opt/eduk8s/etc/themes/educates/static/static/libraries/

Call this $LIB below. The target filenames are version-agnostic (no version in the path), so an upgrade overwrites the existing files in place — no renaming or git rm of old files is needed (except Font Awesome / Bootstrap if upstream ever changes which files ship).

Libraries, sources, and target files

Two shapes: zip subset (download a release zip, extract a few files, stripping the zip's top-level folder) and single file (download one JS file directly). Versions shown are the current committed ones — confirm against the tree before bumping (see "Finding current versions").

LibraryShapeUpstream source (version in URL)Files written under $LIB
bootstrapzip subsethttps://github.com/twbs/bootstrap/releases/download/v<VER>/bootstrap-<VER>-dist.zipbootstrap/css/bootstrap.min.css, bootstrap/js/bootstrap.bundle.min.js
font-awesomezip subsethttps://github.com/FortAwesome/Font-Awesome/releases/download/<VER>/fontawesome-free-<VER>-web.zipfont-awesome/css/all.min.css + font-awesome/webfonts/{fa-brands-400,fa-regular-400,fa-solid-900,fa-v4compatibility}.{woff2,ttf} (8 webfonts)
jquerysingle filehttps://cdn.jsdelivr.net/npm/jquery@<VER>/dist/jquery.min.jsjquery/jquery.min.js
underscoresingle filehttps://cdn.jsdelivr.net/npm/underscore@<VER>/underscore-umd-min.jsunderscore/underscore-umd-min.js
jsonformsingle filehttps://cdn.jsdelivr.net/npm/jsonform@<VER>/lib/jsonform.min.jsjsonform/jsonform.min.js
js-yamlsingle filehttps://cdn.jsdelivr.net/npm/js-yaml@<VER>/dist/js-yaml.min.jsjs-yaml/js-yaml.min.js

For the two zip-subset libraries, only the files listed above are kept; the rest of the release archive is discarded.

Keep aligned with the renderer and gateway apps

These same libraries are also npm dependencies of the two bundled apps in the base environment — workshop-images/base-environment/opt/renderer and .../opt/gateway — which compile them into their own JavaScript via esbuild. The vendored theme copy and the npm-bundled copy must stay on the same version, or the dashboard's static assets drift from what the apps ship.

Whenever you change a vendored library version here, update the matching npm dependency in each app's package.json that declares it, and vice versa:

Theme librarynpm packagerenderer/package.jsongateway/package.json
bootstrapbootstrapyesyes
font-awesome@fortawesome/fontawesome-freeyesyes
jqueryjqueryyesyes
js-yamljs-yamlyesyes
underscoreunderscoreyes—
jsonformjsonformyes—

The package.json versions are caret ranges (e.g. "bootstrap": "^5.3.2"). Set the range to the version you vendored (^<VER>), then refresh the lockfile and rebuild so the bundle matches:

bash
cd workshop-images/base-environment/opt/<app>   # renderer and/or gateway
npm install        # updates package-lock.json to the new version

The app bundle is produced by scripts/compile.sh (tsc + esbuild); it runs during the base-environment image build, so a make image-base-environment (or running compile.sh in the app dir) is what proves the new version compiles and bundles cleanly.

Finding current versions

The committed minified files carry a version banner in their first line(s):

bash
LIB=workshop-images/base-environment/opt/eduk8s/etc/themes/educates/static/static/libraries
head -c 200 "$LIB/bootstrap/css/bootstrap.min.css"      # "Bootstrap v5.3.8"
head -c 120 "$LIB/jquery/jquery.min.js"                  # "jQuery v3.7.1"
head -c 200 "$LIB/font-awesome/css/all.min.css"          # "Font Awesome Free 6.5.1"
head -c 200 "$LIB/underscore/underscore-umd-min.js"      # underscore version
head -c 200 "$LIB/js-yaml/js-yaml.min.js"
head -c 200 "$LIB/jsonform/jsonform.min.js"

Finding the latest upstream version

  • bootstrap: latest release at https://github.com/twbs/bootstrap/releases (use the latest stable v5.x, not a beta/alpha).
  • font-awesome: latest "Free for Web" release at https://github.com/FortAwesome/Font-Awesome/releases (the asset named fontawesome-free-<ver>-web.zip).
  • jquery / underscore / jsonform / js-yaml: the npm version. Check https://www.npmjs.com/package/<name> (or https://registry.npmjs.org/<name>/latest). jsDelivr serves any published npm version at the URL pattern above.

Use WebFetch to read the releases/npm page and pick the latest stable version. For major-version bumps, read the changelog for breaking changes and flag them to the user before proceeding.

Update process

Set up the path and a scratch dir:

bash
LIB=workshop-images/base-environment/opt/eduk8s/etc/themes/educates/static/static/libraries
TMP=$(mktemp -d)
Single-file libraries (jquery, underscore, jsonform, js-yaml)

Just overwrite the file from the versioned jsDelivr URL. Example (jquery → <VER>):

bash
curl -fsSL "https://cdn.jsdelivr.net/npm/jquery@<VER>/dist/jquery.min.js" -o "$LIB/jquery/jquery.min.js"

Use the matching URL + target from the table for underscore, jsonform, js-yaml. Always use curl -f so a 404 (bad version/path) fails loudly instead of writing an error page into the asset.

Show full SKILL.md (403 more words)Show less
Zip-subset libraries (bootstrap, font-awesome)

Download the release zip, then copy only the listed files, stripping the zip's top-level folder. Bootstrap example (<VER> e.g. 5.3.8):

bash
curl -fsSL "https://github.com/twbs/bootstrap/releases/download/v<VER>/bootstrap-<VER>-dist.zip" -o "$TMP/bootstrap.zip"
unzip -q "$TMP/bootstrap.zip" -d "$TMP/bootstrap"
ROOT="$TMP/bootstrap/bootstrap-<VER>-dist"
cp "$ROOT/css/bootstrap.min.css" "$LIB/bootstrap/css/bootstrap.min.css"
cp "$ROOT/js/bootstrap.bundle.min.js" "$LIB/bootstrap/js/bootstrap.bundle.min.js"

Font Awesome example (<VER> e.g. 6.5.1):

bash
curl -fsSL "https://github.com/FortAwesome/Font-Awesome/releases/download/<VER>/fontawesome-free-<VER>-web.zip" -o "$TMP/fa.zip"
unzip -q "$TMP/fa.zip" -d "$TMP/fa"
ROOT="$TMP/fa/fontawesome-free-<VER>-web"
cp "$ROOT/css/all.min.css" "$LIB/font-awesome/css/all.min.css"
for f in fa-brands-400 fa-regular-400 fa-solid-900 fa-v4compatibility; do
  cp "$ROOT/webfonts/$f.woff2" "$LIB/font-awesome/webfonts/$f.woff2"
  cp "$ROOT/webfonts/$f.ttf"   "$LIB/font-awesome/webfonts/$f.ttf"
done

Before copying, ls "$ROOT/css" "$ROOT/webfonts" to confirm upstream still ships these exact filenames; Font Awesome occasionally changes its webfont set across major versions. If the set changed, update the table and the file list, and git rm any file no longer shipped so stale assets don't linger.

Clean up: rm -rf "$TMP".

Verification

  1. Each updated file is non-empty and carries the new version banner:
    bash
    head -c 200 "$LIB/<library>/<file>"
    Confirm the version string matches what you intended (catches a silently downloaded error page or a wrong path).
  2. The downloaded file is the minified asset, not HTML (a 404 page). file or a quick head should show JS/CSS/font content, not <!DOCTYPE html>.
  3. git diff --stat shows the expected files under $LIB/<library>/ and, when the version changed, the matching package.json (+ package-lock.json) in renderer/gateway — see "Keep aligned with the renderer and gateway apps". A theme-only change with no package.json update is usually a drift bug.
  4. Full check (optional, heavy): rebuild the base environment image so the theme bundles the new assets:
    bash
    make image-base-environment
    then load a workshop and confirm the dashboard renders (no missing-asset 404s in the browser console).

Notes and gotchas

  • These files are committed to git, so the update IS the change — there's no separate sync step or lock file to regenerate.
  • The libraries are not checksum-pinned; integrity rests on HTTPS plus the version-banner and not-HTML checks in Verification above.
  • Keep the target filenames exactly as listed — the theme's HTML/templates reference them by these stable names (e.g. jquery.min.js, bootstrap.bundle.min.js, underscore-umd-min.js).
  • This skill only covers these six dashboard frontend libraries; it does not touch base-image CLI tools (helm, yq, hugo, …) or any other software.

Post-upgrade checklist

  • Requested library/libraries downloaded from the correct versioned URL
  • Files written to the exact target paths with stable filenames
  • Version banner in each file matches the intended version
  • No error-page HTML written into an asset (curl -f used)
  • Font Awesome / Bootstrap: upstream file set unchanged, or table + stale files updated
  • Matching npm dependency aligned to the same version in renderer/package.json and gateway/package.json (where present), with npm install run to update each lockfile
  • git diff --stat limited to the intended library directories plus the aligned package.json/package-lock.json files
  • Major-version bumps: changelog reviewed for breaking changes and flagged

© 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-theme-libraries of educates/educates-training-platform.

Open the folder on GitHubat commit a648c25

Compare with similar skills

Educates Upgrade Theme Libraries 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 Theme Libraries compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Educates Upgrade Theme Libraries this skilleducates/educates-training-platform161—~2.6kAutomated safety check: NotesApache-2.0
Improve Frontendluxury-yacht/app442—~1.3kAutomated safety check: PassGPL-3.0
FrontendIntegration YAML Generatorkubesphere/kubesphere17k—~570Automated safety check: PassCustom licence
K8s Security PoliciesCybereason-Public/owLSM28011 repos~2kAutomated safety check: PassGPL-2.0
Kubeshark Installerkubeshark/kubeshark12k—~3.6kAutomated safety check: NotesApache-2.0
KubeSphere Multi-Tenant Managementkubesphere/kubesphere17k—~3.1kAutomated safety check: PassCustom licence

Similar skills

  • Improve Frontend

    luxury-yacht/app

    A skill your agent uses when wanting to systematically improve the React/TypeScript frontend - scans for security vulnerabilities, stability risks, performance issues, and code simplification…

    442 GitHub stars~1.3k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Generates canonical FrontendIntegration YAML for frontend-forge from a simplified single-menu model, using a bundled generator script instead of hand-written YAML.

    17k GitHub stars~570 tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • K8s Security Policies

    Cybereason-Public/owLSM

    Comprehensive guide for implementing NetworkPolicy, PodSecurityPolicy, RBAC, and Pod Security Standards in Kubernetes.

    280 GitHub starsUsed in 11 repos~2k tokens
    Backend & APIsAuto-check passed
  • Kubeshark Installer

    kubeshark/kubeshark

    Installs and configures Kubeshark on a Kubernetes cluster, choosing between the quick CLI path and a Helm install with custom values.

    12k GitHub stars~3.6k tokensUpdated 7 days ago
    DevOps & CloudAuto-check: notes
  • Creates and queries KubeSphere users, workspaces and projects and assigns built-in roles, defaulting to least privilege and never deleting anything.

    17k GitHub stars~3.1k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check passed
  • Sim Helm

    simstudioai/sim

    Install, upgrade, and operate the Sim Helm chart on Kubernetes.

    30k GitHub stars~2.2k tokensUpdated today
    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 4 days ago
    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 4 days ago
    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 4 days ago
    Auto-check: notes
  • Educates Upgrade Go

    educates/educates-training-platform

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

    161 GitHub stars~1.4k tokensUpdated 4 days ago
    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 4 days ago
    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 4 days ago
    Auto-check: notes

Works with

Questions about Educates Upgrade Theme Libraries

What does Educates Upgrade Theme Libraries do?

Upgrade the vendored third-party frontend libraries bundled into the Educates workshop dashboard theme (Bootstrap, Font Awesome, jQuery, Underscore.js, JSONForm, js-yaml). Educates Upgrade Theme Libraries is an agent skill from educates/educates-training-platform.js, JSONForm, js-yaml).

When should I use Educates Upgrade Theme Libraries?

Educates Upgrade Theme Libraries fits situations like: frontend & Design work in your project.

How do I install Educates Upgrade Theme Libraries in Claude Code?

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

How do I install Educates Upgrade Theme Libraries in Codex?

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

Can I use Educates Upgrade Theme Libraries 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-theme-libraries -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-theme-libraries, .gemini/skills/educates-upgrade-theme-libraries, .github/skills/educates-upgrade-theme-libraries and .opencode/skills/educates-upgrade-theme-libraries in your project.

What does Educates Upgrade Theme Libraries need to run?

Going by SKILL.md and its folder, Educates Upgrade Theme Libraries needs the command-line tools its instructions call (curl, git, npm and make). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash, WebFetch, Glob, Edit.

Does Educates Upgrade Theme Libraries access the network?

SKILL.md names 4 domains. In commands or code: github.com, cdn.jsdelivr.net, npmjs.com and registry.npmjs.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Educates Upgrade Theme Libraries 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 Theme Libraries use?

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

About 2.6k tokens (SKILL.md is roughly 11k 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 Theme Libraries?

Skills that share tags, products or a category with Educates Upgrade Theme Libraries: Improve Frontend (luxury-yacht/app, 442 stars), FrontendIntegration YAML Generator (kubesphere/kubesphere, 17k stars), K8s Security Policies (Cybereason-Public/owLSM, 280 stars) and Kubeshark Installer (kubeshark/kubeshark, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Educates Upgrade Theme Libraries?

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 3, 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.