agent-skill-manager 0.1.2__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.
Files changed (23) hide show
  1. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/.gitignore +0 -1
  2. agent_skill_manager-0.2.0/PKG-INFO +388 -0
  3. agent_skill_manager-0.2.0/README.md +363 -0
  4. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/pyproject.toml +1 -1
  5. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0/skills/agent_skill_manager}/SKILL.md +28 -20
  6. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/__init__.py +17 -2
  7. agent_skill_manager-0.2.0/src/skill_manager/agents.py +325 -0
  8. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/cli.py +562 -60
  9. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/deployment.py +118 -7
  10. agent_skill_manager-0.2.0/src/skill_manager/github.py +326 -0
  11. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/metadata.py +7 -5
  12. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/removal.py +9 -10
  13. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/uv.lock +1 -1
  14. agent_skill_manager-0.1.2/PKG-INFO +0 -271
  15. agent_skill_manager-0.1.2/README.md +0 -246
  16. agent_skill_manager-0.1.2/src/skill_manager/agents.py +0 -137
  17. agent_skill_manager-0.1.2/src/skill_manager/github.py +0 -177
  18. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/.pre-commit-config.yaml +0 -0
  19. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/.python-version +0 -0
  20. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/examples/.gitkeep +0 -0
  21. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/scripts/.gitkeep +0 -0
  22. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/src/skill_manager/validation.py +0 -0
  23. {agent_skill_manager-0.1.2 → agent_skill_manager-0.2.0}/tests/.gitkeep +0 -0
@@ -22,7 +22,6 @@
22
22
  .agent/skills/
23
23
  .github/skills/
24
24
  .factory/skills/
25
- skills/
26
25
 
27
26
  # Byte-compiled / optimized / DLL files
28
27
  __pycache__/
@@ -0,0 +1,388 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-skill-manager
3
+ Version: 0.2.0
4
+ Summary: CLI tool for managing AI agent skills across multiple platforms
5
+ Project-URL: Homepage, https://github.com/ackness/skill-manager
6
+ Project-URL: Repository, https://github.com/ackness/skill-manager
7
+ Project-URL: Issues, https://github.com/ackness/skill-manager/issues
8
+ Project-URL: Documentation, https://github.com/ackness/skill-manager#readme
9
+ Author-email: ackness <ackness8@gmail.com>
10
+ License: MIT
11
+ Keywords: agents,ai,claude,cli,cursor,skills,windsurf
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.13
17
+ Classifier: Topic :: Software Development :: Libraries
18
+ Classifier: Topic :: Utilities
19
+ Requires-Python: >=3.13
20
+ Requires-Dist: httpx>=0.28.1
21
+ Requires-Dist: inquirerpy>=0.3.4
22
+ Requires-Dist: loguru>=0.7.3
23
+ Requires-Dist: rich>=14.2.0
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Agent Skill Manager
27
+
28
+ ALL codes are written by Claude Code.
29
+
30
+ 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.
31
+
32
+ [![PyPI version](https://badge.fury.io/py/agent-skill-manager.svg)](https://pypi.org/project/agent-skill-manager/)
33
+ [![Python 3.13+](https://img.shields.io/badge/python-3.13+-blue.svg)](https://www.python.org/downloads/)
34
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
35
+
36
+ ## Features
37
+
38
+ - 📥 **Download** skills from GitHub with metadata tracking
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
43
+ - 🗑️ **Uninstall** with safe deletion (move to trash) or hard delete
44
+ - ♻️ **Restore** deleted skills from trash
45
+ - 📋 **List** all installed skills with version information
46
+ - ⚡ **CLI-first** - full command-line parameter support for automation
47
+
48
+ ## Supported AI Agents
49
+
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
+ > ```
102
+
103
+ ## Installation
104
+
105
+ ### Recommended: Install with uv tool
106
+
107
+ The best way to install is using `uv tool`:
108
+
109
+ ```bash
110
+ # Install from PyPI
111
+ uv tool install agent-skill-manager
112
+
113
+ # Verify installation
114
+ sm --version
115
+
116
+ # Start using
117
+ sm install
118
+ ```
119
+
120
+ **Why uv tool?**
121
+ - Isolated environment (no package conflicts)
122
+ - Easy updates: `uv tool upgrade agent-skill-manager`
123
+ - Clean uninstall: `uv tool uninstall agent-skill-manager`
124
+ - Works across all projects
125
+
126
+ ### Alternative: Run Without Installing
127
+
128
+ For one-time use or testing:
129
+
130
+ ```bash
131
+ # Run directly with uvx (no installation needed)
132
+ uvx agent-skill-manager
133
+
134
+ # Or run specific commands
135
+ uvx --from agent-skill-manager sm install
136
+ uvx --from agent-skill-manager sm list
137
+ ```
138
+
139
+ ### Other Installation Methods
140
+
141
+ ```bash
142
+ # Using pip
143
+ pip install agent-skill-manager
144
+
145
+ # Using pipx (isolated like uv tool)
146
+ pipx install agent-skill-manager
147
+
148
+ # From source (for development)
149
+ git clone https://github.com/ackness/skill-manager.git
150
+ cd skill-manager
151
+ uv sync
152
+ uv pip install -e .
153
+ ```
154
+
155
+ ## Usage Methods Comparison
156
+
157
+ | Method | Command | Use Case |
158
+ |--------|---------|----------|
159
+ | **uvx (no install)** | `uvx --from agent-skill-manager sm install` | One-time use, testing, CI/CD |
160
+ | **uv tool install** | `uv tool install agent-skill-manager` then `sm install` | Regular use, isolated |
161
+ | **pip install** | `pip install agent-skill-manager` then `sm install` | Traditional installation |
162
+ | **From source** | `git clone ...` then `uv pip install -e .` | Development |
163
+
164
+ ## Quick Start
165
+
166
+ ```bash
167
+ # Run without installing (using uvx)
168
+ uvx --from agent-skill-manager sm install
169
+ uvx --from agent-skill-manager sm list
170
+
171
+ # Or after installation, use sm command directly:
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
178
+ ```
179
+
180
+ ## Commands
181
+
182
+ | Command | Description |
183
+ |---------|-------------|
184
+ | `sm install [url]` | Download and deploy skills (with discovery) |
185
+ | `sm download [url]` | Download a skill from GitHub |
186
+ | `sm deploy` | Deploy local skills to agents |
187
+ | `sm discover [url]` | Discover all skills in a repository |
188
+ | `sm uninstall` | Remove skills (safe delete/hard delete) |
189
+ | `sm restore` | Restore deleted skills from trash |
190
+ | `sm update [--all]` | Update skills from GitHub |
191
+ | `sm list` | Show installed skills with versions |
192
+ | `sm agents` | List all supported agents |
193
+ | `sm --version` / `sm -v` | Show version information |
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
+
207
+ ## Usage Examples
208
+
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)
238
+
239
+ ```bash
240
+ sm install
241
+ # Enter URL when prompted
242
+ # Follow the prompts to save locally and deploy
243
+ ```
244
+
245
+ ### Update all skills
246
+
247
+ ```bash
248
+ sm update --all
249
+ # Automatically updates all skills installed from GitHub
250
+ ```
251
+
252
+ ### List installed skills with versions
253
+
254
+ ```bash
255
+ sm list
256
+ # Shows a table for each agent with:
257
+ # - Skill Name
258
+ # - Version/Updated timestamp
259
+ # - Source (GitHub/Local)
260
+ # - GitHub URL (for updatable skills)
261
+ ```
262
+
263
+ ### Safe delete and restore
264
+
265
+ ```bash
266
+ # Uninstall with safe delete (default)
267
+ sm uninstall
268
+
269
+ # Restore if needed
270
+ sm restore
271
+ ```
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
+
285
+ ## Version Tracking
286
+
287
+ The tool uses two methods for version identification:
288
+
289
+ 1. **GitHub Metadata** (for installed skills)
290
+ - Tracks installation and update timestamps
291
+ - Stores repository information
292
+ - Enables automatic updates
293
+
294
+ 2. **File Modification Time** (for local skills)
295
+ - Uses SKILL.md modification time as fallback
296
+ - For skills without metadata
297
+
298
+ ## Directory Structure
299
+
300
+ ### Global Installation
301
+ Skills are available to all projects:
302
+ ```
303
+ ~/.claude/skills/ # Claude Code
304
+ ~/.cursor/skills/ # Cursor
305
+ ~/.codeium/windsurf/skills/ # Windsurf
306
+ # ... other agents
307
+ ```
308
+
309
+ ### Project Installation
310
+ Skills are only available in the current project:
311
+ ```
312
+ project-root/
313
+ .claude/skills/
314
+ .cursor/skills/
315
+ # ... other agents
316
+ ```
317
+
318
+ ## Configuration
319
+
320
+ Each skill installed from GitHub includes metadata in `.skill_metadata.json`:
321
+
322
+ ```json
323
+ {
324
+ "source": "github",
325
+ "github_url": "https://github.com/...",
326
+ "owner": "user",
327
+ "repo": "repo-name",
328
+ "branch": "main",
329
+ "path": "skills/skill-name",
330
+ "installed_at": "2026-01-20T14:30:52+00:00",
331
+ "updated_at": "2026-01-20T14:30:52+00:00"
332
+ }
333
+ ```
334
+
335
+ ## Development
336
+
337
+ ### Adding Support for New Agents
338
+
339
+ Edit `src/skill_manager/agents.py` and add the agent configuration:
340
+
341
+ ```python
342
+ "agent-id": {
343
+ "name": "Agent Name",
344
+ "project": ".agent/skills/",
345
+ "global": "~/.agent/skills/",
346
+ }
347
+ ```
348
+
349
+ ### Running Tests
350
+
351
+ ```bash
352
+ uv run pytest
353
+ ```
354
+
355
+ ### Code Formatting
356
+
357
+ ```bash
358
+ uv run ruff format .
359
+ uv run ruff check . --fix
360
+ ```
361
+
362
+ ## Contributing
363
+
364
+ Contributions are welcome! Please feel free to submit a Pull Request.
365
+
366
+ 1. Fork the repository
367
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
368
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
369
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
370
+ 5. Open a Pull Request
371
+
372
+ ## Related Projects
373
+
374
+ - [Agent Skills Specification](https://agentskills.io/specification)
375
+ - [Agent Skills Registry](https://agentskills.io)
376
+
377
+ ## License
378
+
379
+ MIT License - See [LICENSE](LICENSE) file for details
380
+
381
+ ## Author
382
+
383
+ **ackness** - [ackness8@gmail.com](mailto:ackness8@gmail.com)
384
+
385
+ ## Acknowledgments
386
+
387
+ - Built following the [Agent Skills specification](https://agentskills.io/specification)
388
+ - Supports all major AI coding assistants