Usage
Description
Theupdate command automatically checks for and installs the latest versions of all globally installed skills. It’s equivalent to running skills check followed by reinstalling each skill that has an update.
Only global skills installed with
-g are updated. Project-scoped skills are not tracked for updates.How It Works
Check for Updates
Reads
~/.agents/.skill-lock.json and compares each skill’s folder hash with the latest version on GitHub.This is the same process as skills check.Reinstall Skills
For each skill with an update:
- Constructs the source URL with skill path
- Runs
npx skills add <url> -g -y - Tracks success/failure
Update Process
For each skill needing an update:- ✅ Downloads latest files from GitHub
- ✅ Preserves agent links (reinstalls to same agents)
- ✅ Updates lock file with new hash
- ✅ Maintains global installation
Output Examples
Skills Not Updated
Some skills cannot be updated automatically (same asskills check):
Local Paths
Skills from local paths (
./my-skill) are skipped.Manual update:Git URLs
Non-GitHub Git URLs don’t support automatic updates yet.Manual update:
No Version Hash
Skills without a
skillFolderHash in the lock file.Fix: Reinstall the skillMissing Skill Path
Skills without a
skillPath in the lock file.Fix: Reinstall the skillGitHub Token
For better performance and private repository access, set a GitHub token:- Higher rate limits: 5,000 requests/hour (vs 60 unauthenticated)
- Private repos: Access skills in private repositories
- Faster: Avoids rate limit delays
Update URL Construction
The update process constructs URLs based on lock file data:- ✅ Exact skill folder is updated (not the entire repo)
- ✅ Correct branch is used (defaults to
main) - ✅ Subpath is preserved
Lock File Updates
After successful update, the lock file is updated: Before:Comparison with Check
Thecheck and update commands work together:
| Command | Purpose | Speed | Side Effects |
|---|---|---|---|
skills check | Find updates | Fast (API only) | None (read-only) |
skills update | Install updates | Slow (downloads) | Modifies files |
check: Quick check before committing, in CI, or before presentationsupdate: When you’re ready to update and have time for downloads
Error Handling
The update process is resilient:Skill update fails
Skill update fails
Behavior: Continues updating other skillsResult:
- Successful skills are updated
- Failed skills show error messages
- Lock file only updated for successful skills
Network issues
Network issues
Behavior: Skips unreachable skillsCauses:
- GitHub API down
- Repository deleted/moved
- Network connectivity issues
Lock file write fails
Lock file write fails
Behavior: Update completes, but lock not updatedImpact: Next update may re-download same versionSolution: Check file permissions on
~/.agents/.skill-lock.jsonBest Practices
Set GitHub Token
Avoid rate limits with a personal access token:Add to your shell profile for persistence.
Troubleshooting
Updates fail silently
Updates fail silently
Symptoms: Command runs but nothing updatesCauses:
- No global skills installed
- All skills already up to date
- Skills can’t be auto-updated (local/git)
Skill disappears after update
Skill disappears after update
Symptoms: Skill not found after successful updateCause: Skill was removed from source repositorySolution: Remove from lock file or pin to old version
Update takes too long
Update takes too long
Symptoms: Update hangs or is very slowCauses:
- Large skill repositories
- Slow network connection
- Many skills to update
- Use GitHub token for better rate limits
- Update specific skills manually
- Check network connection
Alias
The following alias is available:skills upgrade→skills update
Related Commands
skills check- Check for updates without installingskills add- Install or reinstall skills manuallyskills list- List installed skills and their versions