agent-skill-manager-cli 0.1.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.
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-skill-manager-cli
3
+ Version: 0.1.0
4
+ Summary: A package manager for AI agent skills - install, update, and manage agent skill packages
5
+ Author: PCHANUL
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/PCHANUL/Skills
8
+ Project-URL: Repository, https://github.com/PCHANUL/Skills
9
+ Project-URL: Issues, https://github.com/PCHANUL/Skills/issues
10
+ Keywords: ai,agent,skills,package-manager,llm,automation
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ Requires-Dist: pyyaml>=6.0
25
+
26
+ # Agent Skill Manager
27
+
28
+ A package manager for AI agent skills - install, update, and manage agent skill packages.
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ pip install agent-skill-manager
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ ### Install a Skill Package
39
+
40
+ ```bash
41
+ # Install globally (to ~/.skills)
42
+ skill-manager install https://github.com/PCHANUL/Skills.git
43
+
44
+ # Install locally (to ./.skills in current project)
45
+ skill-manager install https://github.com/PCHANUL/Skills.git --local
46
+ ```
47
+
48
+ ### Update Skills
49
+
50
+ ```bash
51
+ # Update all installed skills
52
+ skill-manager update
53
+
54
+ # Update a specific skill
55
+ skill-manager update Skills
56
+ ```
57
+
58
+ ### List Installed Skills
59
+
60
+ ```bash
61
+ skill-manager list
62
+ ```
63
+
64
+ ### Remove a Skill
65
+
66
+ ```bash
67
+ skill-manager remove Skills
68
+ ```
69
+
70
+ ## Storage Locations
71
+
72
+ - **Global**: `~/.skills/` (shared across all projects)
73
+ - **Local**: `./.skills/` (project-specific)
74
+
75
+ ## What are Agent Skills?
76
+
77
+ Agent skills are reusable instruction sets and helper scripts for AI assistants. Each skill contains:
78
+
79
+ - `SKILL.md`: Instructions on how to perform a specific task
80
+ - `scripts/`: Helper scripts that automate parts of the workflow
81
+
82
+ ## License
83
+
84
+ MIT
@@ -0,0 +1,59 @@
1
+ # Agent Skill Manager
2
+
3
+ A package manager for AI agent skills - install, update, and manage agent skill packages.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pip install agent-skill-manager
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Install a Skill Package
14
+
15
+ ```bash
16
+ # Install globally (to ~/.skills)
17
+ skill-manager install https://github.com/PCHANUL/Skills.git
18
+
19
+ # Install locally (to ./.skills in current project)
20
+ skill-manager install https://github.com/PCHANUL/Skills.git --local
21
+ ```
22
+
23
+ ### Update Skills
24
+
25
+ ```bash
26
+ # Update all installed skills
27
+ skill-manager update
28
+
29
+ # Update a specific skill
30
+ skill-manager update Skills
31
+ ```
32
+
33
+ ### List Installed Skills
34
+
35
+ ```bash
36
+ skill-manager list
37
+ ```
38
+
39
+ ### Remove a Skill
40
+
41
+ ```bash
42
+ skill-manager remove Skills
43
+ ```
44
+
45
+ ## Storage Locations
46
+
47
+ - **Global**: `~/.skills/` (shared across all projects)
48
+ - **Local**: `./.skills/` (project-specific)
49
+
50
+ ## What are Agent Skills?
51
+
52
+ Agent skills are reusable instruction sets and helper scripts for AI assistants. Each skill contains:
53
+
54
+ - `SKILL.md`: Instructions on how to perform a specific task
55
+ - `scripts/`: Helper scripts that automate parts of the workflow
56
+
57
+ ## License
58
+
59
+ MIT
@@ -0,0 +1,42 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "agent-skill-manager-cli"
7
+ version = "0.1.0"
8
+ description = "A package manager for AI agent skills - install, update, and manage agent skill packages"
9
+ readme = "README.md"
10
+ license = {text = "MIT"}
11
+ requires-python = ">=3.8"
12
+ keywords = ["ai", "agent", "skills", "package-manager", "llm", "automation"]
13
+ authors = [
14
+ {name = "PCHANUL"}
15
+ ]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.8",
22
+ "Programming Language :: Python :: 3.9",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Topic :: Software Development :: Libraries :: Python Modules",
27
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
28
+ ]
29
+ dependencies = [
30
+ "pyyaml>=6.0",
31
+ ]
32
+
33
+ [project.urls]
34
+ Homepage = "https://github.com/PCHANUL/Skills"
35
+ Repository = "https://github.com/PCHANUL/Skills"
36
+ Issues = "https://github.com/PCHANUL/Skills/issues"
37
+
38
+ [project.scripts]
39
+ skill-manager = "agent_skill_manager.cli:main"
40
+
41
+ [tool.setuptools.packages.find]
42
+ where = ["src"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,5 @@
1
+ """
2
+ Agent Skill Manager - A package manager for AI agent skills.
3
+ """
4
+
5
+ __version__ = "0.1.0"
@@ -0,0 +1,204 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Skill Manager CLI - A package manager for AI agent skills.
4
+
5
+ Usage:
6
+ skill-manager install <github_url> [--local]
7
+ skill-manager update [skill_name]
8
+ skill-manager list
9
+ skill-manager remove <skill_name>
10
+ """
11
+
12
+ import argparse
13
+ import json
14
+ import os
15
+ import shutil
16
+ import subprocess
17
+ import sys
18
+
19
+ # Default skills directory (global)
20
+ DEFAULT_SKILLS_DIR = os.path.expanduser("~/.skills")
21
+ LOCAL_SKILLS_DIR = ".skills"
22
+ MANIFEST_FILE = "skills.json"
23
+
24
+ def get_skills_dir(local=False):
25
+ """Returns the appropriate skills directory."""
26
+ if local and os.path.exists(LOCAL_SKILLS_DIR):
27
+ return LOCAL_SKILLS_DIR
28
+ elif local:
29
+ os.makedirs(LOCAL_SKILLS_DIR, exist_ok=True)
30
+ return LOCAL_SKILLS_DIR
31
+ else:
32
+ os.makedirs(DEFAULT_SKILLS_DIR, exist_ok=True)
33
+ return DEFAULT_SKILLS_DIR
34
+
35
+ def get_manifest_path(skills_dir):
36
+ return os.path.join(skills_dir, MANIFEST_FILE)
37
+
38
+ def load_manifest(skills_dir):
39
+ manifest_path = get_manifest_path(skills_dir)
40
+ if os.path.exists(manifest_path):
41
+ with open(manifest_path, 'r') as f:
42
+ return json.load(f)
43
+ return {"installed": {}}
44
+
45
+ def save_manifest(skills_dir, manifest):
46
+ manifest_path = get_manifest_path(skills_dir)
47
+ with open(manifest_path, 'w') as f:
48
+ json.dump(manifest, f, indent=2)
49
+
50
+ def extract_skill_name(url):
51
+ """Extracts skill name from GitHub URL."""
52
+ # https://github.com/user/repo.git -> repo
53
+ name = url.rstrip('/').rstrip('.git').split('/')[-1]
54
+ return name
55
+
56
+ def install_skill(url, local=False):
57
+ """Clones a skill repository from GitHub."""
58
+ skills_dir = get_skills_dir(local)
59
+ skill_name = extract_skill_name(url)
60
+ skill_path = os.path.join(skills_dir, skill_name)
61
+
62
+ if os.path.exists(skill_path):
63
+ print(f"Skill '{skill_name}' already installed at {skill_path}.")
64
+ print("Use 'skill-manager update' to update it.")
65
+ return
66
+
67
+ print(f"Installing '{skill_name}' from {url}...")
68
+ result = subprocess.run(["git", "clone", url, skill_path], capture_output=True, text=True)
69
+
70
+ if result.returncode != 0:
71
+ print(f"Error cloning repository: {result.stderr}")
72
+ return
73
+
74
+ # Update manifest
75
+ manifest = load_manifest(skills_dir)
76
+ manifest["installed"][skill_name] = {
77
+ "url": url,
78
+ "path": skill_path
79
+ }
80
+ save_manifest(skills_dir, manifest)
81
+
82
+ print(f"✅ Successfully installed '{skill_name}' to {skill_path}")
83
+
84
+ # Run index if available
85
+ index_script = os.path.join(skill_path, "skill-manager", "scripts", "index_skills.py")
86
+ if os.path.exists(index_script):
87
+ print("Indexing skills...")
88
+ subprocess.run(["python3", index_script, skill_path])
89
+
90
+ def update_skill(skill_name=None, local=False):
91
+ """Updates installed skills by pulling latest changes."""
92
+ skills_dir = get_skills_dir(local)
93
+ manifest = load_manifest(skills_dir)
94
+
95
+ if not manifest["installed"]:
96
+ print("No skills installed.")
97
+ return
98
+
99
+ skills_to_update = [skill_name] if skill_name else list(manifest["installed"].keys())
100
+
101
+ for name in skills_to_update:
102
+ if name not in manifest["installed"]:
103
+ print(f"Skill '{name}' not found.")
104
+ continue
105
+
106
+ skill_path = manifest["installed"][name]["path"]
107
+ print(f"Updating '{name}'...")
108
+
109
+ result = subprocess.run(
110
+ ["git", "-C", skill_path, "pull", "origin", "main"],
111
+ capture_output=True, text=True
112
+ )
113
+
114
+ if result.returncode == 0:
115
+ print(f"✅ '{name}' updated successfully.")
116
+ else:
117
+ # Try 'master' branch as fallback
118
+ result = subprocess.run(
119
+ ["git", "-C", skill_path, "pull", "origin", "master"],
120
+ capture_output=True, text=True
121
+ )
122
+ if result.returncode == 0:
123
+ print(f"✅ '{name}' updated successfully.")
124
+ else:
125
+ print(f"⚠️ Failed to update '{name}': {result.stderr}")
126
+
127
+ def list_skills(local=False):
128
+ """Lists all installed skills."""
129
+ # Check both global and local
130
+ print("\n--- Installed Skills ---")
131
+
132
+ for is_local, label in [(False, "Global (~/.skills)"), (True, "Local (.skills)")]:
133
+ skills_dir = DEFAULT_SKILLS_DIR if not is_local else LOCAL_SKILLS_DIR
134
+ if not os.path.exists(skills_dir):
135
+ continue
136
+
137
+ manifest = load_manifest(skills_dir)
138
+ if manifest["installed"]:
139
+ print(f"\n{label}:")
140
+ for name, info in manifest["installed"].items():
141
+ print(f" 🔹 {name}")
142
+ print(f" Source: {info['url']}")
143
+
144
+ print("\n------------------------")
145
+
146
+ def remove_skill(skill_name, local=False):
147
+ """Removes an installed skill."""
148
+ skills_dir = get_skills_dir(local)
149
+ manifest = load_manifest(skills_dir)
150
+
151
+ if skill_name not in manifest["installed"]:
152
+ print(f"Skill '{skill_name}' not found.")
153
+ return
154
+
155
+ skill_path = manifest["installed"][skill_name]["path"]
156
+
157
+ confirm = input(f"Remove '{skill_name}' from {skill_path}? (y/n): ")
158
+ if confirm.lower() != 'y':
159
+ print("Cancelled.")
160
+ return
161
+
162
+ shutil.rmtree(skill_path, ignore_errors=True)
163
+ del manifest["installed"][skill_name]
164
+ save_manifest(skills_dir, manifest)
165
+
166
+ print(f"✅ Removed '{skill_name}'.")
167
+
168
+ def main():
169
+ parser = argparse.ArgumentParser(
170
+ description="Skill Manager - A package manager for AI agent skills."
171
+ )
172
+ subparsers = parser.add_subparsers(dest='command', required=True)
173
+
174
+ # Install
175
+ install_parser = subparsers.add_parser('install', help='Install a skill from GitHub')
176
+ install_parser.add_argument('url', help='GitHub repository URL')
177
+ install_parser.add_argument('--local', action='store_true', help='Install to local .skills directory')
178
+
179
+ # Update
180
+ update_parser = subparsers.add_parser('update', help='Update installed skills')
181
+ update_parser.add_argument('skill_name', nargs='?', help='Specific skill to update (optional)')
182
+ update_parser.add_argument('--local', action='store_true', help='Update local skills')
183
+
184
+ # List
185
+ list_parser = subparsers.add_parser('list', help='List installed skills')
186
+
187
+ # Remove
188
+ remove_parser = subparsers.add_parser('remove', help='Remove a skill')
189
+ remove_parser.add_argument('skill_name', help='Skill name to remove')
190
+ remove_parser.add_argument('--local', action='store_true', help='Remove from local directory')
191
+
192
+ args = parser.parse_args()
193
+
194
+ if args.command == 'install':
195
+ install_skill(args.url, args.local)
196
+ elif args.command == 'update':
197
+ update_skill(args.skill_name, getattr(args, 'local', False))
198
+ elif args.command == 'list':
199
+ list_skills()
200
+ elif args.command == 'remove':
201
+ remove_skill(args.skill_name, args.local)
202
+
203
+ if __name__ == "__main__":
204
+ main()
@@ -0,0 +1,84 @@
1
+ Metadata-Version: 2.4
2
+ Name: agent-skill-manager-cli
3
+ Version: 0.1.0
4
+ Summary: A package manager for AI agent skills - install, update, and manage agent skill packages
5
+ Author: PCHANUL
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/PCHANUL/Skills
8
+ Project-URL: Repository, https://github.com/PCHANUL/Skills
9
+ Project-URL: Issues, https://github.com/PCHANUL/Skills/issues
10
+ Keywords: ai,agent,skills,package-manager,llm,automation
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Requires-Python: >=3.8
23
+ Description-Content-Type: text/markdown
24
+ Requires-Dist: pyyaml>=6.0
25
+
26
+ # Agent Skill Manager
27
+
28
+ A package manager for AI agent skills - install, update, and manage agent skill packages.
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ pip install agent-skill-manager
34
+ ```
35
+
36
+ ## Usage
37
+
38
+ ### Install a Skill Package
39
+
40
+ ```bash
41
+ # Install globally (to ~/.skills)
42
+ skill-manager install https://github.com/PCHANUL/Skills.git
43
+
44
+ # Install locally (to ./.skills in current project)
45
+ skill-manager install https://github.com/PCHANUL/Skills.git --local
46
+ ```
47
+
48
+ ### Update Skills
49
+
50
+ ```bash
51
+ # Update all installed skills
52
+ skill-manager update
53
+
54
+ # Update a specific skill
55
+ skill-manager update Skills
56
+ ```
57
+
58
+ ### List Installed Skills
59
+
60
+ ```bash
61
+ skill-manager list
62
+ ```
63
+
64
+ ### Remove a Skill
65
+
66
+ ```bash
67
+ skill-manager remove Skills
68
+ ```
69
+
70
+ ## Storage Locations
71
+
72
+ - **Global**: `~/.skills/` (shared across all projects)
73
+ - **Local**: `./.skills/` (project-specific)
74
+
75
+ ## What are Agent Skills?
76
+
77
+ Agent skills are reusable instruction sets and helper scripts for AI assistants. Each skill contains:
78
+
79
+ - `SKILL.md`: Instructions on how to perform a specific task
80
+ - `scripts/`: Helper scripts that automate parts of the workflow
81
+
82
+ ## License
83
+
84
+ MIT
@@ -0,0 +1,10 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/agent_skill_manager/__init__.py
4
+ src/agent_skill_manager/cli.py
5
+ src/agent_skill_manager_cli.egg-info/PKG-INFO
6
+ src/agent_skill_manager_cli.egg-info/SOURCES.txt
7
+ src/agent_skill_manager_cli.egg-info/dependency_links.txt
8
+ src/agent_skill_manager_cli.egg-info/entry_points.txt
9
+ src/agent_skill_manager_cli.egg-info/requires.txt
10
+ src/agent_skill_manager_cli.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ skill-manager = agent_skill_manager.cli:main