Usage
Description
Thecheck command compares your installed skills against the latest versions on GitHub to identify available updates. It uses GitHub’s Trees API to detect changes in skill folders without downloading files.
Only global skills installed with
-g are tracked for updates. Project-scoped skills are not checked.How It Works
Read Lock File
Reads
~/.agents/.skill-lock.json to get installed skill information including:- Skill source (owner/repo)
- Skill path in repository
- Current folder hash (GitHub tree SHA)
Fetch Latest Hashes
For each skill, fetches the latest folder hash from GitHub using the Trees API.The hash represents the entire skill folder’s state, so any change (files added, modified, or deleted) will result in a different hash.
Compare Versions
Compares current hash with latest hash:
- Match: Skill is up to date
- Different: Update available
Update Detection
Updates are detected by comparing GitHub tree SHAs:- ✅ Detects any changes to skill files
- ✅ Works without downloading files
- ✅ Leverages GitHub’s caching
- ✅ Supports authenticated requests (higher rate limits)
GitHub Token
To avoid rate limits, set a GitHub personal access token:- Higher rate limits: 5,000 requests/hour (vs 60 for unauthenticated)
- Access to private repositories: If your skills are in private repos
Output Examples
Skills Not Checked
Some skills cannot be checked automatically:Local Paths
Local Paths
Skills installed from local paths (
./my-skill) cannot be checked for updates.Reason: No remote source to compare againstManual update:Git URLs
Git URLs
Skills from non-GitHub Git URLs don’t support hash tracking yet.Reason: Trees API is GitHub-specificManual update:
No Version Hash
No Version Hash
Skills installed before lock file v3 don’t have folder hashes.Reason: Lock file was upgraded, missing metadataFix: Reinstall the skill
Missing Skill Path
Missing Skill Path
Skills without a recorded path in the lock file.Reason: Lock file corruption or old formatFix: Reinstall the skill
Lock File Format
The check command requires lock file version 3 (current):source: Owner/repo formatskillPath: Path to SKILL.md in repositoryskillFolderHash: GitHub tree SHA for the skill folder
Rate Limiting
Without Token
- Limit: 60 requests per hour (per IP)
- Scope: All unauthenticated GitHub API requests
With Token
- Limit: 5,000 requests per hour
- Scope: Per authenticated user
GITHUB_TOKEN if you have many skills or check frequently.
Comparison with Update
Thecheck and update commands work together:
| Command | Purpose | Action |
|---|---|---|
skills check | Find updates | Read-only, shows what’s available |
skills update | Install updates | Checks AND reinstalls updated skills |
skills update directly - it checks first automatically.
Troubleshooting
Rate limit exceeded
Rate limit exceeded
Error:
API rate limit exceededSolution: Set a GitHub tokenNo skills tracked
No skills tracked
Message:
No skills tracked in lock fileCause: No global skills installed, or lock file missingSolution: Install skills with -g flagCould not fetch from GitHub
Could not fetch from GitHub
Message:
Could not check N skill(s)Causes:- Network issues
- Repository deleted or moved
- Private repository without token
- Skill path changed in repository
Related Commands
skills update- Update all skills to latest versionsskills add- Install skills (use with-g -yto reinstall)skills list- List installed skills