SkillSourceKeep your AI instruction files in sync — automatically. If you use Claude Code, GitHub Copilot, or any AI coding assistant, you probably have SkillSource fixes that. It reads a Features
Works great alongside Claude Code and GitHub Copilot. Getting Started1. Point your skill file to its upstream source If you control the skill file, add a
If the file is a public skill that you can't modify (no frontmatter or no
Or a frontmatter block:
SkillSource checks the file's own frontmatter first. If no 2. Set your GitHub token Open the Command Palette (
Enter a GitHub Personal Access Token with read access to the repositories that host your skill files. The token is stored securely in your OS keychain via VS Code's SecretStorage API — it never touches 3. That's it SkillSource will check for updates every time your workspace opens. If any files are outdated, you'll see a notification and a status bar badge. Click to review the diffs and decide what to update. Frontmatter ReferenceAdd this YAML block to the top of any managed skill file:
* Example:
The frontmatter convention is stored in the file itself, not in VS Code settings. This means it travels with your repo — every teammate gets the same behavior without any extension configuration. Source ResolutionSkillSource resolves the upstream URL for each skill file using this lookup order:
This two-step lookup is designed for public skills that are distributed without a
|
| State | Meaning |
|---|---|
✓ Skills |
All tracked files are up to date |
⚡ Skills 2↑ |
2 files have updates available — click to review |
↻ Skills |
Checking for updates (briefly shown on startup) |
🔒 Skills |
GitHub token not set — click to configure |
Commands
All commands are available from the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command | Description |
|---|---|
SkillSource: Check for Updates |
Manually trigger an update check across the workspace |
SkillSource: Set GitHub Token |
Store or replace your GitHub Personal Access Token |
SkillSource: Clear GitHub Token |
Remove the stored token from your keychain |
Chat Participant (@skillsource)
SkillSource registers as a chat participant in VS Code's built-in chat (and Copilot Chat). Type @skillsource in the chat panel to access these commands:
| Command | Description |
|---|---|
@skillsource /status |
Show a table of all skill files and their sync state |
@skillsource /update |
Check for outdated files and offer Accept buttons inline |
@skillsource /token |
Set or update your GitHub PAT |
@skillsource /disable |
Set auto_update: false on the currently open skill file |
Typing @skillsource without a command shows a help message with all available commands.
Example:
> @skillsource /status
| File | Status | Version |
|-----------------------|--------------|---------|
| src/SKILL.md | ✓ up to date | 1.4.2 |
| flutter/CLAUDE.md | ↑ outdated | 1.1.0 |
| ios/SKILL.md | — manual | 2.0.0 |
Note: The slash commands only appear after typing
@skillsource /— they are scoped to the participant and won't show in the global/list.
Authentication
SkillSource requires a GitHub Personal Access Token (PAT) with read access to the repos hosting your skill files.
Creating a token:
- Go to github.com/settings/tokens
- Click Generate new token (classic) or use a fine-grained token
- For classic tokens, select the
reposcope (or justpublic_repoif your skill files are in public repos) - For fine-grained tokens, grant Contents: Read-only access to the relevant repositories
- Copy the token and paste it when prompted by the extension
Storage: The token is stored via VS Code's SecretStorage API, which uses your operating system's keychain (macOS Keychain, Windows Credential Manager, or libsecret on Linux). It is never written to settings.json, environment variables, or any file in your workspace.
GitHub Enterprise: If your skill files live on a GitHub Enterprise instance, set the API base URL in your VS Code settings:
{
"skillSync.githubBaseUrl": "https://github.your-company.com/api/v3"
}
Settings
| Setting | Default | Description |
|---|---|---|
skillSync.githubBaseUrl |
https://api.github.com |
GitHub API base URL (change for GitHub Enterprise) |
skillSync.filePatterns |
["**/SKILL.md", "**/CLAUDE.md"] |
Glob patterns for files to monitor |
Roadmap
Planned for future releases:
- GitLab and Bitbucket support — extend beyond GitHub to other Git hosting platforms
- Multi-machine token sync — optional encrypted sync so you don't re-enter your PAT on every machine
- Custom file name patterns — track any markdown file, not just
SKILL.mdandCLAUDE.md - Workspace trust integration — respect VS Code's workspace trust settings
- Change notifications for watched files — detect local edits to tracked files and warn before they drift
Have a feature request? Open an issue.
Contributing
Contributions are welcome! Whether it's a bug report, feature request, or pull request — all input helps.
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes and ensure they compile (
npm run compile) - Submit a pull request
Please open an issue first for larger changes so we can discuss the approach.
License
MIT — see LICENSE for details.