Agent skill

Upgrade Runtime Stack

by PackmindHub in PackmindHub/packmind

Check whether newer stable versions of Node.js (24.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root.

Apache-2.0Auto-check passedDevOps & Cloud

Install Upgrade Runtime Stack

skills CLI
$ npx skills add PackmindHub/packmind --skill upgrade-runtime-stack -a claude-code

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

GitHub CLI
$ gh skill install PackmindHub/packmind upgrade-runtime-stack --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/PackmindHub/packmind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/upgrade-runtime-stack .claude/skills/upgrade-runtime-stack && 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
upgrade-runtime-stack
GitHub stars
317
Token cost
~2.2k tokens
SKILL.md length
1,096 words
Files
5 (incl. references)
Skills in repo
35
Repo updated
First seen
Licence
Apache-2.0

At a glance

Check whether newer stable versions of Node.js (24.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root.

  • Works in 7 steps: Read current versions from the repo → Fetch latest stable versions → Compute delta and decide → …
  • The user asks to check for runtime upgrades
  • SKILL.md covers Why this skill exists, Execution mode, Inputs and Workflow, plus 2 more sections
  • Calls rg and node; reaches raw.githubusercontent.com and nx.dev

What it does

Upgrade Runtime Stack is an agent skill from PackmindHub/packmind. Check whether newer stable versions of Node.js (24.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root. Use this skill whenever the user asks to "check for runtime upgrades", "upgrade Node/NX/Vite", "is our Node version current", "plan a Node 24 upgrade", "refresh our runtime stack", "monthly stack check", or anything along those lines — even if they don't name a specific tool. Also use it when the user wants a recurring/cadence check of build-toolchain…

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/fetch-versions.md`, `references/file-map.md` and `references/plan-template.md`).

It sits in DevOps & Cloud, covering Containers, Dependency management and CI/CD. It works with Vite, Node.js and npm. The repository describes itself as: Packmind seamlessly captures your engineering playbook and turns it into AI context, guardrails, and governance. The licence is Apache-2.0.

When your agent uses it

  • The user asks to check for runtime upgrades
  • Upgrade Node/NX/Vite
  • Is our Node version current
  • Plan a Node 24 upgrade

Example prompts

  • “check for runtime upgrades”
  • “upgrade Node/NX/Vite”
  • “is our Node version current”
  • “/upgrade-runtime-stack”

Requirements

  • Node.js
  • Docker

Workflow steps

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

  1. Read current versions from the repo
  2. Fetch latest stable versions
  3. Compute delta and decide
  4. Resolve Docker image dependencies
  5. Map files to modify
  6. Validation harness
  7. Write upgrade-plan.md

What it can do on your machine

Read from SKILL.md and the folder at commit 8a10541. 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:

    • rg
    • node

    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:

    • raw.githubusercontent.com
    • nx.dev

    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

Upgrade Runtime Stack loads about 2.2k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 180 tokens; SKILL.md has 1,096 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~180
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.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 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 PackmindHub/packmind at commit 8a10541, republished under its Apache-2.0 licence (© PackmindHub). 1,096 words, ~2,218 tokens.

Download SKILL.mdSave it as .claude/skills/upgrade-runtime-stack/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
upgrade-runtime-stack
description
Check whether newer stable versions of Node.js (24.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root. Use this skill whenever the user asks to "check for runtime upgrades", "upgrade Node/NX/Vite", "is our Node version current", "plan a Node 24 upgrade", "refresh our runtime stack", "monthly stack check", or anything along those lines — even if they don't name a specific tool. Also use it when the user wants a recurring/cadence check of build-toolchain currency. Output is a plan only — does NOT mutate package.json, Dockerfiles, lockfiles, or any other repo file. CI/CD wrappers can invoke this skill to keep the runtime stack fresh.

Upgrade Runtime Stack

Goal: detect available stable upgrades of Node.js (24.x line only), Nx, and Vite, then emit an actionable, ready-to-execute upgrade plan as a markdown file at the repo root. Stop at the plan — never edit application files.

Why this skill exists

Manual runtime upgrades drift months between attempts and produce avoidable risk. This skill captures the canonical file map (mined from the prior Node 22 → 24 migration on emdash/migration-node24-cc0s9) so each upgrade run reuses the same checklist instead of rediscovering it. The plan is the deliverable. A human or a CI bot decides whether to act on it.

Execution mode

This skill must run fully non-interactive. It is invoked from CI/CD in headless mode where no human can answer prompts.

  • Never call AskUserQuestion or any other clarification tool.
  • Never ask the user to confirm a choice. The skill makes deterministic decisions from the inputs (baked URLs + repo state) and produces the plan.
  • Never wait on long-running interactive commands. Read-only file inspection, WebFetch, and rg scans are the only actions needed.
  • All output goes to a single deterministic artifact: upgrade-plan.md at the repo root. The terminal print at the end (Phase 7) is informational only — CI can ignore stdout.

If any input is missing or ambiguous, the skill records the gap inside the plan (e.g. "Vite changelog unreachable this run") and continues. It never blocks on input.

Inputs

The skill takes no arguments. Version sources are baked in:

ToolSource URLWhat to extract
Node.js 24.xhttps://raw.githubusercontent.com/nodejs/node/refs/heads/main/doc/changelogs/CHANGELOG_V24.mdLatest stable 24.x release
Nxhttps://nx.dev/changelogLatest stable Nx major.minor.patch
Vitehttps://raw.githubusercontent.com/vitejs/vite/refs/heads/main/packages/vite/CHANGELOG.mdLatest stable Vite release

See references/fetch-versions.md for the exact parsing rules per source.

Workflow

Execute phases in order. Each phase has a single clear deliverable. Do not skip steps; the value of this skill comes from the consistency of the output.

Phase 1 — Read current versions from the repo

Read these exact locations and record what is currently pinned:

  • .nvmrc → exact Node version (e.g. 24.15.0)
  • package.json (root) → engines.node, engines.npm, devDependencies.nx, devDependencies["@nx/*"], devDependencies.vite
  • apps/api/docker-package.json → engines.node, engines.npm
  • dockerfile/Dockerfile.api → FROM node:<version>-alpine<alpine-version>@sha256:<digest>
  • docker-compose.yml and docker-compose.production.yml → every image: node:<version>-alpine<alpine-version> occurrence
  • .github/workflows/*.yml → default node-version inputs

Record in a single in-memory table; this becomes the "Current versions" section of the plan.

Phase 2 — Fetch latest stable versions

Use WebFetch against each source URL listed in Inputs. Follow the per-source parsing rules in references/fetch-versions.md.

Filtering rules (apply to every source):

  • Skip anything tagged next, beta, alpha, rc, canary, preview, dev, or pre.
  • Node.js: only consider v24.x.y entries. Ignore 22.x, 26.x, etc. — even if newer.
  • Nx: take the highest X.Y.Z published as a stable release.
  • Vite: take the highest X.Y.Z published as a stable release.

For each tool, also extract the published date if visible and a short summary of headline changes / breaking changes from the changelog body covering the range (current version, latest]. This summary feeds the risk section of the plan.

Phase 3 — Compute delta and decide

For each tool, compare current vs. latest stable:

  • latest == current → no upgrade needed for that tool. Record as "up to date".
  • latest > current → upgrade candidate. Classify the bump as patch, minor, or major using semver rules. Note any breaking-change headlines from Phase 2.
  • latest < current → unusual. Record but do not recommend a downgrade.

If all three tools are up to date, still produce upgrade-plan.md but with a single "No upgrades available" section plus the timestamp. This keeps the CI integration deterministic.

Phase 4 — Resolve Docker image dependencies

When Node is being upgraded, the Docker image pin (node:<version>-alpine<X>@sha256:<digest>) must change in lockstep. The plan must include:

  1. The exact new tag string to use (node:<new-version>-alpine<X>).
  2. The current Alpine major (read from existing Dockerfiles) — keep it unless a Node breaking change requires a different base.
  3. An explicit instruction line: "Look up the sha256 digest for node:<new-version>-alpine<X> on Docker Hub before pinning." Do not fabricate a digest.

If Node is not being upgraded, the Docker section of the plan only lists which files would change in a future Node bump, for reference.

Show full SKILL.md (435 more words)Show less
Phase 5 — Map files to modify

Use references/file-map.md as the authoritative list of files that any Node / Nx / Vite upgrade must touch in this repo. The map is grouped per tool. Include in the plan only the file groups whose tool has a pending upgrade.

After listing the bake-in files, run a quick scan to surface drift — files that match the relevant version pattern but are not yet in the map:

  • Node version drift: rg -n "node:[0-9]+\.[0-9]+\.[0-9]+|node-version: ['\"]?[0-9]+" --hidden -g '!node_modules' -g '!dist'
  • Nx version drift: rg -n '"nx": "[0-9]+\.[0-9]+\.[0-9]+"|"@nx/[a-z-]+": "[0-9]+\.[0-9]+\.[0-9]+"' --hidden -g '!node_modules' -g '!dist'
  • Vite version drift: rg -n '"vite": "(\^|~)?[0-9]+\.[0-9]+\.[0-9]+"' --hidden -g '!node_modules' -g '!dist'

Add any hits that are not already covered to a "Drift detected" subsection of the plan so a human can decide whether to extend the file map.

Phase 6 — Validation harness

Copy the validation steps from references/validation.md into the plan. The harness is the contract for "this upgrade did not break the repo" and must be runnable end-to-end after applying the plan.

Phase 7 — Write upgrade-plan.md

Use the exact structure defined in references/plan-template.md. Write to the repo root as upgrade-plan.md. Overwrite any existing file at that path — the plan is always the latest snapshot.

The first line of the plan must be a machine-readable status comment so CI can branch on it without parsing the body:

<!-- upgrade-status: available | none | partial-fetch-failure -->
  • available — at least one tool has a stable upgrade.
  • none — all three tools up to date.
  • partial-fetch-failure — one or more source URLs could not be fetched this run.

After writing, print to stdout (informational only — CI may discard):

  • One-line summary per tool (e.g. Node 24.15.0 → 24.17.0 (patch)).
  • The absolute path of the generated upgrade-plan.md.
  • Whether any drift was detected (so the file map may need updating).

Do not apply edits. Stop here.

Hard rules

  • Never edit package.json, package-lock.json, .nvmrc, Dockerfiles, docker-compose files, CI workflows, or any other source file. The skill produces a plan only.
  • Never invent version numbers, dates, or sha256 digests. If a source URL cannot be fetched, mark the tool as "unknown — fetch failed" in the plan and continue with the other tools.
  • Never recommend Node majors other than 24. The team is on the 24.x line and a major bump is a separate, deliberate project.
  • Never include rc, beta, alpha, canary, next, preview, dev, or pre versions in the recommendation, even if newer than current.

Reference files

  • references/fetch-versions.md — per-source parsing rules for the three changelog URLs.
  • references/file-map.md — canonical list of files an upgrade of each tool touches in this repo.
  • references/plan-template.md — exact markdown layout of upgrade-plan.md.
  • references/validation.md — lint / test / build commands that act as the safety harness.

© PackmindHub, 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

SKILL.md and 4 other files (references) in .agents/skills/upgrade-runtime-stack of PackmindHub/packmind.

  • SKILL.md
  • references/fetch-versions.md
  • references/file-map.md
  • references/plan-template.md
  • references/validation.md

Open the folder on GitHubat commit 8a10541

Compare with similar skills

Upgrade Runtime Stack 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.

Upgrade Runtime Stack compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Upgrade Runtime Stack this skillPackmindHub/packmind317—~2.2kAutomated safety check: PassApache-2.0
Check Deps SyncHyk260/PureChat546—~594Automated safety check: PassMIT
Flowfile Build and Environment SetupEdwardvaneechoud/Flowfile373—~7.3kAutomated safety check: NotesMIT
Reflexo ReleaseMyriad-Dreamin/typst.ts1.2k—~1.5kAutomated safety check: PassApache-2.0
GitHub Actions CreatorFNOSP/FlyNarwhal4951 repos~2.4kAutomated safety check: PassAGPL-3.0
CI Pipeline Synthesizerkajisho5/ffmpeg-skill1.9k1 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Check Deps Sync

    Hyk260/PureChat

    Check if package.json files are in sync with pnpm-lock.yaml.

    546 GitHub stars~594 tokensUpdated 21 days ago
    DevOps & CloudAuto-check passed
  • Flowfile Build and Environment Setup

    Edwardvaneechoud/Flowfile

    Recreates every Flowfile development and build environment from scratch, with exact version pins and an explanation of what each Makefile target really does.

    373 GitHub stars~7.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Reflexo Release

    Myriad-Dreamin/typst.ts

    Guide Reflexo/typst.ts release preparation and operator handoffs.

    1.2k GitHub stars~1.5k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • GitHub Actions Creator

    FNOSP/FlyNarwhal

    A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.

    495 GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • CI Pipeline Synthesizer

    kajisho5/ffmpeg-skill

    Generate GitHub Actions CI/CD pipeline configurations for automated building and testing of library and package projects.

    1.9k GitHub starsUsed in 1 repo~1.1k tokens
    DevOps & CloudAuto-check passed
  • A skill your agent uses when editing, adding, or reviewing any file under .github/workflows/, or when a CI step installs a CLI tool (npm i -g, npx, pipx, uses: /setup-).

    1.1k GitHub stars~1.9k tokensUpdated 3 days ago
    DevOps & CloudAuto-check passed

More from PackmindHub/packmind

All 35 skills in this repo
  • Michel CLI Demo Recorder

    PackmindHub/packmind

    Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.

    317 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Michel UI Demo Recorder

    PackmindHub/packmind

    Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.

    317 GitHub stars~6.4k tokensUpdated today
    Auto-check passed
  • Packmind Create Skill

    PackmindHub/packmind

    Guide for creating effective skills. An agent skill from PackmindHub/packmind.

    317 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Doc Audit

    PackmindHub/packmind

    Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.

    317 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Feature Sprint

    PackmindHub/packmind

    Execute the implementation plan produced by /feature-spec. An agent skill from PackmindHub/packmind.

    317 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Review an implemented GitHub issue the way a senior Packmind engineer would — the human-judgment checks that ESLint, the TypeScript compiler, and e2e tests cannot catch (authorization scoping…

    317 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Upgrade Runtime Stack

What does Upgrade Runtime Stack do?

Check whether newer stable versions of Node.js (24.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root. Upgrade Runtime Stack is an agent skill from PackmindHub/packmind.x line), Nx, or Vite are available and, if so, generate a detailed upgrade plan markdown file at the repo root.

When should I use Upgrade Runtime Stack?

Upgrade Runtime Stack fits situations like: the user asks to check for runtime upgrades; upgrade Node/NX/Vite; is our Node version current; plan a Node 24 upgrade.

How do I install Upgrade Runtime Stack in Claude Code?

Run `npx skills add PackmindHub/packmind --skill upgrade-runtime-stack -a claude-code`. Or copy the skill folder (.agents/skills/upgrade-runtime-stack in PackmindHub/packmind) into .claude/skills/upgrade-runtime-stack in your project. Claude Code loads it when a task matches its description.

How do I install Upgrade Runtime Stack in Codex?

Run `npx skills add PackmindHub/packmind --skill upgrade-runtime-stack -a codex`. Or copy the skill folder (.agents/skills/upgrade-runtime-stack in PackmindHub/packmind) into .agents/skills/upgrade-runtime-stack in your project. Codex loads it when a task matches its description.

Can I use Upgrade Runtime Stack 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 PackmindHub/packmind --skill upgrade-runtime-stack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/upgrade-runtime-stack, .gemini/skills/upgrade-runtime-stack, .github/skills/upgrade-runtime-stack and .opencode/skills/upgrade-runtime-stack in your project.

What does Upgrade Runtime Stack need to run?

Going by SKILL.md and its folder, Upgrade Runtime Stack needs the command-line tools its instructions call (rg and node). Our summary lists: Node.js; Docker.

Does Upgrade Runtime Stack access the network?

SKILL.md names 2 domains. In commands or code: raw.githubusercontent.com and nx.dev; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Upgrade Runtime Stack 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 Upgrade Runtime Stack use?

Upgrade Runtime Stack 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 Upgrade Runtime Stack use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.

What are the alternatives to Upgrade Runtime Stack?

Skills that share tags, products or a category with Upgrade Runtime Stack: Check Deps Sync (Hyk260/PureChat, 546 stars), Flowfile Build and Environment Setup (Edwardvaneechoud/Flowfile, 373 stars), Reflexo Release (Myriad-Dreamin/typst.ts, 1.2k stars) and GitHub Actions Creator (FNOSP/FlyNarwhal, 495 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Upgrade Runtime Stack?

PackmindHub (a GitHub organization) maintains it in PackmindHub/packmind, which has 317 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.

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