Borrowing it
Nothing to install: this file belongs to richardwooding/file-search-on. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/richardwooding/file-search-on/main/.claude/skills/gh-actions-node24-migration/SKILL.mdgit clone --depth 1 https://github.com/richardwooding/file-search-onWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/richardwooding/file-search-on/gh-actions-node24-migration)<a href="https://agentmods.dev/skills/richardwooding/file-search-on/gh-actions-node24-migration"><img src="https://agentmods.dev/badge/skills/richardwooding/file-search-on/gh-actions-node24-migration/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/richardwooding/file-search-on/gh-actions-node24-migration"><img src="https://agentmods.dev/badge/skills/richardwooding/file-search-on/gh-actions-node24-migration.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.01475 |
| Opus 5 | $0.00000 | $0.00737 |
| Sonnet 5 | $0.00000 | $0.00295 |
| Haiku 4.5 | $0.00000 | $0.00147 |
Grade A, and why
gh-actions-node24-migration scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
89% identical to gh-actions-node24-migration — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
GitHub Actions Node 24 Migration
GitHub is retiring the Node 20 runtime on Actions runners. The runner default flips from Node 20 to Node 24, then Node 20 is removed entirely. Two audiences must act:
- Workflow authors — bump
uses:references to action versions whose publishedaction.ymldeclares Node 24. - Action authors — change
runs.using: node20tonode24in their action's metadata file.
This skill drives that migration deterministically: a single audit script classifies every action reference in a repo, and an apply script rewrites the safe ones in place.
Quick start
# 1. Audit (read-only). Writes audit.json next to the cwd and prints a markdown table.
python scripts/audit.py <repo-root>
# 2. Review the table. Decide which findings to take.
# 3. Dry-run the rewrite (default — prints unified diffs, writes nothing).
python scripts/apply_fix.py audit.json
# 4. Apply for real once the diffs look right.
python scripts/apply_fix.py audit.json --apply
gh (GitHub CLI) must be installed and authenticated — the audit calls gh api to read each action's action.yml at its pinned ref and to discover the latest Node 24 release.
What gets audited
**/.github/workflows/*.ymland*.yaml— everyuses:line (job steps and reusable workflows).- Top-level
action.yml/action.yamland any nested**/action.yml— theruns.usingfield. - Composite actions — recursed into
runs.steps[].uses.
Actions are classified into one of these states:
| State | Meaning | Auto-fixable |
|---|---|---|
node24 |
Already on Node 24. | — |
node20-fixable |
On Node 20; a Node 24 release exists upstream. | yes |
node20-stuck |
On Node 20; no Node 24 release published yet. | no — flag only |
local-node20 |
Local action.yml declares runs.using: node20. |
yes (rewrite) |
composite |
Composite action — judged by its inner uses: references. |
recursed |
docker |
Docker-based action; not affected by the Node deprecation. | skip |
unresolved |
action.yml not reachable (private, archived, deleted). |
no — flag only |
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 79 lines · 0 tokens per session scan A d682a3683d4d
gh-actions-node24-migration is a skill published in the GitHub repository richardwooding/file-search-on (5 stars, last pushed yesterday), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,475 tokens. A static security scan graded it A with 0 findings. It is 89% identical to gh-actions-node24-migration, differing in 2 lines, and is treated as a copy.
Other skills, from other repositories
gh-infra
Overview of gh-infra and command workflow (import, validate, plan, apply). Use when managing GitHub repository settings, labels, actions settings, rulesets, secrets, variables, or files declaratively via YAML manifests.
ci-cd
CI/CD integration patterns for gh-infra: auto-apply on merge, scheduled drift detection, self-managed vs central-management layouts, and authentication setup for GitHub Actions workflows.
golang-continuous-integration
CI/CD pipeline configuration using GitHub Actions for Golang projects — testing, linting, SAST, security scanning, code coverage, Dependabot, Renovate, GoReleaser, code review automation, and release pipelines. Use when setting up or improving Go project CI, configuring GitHub Actions workflows, adding linters or…
dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications.
atmos-hooks
Atmos hooks: lifecycle events, hook kinds, command/store/git/security hooks, step/steps hooks, when: conditions, scoping and overrides, toolchain integration, --skip-hooks, and Atmos Pro/local output.
atmos-modernization
Atmos Modernization: migrate deprecated or legacy Atmos patterns to current names, Native CI, Atmos Pro drift detection, dependencies.components, nametemplate, and declared secrets.