Automatically syncs OpenCode plugin skills to Claude Code so they're available in every session—no manual setup required.
Add the plugin to your OpenCode configuration file (opencode.json):
{
"plugin": ["@jannniiiii/opencode-claude-skill-sync"]
}OpenCode installs and initializes the plugin automatically on startup. Skills sync in the background—OpenCode launches immediately without waiting.
To lock a specific version:
{
"plugin": ["@jannniiiii/opencode-claude-skill-sync@1.0.0"]
}The plugin runs asynchronously when OpenCode starts. It doesn't block startup—OpenCode launches while skills sync in the background.
-
Find Skills: Searches two locations in priority order
~/.claude/plugins/cache/(highest priority, typically most recent)~/.claude/plugins/marketplaces/(fallback)
-
Select Latest: For cached plugins, automatically chooses the newest version
-
Create Links: Creates symlinks in
~/.claude/skills/so Claude Code loads them automatically
- Creates new symlinks when skills are discovered
- Updates stale symlinks if a newer version is available
- Cleans broken links that no longer point to valid skills
- Respects a 100-skill limit to prevent system overload
- ✅ Set and forget: Runs asynchronously in background
- ✅ Version-aware: Always uses latest skill versions
- ✅ Smart cleanup: Removes broken or outdated symlinks
- ✅ Non-blocking: OpenCode startup stays fast
- ✅ Safe limits: Caps skills at 100 to prevent system overload
- ✅ Error resilient: Continues syncing even if individual skills fail
Clone the repository and install dependencies:
git clone https://github.com/randomm/opencode-claude-skill-sync.git
cd opencode-claude-skill-sync
npm installOr install from npm:
npm install @jannniiiii/opencode-claude-skill-sync| Command | Purpose |
|---|---|
npm run build |
Compile TypeScript to JavaScript |
npm run test |
Run all tests |
npm run test:watch |
Watch mode for development |
npm run test:coverage |
Generate coverage report |
npm run lint |
Check code style with ESLint |
npm run typecheck |
Type-check with TypeScript |
npm run format |
Auto-format code with Prettier |
npm run clean |
Remove build artifacts |
Before pushing changes, run all quality gates locally:
npm run lint # Must pass ESLint
npm run typecheck # Must have zero TypeScript errors
npm run test # Must have 80%+ code coverageThe project includes 38 tests covering:
- Skill discovery from cache and marketplaces
- Version comparison and selection
- Symlink creation, updates, and cleanup
- Error handling for missing directories
Issues and pull requests welcome. Follow conventional commits for clean history. See AGENTS.md for contribution guidelines.
MIT