Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add tony/skills --skill package-updater-updating-packagesgit clone --depth 1 https://github.com/tony/skillsWrote 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/tony/skills/package-updater-updating-packages)<a href="https://agentmods.dev/skills/tony/skills/package-updater-updating-packages"><img src="https://agentmods.dev/badge/skills/tony/skills/package-updater-updating-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/tony/skills/package-updater-updating-packages"><img src="https://agentmods.dev/badge/skills/tony/skills/package-updater-updating-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.00038 | $0.02920 |
| Opus 5 | $0.00019 | $0.01460 |
| Sonnet 5 | $0.00008 | $0.00584 |
| Haiku 4.5 | $0.00004 | $0.00292 |
Grade A, and why
package-updater-updating-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 11d 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.
Copies of this mod
1 near-identical copy found in the catalogue:
- updating-packages — 94% identical, 35 lines differ
How it starts
The opening of the file, as written. The whole thing — 302 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Updating packages
Find what is actually out of date, research each move against the vendor's own release notes, and land it as commits that separate the toolchain from the dependencies from their fallout.
Six references carry the parts that must not drift between this skill and the plugin's commands:
references/repo-scope.md— deciding which repositories are yours to commit to, and when to stop and ask.references/ecosystems.md— how to detect each ecosystem, its discovery and apply commands, and the supply-chain cooldown that can hide a release from the resolver.references/commit-conventions.md— the four commit tracks, subject grammar, body anatomy, and the empty-body rule.references/upstream-links.md— which URLs each tool's bump cites, and how to verify them.references/follow-ups.md— which bumps need a second commit, and how to declare a knowingly-red intermediate.references/holds.md— deliberately staying behind on a package, and releasing the hold when its condition is met.
Never run cargo-outdated
It allocates around 18 GB resident and the OOM killer takes the whole host down with it on a memory-constrained machine. The cost is paid by starting the process, so there is no safe probe: do not run it to check whether the problem still reproduces, and do not offer it as an option.
cargo update --dry-run reports the same thing safely. This holds until
someone explicitly lifts the restriction — see the Rust section of the
ecosystems reference.
Core principle
A dependency commit's value is its reasoning, and reasoning does not survive bundling. Keep the toolchain, the named bumps, the bulk refresh, and the fallout in separate commits, and each one reverts on its own years later when someone needs exactly that.
Scope
Repositories you maintain. Follow
references/repo-scope.md before any sweep that
walks a directory: skip worktrees and duplicate clones, ask the forge
for isFork and viewerPermission, and fall back to the remote owner
plus trunk authorship only when it cannot answer.
What ships with it
6 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.
- 11d ago First seen · 302 lines · 38 tokens per session scan A 0b912425a293
package-updater-updating-packages is a skill published in the GitHub repository tony/skills (2 stars, last pushed 6d ago), licensed MIT. It adds 38 tokens to every session and 2,920 once invoked, about $0.0002 per session on Opus 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
branch-and-worktree-workflow
Isolates feature work in its own branch or worktree and integrates it cleanly when done. Use this when starting work that should not disturb the current workspace, when several efforts must proceed in parallel on one repository, or when implementation is finished and the change needs merging, rebasing, or splitting…
commit-push-pr
Use when asked to commit, push a feature branch, and open or update a pull request with gh in one pass. Not for a push with no PR: use commit-push. Not for a PR body alone: use create-pull-request.
commit
Use when asked to commit changes, create a typed branch, format history for a changelog, or rewrite messages of HEAD or an unpushed range. Not for pushing or a PR: use commit-push or commit-push-pr.
git-branchless
Use when asked for multi-commit stack edits, rebases, fixups, or stacked-PR publishing with branchless git idioms. Not for plain-git workflows in repos without branchless.
publish-branch
Use when asked to publish the checked-out branch: commit and push it on whatever branch it is, the default branch included. Not for creating branches, PRs, force pushes, or pushing any other branch; when the request excludes the default branch, use commit-push-current.
commit-push
Use when asked to commit and push to a feature branch off the default branch, with no pull request. Not for a PR: use commit-push-pr. Not for the checked-out branch: use commit-push-current.