[FEATURE] update command doesn't support private-git source type - all private SSH-installed skills are skipped #6
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rtlabs-llm-agents/agent-skills-cli#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
The
updatecommand silently skips all skills installed from private Git SSH URLs (e.g.ssh://[email protected]:port/user/repo.git). These skills are stored in the lock file with"sourceType": "private-git", but the update command only recognizesgithub,gitlab, anddatabaseas updateable source types.Steps to Reproduce
~/.skills/skills.lockshows all entries with"sourceType": "private-git")Expected Behavior
Skills should be updated by re-cloning from the original SSH source URL stored in the lock file.
Actual Behavior
All
private-gitskills are treated as local/non-updateable, even though the CLI has their full SSH clone URL stored in the lock file.Root Cause
Two issues in
dist/cli/commands/utils-commands.js→registerUpdateCommand:1. Source type filter excludes
private-git(line ~312)private-gitis not in this list, so every private-git skill is filtered out.2. URL parsing regex only matches github.com/gitlab.com (line ~329)
Even if
private-gitwere added to the filter, this regex would fail to match SSH URLs likessh://[email protected]:37234/user/repo.git, causing the update to fail with "Invalid source URL".Suggested Fix
Add
'private-git'to the updateable source type filter:For
private-gitskills, skip the URL regex parsing and useskill.sourcedirectly as the clone URL:In fact, the regex match result (
urlMatch) is never actually used beyond the null-check — the clone always usesskill.sourcedirectly. So the regex validation could simply be skipped forprivate-gitsources.Environment
Fixed in commit ce8b418. Two changes:
private-gitadded to the updateable source type filterprivate-gitentries — the SSH URL from the lock file is used directly forgit clone