update-package-skill skill
✓ VerifiedUpdates an existing package Skill to a new version by diffing changes and testing only the affected lines.
- GitHub stars
- 331
- Files
- 2
- Last commit
- Oct 10, 2026
- License
- MIT
- Allowed tools
- —
What does the update-package-skill skill do?
update-package-skill updates an existing package Skill to a new version by diffing changes and testing only the affected lines.
Summary generated from the skill's SKILL.md.
About the update-package-skill skill
Updating existing package skills to match new software releases is the primary function of this tool. It is designed for maintainers who need to refresh a skill after a package update or when a SKILL.md file references an outdated version. The process works by diffing the old and new versions of an npm or local package to identify specific changes in exports, types, options, or behavior.
An agent should load this skill when it has filesystem, shell, and network access. Instead of rewriting a skill from scratch, the agent performs a targeted update by mapping changes to specific lines in the existing skill. It uses commands like npm diff to analyze changes and runs tests only on the affected lines using a consumer fixture and pnpm-workspace.yaml. This approach ensures that untouched examples are not unnecessarily re-run, saving time and resources while maintaining the original formatting and wording of the skill.
What an agent can do with it
- 1Synchronize outdated version documentationFix a skill when the SKILL.md file names a version older than the current package version.
- 2Perform targeted regression testingVerify that new package changes did not break existing claims by running tests on affected lines only.
Written from the skill's SKILL.md. Every use case is checked against a quote from it.
How to install the update-package-skill skill
Each command copies the skill folder into the client's skills directory. Restart the client or start a new session to load it.Install the update-package-skill skill in Plugin
/plugin marketplace add skilld-dev/skilld /plugin install skilld@skilld
Install the update-package-skill skill in Claude Code
~/.claude/skills/update-package-skill/SKILL.md
$ npx degit skilld-dev/skilld/skills/update-package-skill ~/.claude/skills/update-package-skillInstall the update-package-skill skill in Claude Code (project)
.claude/skills/update-package-skill/SKILL.md
$ npx degit skilld-dev/skilld/skills/update-package-skill .claude/skills/update-package-skillInstall the update-package-skill skill in Codex
~/.agents/skills/update-package-skill/SKILL.md
$ npx degit skilld-dev/skilld/skills/update-package-skill ~/.agents/skills/update-package-skillInstall the update-package-skill skill in Gemini CLI
~/.gemini/skills/update-package-skill/SKILL.md
$ npx degit skilld-dev/skilld/skills/update-package-skill ~/.gemini/skills/update-package-skillInstall the update-package-skill skill in Claude.ai
npx degit skilld-dev/skilld/skills/update-package-skill update-package-skill && zip -r update-package-skill.zip update-package-skill # claude.ai → Customize → Skills → + → Create skill → Upload a skill → update-package-skill.zip
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the scripts before you let an agent run them. How checks work
- Source repository linked and reachableskilld-dev/skilld/skills/update-package-skill is public and reachablegithub.com/skilld-dev/skilld/tree/HEAD/skills/update-package ↗Pass
- Open source license (OSI)MITspdx.org/licenses/MIT.html ↗Pass
- Commit or release in the last yearLast commit 2026-10-10github.com/skilld-dev/skilld/commits ↗Pass
- No download-and-run or credential theft in scriptsNo scripts in the skill folderPass
- No hidden instructions in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/skilld-dev/skilld/blob/HEAD/skills/update-package ↗Pass
- Pre-approved tools are scopedNo pre-approved tools; the agent asks before using onegithub.com/skilld-dev/skilld/blob/HEAD/skills/update-package ↗Pass
- SKILL.md follows the Agent Skills formatValid name and description; says when to use it; 69 linesgithub.com/skilld-dev/skilld/blob/HEAD/skills/update-package ↗Pass
SKILL.md
View on GitHubUpdate a package Skill
Bring an existing package Skill to a new package version with the smallest correct edit.
The current Skill was tested against an earlier version. Trust what the release did not touch.
To write a Skill from nothing, use generate-package-skill.
Inputs
- The current Skill directory, and the package at the new version: a name and version, a directory, or prepared source.
- The tested version is the version the Skill's first paragraph names. If it names none, stop and report that the Skill needs a full rewrite.
- If the tested version equals the new version, change nothing and report that.
1. Copy, then diff
- Copy the current Skill to the destination unchanged. Edit only the copy.
- Diff the two published versions:
npm diff --diff=PACKAGE@OLD --diff=PACKAGE@NEW. For a local package, diff the old tarball against the packed build. - Read the changelog or release notes between the two versions.
- List what changed for a consumer: exports, types, options and their defaults, config keys, error messages, CLI flags, peer ranges, engines, and behaviour the notes describe.
2. Map changes to the Skill
For each change, find the Skill lines it affects: a claim, an example, a trap, a version limit. A change is relevant when it affects a Skill line, or when it adds or breaks something an Agent would get wrong: a new trap, a renamed call, a new required setup step. Internals, refactors, and fixes the Skill never mentioned are not relevant.
If no change is relevant, leave the copy byte-identical and stop. Report "no change needed" with a one-line diff summary.
3. Test the affected lines
- Create one consumer fixture outside the package source, with its own
pnpm-workspace.yaml. Install the new version and the documented peers. - Run each affected example and claim, and each example you add. Compare output with the claim: return values, type errors, build logs, exit codes.
- Run each with one failure input as well, such as a bad option or an unreachable URL.
- Do not re-run untouched examples. The earlier version's tests cover them.
- Wrap every run in
timeout 120. Start servers from your own script, record each process ID you start, and stop only those. Never kill by port or withpkill -f. - Spend about 20 tool calls on testing. Report an affected claim you could not test as untested; never claim it passed.
4. Edit
- Change only affected lines, and add what the release needs: a new trap, an old call → new call row, a new common task.
- Delete lines the release made false, and version limits it fixed.
- Update the tested version in the first paragraph. Other version literals go stale; avoid them.
- Keep the wording, order, and formatting of untouched lines exactly. The diff must show only what the release changed.
- Update the description only when a trigger changed, such as a renamed export or a new config key.
Keep the format rules:
- The frontmatter contains
nameanddescription, with optionallicense,compatibility,metadata, andallowed-tools. The name matches the directory. - Preserve the source license. Keep
compatibilityonly for specific environment requirements, at most 500 characters. - Remove generic compatibility filler. Keep package version coverage in the body.
metadatamaps string keys to string values.allowed-toolsis an experimental space-separated string.- The description is one plain YAML line without double quotes, backticks, or
%. SKILL.mdstays under 500 lines. Write at most eight reference files, each linked fromSKILL.md.
5. Report
- The tested version, old → new, and the files you changed.
- Each changed line with the diff hunk or release note behind it.
- Each affected claim left untested.
- Each mismatch between the new docs and observed behaviour: example, documented result, observed result. These are package bugs.
For a direct run, show the Skill diff for review. A direct run has no Harness checks; never claim it passed them.
Files in this skill
2update-package-skill skill questions
How do I install the update-package-skill skill in Claude Code?
Run npx degit skilld-dev/skilld/skills/update-package-skill ~/.claude/skills/update-package-skill. Claude Code loads skills from ~/.claude/skills (all projects) or .claude/skills (one project) and uses a skill when its description matches the task.
Which clients can use the update-package-skill skill?
Any client that reads the Agent Skills format: Claude Code, Codex, Gemini CLI and claude.ai (upload as a ZIP). Scripts in the skill run only where the client allows code execution.
What should I do if the Skill does not name a tested version?
If the Skill's first paragraph does not name a tested version, you must stop and report that the Skill requires a full rewrite.
How should I handle testing to ensure efficiency?
Do not re-run untouched examples, as the earlier version's tests already cover them; only test the lines affected by the changes.
What is the process for identifying changes between package versions?
You should diff the published versions using npm diff or by comparing local tarballs, and then read the changelog or release notes.