Files
pkg/skills/pkg-update/SKILL.md
T

1.5 KiB

name, description
name description
pkg-update Update every external package of a project to its latest stable version using list-packages.sh and latest-version.sh, then run build and tests. Revert all changes on failure. Supports nodejs, python, and dotnet projects. Use for dependency refresh; not for adding or removing packages.

pkg-update — batch-update packages

Steps

  1. Run tools/list-packages.sh {project dir} to get every external package (ecosystem, name, current version).
  2. Confirm the working tree is clean: stop and report when uncommitted changes exist, so the revert cannot destroy them.
  3. Update ecosystem by ecosystem. This step MUST run as a sub agent (one sub agent per ecosystem):
    1. For every package, run tools/latest-version.sh {ecosystem} {name} to get the latest stable version.
    2. Rewrite the version source file (package.json / requirements.txt / pyproject.toml / *.csproj).
    3. Re-resolve and install (npm install / pip install -r / dotnet restore).
  4. Run build and tests:
    • nodejs: npm run build (if present) plus npm test (if present).
    • python: pytest (when tests exist).
    • dotnet: dotnet build plus dotnet test.
    • When the commands cannot be inferred, ask the user per the jsc-ask:ask rules.
  5. Build or tests fail → revert every change (git checkout -- . and clean untracked lock changes), then report the failing packages with an error summary.
  6. Success → report the update list (package, old version, new version) and hand off to jsc-git:commit.