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.
Files changed (3) hide show
  1. package/README.md +34 -28
  2. package/dist/index.js +14 -1
  3. 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
- npx skillfish add user/my-skill # Install a skill
56
- npx skillfish add owner/repo --all # Install all skills from repo
57
- npx skillfish list # See what's installed
58
- npx skillfish update # Update all skills
59
- npx skillfish remove old-skill # Remove a skill
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
- npx skillfish add owner/repo # Auto-discover SKILL.md
103
- npx skillfish add owner/repo my-skill # Install by skill name
104
- npx skillfish add owner/repo/path/to/skill # Full path syntax
105
- npx skillfish add owner/repo --path skills/foo # Explicit path
106
- npx skillfish add owner/repo --all # Install all skills
107
- npx skillfish add owner/repo --force # Overwrite existing
108
- npx skillfish add owner/repo --yes # Skip confirmation
109
- npx skillfish add owner/repo --project # Project only (./)
110
- npx skillfish add owner/repo --global # Global only (~/)
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
- npx skillfish list # List all installed skills
119
- npx skillfish list --global # Global skills only (~/)
120
- npx skillfish list --project # Project skills only (./)
121
- npx skillfish list --agent "Claude Code" # Specific agent
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
- npx skillfish remove # Interactive picker
130
- npx skillfish remove my-skill # By name
131
- npx skillfish remove --all # Remove all
132
- npx skillfish remove my-skill --project # Project only
133
- npx skillfish remove my-skill --global # Global only
134
- npx skillfish remove my-skill --agent "Cursor" # Specific agent
135
- npx skillfish remove my-skill --yes # Skip confirmation
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
- npx skillfish update # Check for updates interactively
144
- npx skillfish update --yes # Update all without prompting
145
- npx skillfish update --json # Check for updates (JSON output)
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.parseAsync(process.argv).catch((err) => {
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.11",
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",