agentsclimarketplace

Asdf runtime version updater

Skill tylercannon/agent-skills/skills/asdf-runtime-version-updater

Agent skills

Install
npx -y skills add tylercannon/agent-skills --skill asdf-runtime-version-updater

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Update language runtime versions in .tool-versions files (asdf) and propagate changes to Dockerfiles, GitHub Actions workflows, and other version-referencing files. Use when: (1) updating a project's language runtime version(s), (2) synchronizing versions across .tool-versions, Dockerfiles, and CI/CD configs, or (3) migrating to a new runtime version.

SKILL.md

4.5 KB, as published. Nobody here has run it

ASDF Runtime Version Updater

Update language runtime versions consistently across your project.

Workflow

  1. Parse current versions - Read .tool-versions to get current runtime versions
  2. Find latest version - Run asdf latest <runtime> to get the latest available version
  3. Update .tool-versions - Update the version in .tool-versions
  4. Install new version - Run asdf install to install the runtime
  5. Find version references - Search for files referencing the old version
  6. Update all references - Update versions consistently across all files
  7. Verify project - Install deps, build, format check, and run tests

Version Lookup

# Get latest version for a runtime
asdf latest nodejs      # e.g., 22.13.1
asdf latest python      # e.g., 3.13.2
asdf latest ruby        # e.g., 3.4.2
asdf latest elixir      # e.g., 1.19.5-otp-28
asdf latest erlang      # e.g., 28.3.1

File Patterns

.tool-versions Format

nodejs 22.13.1
python 3.13.2
ruby 3.4.2
elixir 1.19.5-otp-28
erlang 28.3.1

Dockerfile Patterns

# Node.js
FROM node:22.13.1-alpine
FROM node:22-alpine

# Python
FROM python:3.13.2-slim
FROM python:3.13-slim

# Ruby
FROM ruby:3.4.2-alpine

# Elixir (often uses erlang base)
FROM elixir:1.19.5-otp-28
FROM hexpm/elixir:1.19.5-erlang-28.3.1-alpine-3.21.0

Dockerfile ARG Patterns

Some Dockerfiles use ARG for version configuration:

ARG ELIXIR_VERSION=1.19.5
ARG OTP_VERSION=28.3.1
ARG DEBIAN_VERSION=trixie-20260112-slim

ARG BUILDER_IMAGE="docker.io/hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"

Search for these patterns:

grep -E "^ARG\s+(ELIXIR|OTP|ERLANG|NODE|PYTHON|RUBY)_VERSION=" Dockerfile*

GitHub Workflows (.github/workflows/*.yml)

# Node.js
- uses: actions/setup-node@v4
  with:
    node-version: '22.13.1'
    node-version-file: '.tool-versions'

# Python
- uses: actions/setup-python@v5
  with:
    python-version: '3.13.2'

# Ruby
- uses: ruby/setup-ruby@v1
  with:
    ruby-version: '3.4.2'

# Elixir
- uses: erlef/setup-beam@v1
  with:
    elixir-version: '1.19.5'
    otp-version: '28.0'

GitHub Workflow Job Containers

Jobs can also specify container images directly:

jobs:
  test:
    runs-on: ubuntu-latest
    container:
      image: hexpm/elixir:1.19.5-erlang-28.3.1-alpine-3.23.3
    
  build:
    runs-on: ubuntu-latest
    container: node:22.13.1-alpine

Search for these patterns:

grep -rE "^\s*(image:|container:)" .github/workflows/

Other Version Files

RuntimeFiles
Node.js.nvmrc, .node-version, package.json (engines, @types/node)
Python.python-version, pyproject.toml, setup.py
Ruby.ruby-version, Gemfile

Search Patterns

Use these patterns to find version references:

# Find version references in project
grep -r "22.13.1" .             # Specific version
grep -rE "node[:-]?22" .         # Node.js major version patterns
grep -rE "python[:-]?3\.13" .    # Python minor version patterns

Example Update

Before (.tool-versions):

elixir 1.18.0-otp-27
erlang 27.2.4

Steps:

# Check latest versions
asdf latest elixir  # 1.19.5-otp-28
asdf latest erlang  # 28.3.1

# Update .tool-versions, then:
asdf install

After (.tool-versions):

elixir 1.19.5-otp-28
erlang 28.3.1

Then update all other files (Dockerfile, GitHub workflows, etc.) to match.

Verification

After updating versions, verify the project still works:

Elixir/Phoenix

mix deps.clean --all
mix deps.get
mix compile --warnings-as-errors
mix format --check-formatted
mix test

Node.js

npm install
npm run build
npm run lint
npm test

Python

pip install -e ".[dev]"
python -m build
ruff check .
pytest

Ruby

bundle install
bundle exec rake build
bundle exec rubocop
bundle exec rspec

Go

go mod download
go build ./...
go fmt ./...
go test ./...

Resources

For detailed patterns per runtime, see runtime-patterns.md.

Gives 0 of the 12 instructions most ci cd skills give

Counted across 392 of the 394 authors here whose files we hold, read 2026-08-06

  • pin third-party actions to full commit SHAsin 33 of 392
  • cache dependencies appropriatelyin 24 of 392, across 12 files
  • optimize pipelines exceeding ten minutesin 20 of 392, across 6 files
  • enforce all quality gates before mergein 20 of 392, across 7 files
  • Configure branch protection rulesin 19 of 392, across 5 files
  • use environments for deployment trackingin 19 of 392, across 7 files
  • implement manual gates for productionin 19 of 392, across 7 files
  • implement security scanningin 18 of 392, across 5 files
  • fix failing code instead of disabling checksin 18 of 392, across 4 files
  • use CI/CD variables for secretsin 18 of 392, across 6 files
  • move checks upstream in the pipelinein 17 of 392, across 3 files
  • use specific image tagsin 17 of 392, across 5 files

Said here and by no other author read

  • read .tool-versions to get current runtime versions
  • run asdf latest to find latest version
  • update the version in .tool-versions
  • run asdf install to install the runtime
  • search for files referencing the old version
  • update versions consistently across all files

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.