🤖 AI generated content. Claude Code/claude-opus-5-5
Problem
skills add takes a source (owner/repo), but skills update only takes skill names. There's no way to update every skill that came from one source.
The natural guess fails:
$ npx skills update dwjohnston/agent-skills
Updating dwjohnston/agent-skills…
No installed skills found matching: dwjohnston/agent-skillsThis matters when a project installs skills from several sources and you only want to refresh the ones from your own repo.
Proposed Solution
Let skills update accept a source as well as skill names. An argument that looks like a source (owner/repo, a GitHub URL, etc.) would update every installed skill whose lock entry has that source:
# Update every skill installed from this source
npx skills update dwjohnston/agent-skills
# Existing behaviour unchanged
npx skills update my-skill
npx skills updateA --source <source> flag would work too, if mixing the two kinds of positional argument is too ambiguous.
Alternatives Considered
Workaround: read the names out of skills-lock.json with jq:
npx skills update -p -y $(jq -r '.skills | to_entries[] | select(.value.source == "dwjohnston/agent-skills") | .key' skills-lock.json)It works, but it relies on the lock file format and needs jq.
Additional Context
Seen on skills 1.7.6.
Related issues
- #528 (closed): asked for
skills update <name>to update a single skill. It was fixed in #913, which is why a source passed toupdateis now treated as a skill name. - #982 (closed):
skills update -p <name>installed every skill from the source repo, not just the named one. That is roughly the behaviour requested here, but it happened by accident and was fixed as a bug.
Searches for existing issues
I found no existing request for this after searching this repo's issues for:
update sourceupdate repoupdate packageupdate by sourceupdate owner/repoupdate all skills fromskills update source filterNo installed skills found matching
Activity
0No activity yet.