agent-skill-manager 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl

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.
@@ -1,8 +1,21 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-skill-manager
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
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
5
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
6
19
  Requires-Python: >=3.13
7
20
  Requires-Dist: httpx>=0.28.1
8
21
  Requires-Dist: inquirerpy>=0.3.4
@@ -46,14 +59,23 @@ A comprehensive CLI tool for managing AI agent skills across multiple platforms.
46
59
 
47
60
  ## Installation
48
61
 
49
- ### From PyPI
62
+ ### Quick Run with uvx (No Installation Required)
63
+
64
+ Run directly without installing (recommended for trying it out):
50
65
 
51
66
  ```bash
52
- # Using pip
53
- pip install agent-skill-manager
67
+ uv tool install agent-skill-manager
68
+ sm
69
+ ```
70
+
71
+ ### Permanent Installation
54
72
 
73
+ ```bash
55
74
  # Using uv (recommended)
56
- uv pip install agent-skill-manager
75
+ uv tool install agent-skill-manager
76
+
77
+ # Using pip
78
+ pip install agent-skill-manager
57
79
 
58
80
  # Using pipx (isolated installation)
59
81
  pipx install agent-skill-manager
@@ -68,23 +90,28 @@ uv sync
68
90
  uv pip install -e .
69
91
  ```
70
92
 
71
- ## Quick Start
93
+ ## Usage Methods Comparison
72
94
 
73
- ```bash
74
- # Install a skill from GitHub
75
- sm install
95
+ | Method | Command | Use Case |
96
+ |--------|---------|----------|
97
+ | **uvx (no install)** | `uvx --from agent-skill-manager sm install` | One-time use, testing, CI/CD |
98
+ | **uv tool install** | `uv tool install agent-skill-manager` then `sm install` | Regular use, isolated |
99
+ | **pip install** | `pip install agent-skill-manager` then `sm install` | Traditional installation |
100
+ | **From source** | `git clone ...` then `uv pip install -e .` | Development |
76
101
 
77
- # List installed skills
78
- sm list
79
-
80
- # Update all skills
81
- sm update --all
82
-
83
- # Deploy local skills to agents
84
- sm deploy
102
+ ## Quick Start
85
103
 
86
- # Uninstall a skill (safe delete)
87
- sm uninstall
104
+ ```bash
105
+ # Run without installing (using uvx)
106
+ uvx --from agent-skill-manager sm install
107
+ uvx --from agent-skill-manager sm list
108
+
109
+ # Or after installation, use sm command directly:
110
+ sm install # Install a skill from GitHub
111
+ sm list # List installed skills
112
+ sm update --all # Update all skills
113
+ sm deploy # Deploy local skills to agents
114
+ sm uninstall # Uninstall a skill (safe delete)
88
115
  ```
89
116
 
90
117
  ## Commands
@@ -0,0 +1,12 @@
1
+ skill_manager/__init__.py,sha256=0XIUCOGXT7Emm8ZLJ9YbNM-4Dv2v-m4Fkavq5onzwrY,1717
2
+ skill_manager/agents.py,sha256=1sqdXQwoZCXhedyfo608crZp3rjPX6-LpFU9WsK45sU,3590
3
+ skill_manager/cli.py,sha256=l5F_RDC7GFbsQZMRZhQ4GMPhiVAzyi8-hCB6sEy7OSc,36277
4
+ skill_manager/deployment.py,sha256=EVA-HdBcqcqz6IAZLoGU-BWEw0tOz_kjkRRxD_4ZC5Q,7672
5
+ skill_manager/github.py,sha256=WIju94QHVcJnCprwHujticgkeWs0Z07AXOJ6a39wKTg,4841
6
+ skill_manager/metadata.py,sha256=YF3vBxeujnbMwOJCM8G_zGBD6ZH5ZDMIBOpcKepBwAo,3457
7
+ skill_manager/removal.py,sha256=3yAn0Fd92_X40Z_SmxELHKKrWxew0vUGS8WO6Uq3730,8040
8
+ skill_manager/validation.py,sha256=fRUJDs4TiuKlH3doey31SPJfe671JJQcBFSAhJwoSIE,1970
9
+ agent_skill_manager-0.1.2.dist-info/METADATA,sha256=j3lF_fih1qOVaapFZql8WqgwCFg_EMv4rbsTUvmIDyM,6990
10
+ agent_skill_manager-0.1.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
11
+ agent_skill_manager-0.1.2.dist-info/entry_points.txt,sha256=ac3L07OC98p1llk259d9PUhDp-cl3ifV2nmYHGb3WO8,85
12
+ agent_skill_manager-0.1.2.dist-info/RECORD,,
@@ -0,0 +1,79 @@
1
+ """
2
+ Skill Manager - Tool for managing AI agent skills.
3
+
4
+ This package provides functionality to download, deploy, and manage
5
+ skills across different AI agent platforms.
6
+ """
7
+
8
+ __version__ = "0.1.0"
9
+
10
+ from .agents import AGENTS, detect_existing_agents, get_agent_name, get_agent_path
11
+ from .deployment import (
12
+ deploy_multiple_skills,
13
+ deploy_skill,
14
+ deploy_skill_to_agents,
15
+ update_all_skills,
16
+ update_skill,
17
+ )
18
+ from .github import (
19
+ download_skill_from_github,
20
+ parse_github_url,
21
+ )
22
+ from .metadata import (
23
+ has_github_source,
24
+ list_updatable_skills,
25
+ read_skill_metadata,
26
+ save_skill_metadata,
27
+ update_skill_metadata,
28
+ )
29
+ from .removal import (
30
+ clean_trash,
31
+ hard_delete_skill,
32
+ list_installed_skills,
33
+ list_trashed_skills,
34
+ restore_skill,
35
+ soft_delete_skill,
36
+ )
37
+ from .validation import (
38
+ get_project_root,
39
+ get_skill_name,
40
+ scan_available_skills,
41
+ validate_skill,
42
+ )
43
+
44
+ __all__ = [
45
+ # Version
46
+ "__version__",
47
+ # Agents
48
+ "AGENTS",
49
+ "detect_existing_agents",
50
+ "get_agent_name",
51
+ "get_agent_path",
52
+ # Deployment
53
+ "deploy_skill",
54
+ "deploy_skill_to_agents",
55
+ "deploy_multiple_skills",
56
+ "update_skill",
57
+ "update_all_skills",
58
+ # GitHub
59
+ "download_skill_from_github",
60
+ "parse_github_url",
61
+ # Metadata
62
+ "save_skill_metadata",
63
+ "read_skill_metadata",
64
+ "update_skill_metadata",
65
+ "list_updatable_skills",
66
+ "has_github_source",
67
+ # Removal
68
+ "soft_delete_skill",
69
+ "hard_delete_skill",
70
+ "restore_skill",
71
+ "list_installed_skills",
72
+ "list_trashed_skills",
73
+ "clean_trash",
74
+ # Validation
75
+ "validate_skill",
76
+ "get_skill_name",
77
+ "get_project_root",
78
+ "scan_available_skills",
79
+ ]
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Agent configuration and detection module.
4
+ Manages different AI agent skill directory configurations.
5
+ """
6
+
7
+ from pathlib import Path
8
+
9
+ # Agent configuration mapping
10
+ # Each agent has a name, project-level path, and global path
11
+ AGENTS = {
12
+ "opencode": {
13
+ "name": "OpenCode",
14
+ "project": ".opencode/skills/",
15
+ "global": "~/.config/opencode/skills/",
16
+ },
17
+ "claude-code": {
18
+ "name": "Claude Code",
19
+ "project": ".claude/skills/",
20
+ "global": "~/.claude/skills/",
21
+ },
22
+ "codex": {
23
+ "name": "Codex",
24
+ "project": ".codex/skills/",
25
+ "global": "~/.codex/skills/",
26
+ },
27
+ "cursor": {
28
+ "name": "Cursor",
29
+ "project": ".cursor/skills/",
30
+ "global": "~/.cursor/skills/",
31
+ },
32
+ "amp": {
33
+ "name": "Amp",
34
+ "project": ".agents/skills/",
35
+ "global": "~/.config/agents/skills/",
36
+ },
37
+ "kilo": {
38
+ "name": "Kilo Code",
39
+ "project": ".kilocode/skills/",
40
+ "global": "~/.kilocode/skills/",
41
+ },
42
+ "roo": {
43
+ "name": "Roo Code",
44
+ "project": ".roo/skills/",
45
+ "global": "~/.roo/skills/",
46
+ },
47
+ "goose": {
48
+ "name": "Goose",
49
+ "project": ".goose/skills/",
50
+ "global": "~/.config/goose/skills/",
51
+ },
52
+ "gemini-cli": {
53
+ "name": "Gemini CLI",
54
+ "project": ".gemini/skills/",
55
+ "global": "~/.gemini/skills/",
56
+ },
57
+ "antigravity": {
58
+ "name": "Antigravity",
59
+ "project": ".agent/skills/",
60
+ "global": "~/.gemini/antigravity/skills/",
61
+ },
62
+ "github-copilot": {
63
+ "name": "GitHub Copilot",
64
+ "project": ".github/skills/",
65
+ "global": "~/.copilot/skills/",
66
+ },
67
+ "clawdbot": {
68
+ "name": "Clawdbot",
69
+ "project": "skills/",
70
+ "global": "~/.clawdbot/skills/",
71
+ },
72
+ "droid": {
73
+ "name": "Droid",
74
+ "project": ".factory/skills/",
75
+ "global": "~/.factory/skills/",
76
+ },
77
+ "windsurf": {
78
+ "name": "Windsurf",
79
+ "project": ".windsurf/skills/",
80
+ "global": "~/.codeium/windsurf/skills/",
81
+ },
82
+ }
83
+
84
+
85
+ def detect_existing_agents() -> dict[str, Path]:
86
+ """
87
+ Detect which agents are installed on the system.
88
+
89
+ Returns:
90
+ Dictionary mapping agent IDs to their global paths for installed agents.
91
+ """
92
+ existing = {}
93
+ for agent_id, info in AGENTS.items():
94
+ global_path = Path(info["global"]).expanduser()
95
+ if global_path.exists():
96
+ existing[agent_id] = global_path
97
+ return existing
98
+
99
+
100
+ def get_agent_path(agent_id: str, deployment_type: str = "global", project_root: Path | None = None) -> Path:
101
+ """
102
+ Get the target path for an agent.
103
+
104
+ Args:
105
+ agent_id: The agent identifier
106
+ deployment_type: Either "global" or "project"
107
+ project_root: The project root directory (required for project deployment)
108
+
109
+ Returns:
110
+ The target path for the agent
111
+ """
112
+ if agent_id not in AGENTS:
113
+ raise ValueError(f"Unknown agent: {agent_id}")
114
+
115
+ info = AGENTS[agent_id]
116
+
117
+ if deployment_type == "global":
118
+ return Path(info["global"]).expanduser()
119
+ else:
120
+ if project_root is None:
121
+ project_root = Path.cwd()
122
+ return project_root / info["project"]
123
+
124
+
125
+ def get_agent_name(agent_id: str) -> str:
126
+ """
127
+ Get the display name for an agent.
128
+
129
+ Args:
130
+ agent_id: The agent identifier
131
+
132
+ Returns:
133
+ The agent's display name
134
+ """
135
+ if agent_id not in AGENTS:
136
+ raise ValueError(f"Unknown agent: {agent_id}")
137
+ return AGENTS[agent_id]["name"]