richlander/dotnet-release · Archived

update-os-packages

Audit and update os-packages.json files in dotnet/core to ensure Linux distribution package names are correct. Verifies package names against upstream package repositories and fixes mismatches.

First seen Jun 21, 2026

Installation

$ npx skills add richlander/dotnet-release --skill update-os-packages

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
Default branch main
Open issues 2
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,943 B
  • docs SUMMARY.md 219 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Update OS Packages

Audit and update os-packages.json files in the dotnet/core repository. These files declare the Linux distribution packages required to run .NET on each supported distro release.

When to use

  • A new distro version is released (e.g. Ubuntu 26.04, Alpine 3.23) and packages need to be added or verified
  • Package names may have changed upstream (e.g. libicu76 → libicu78)
  • Periodic audit to ensure all listed package names are still correct

Prerequisites

The release-notes tool is installed globally. Run release-notes --help to confirm.

Inputs

The user provides:

  • dotnet/core path — local path to the dotnet/core repo (e.g. ~/git/core)
  • Versions to audit — which .NET versions to check (e.g. "8.0+", "10.0 only"), defaults to all active versions

Process

1. Identify scope

Determine which .NET versions to audit. Active versions are those with os-packages.json files in the release-notes/ directory. Skip versions the user excludes.

For each version, read release-notes/{version}/os-packages.json.

2. Verify package names

Run the release-notes verify os-packages command for each version. The tool checks each package name against upstream distro package feeds and reports mismatches.

3. Cross-reference with supported-os.json

For each version, read release-notes/{version}/supported-os.json and check:

  • Every Linux distro+version in supported-os.json has a matching entry in os-packages.json
  • No distro+version in os-packages.json is absent from supported-os.json (stale entries)

Report gaps to the user. Do not add new distro entries automatically — the user decides whether to add them.

4. Apply fixes

For confirmed mismatches (wrong package names):

  • Update the package name in os-packages.json across all affected .NET versions (the same distro release uses the same packages regardless of .NET version)
  • Use the edit tool to make surgical changes

5. Verify and commit

  1. Validate all modified JSON files parse correctly (use a file-based app to deserialize with Dotnet.Release.Support types)
  2. Show the user a summary of changes
  3. On confirmation, commit with a descriptive message

Key facts

  • Package names like libicu are versioned on Debian/Ubuntu (e.g. libicu76) but not on Fedora/RHEL/SUSE (just libicu)
  • OpenSSL on Debian 13+ and Ubuntu 24.04+ uses the t64 suffix (libssl3t64)
  • Alpine uses different package names entirely (icu-libs, libssl3, krb5)
  • The same distro release always has the same packages regardless of .NET version — fixes should be applied across all os-packages.json files