You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
COPSPA-57 // Implement CLI tools for finding, installing and updating external skills (#4)
* COPSPA-57 // Implement CLI tools for finding, installing and updating external skills through the database currated at skills.sh
* COPSPA-57 // Update README with new functions and bump version
* COPSPA-57: Changelog
* Update CHANGELOG.md
---------
Co-authored-by: Patrick <p.mehringer@techdivision.com>
Co-authored-by: Patrick Mehringer <bullitt300@googlemail.com>
-`opencode-link external-skills:update` - Update external skills to latest version
16
+
-`opencode-link external-skills:list` - Show installed external skills
17
+
- New modules:
18
+
-`lib/external-skills.js` - Core logic for external skills management
19
+
-`lib/skills-registry.js` - Skills registry management and search functionality
20
+
- JSON schema generation for external skills validation
21
+
22
+
### Changed
23
+
-`bin/opencode-link.js` - Extended with new CLI commands for skills.sh integration
24
+
-`README.md` - Updated documentation with new functions
25
+
-`package.json` - Updated dependencies and version
26
+
27
+
### Details
28
+
This release introduces full integration with the skills.sh database, enabling users to discover, install, and manage custom skills. The implementation provides seamless interoperability with the OpenCode plugin system.
29
+
30
+
## [0.2.0] - 2026-03-04
9
31
10
32
### Added
11
33
- GitHub Actions workflow for automatic npm publishing on version tags
12
34
-`files` array in package.json for explicit publish contents
13
35
- npm provenance support for supply chain security
14
36
15
-
## [0.1.0] - 2025-03-04
37
+
## [0.1.0] - 2026-03-04
16
38
17
39
### Added
18
40
- User config directory support (`~/.config/opencode/node_modules/`)
**Note:** Commands are prefixed with the plugin name to avoid conflicts between plugins.
190
190
191
+
## External Skills
192
+
193
+
External skills are agent skills sourced directly from GitHub repositories, curated via [skills.sh](https://skills.sh). They are downloaded and symlinked automatically — no npm install required.
194
+
195
+
### Quick Start
196
+
197
+
```bash
198
+
# Search for skills
199
+
opencode-link external-skills:find react
200
+
201
+
# Add a skill to your project (updates opencode-project.json + installs immediately)
Use `--force` to bypass high-risk prompts or to force reinstall an up-to-date skill.
252
+
253
+
> **Note:** Security data is fetched from `add-skill.vercel.sh`. If the service is unavailable, installation continues with a warning — it never blocks.
254
+
255
+
### Update Detection
256
+
257
+
Skills store a SHA fingerprint (`.skill-meta.json`) after download. Subsequent runs skip skills whose SHA hasn't changed. Use `external-skills:update` to explicitly pull the latest version.
258
+
259
+
```bash
260
+
# Re-download skills where the upstream SHA changed
261
+
opencode-link external-skills:update
262
+
263
+
# Force-reinstall all skills regardless of SHA
264
+
opencode-link --force external-skills:install
265
+
```
266
+
267
+
### GitHub Rate Limits
268
+
269
+
The GitHub API is used to fetch file SHAs. Set `GITHUB_TOKEN` to increase the rate limit:
270
+
271
+
```bash
272
+
export GITHUB_TOKEN=ghp_...
273
+
opencode-link external-skills:install
274
+
```
275
+
191
276
## Commands
192
277
193
278
| Command | Description |
194
279
|---------|-------------|
195
-
|`opencode-link`| Link all standard plugins |
280
+
|`opencode-link`| Link all standard plugins + install configured external skills |
196
281
|`opencode-link all`| Link ALL plugins (standard + optional) |
197
282
|`opencode-link <plugin>`| Link a specific plugin |
198
-
|`opencode-link list`| List available plugins |
283
+
|`opencode-link list`| List available plugins and configured external skills |
199
284
|`opencode-link status`| Show current links |
200
-
|`opencode-link clean`| Remove all symlinks |
285
+
|`opencode-link clean`| Remove all symlinks and `.external-skills/` directory |
201
286
|`opencode-link schema`| Regenerate schema |
287
+
|`opencode-link external-skills:find <query>`| Search skills.sh for skills |
288
+
|`opencode-link external-skills:add <owner/repo> <skill>`| Add skill to config and install |
289
+
|`opencode-link external-skills:install`| Install/update all configured external skills |
290
+
|`opencode-link external-skills:update`| Re-download skills with upstream changes |
291
+
|`opencode-link external-skills:list`| Show installed external skills with security status |
0 commit comments