Borrowing it
Nothing to install: this file belongs to stainless-code/codemap. 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/stainless-code/codemap/main/.agents/skills/upgrade-packages/SKILL.mdgit clone --depth 1 https://github.com/stainless-code/codemapWrote 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/stainless-code/codemap/upgrade-packages)<a href="https://agentmods.dev/skills/stainless-code/codemap/upgrade-packages"><img src="https://agentmods.dev/badge/skills/stainless-code/codemap/upgrade-packages/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/stainless-code/codemap/upgrade-packages"><img src="https://agentmods.dev/badge/skills/stainless-code/codemap/upgrade-packages.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.00039 | $0.01859 |
| Opus 5.5 | $0.00016 | $0.00744 |
| Sonnet 5.5 | $0.00008 | $0.00372 |
| Haiku 4.5 | $0.00004 | $0.00186 |
Grade A, and why
upgrade-packages 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Upgrade packages
A script gathers every tarball delta (bun pm diff), GHSA advisory, and codebase-usage site into one JSON artifact; you read it and judge. Never touch the registry, GitHub, or GHSA directly — every citation comes from the artifact (tarball.notes, kept tarball.files[].patch, changelogUrl, advisory url), so no model priors sneak in. Sources of truth: the artifact, then the codebase. Cite where you read every claim.
This repo uses bun with exact pins in package.json — bun update alone bumps nothing. Lift an exact pin with bun update <pkg>@<target> (or bun update <pkg> --latest per package) / a package.json edit. Never bun update --latest across the board. The check-updates script is inventory-only.
Phase 1 — Gather evidence
Run bun run upgrade-packages:evidence (defaults to --out scripts/upgrade-packages/artifact.json; pass --out <path> to override). Requires network access — the script calls bun pm diff (registry tarballs) and gh api (GHSA advisories only). A sandbox that blocks api.github.com fails GHSA (check-failed); deltas still land. Cache: scripts/upgrade-packages/.cache/ (GHSA 1h, tarball diffs 7d). Read the artifact. Schema + how-to-read: REFERENCE.md.
Done when: the artifact exists and you've read inventory, outdated, audit, deltas, and usage.
Phase 2 — Triage (judge the artifact)
For each outdated package, produce a cited verdict + band:
- band =
bumpClass(patch/minor/major/prerelease). Coupled deps: if a patch bump's peer/dep requires a minor+ bump of another direct dep (checkdeltas[<pkg>][].peerEngine+ the other package'sbumpClass), move the coupled set up a band. - priority-bump if
audit.ghsaverdict ispriority-bump— goes first within its band. - check-failed if
audit.ghsaverdict ischeck-failed(gh/parse/cache failure,id:"error") — inconclusive, not a vuln; re-run evidence before treating as blocked. - blocked if any
deltas[<pkg>][].errorleaves the span uncovered (retry evidence;changelogUrlis the npm version page) OR abreaking/security/peerEnginedelta is a break-risk you can't resolve (see Phase 3). - deferred-major for a major with an unresolved break — unless it clears a high/critical advisory, in which case surface the tradeoff to the user.
What ships with it
1 file 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.
- 1mo ago First seen · 80 lines · 39 tokens per session scan A 18dd2fd6146a
upgrade-packages is a skill published in the GitHub repository stainless-code/codemap (8 stars, last pushed yesterday), licensed MIT. It adds 39 tokens to every session and 1,859 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
roam
Codebase comprehension via roam-code CLI. Use when exploring codebases, planning modifications, debugging failures, assessing PR risk, or checking architecture health. Triggers on: understanding project structure, pre-change safety checks, finding symbols/files, blast radius analysis, affected tests, health scoring…
codestory-grounding
Use when discovering repository structure, tracing relationships, analyzing change impact, or validating CodeStory retrieval or an installed plugin through the CodeStory plugin MCP. Skip only for bounded inspection or editing of named files that does not require those operations.
agentmap
Use for TypeScript/JavaScript codebase navigation — symbol lookup, blast radius, reuse checks, and repo orientation. Prefer agentmap before serial grep when exploring imports, exports, or where a symbol lives. Package is @raymondchins/agentmap (not the unrelated npm package agentmap).
m1nd-first
Use when investigating a repository, searching for implementation, reviewing changes, working from specs/docs, or preparing a risky code change in an environment where m1nd is available. This doctrine makes m1nd the first investigative layer before grep, glob, or manual file reads, except when the task is pure…
sipcode-regress
Check the user's own local Claude Code and Codex logs for regressions after an update (prompt-cache misses, 5-minute cache TTL, uncached context, hourly cache rebuilds, Codex usage limit draining faster per token) and pin each one to the version that introduced it, using the Sipcode CLI. Use when the user asks whether…
analyze-usage
Use when asked to analyze codescout tool usage, check for error patterns, audit tool health, generate a usage report, spot anti-patterns, or clear usage statistics to start fresh.