update-deps
Skill0 starsChanged 43 days agoMITView on GitHub
Refresh the dependencies and the pinned GitHub Actions on request. List what is outdated, raise the catalog ranges, audit, refresh each action's SHA pin with gh, verify, and open a PR, with every major in its own commit. Use only when the user asks, with "update dependencies", "update deps", "bump dependencies", "check for outdated packages", or "refresh the action pins". Never unprompted, and never merges.
20 other projects use a version of this.
Adopted by
Most recently taken up by
- gaia-react/gaiatheir own version, first seen Nov 8, 2026
- pydantic/logfiretheir own version, first seen Nov 3, 2026
- idimsh/tdds-business-skillstheir own version, first seen Nov 1, 2026
- gaia-harness/gaiatheir own version, first seen Nov 1, 2026
- Zmoki/zmoki-astro-startertheir own version, first seen Oct 27, 2026
- venables/skillstheir own version, first seen Oct 13, 2026
Used with
Projects with it also use plan and tdd.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
BlockSkillplan
Draft a TDD, PRD, or lightweight plan in the conversation without committing it.
Also in 3 projects that use this
GoogleSkilltdd
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
Also in 3 projects that use this
Other versions20 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 20
- RSSNext/Folo★ 39ksame name
- microsoft/graphrag★ 37ksame name
- assistant-ui/assistant-ui★ 13ksame name
- backnotprop/plannotator★ 9.6ksame name
- pydantic/logfire★ 4.5ksame name
- authgear/authgear-server★ 2.1ksame name
- mozilla/bedrock★ 1.3ksame name
- VinkyDev/vibestart★ 289same name
- stella/stella★ 274same name
- github/rust-gems★ 137same name
10 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository21 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- first-runSkill
- fix-ciSkill
- new-adrSkill
- new-packageSkill
- new-specSkill
- prSkill
- releaseSkill
- sync-templateSkill
- verify-docsSkill
- first-runSkill
- fix-ciSkill
- new-adrSkill
- new-packageSkill
- new-specSkill
- prSkill
- releaseSkill
- sync-templateSkill
- update-depsSkill
- verify-docsSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 72
Verify and open the PR. pnpm verify passes after the last edit.
- Distinctive: line 77
If the request names packages or actions, update only those.
“Common” is measured: kept by at least 6 in 10 of the 20 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Update dependencies
Nothing updates dependencies on a schedule; this skill is the procedure, run
when the user asks. pnpm refuses any version younger than the cooldown,
minimumReleaseAge in pnpm-workspace.yaml, so a release that young waits
for the next run unless a minimumReleaseAgeExclude entry names it (step 3).
Why there is no update bot is in docs/template/conventions.md.
Work on a branch such as chore/update-deps, cut from an up-to-date default
branch with a clean tree. Claude Code asks before each pnpm outdated,
pnpm update, pnpm audit, and gh api call: the allowlist leaves them out
(Permission prompts in docs/template/agent-surfaces.md).
- List.
pnpm outdated -rprints every dependency with a newer release, with its current and latest version, and exits 1 whenever it prints one; that is the listing, not a failure. Note each one whose latest is outside its catalog range: a new major, or a new minor of a0.xpackage. Step 5 calls both majors. - Raise the catalog ranges.
pnpm update -rmoves every range in thecatalog:block ofpnpm-workspace.yamlup to the newest release the range allows and refreshes the lockfile. Then runpnpm lint:fix: an updated lint config can bring rules that reorderpnpm-workspace.yamlor add a setting. Review that diff, keep each comment above the key it explains, and leave theallowBuildsentries as they are; each is a human verdict. Commit. - Audit.
pnpm auditlists the known advisories, and the table under "Keep dependencies current" indocs/template/docs-toolchain.mdlists the accepted ones; drop a row whose advisory is gone.pnpm audit --fix updatemoves the lockfile to fixed versions within the ranges. Where no such release exists, a forced version (pnpm audit --fix override, which writesoverridesintopnpm-workspace.yaml, thenpnpm install) is the last resort and is named in the PR; an advisory whose fix would break the package that pins it joins the table instead, with a one-line reason. Either--fixrun exits 1 while any advisory remains, even when it fixed others. Either one also appends aminimumReleaseAgeExcludelist topnpm-workspace.yamlnaming the patched version of every advisory, installed or not, and that list lifts the cooldown for each. Delete the list and runpnpm install: it passes when every locked version is past the cooldown, and otherwise names each one that is not. Wait for those, or put back only their entries and name each in the PR as a cooldown exemption. Then runpnpm lint:fix, which moves a kept key into order, and commit whatever changed. Refresh the action pins. Each
uses:in.github/workflows/names a full commit SHA with the release in a trailing comment. For each<owner>/<repo>:- its release tags:
gh api --paginate repos/<owner>/<repo>/releases --jq '.[] | select(.prerelease | not) | .tag_name | select(test("^v?[0-9]+[.][0-9]+[.][0-9]+$"))', or, for a repository that tags without publishing releases,gh api --paginate repos/<owner>/<repo>/tags --jq '.[].name | select(test("^v?[0-9]+[.][0-9]+[.][0-9]+$"))'. Neither list is sorted by version: take the highest version in the pinned major, and leave a newer major to step 5 - that tag's commit:
gh api repos/<owner>/<repo>/commits/<tag> --jq .sha - its own manifest:
gh api -H "Accept: application/vnd.github.raw" "repos/<owner>/<repo>/contents/action.yml?ref=<sha>"(action.yamlin some repositories; an action in a subdirectory keeps it there).
Refuse a release whose manifest has a
uses:pinned by a tag rather than a 40-character SHA; "Keep dependencies current" indocs/template/docs-toolchain.mdsays why. Otherwise replace the SHA and set the comment to the exact tag (# v6.1.0, never# v6). Commit.- its release tags:
- Majors, npm and actions alike, go in their own commit, one per major, after
reading the release notes or changelog for breaking changes. For a package,
edit its range in the catalog (
^9.0.0becomes^10.0.0), runpnpm install, and make the code changes it needs in the same commit.@types/nodestays on the node major in.node-version. A major that cannot land now stays out, and the PR says why. - Verify and open the PR.
pnpm verifypasses after the last edit; fix a failure at the source. Then the pr skill pushes the branch and opens the PR; label it withgh pr edit <number> --add-label dependencies. Merging is the human's call.
If the request names packages or actions, update only those.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

