Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Morrison-Lab/ai-config --skill check-dependency-updates명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | check-dependency-updates |
| description | Audit dependency updates. |
| user-invocable | true |
| allowed-tools | ["Bash","Read","Edit","Write","WebFetch"] |
Find dependencies that have moved on without you. The goal is to surface upgrades worth taking — bug fixes, new features, security patches — not to bump everything to latest. Audit first, report what each update buys, then take the ones that pass tests.
This is the maintenance-time counterpart to prefer-upstream: that skill picks
a well-maintained upstream dependency at write time; this one keeps the
dependencies you already chose current.
Run the checks that apply to the repo. The two headline cases are GitHub
Actions pins and renv.lock; the rest are common in this user's R/Quarto repos.
.github/workflows/*.yml)List every action and how it's pinned:
grep -rnE '^\s*uses:' .github/workflows/ .github/actions/ 2>/dev/null
Pins come in two forms:
uses: actions/checkout@v4. Check the latest release:
gh api repos/actions/checkout/releases/latest --jq '.tag_name'
# no releases? fall back to tags:
gh api repos/actions/checkout/tags --jq '.[0].name'
uses: actions/checkout@<sha> # v4.1.1
(the secure form for third-party actions). Resolve the latest tag back to its
commit SHA so you can compare:
latest=$(gh api repos/actions/checkout/releases/latest --jq '.tag_name')
gh api "repos/actions/checkout/commits/${latest}" --jq '.sha' # handles annotated tags
If the SHA differs, update both the SHA and the trailing # vX.Y.Z
comment together — a stale comment next to a fresh SHA is its own bug.A .github/dependabot.yml with the github-actions ecosystem
automates this sweep. Recommend it if the repo has none; this skill is the
on-demand / one-off audit and the catch-all for what Dependabot misses.
renv.lock)In the project, with renv active:
renv::status() # confirm library, lockfile, and DESCRIPTION agree first
renv::update(check = TRUE) # PREVIEW available updates without installing anything
check = TRUE reports which packages are behind without touching the library
or the lockfile. To actually take updates (do this on a branch):
renv::update() # install the newer versions
renv::snapshot() # write them into renv.lock
Then inspect git diff renv.lock, run the package's tests/checks, and keep only
the updates that pass.
.pre-commit-config.yaml)pre-commit autoupdate # rewrites each hook's `rev:` to the latest tag
git diff .pre-commit-config.yaml
Inspect the diff and run the hooks once before committing.
Workflows often pin quarto-version:, an R version, or a Pandoc version.
Compare each against the latest upstream release, e.g. for Quarto:
gh api repos/quarto-dev/quarto-cli/releases/latest --jq '.tag_name'
git submodule status
# for each submodule, see whether upstream has moved:
git -C <submodule-path> fetch && git -C <submodule-path> log HEAD..FETCH_HEAD --oneline
DESCRIPTION version floors (Imports: / Remotes:) — usually covered by
the renv check; old.packages() lists CRAN packages with newer versions.package.json — npm outdated.Dockerfile base images / pinned apt or pip versions.WebFetch on the upstream releases or
NEWS page), especially across a major version, so you can say what the update
buys and catch breaking changes.st / gi). Group related bumps; don't open one issue
per trivial patch.ardi).DESCRIPTION may be intentional. Refresh
the pin to a newer vetted version; don't remove the pinning in the name of
freshness.renv.lock is not a trivial file. Editing it changes what every
collaborator and CI job installs — treat a lockfile bump like any other code
change: branch, test, review.The "What to audit" and changelog-reading steps have no need for Edit/Write
access. Delegate them to the dependency-auditor custom agent
(.claude/agents/dependency-auditor.md) for a hard, harness-enforced
guarantee against Edit/Write tool use before the report is reviewed ---
tighter than this skill's own instruction-only discipline, though the agent
retains Bash for read-only checks, so avoiding a write-capable shell
command (renv::update() without check = TRUE, pre-commit autoupdate)
is still instruction-level. Run the "Reporting and follow-through" steps
(issue, branch, PR, ARDI) in the main session afterward.
chores — the processing counterpart. This skill finds stale pins (and
recommends a dependabot.yml); once Dependabot opens the resulting bump PRs,
chores triages and merges/flags them.prefer-upstream — the write-time counterpart: choose a maintained
upstream dependency instead of hand-rolling. This skill keeps those choices
current over time.workaround-watcher — watches one specific upstream blocker and
auto-drafts the revert when it's fixed. This skill is the broad periodic sweep
across all pins.claude-agent-workflow / claude-review-workflow — where the action pins
this audit checks actually live.st / gi / defer-issue — file the tracking issue and drive the update
PR.release-notify — the opposite direction: you ship a breaking change and
notify the repos that depend on you.# vX.Y.Z comment beside it.