agent-skill-manager 0.1.3__tar.gz → 0.2.0__tar.gz
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.
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/.gitignore +0 -1
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/PKG-INFO +123 -28
- agent_skill_manager-0.2.0/README.md +363 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/pyproject.toml +1 -1
- agent_skill_manager-0.2.0/skills/agent_skill_manager/SKILL.md +386 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/__init__.py +17 -2
- agent_skill_manager-0.2.0/src/skill_manager/agents.py +325 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/cli.py +559 -64
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/deployment.py +118 -7
- agent_skill_manager-0.2.0/src/skill_manager/github.py +326 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/metadata.py +7 -5
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/removal.py +9 -10
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/uv.lock +1 -1
- agent_skill_manager-0.1.3/README.md +0 -268
- agent_skill_manager-0.1.3/src/skill_manager/agents.py +0 -137
- agent_skill_manager-0.1.3/src/skill_manager/github.py +0 -177
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/.pre-commit-config.yaml +0 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/.python-version +0 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/examples/.gitkeep +0 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/scripts/.gitkeep +0 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/src/skill_manager/validation.py +0 -0
- {agent_skill_manager-0.1.3 → agent_skill_manager-0.2.0}/tests/.gitkeep +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-skill-manager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: CLI tool for managing AI agent skills across multiple platforms
|
|
5
5
|
Project-URL: Homepage, https://github.com/ackness/skill-manager
|
|
6
6
|
Project-URL: Repository, https://github.com/ackness/skill-manager
|
|
@@ -36,28 +36,69 @@ A comprehensive CLI tool for managing AI agent skills across multiple platforms.
|
|
|
36
36
|
## Features
|
|
37
37
|
|
|
38
38
|
- 📥 **Download** skills from GitHub with metadata tracking
|
|
39
|
-
-
|
|
40
|
-
-
|
|
39
|
+
- � **Discover** all skills in a repository automatically
|
|
40
|
+
- � **Deploy** skills to multiple AI agents (global or project-level)
|
|
41
|
+
- � **Symlink** support - save disk space with symbolic links
|
|
42
|
+
- � **Update** skills automatically from GitHub sources
|
|
41
43
|
- 🗑️ **Uninstall** with safe deletion (move to trash) or hard delete
|
|
42
44
|
- ♻️ **Restore** deleted skills from trash
|
|
43
45
|
- 📋 **List** all installed skills with version information
|
|
46
|
+
- ⚡ **CLI-first** - full command-line parameter support for automation
|
|
44
47
|
|
|
45
48
|
## Supported AI Agents
|
|
46
49
|
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
<!-- supported-agents:start -->
|
|
51
|
+
| Agent | `--agent` | Project Path | Global Path |
|
|
52
|
+
|-------|-----------|--------------|-------------|
|
|
53
|
+
| Amp, Kimi Code CLI | `amp`, `kimi-cli` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
54
|
+
| Antigravity | `antigravity` | `.agent/skills/` | `~/.gemini/antigravity/skills/` |
|
|
55
|
+
| Augment | `augment` | `.augment/rules/` | `~/.augment/rules/` |
|
|
56
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
57
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.moltbot/skills/` |
|
|
58
|
+
| Cline | `cline` | `.cline/skills/` | `~/.cline/skills/` |
|
|
59
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
60
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
61
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
62
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
63
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
64
|
+
| Cursor | `cursor` | `.cursor/skills/` | `~/.cursor/skills/` |
|
|
65
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
66
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
67
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
68
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
69
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
70
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
71
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
72
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
73
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
74
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
75
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
76
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
77
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
78
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
79
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
80
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
81
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
82
|
+
| Replit | `replit` | `.agents/skills/` | N/A (project-only) |
|
|
83
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
84
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
85
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
86
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
87
|
+
| Zencoder | `zencoder` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
88
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
89
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
90
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
91
|
+
<!-- supported-agents:end -->
|
|
92
|
+
|
|
93
|
+
> [!NOTE]
|
|
94
|
+
> **Kiro CLI users:** After installing skills, manually add them to your custom agent's `resources` in
|
|
95
|
+
> `.kiro/agents/<agent>.json`:
|
|
96
|
+
>
|
|
97
|
+
> ```json
|
|
98
|
+
> {
|
|
99
|
+
> "resources": ["skill://.kiro/skills/**/SKILL.md"]
|
|
100
|
+
> }
|
|
101
|
+
> ```
|
|
61
102
|
|
|
62
103
|
## Installation
|
|
63
104
|
|
|
@@ -128,34 +169,76 @@ uvx --from agent-skill-manager sm install
|
|
|
128
169
|
uvx --from agent-skill-manager sm list
|
|
129
170
|
|
|
130
171
|
# Or after installation, use sm command directly:
|
|
131
|
-
sm install # Install a skill from GitHub
|
|
132
|
-
sm list
|
|
133
|
-
sm update --all
|
|
134
|
-
sm deploy
|
|
135
|
-
sm uninstall
|
|
172
|
+
sm install # Install a skill from GitHub (interactive)
|
|
173
|
+
sm list # List installed skills
|
|
174
|
+
sm update --all # Update all skills
|
|
175
|
+
sm deploy # Deploy local skills to agents
|
|
176
|
+
sm uninstall # Uninstall a skill (safe delete)
|
|
177
|
+
sm agents # List all supported agents
|
|
136
178
|
```
|
|
137
179
|
|
|
138
180
|
## Commands
|
|
139
181
|
|
|
140
182
|
| Command | Description |
|
|
141
183
|
|---------|-------------|
|
|
142
|
-
| `sm
|
|
184
|
+
| `sm install [url]` | Download and deploy skills (with discovery) |
|
|
185
|
+
| `sm download [url]` | Download a skill from GitHub |
|
|
143
186
|
| `sm deploy` | Deploy local skills to agents |
|
|
144
|
-
| `sm
|
|
187
|
+
| `sm discover [url]` | Discover all skills in a repository |
|
|
145
188
|
| `sm uninstall` | Remove skills (safe delete/hard delete) |
|
|
146
189
|
| `sm restore` | Restore deleted skills from trash |
|
|
147
|
-
| `sm update` | Update
|
|
148
|
-
| `sm update --all` | Update all GitHub-sourced skills |
|
|
190
|
+
| `sm update [--all]` | Update skills from GitHub |
|
|
149
191
|
| `sm list` | Show installed skills with versions |
|
|
192
|
+
| `sm agents` | List all supported agents |
|
|
150
193
|
| `sm --version` / `sm -v` | Show version information |
|
|
151
194
|
|
|
195
|
+
## CLI Options
|
|
196
|
+
|
|
197
|
+
| Option | Description |
|
|
198
|
+
|--------|-------------|
|
|
199
|
+
| `-a, --agent AGENT` | Target agent(s), can be specified multiple times |
|
|
200
|
+
| `-t, --type TYPE` | Deployment type: `global` (default) or `project` |
|
|
201
|
+
| `-d, --dest PATH` | Custom destination directory for downloads |
|
|
202
|
+
| `--symlink` | Use symlinks instead of copying files |
|
|
203
|
+
| `--discover` | Discover and install all skills in repository |
|
|
204
|
+
| `--no-deploy` | Download only, skip deployment |
|
|
205
|
+
| `-y, --yes` | Skip confirmation prompts |
|
|
206
|
+
|
|
152
207
|
## Usage Examples
|
|
153
208
|
|
|
154
|
-
### Install
|
|
209
|
+
### Install all skills from a repository
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Discover and install all skills from a repository
|
|
213
|
+
sm install https://github.com/cloudflare/skills --discover -a windsurf -a cursor
|
|
214
|
+
|
|
215
|
+
# Use symlinks to save disk space (single source, multiple agents)
|
|
216
|
+
sm install https://github.com/cloudflare/skills --discover --symlink -a windsurf
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Install a single skill with CLI options
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Full CLI mode - no prompts
|
|
223
|
+
sm install https://github.com/user/repo/tree/main/skills/my-skill -a claude-code -t global
|
|
224
|
+
|
|
225
|
+
# Download to custom location
|
|
226
|
+
sm install https://github.com/user/repo/tree/main/skills/my-skill -d ./my-skills -a cursor
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Discover skills in a repository
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Scan a repository to find all skills
|
|
233
|
+
sm discover https://github.com/cloudflare/skills
|
|
234
|
+
# Shows a table of all found skills with their paths
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Interactive mode (legacy)
|
|
155
238
|
|
|
156
239
|
```bash
|
|
157
240
|
sm install
|
|
158
|
-
# Enter URL
|
|
241
|
+
# Enter URL when prompted
|
|
159
242
|
# Follow the prompts to save locally and deploy
|
|
160
243
|
```
|
|
161
244
|
|
|
@@ -187,6 +270,18 @@ sm uninstall
|
|
|
187
270
|
sm restore
|
|
188
271
|
```
|
|
189
272
|
|
|
273
|
+
### Using symlinks
|
|
274
|
+
|
|
275
|
+
Symlinks allow you to maintain a single copy of skills while deploying to multiple agents:
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Download skills to a central location and symlink to agents
|
|
279
|
+
sm install https://github.com/cloudflare/skills --discover -d ~/skills --symlink -a windsurf -a cursor -a claude-code
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
> [!NOTE]
|
|
283
|
+
> On Windows, symlinks require Developer Mode or administrator privileges. If symlinks are not supported, the tool will automatically fall back to copying.
|
|
284
|
+
|
|
190
285
|
## Version Tracking
|
|
191
286
|
|
|
192
287
|
The tool uses two methods for version identification:
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
# Agent Skill Manager
|
|
2
|
+
|
|
3
|
+
ALL codes are written by Claude Code.
|
|
4
|
+
|
|
5
|
+
A comprehensive CLI tool for managing AI agent skills across multiple platforms. Download, deploy, update, and manage skills for AI coding assistants like Claude Code, Cursor, Windsurf, and more.
|
|
6
|
+
|
|
7
|
+
[](https://pypi.org/project/agent-skill-manager/)
|
|
8
|
+
[](https://www.python.org/downloads/)
|
|
9
|
+
[](https://opensource.org/licenses/MIT)
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- 📥 **Download** skills from GitHub with metadata tracking
|
|
14
|
+
- � **Discover** all skills in a repository automatically
|
|
15
|
+
- � **Deploy** skills to multiple AI agents (global or project-level)
|
|
16
|
+
- � **Symlink** support - save disk space with symbolic links
|
|
17
|
+
- � **Update** skills automatically from GitHub sources
|
|
18
|
+
- 🗑️ **Uninstall** with safe deletion (move to trash) or hard delete
|
|
19
|
+
- ♻️ **Restore** deleted skills from trash
|
|
20
|
+
- 📋 **List** all installed skills with version information
|
|
21
|
+
- ⚡ **CLI-first** - full command-line parameter support for automation
|
|
22
|
+
|
|
23
|
+
## Supported AI Agents
|
|
24
|
+
|
|
25
|
+
<!-- supported-agents:start -->
|
|
26
|
+
| Agent | `--agent` | Project Path | Global Path |
|
|
27
|
+
|-------|-----------|--------------|-------------|
|
|
28
|
+
| Amp, Kimi Code CLI | `amp`, `kimi-cli` | `.agents/skills/` | `~/.config/agents/skills/` |
|
|
29
|
+
| Antigravity | `antigravity` | `.agent/skills/` | `~/.gemini/antigravity/skills/` |
|
|
30
|
+
| Augment | `augment` | `.augment/rules/` | `~/.augment/rules/` |
|
|
31
|
+
| Claude Code | `claude-code` | `.claude/skills/` | `~/.claude/skills/` |
|
|
32
|
+
| OpenClaw | `openclaw` | `skills/` | `~/.moltbot/skills/` |
|
|
33
|
+
| Cline | `cline` | `.cline/skills/` | `~/.cline/skills/` |
|
|
34
|
+
| CodeBuddy | `codebuddy` | `.codebuddy/skills/` | `~/.codebuddy/skills/` |
|
|
35
|
+
| Codex | `codex` | `.agents/skills/` | `~/.codex/skills/` |
|
|
36
|
+
| Command Code | `command-code` | `.commandcode/skills/` | `~/.commandcode/skills/` |
|
|
37
|
+
| Continue | `continue` | `.continue/skills/` | `~/.continue/skills/` |
|
|
38
|
+
| Crush | `crush` | `.crush/skills/` | `~/.config/crush/skills/` |
|
|
39
|
+
| Cursor | `cursor` | `.cursor/skills/` | `~/.cursor/skills/` |
|
|
40
|
+
| Droid | `droid` | `.factory/skills/` | `~/.factory/skills/` |
|
|
41
|
+
| Gemini CLI | `gemini-cli` | `.agents/skills/` | `~/.gemini/skills/` |
|
|
42
|
+
| GitHub Copilot | `github-copilot` | `.agents/skills/` | `~/.copilot/skills/` |
|
|
43
|
+
| Goose | `goose` | `.goose/skills/` | `~/.config/goose/skills/` |
|
|
44
|
+
| Junie | `junie` | `.junie/skills/` | `~/.junie/skills/` |
|
|
45
|
+
| iFlow CLI | `iflow-cli` | `.iflow/skills/` | `~/.iflow/skills/` |
|
|
46
|
+
| Kilo Code | `kilo` | `.kilocode/skills/` | `~/.kilocode/skills/` |
|
|
47
|
+
| Kiro CLI | `kiro-cli` | `.kiro/skills/` | `~/.kiro/skills/` |
|
|
48
|
+
| Kode | `kode` | `.kode/skills/` | `~/.kode/skills/` |
|
|
49
|
+
| MCPJam | `mcpjam` | `.mcpjam/skills/` | `~/.mcpjam/skills/` |
|
|
50
|
+
| Mistral Vibe | `mistral-vibe` | `.vibe/skills/` | `~/.vibe/skills/` |
|
|
51
|
+
| Mux | `mux` | `.mux/skills/` | `~/.mux/skills/` |
|
|
52
|
+
| OpenCode | `opencode` | `.agents/skills/` | `~/.config/opencode/skills/` |
|
|
53
|
+
| OpenHands | `openhands` | `.openhands/skills/` | `~/.openhands/skills/` |
|
|
54
|
+
| Pi | `pi` | `.pi/skills/` | `~/.pi/agent/skills/` |
|
|
55
|
+
| Qoder | `qoder` | `.qoder/skills/` | `~/.qoder/skills/` |
|
|
56
|
+
| Qwen Code | `qwen-code` | `.qwen/skills/` | `~/.qwen/skills/` |
|
|
57
|
+
| Replit | `replit` | `.agents/skills/` | N/A (project-only) |
|
|
58
|
+
| Roo Code | `roo` | `.roo/skills/` | `~/.roo/skills/` |
|
|
59
|
+
| Trae | `trae` | `.trae/skills/` | `~/.trae/skills/` |
|
|
60
|
+
| Trae CN | `trae-cn` | `.trae/skills/` | `~/.trae-cn/skills/` |
|
|
61
|
+
| Windsurf | `windsurf` | `.windsurf/skills/` | `~/.codeium/windsurf/skills/` |
|
|
62
|
+
| Zencoder | `zencoder` | `.zencoder/skills/` | `~/.zencoder/skills/` |
|
|
63
|
+
| Neovate | `neovate` | `.neovate/skills/` | `~/.neovate/skills/` |
|
|
64
|
+
| Pochi | `pochi` | `.pochi/skills/` | `~/.pochi/skills/` |
|
|
65
|
+
| AdaL | `adal` | `.adal/skills/` | `~/.adal/skills/` |
|
|
66
|
+
<!-- supported-agents:end -->
|
|
67
|
+
|
|
68
|
+
> [!NOTE]
|
|
69
|
+
> **Kiro CLI users:** After installing skills, manually add them to your custom agent's `resources` in
|
|
70
|
+
> `.kiro/agents/<agent>.json`:
|
|
71
|
+
>
|
|
72
|
+
> ```json
|
|
73
|
+
> {
|
|
74
|
+
> "resources": ["skill://.kiro/skills/**/SKILL.md"]
|
|
75
|
+
> }
|
|
76
|
+
> ```
|
|
77
|
+
|
|
78
|
+
## Installation
|
|
79
|
+
|
|
80
|
+
### Recommended: Install with uv tool
|
|
81
|
+
|
|
82
|
+
The best way to install is using `uv tool`:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Install from PyPI
|
|
86
|
+
uv tool install agent-skill-manager
|
|
87
|
+
|
|
88
|
+
# Verify installation
|
|
89
|
+
sm --version
|
|
90
|
+
|
|
91
|
+
# Start using
|
|
92
|
+
sm install
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Why uv tool?**
|
|
96
|
+
- Isolated environment (no package conflicts)
|
|
97
|
+
- Easy updates: `uv tool upgrade agent-skill-manager`
|
|
98
|
+
- Clean uninstall: `uv tool uninstall agent-skill-manager`
|
|
99
|
+
- Works across all projects
|
|
100
|
+
|
|
101
|
+
### Alternative: Run Without Installing
|
|
102
|
+
|
|
103
|
+
For one-time use or testing:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Run directly with uvx (no installation needed)
|
|
107
|
+
uvx agent-skill-manager
|
|
108
|
+
|
|
109
|
+
# Or run specific commands
|
|
110
|
+
uvx --from agent-skill-manager sm install
|
|
111
|
+
uvx --from agent-skill-manager sm list
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Other Installation Methods
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Using pip
|
|
118
|
+
pip install agent-skill-manager
|
|
119
|
+
|
|
120
|
+
# Using pipx (isolated like uv tool)
|
|
121
|
+
pipx install agent-skill-manager
|
|
122
|
+
|
|
123
|
+
# From source (for development)
|
|
124
|
+
git clone https://github.com/ackness/skill-manager.git
|
|
125
|
+
cd skill-manager
|
|
126
|
+
uv sync
|
|
127
|
+
uv pip install -e .
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Usage Methods Comparison
|
|
131
|
+
|
|
132
|
+
| Method | Command | Use Case |
|
|
133
|
+
|--------|---------|----------|
|
|
134
|
+
| **uvx (no install)** | `uvx --from agent-skill-manager sm install` | One-time use, testing, CI/CD |
|
|
135
|
+
| **uv tool install** | `uv tool install agent-skill-manager` then `sm install` | Regular use, isolated |
|
|
136
|
+
| **pip install** | `pip install agent-skill-manager` then `sm install` | Traditional installation |
|
|
137
|
+
| **From source** | `git clone ...` then `uv pip install -e .` | Development |
|
|
138
|
+
|
|
139
|
+
## Quick Start
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Run without installing (using uvx)
|
|
143
|
+
uvx --from agent-skill-manager sm install
|
|
144
|
+
uvx --from agent-skill-manager sm list
|
|
145
|
+
|
|
146
|
+
# Or after installation, use sm command directly:
|
|
147
|
+
sm install # Install a skill from GitHub (interactive)
|
|
148
|
+
sm list # List installed skills
|
|
149
|
+
sm update --all # Update all skills
|
|
150
|
+
sm deploy # Deploy local skills to agents
|
|
151
|
+
sm uninstall # Uninstall a skill (safe delete)
|
|
152
|
+
sm agents # List all supported agents
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Commands
|
|
156
|
+
|
|
157
|
+
| Command | Description |
|
|
158
|
+
|---------|-------------|
|
|
159
|
+
| `sm install [url]` | Download and deploy skills (with discovery) |
|
|
160
|
+
| `sm download [url]` | Download a skill from GitHub |
|
|
161
|
+
| `sm deploy` | Deploy local skills to agents |
|
|
162
|
+
| `sm discover [url]` | Discover all skills in a repository |
|
|
163
|
+
| `sm uninstall` | Remove skills (safe delete/hard delete) |
|
|
164
|
+
| `sm restore` | Restore deleted skills from trash |
|
|
165
|
+
| `sm update [--all]` | Update skills from GitHub |
|
|
166
|
+
| `sm list` | Show installed skills with versions |
|
|
167
|
+
| `sm agents` | List all supported agents |
|
|
168
|
+
| `sm --version` / `sm -v` | Show version information |
|
|
169
|
+
|
|
170
|
+
## CLI Options
|
|
171
|
+
|
|
172
|
+
| Option | Description |
|
|
173
|
+
|--------|-------------|
|
|
174
|
+
| `-a, --agent AGENT` | Target agent(s), can be specified multiple times |
|
|
175
|
+
| `-t, --type TYPE` | Deployment type: `global` (default) or `project` |
|
|
176
|
+
| `-d, --dest PATH` | Custom destination directory for downloads |
|
|
177
|
+
| `--symlink` | Use symlinks instead of copying files |
|
|
178
|
+
| `--discover` | Discover and install all skills in repository |
|
|
179
|
+
| `--no-deploy` | Download only, skip deployment |
|
|
180
|
+
| `-y, --yes` | Skip confirmation prompts |
|
|
181
|
+
|
|
182
|
+
## Usage Examples
|
|
183
|
+
|
|
184
|
+
### Install all skills from a repository
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Discover and install all skills from a repository
|
|
188
|
+
sm install https://github.com/cloudflare/skills --discover -a windsurf -a cursor
|
|
189
|
+
|
|
190
|
+
# Use symlinks to save disk space (single source, multiple agents)
|
|
191
|
+
sm install https://github.com/cloudflare/skills --discover --symlink -a windsurf
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Install a single skill with CLI options
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Full CLI mode - no prompts
|
|
198
|
+
sm install https://github.com/user/repo/tree/main/skills/my-skill -a claude-code -t global
|
|
199
|
+
|
|
200
|
+
# Download to custom location
|
|
201
|
+
sm install https://github.com/user/repo/tree/main/skills/my-skill -d ./my-skills -a cursor
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Discover skills in a repository
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Scan a repository to find all skills
|
|
208
|
+
sm discover https://github.com/cloudflare/skills
|
|
209
|
+
# Shows a table of all found skills with their paths
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Interactive mode (legacy)
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
sm install
|
|
216
|
+
# Enter URL when prompted
|
|
217
|
+
# Follow the prompts to save locally and deploy
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### Update all skills
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
sm update --all
|
|
224
|
+
# Automatically updates all skills installed from GitHub
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### List installed skills with versions
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
sm list
|
|
231
|
+
# Shows a table for each agent with:
|
|
232
|
+
# - Skill Name
|
|
233
|
+
# - Version/Updated timestamp
|
|
234
|
+
# - Source (GitHub/Local)
|
|
235
|
+
# - GitHub URL (for updatable skills)
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### Safe delete and restore
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# Uninstall with safe delete (default)
|
|
242
|
+
sm uninstall
|
|
243
|
+
|
|
244
|
+
# Restore if needed
|
|
245
|
+
sm restore
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### Using symlinks
|
|
249
|
+
|
|
250
|
+
Symlinks allow you to maintain a single copy of skills while deploying to multiple agents:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Download skills to a central location and symlink to agents
|
|
254
|
+
sm install https://github.com/cloudflare/skills --discover -d ~/skills --symlink -a windsurf -a cursor -a claude-code
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
> [!NOTE]
|
|
258
|
+
> On Windows, symlinks require Developer Mode or administrator privileges. If symlinks are not supported, the tool will automatically fall back to copying.
|
|
259
|
+
|
|
260
|
+
## Version Tracking
|
|
261
|
+
|
|
262
|
+
The tool uses two methods for version identification:
|
|
263
|
+
|
|
264
|
+
1. **GitHub Metadata** (for installed skills)
|
|
265
|
+
- Tracks installation and update timestamps
|
|
266
|
+
- Stores repository information
|
|
267
|
+
- Enables automatic updates
|
|
268
|
+
|
|
269
|
+
2. **File Modification Time** (for local skills)
|
|
270
|
+
- Uses SKILL.md modification time as fallback
|
|
271
|
+
- For skills without metadata
|
|
272
|
+
|
|
273
|
+
## Directory Structure
|
|
274
|
+
|
|
275
|
+
### Global Installation
|
|
276
|
+
Skills are available to all projects:
|
|
277
|
+
```
|
|
278
|
+
~/.claude/skills/ # Claude Code
|
|
279
|
+
~/.cursor/skills/ # Cursor
|
|
280
|
+
~/.codeium/windsurf/skills/ # Windsurf
|
|
281
|
+
# ... other agents
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### Project Installation
|
|
285
|
+
Skills are only available in the current project:
|
|
286
|
+
```
|
|
287
|
+
project-root/
|
|
288
|
+
.claude/skills/
|
|
289
|
+
.cursor/skills/
|
|
290
|
+
# ... other agents
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
## Configuration
|
|
294
|
+
|
|
295
|
+
Each skill installed from GitHub includes metadata in `.skill_metadata.json`:
|
|
296
|
+
|
|
297
|
+
```json
|
|
298
|
+
{
|
|
299
|
+
"source": "github",
|
|
300
|
+
"github_url": "https://github.com/...",
|
|
301
|
+
"owner": "user",
|
|
302
|
+
"repo": "repo-name",
|
|
303
|
+
"branch": "main",
|
|
304
|
+
"path": "skills/skill-name",
|
|
305
|
+
"installed_at": "2026-01-20T14:30:52+00:00",
|
|
306
|
+
"updated_at": "2026-01-20T14:30:52+00:00"
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
## Development
|
|
311
|
+
|
|
312
|
+
### Adding Support for New Agents
|
|
313
|
+
|
|
314
|
+
Edit `src/skill_manager/agents.py` and add the agent configuration:
|
|
315
|
+
|
|
316
|
+
```python
|
|
317
|
+
"agent-id": {
|
|
318
|
+
"name": "Agent Name",
|
|
319
|
+
"project": ".agent/skills/",
|
|
320
|
+
"global": "~/.agent/skills/",
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### Running Tests
|
|
325
|
+
|
|
326
|
+
```bash
|
|
327
|
+
uv run pytest
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Code Formatting
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
uv run ruff format .
|
|
334
|
+
uv run ruff check . --fix
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
## Contributing
|
|
338
|
+
|
|
339
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
340
|
+
|
|
341
|
+
1. Fork the repository
|
|
342
|
+
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
343
|
+
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
|
|
344
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
345
|
+
5. Open a Pull Request
|
|
346
|
+
|
|
347
|
+
## Related Projects
|
|
348
|
+
|
|
349
|
+
- [Agent Skills Specification](https://agentskills.io/specification)
|
|
350
|
+
- [Agent Skills Registry](https://agentskills.io)
|
|
351
|
+
|
|
352
|
+
## License
|
|
353
|
+
|
|
354
|
+
MIT License - See [LICENSE](LICENSE) file for details
|
|
355
|
+
|
|
356
|
+
## Author
|
|
357
|
+
|
|
358
|
+
**ackness** - [ackness8@gmail.com](mailto:ackness8@gmail.com)
|
|
359
|
+
|
|
360
|
+
## Acknowledgments
|
|
361
|
+
|
|
362
|
+
- Built following the [Agent Skills specification](https://agentskills.io/specification)
|
|
363
|
+
- Supports all major AI coding assistants
|