Home / stbenjam / skillsaw · tests/fixtures/content/banned-references-migration/.claude/skills/model-upgrade/SKILL.md · GitHub

model-upgrade skillA

model-upgrade is agent-read markdown (skill) from stbenjam/skillsaw: Move a service off retired Anthropic and OpenAI model ids onto their current replacements. Use when a provider announces a retirement or an API call returns a deprecation notice..

Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.

What the file says

# Model upgrade

A retired model id keeps answering for a few months and then stops. This
skill finds every pinned id in the repository and rewrites it.

## Replacement table

Each row retires the id on the left in favour of the id on the right.

| Retired id | Retired on | Replacement |
| --- | --- | --- |
| `claude-2.1` | 2025-07-21 | `claude-sonnet-5` |
| `claude-3-opus-20240229` | 2026-01-05 | `claude-opus-4-8` |
| `gpt-3.5-turbo` | 2026-02-13 | `gpt-5-mini` |

## Rewrite the pinned ids

Run the rewriter over the source tree. It only touches ids the table
above covers, so an id it does not know is left alone for a human.

```python
MODEL_MIGRATIONS = {
    "claude-2": "claude-sonnet-5",
    "claude-3-haiku": "claude-haiku-4-5",
    "gpt-3.5-turbo": "gpt-5-mini",
}

def migrate(model: str) -> str:
    """Return the current id for a retired one, or the id unchanged."""
    return MODEL_MIGRATIONS.get(model, model)
```

## Check the deployment configs

The rewriter reads Python only, so deployment YAML needs a second pass.
A staging config that still pins a retired id looks like this:

```yaml
service: summarizer
model: claude-2
max_tokens: 4096
```
…

Read the whole file at its exact version.

How to install

Latest version
mdr add stbenjam/skillsaw/model-upgrade@git:20260902.6c142c4
Exact content
mdr add stbenjam/skillsaw/model-upgrade@sha256:84f7357743b6c96b

Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_gzanjaoksihfv2vc.svg)](https://markdownregistry.com/a/art_gzanjaoksihfv2vc)

1 badge views in 30 days

Versions

versioncommittedcommitsizeaudit
git:20260902.6c142c4 latest2026-09-02 6c142c4 1,996 BA view

Audit of the latest version

A  17 of 17 checks passed. Deterministic, no model, same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (1996 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

stbenjam/skillsaw · 66 stars · license Apache-2.0 · pushed 2026-09-23 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_gzanjaoksihfv2vc
GET https://markdownregistry.com/api/v1/resolve?ref=stbenjam/skillsaw/model-upgrade
GET https://markdownregistry.com/api/v1/blob/84f7357743b6c96b1a6d923b51319d3c436f74a8e5dd659b69de0ef60bfbca92

Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

More from stbenjam/skillsaw

skillsaw-create-plugin skill
stbenjam/skillsaw · .agents/skills/skillsaw-create-plugin/SKILL.md · Create a skillsaw rule plugin — a pip-installable Python package that adds custom lint rules to skillsaw. Walks through…
v1.0 · audit A · 66 stars
skillsaw-ecosystem-scout skill
stbenjam/skillsaw · .agents/skills/skillsaw-ecosystem-scout/SKILL.md · Survey the AI coding assistant and agentic tool ecosystem, assess skillsaw's competitive position, identify emerging…
v1.0 · audit A · 66 stars
skillsaw-fix skill
stbenjam/skillsaw · .agents/skills/skillsaw-fix/SKILL.md · Fix skillsaw lint violations — apply deterministic autofixes, then resolve the remaining violations with targeted edits…
v1.0 · audit A · 66 stars
skillsaw-issue-solver skill
stbenjam/skillsaw · .agents/skills/skillsaw-issue-solver/SKILL.md · Pick up open GitHub issues from collaborators and create PRs to solve them. Use when triaging and resolving reported…
v1.0 · audit A · 66 stars
skillsaw-issue-triage skill
stbenjam/skillsaw · .agents/skills/skillsaw-issue-triage/SKILL.md · Triage a GitHub issue filed against skillsaw — classify it (bug, feature, docs, question, other), verify its claims…
v1.0 · audit A · 66 stars
skillsaw-issue skill
stbenjam/skillsaw · .agents/skills/skillsaw-issue/SKILL.md · Use when skillsaw reports a likely false positive, misses an edge case, behaves incorrectly, or needs an RFE. Gather a…
v1.0 · audit A · 66 stars
skillsaw-lint skill
stbenjam/skillsaw · .agents/skills/skillsaw-lint/SKILL.md · Use when modifying agentic contextual building blocks like skills (SKILL.md), slash commands, agents, hooks, plugins…
v1.0 · audit A · 66 stars
skillsaw-maintenance skill
stbenjam/skillsaw · .agents/skills/skillsaw-maintenance/SKILL.md · Analyze upstream specs (agentskills.io, Claude Code plugin/marketplace format, OpenAI Codex plugins/marketplace…
v2.0 · audit A · 66 stars
skillsaw-onboard skill
stbenjam/skillsaw · .agents/skills/skillsaw-onboard/SKILL.md · Onboard a repository to skillsaw — run the linter, triage the findings by rule, apply autofixes, manually fix what…
v1.0 · audit A · 66 stars
skillsaw-pr-followup skill
stbenjam/skillsaw · .agents/skills/skillsaw-pr-followup/SKILL.md · Follow up on open PRs in skillsaw — fix failing CI, address reviewer feedback, push updates, and validate backward…
v1.0 · audit A · 66 stars
skillsaw-release-ready skill
stbenjam/skillsaw · .agents/skills/skillsaw-release-ready/SKILL.md · Audit skillsaw for release readiness — test new rules against real repositories, audit core architectural dimensions…
v1.0 · audit A · 66 stars
skillsaw-release skill
stbenjam/skillsaw · .agents/skills/skillsaw-release/SKILL.md · Bump the version, generate release notes, and publish a new skillsaw release to PyPI. Use when cutting a new release.
v1.0 · audit A · 66 stars

Every file in stbenjam/skillsaw

Browse by kind, by grade A, or by owner.