skillfish 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -28
- package/dist/index.js +14 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -20,7 +20,13 @@
|
|
|
20
20
|
## Quick Start
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
+
# One-off skill installation
|
|
23
24
|
npx skillfish add owner/repo
|
|
25
|
+
|
|
26
|
+
# For ongoing skill management, install globally
|
|
27
|
+
npm i -g skillfish
|
|
28
|
+
skillfish list
|
|
29
|
+
skillfish update
|
|
24
30
|
```
|
|
25
31
|
|
|
26
32
|
One command installs to **all detected agents** on your system.
|
|
@@ -52,11 +58,11 @@ All commands support `--json` for automation.
|
|
|
52
58
|
## Examples
|
|
53
59
|
|
|
54
60
|
```bash
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
skillfish add user/my-skill # Install a skill
|
|
62
|
+
skillfish add owner/repo --all # Install all skills from repo
|
|
63
|
+
skillfish list # See what's installed
|
|
64
|
+
skillfish update # Update all skills
|
|
65
|
+
skillfish remove old-skill # Remove a skill
|
|
60
66
|
```
|
|
61
67
|
|
|
62
68
|
## Supported Agents
|
|
@@ -99,15 +105,15 @@ Works with 17+ agents including:
|
|
|
99
105
|
Install skills from a repository.
|
|
100
106
|
|
|
101
107
|
```bash
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
skillfish add owner/repo # Auto-discover SKILL.md
|
|
109
|
+
skillfish add owner/repo my-skill # Install by skill name
|
|
110
|
+
skillfish add owner/repo/path/to/skill # Full path syntax
|
|
111
|
+
skillfish add owner/repo --path skills/foo # Explicit path
|
|
112
|
+
skillfish add owner/repo --all # Install all skills
|
|
113
|
+
skillfish add owner/repo --force # Overwrite existing
|
|
114
|
+
skillfish add owner/repo --yes # Skip confirmation
|
|
115
|
+
skillfish add owner/repo --project # Project only (./)
|
|
116
|
+
skillfish add owner/repo --global # Global only (~/)
|
|
111
117
|
```
|
|
112
118
|
|
|
113
119
|
### list
|
|
@@ -115,10 +121,10 @@ npx skillfish add owner/repo --global # Global only (~/)
|
|
|
115
121
|
View installed skills.
|
|
116
122
|
|
|
117
123
|
```bash
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
124
|
+
skillfish list # List all installed skills
|
|
125
|
+
skillfish list --global # Global skills only (~/)
|
|
126
|
+
skillfish list --project # Project skills only (./)
|
|
127
|
+
skillfish list --agent "Claude Code" # Specific agent
|
|
122
128
|
```
|
|
123
129
|
|
|
124
130
|
### remove
|
|
@@ -126,13 +132,13 @@ npx skillfish list --agent "Claude Code" # Specific agent
|
|
|
126
132
|
Remove installed skills.
|
|
127
133
|
|
|
128
134
|
```bash
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
135
|
+
skillfish remove # Interactive picker
|
|
136
|
+
skillfish remove my-skill # By name
|
|
137
|
+
skillfish remove --all # Remove all
|
|
138
|
+
skillfish remove my-skill --project # Project only
|
|
139
|
+
skillfish remove my-skill --global # Global only
|
|
140
|
+
skillfish remove my-skill --agent "Cursor" # Specific agent
|
|
141
|
+
skillfish remove my-skill --yes # Skip confirmation
|
|
136
142
|
```
|
|
137
143
|
|
|
138
144
|
### update
|
|
@@ -140,9 +146,9 @@ npx skillfish remove my-skill --yes # Skip confirmation
|
|
|
140
146
|
Update installed skills to latest version.
|
|
141
147
|
|
|
142
148
|
```bash
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
149
|
+
skillfish update # Check for updates interactively
|
|
150
|
+
skillfish update --yes # Update all without prompting
|
|
151
|
+
skillfish update --json # Check for updates (JSON output)
|
|
146
152
|
```
|
|
147
153
|
|
|
148
154
|
<details>
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { Command } from 'commander';
|
|
|
8
8
|
import { readFileSync } from 'fs';
|
|
9
9
|
import { fileURLToPath } from 'url';
|
|
10
10
|
import { dirname, join } from 'path';
|
|
11
|
+
import updateNotifier from 'update-notifier';
|
|
11
12
|
import { addCommand } from './commands/add.js';
|
|
12
13
|
import { listCommand } from './commands/list.js';
|
|
13
14
|
import { removeCommand } from './commands/remove.js';
|
|
@@ -15,6 +16,8 @@ import { updateCommand } from './commands/update.js';
|
|
|
15
16
|
// Read version from package.json (single source of truth)
|
|
16
17
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
18
|
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
19
|
+
// Check for updates (runs in background, non-blocking)
|
|
20
|
+
const notifier = updateNotifier({ pkg });
|
|
18
21
|
const program = new Command()
|
|
19
22
|
.name('skillfish')
|
|
20
23
|
.description('Install and manage AI agent skills from GitHub repositories')
|
|
@@ -52,7 +55,17 @@ program.on('option:json', () => {
|
|
|
52
55
|
// JSON mode is handled by commands
|
|
53
56
|
});
|
|
54
57
|
// Parse and run
|
|
55
|
-
program
|
|
58
|
+
program
|
|
59
|
+
.parseAsync(process.argv)
|
|
60
|
+
.then(() => {
|
|
61
|
+
// Show update notification after command completes (if update available)
|
|
62
|
+
notifier.notify({
|
|
63
|
+
message: `Update available: {currentVersion} → {latestVersion}
|
|
64
|
+
Run: npx skillfish@latest
|
|
65
|
+
Or: npm i -g skillfish`,
|
|
66
|
+
});
|
|
67
|
+
})
|
|
68
|
+
.catch((err) => {
|
|
56
69
|
console.error('Error:', err instanceof Error ? err.message : String(err));
|
|
57
70
|
process.exit(1);
|
|
58
71
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "skillfish",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Install AI agent skills from GitHub with a single command",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -71,11 +71,13 @@
|
|
|
71
71
|
"@clack/prompts": "^0.11.0",
|
|
72
72
|
"commander": "^14.0.2",
|
|
73
73
|
"giget": "^3.1.1",
|
|
74
|
-
"picocolors": "^1.1.1"
|
|
74
|
+
"picocolors": "^1.1.1",
|
|
75
|
+
"update-notifier": "^7.3.1"
|
|
75
76
|
},
|
|
76
77
|
"devDependencies": {
|
|
77
78
|
"@eslint/js": "^9.39.2",
|
|
78
79
|
"@types/node": "^20.0.0",
|
|
80
|
+
"@types/update-notifier": "^6.0.8",
|
|
79
81
|
"eslint": "^9.39.2",
|
|
80
82
|
"eslint-config-prettier": "^10.1.8",
|
|
81
83
|
"husky": "^9.1.7",
|