@xelandernt/skilly 0.0.29 → 0.0.31
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.
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
Manage [Agent Skills](https://agentskills.io/specification) from the command line or Python.
|
|
12
12
|
|
|
13
|
-
`skilly` creates specification-compliant skills, installs skills from GitHub or
|
|
13
|
+
`skilly` creates specification-compliant skills, installs skills from GitHub, Python, or Node dependencies, and keeps managed skills up to date.
|
|
14
14
|
|
|
15
15
|
## Table of Contents
|
|
16
16
|
|
|
@@ -25,6 +25,7 @@ Manage [Agent Skills](https://agentskills.io/specification) from the command lin
|
|
|
25
25
|
- [Install Dependency Skills](#install-dependency-skills)
|
|
26
26
|
- [Install GitHub Skills](#install-github-skills)
|
|
27
27
|
- [Destinations](#destinations)
|
|
28
|
+
- [Configure Destinations](#configure-destinations)
|
|
28
29
|
- [GitHub Authentication](#github-authentication)
|
|
29
30
|
- [Python API](#python-api)
|
|
30
31
|
- [Development](#development)
|
|
@@ -35,8 +36,7 @@ Manage [Agent Skills](https://agentskills.io/specification) from the command lin
|
|
|
35
36
|
|
|
36
37
|
### Python
|
|
37
38
|
```shell
|
|
38
|
-
uvx skilly --help
|
|
39
|
-
pip install skilly # or install persistently
|
|
39
|
+
uvx skilly --help
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
### Node
|
|
@@ -62,23 +62,21 @@ brew install xelandernt/skilly/skilly
|
|
|
62
62
|
## Quick Start
|
|
63
63
|
|
|
64
64
|
```shell
|
|
65
|
-
uvx skilly
|
|
66
|
-
uvx skilly download <github-url> # Install skills from GitHub
|
|
67
|
-
uvx skilly list # Browse installed skills
|
|
68
|
-
uvx skilly update # Preview available updates
|
|
65
|
+
uvx skilly --help
|
|
69
66
|
```
|
|
70
67
|
|
|
71
68
|
## CLI Commands
|
|
72
69
|
|
|
73
70
|
| Command | Purpose |
|
|
74
71
|
|---------|---------|
|
|
75
|
-
| `scan` | Find skills provided by
|
|
72
|
+
| `scan` | Find skills provided by Python and Node project dependencies |
|
|
76
73
|
| `download <github-url>` | Install one or more skills from GitHub |
|
|
77
74
|
| `list` | Browse, update, or remove installed skills |
|
|
78
75
|
| `update` | Preview available updates; `--yes` applies all |
|
|
79
76
|
| `remove <name>` | Remove an installed skill by directory name |
|
|
80
77
|
| `skillsmp search <query>` | Search SkillsMP and install a selected result |
|
|
81
78
|
| `create` | Create a valid skill through a terminal wizard or explicit options |
|
|
79
|
+
| `configure` | Set which directories skilly manages via TUI or CLI flags |
|
|
82
80
|
|
|
83
81
|
Run `skilly <command> --help` for all options.
|
|
84
82
|
|
|
@@ -101,18 +99,25 @@ Existing skills are rejected unless `--overwrite` is passed.
|
|
|
101
99
|
|
|
102
100
|
### Install Dependency Skills
|
|
103
101
|
|
|
104
|
-
`skilly scan`
|
|
102
|
+
`skilly scan` discovers skills shipped by your project's dependencies across two ecosystems:
|
|
103
|
+
|
|
104
|
+
- **Python** — reads `pyproject.toml` and scans the project's `.venv` for packages that bundle skills in a `skills/` directory.
|
|
105
|
+
- **Node** — reads `package.json` (`dependencies`, `devDependencies`, `optionalDependencies`) and scans `node_modules/` for packages that bundle skills in a `skills/` directory.
|
|
105
106
|
|
|
106
107
|
```shell
|
|
107
108
|
uvx skilly scan
|
|
108
109
|
```
|
|
109
110
|
|
|
110
|
-
|
|
111
|
+
Both ecosystems are scanned by default whenever the corresponding manifest and package directory exist. Results are shown with their source (e.g. `node:dependencies`, `python:project`) and status (`installable`, `installed`, `updatable`).
|
|
112
|
+
|
|
113
|
+
Include or exclude specific Python extras and dependency groups:
|
|
111
114
|
|
|
112
115
|
```shell
|
|
113
116
|
uvx skilly scan --group dev --group test --exclude-extra docs
|
|
117
|
+
uvx skilly scan --no-project-dependencies # skip [project].dependencies
|
|
114
118
|
```
|
|
115
119
|
|
|
120
|
+
|
|
116
121
|
### Install GitHub Skills
|
|
117
122
|
|
|
118
123
|
```shell
|
|
@@ -141,7 +146,7 @@ uvx skilly list --directory ~/custom # Explicit directory
|
|
|
141
146
|
|
|
142
147
|
| Flags | Resolved destination |
|
|
143
148
|
|----------------------|-------------------------------------------------------|
|
|
144
|
-
| _none_ | `
|
|
149
|
+
| _none_ | `SKILLY_DEFAULT_DIRECTORY` if set, otherwise `.agents/skills` |
|
|
145
150
|
| `--local` | `.agents/skills` |
|
|
146
151
|
| `--global` | `~/.agents/skills` |
|
|
147
152
|
| `--claude` | `.claude/skills` |
|
|
@@ -155,10 +160,48 @@ uvx skilly list --directory ~/custom # Explicit directory
|
|
|
155
160
|
Set a default destination:
|
|
156
161
|
|
|
157
162
|
```shell
|
|
158
|
-
export
|
|
163
|
+
export SKILLY_DEFAULT_DIRECTORY="$HOME/.config/skilly/skills"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
`--directory` overrides all other destination options and `SKILLY_DEFAULT_DIRECTORY`.
|
|
167
|
+
|
|
168
|
+
### Configure Destinations
|
|
169
|
+
|
|
170
|
+
`skilly configure` lets you choose which directories skilly should manage and which one opens by default. Interactive terminals open a two-tab TUI (Global / Local) showing all known agent directories as toggleable checkboxes (agents, claude, codex, copilot). Non-interactive runs accept flags.
|
|
171
|
+
|
|
172
|
+
```shell
|
|
173
|
+
uvx skilly configure # Open the TUI
|
|
174
|
+
uvx skilly configure --show # Print current config as TOML
|
|
175
|
+
uvx skilly configure --reset # Restore defaults
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
In the TUI:
|
|
179
|
+
- **Space** toggles a known directory on or off, or removes a custom one.
|
|
180
|
+
- **Enter** sets the highlighted directory as the default (marked with a ★).
|
|
181
|
+
- **Ctrl+S** saves; you must have a default directory selected before saving.
|
|
182
|
+
|
|
183
|
+
Add or remove custom directories via CLI:
|
|
184
|
+
|
|
185
|
+
```shell
|
|
186
|
+
uvx skilly configure --add-global /opt/skills
|
|
187
|
+
uvx skilly configure --add-local .project/skills
|
|
188
|
+
uvx skilly configure --remove-global /opt/skills
|
|
189
|
+
uvx skilly configure --remove-local .project/skills
|
|
159
190
|
```
|
|
160
191
|
|
|
161
|
-
|
|
192
|
+
Configuration is stored in `~/.skilly.toml`:
|
|
193
|
+
|
|
194
|
+
```toml
|
|
195
|
+
default_directory = ".agents/skills"
|
|
196
|
+
|
|
197
|
+
[global]
|
|
198
|
+
directories = ["~/.agents/skills", "/opt/skills"]
|
|
199
|
+
|
|
200
|
+
[local]
|
|
201
|
+
directories = [".agents/skills", ".project/skills"]
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
The default directory opens first in interactive menus (`list`, `scan`, etc.).
|
|
162
205
|
|
|
163
206
|
### GitHub Authentication
|
|
164
207
|
|
|
@@ -201,12 +244,35 @@ for match in repository.scan_project():
|
|
|
201
244
|
Stateless discovery functions for one-shot reads:
|
|
202
245
|
|
|
203
246
|
```python
|
|
204
|
-
from skilly import
|
|
247
|
+
from skilly import (
|
|
248
|
+
discover_installed_skills,
|
|
249
|
+
discover_node_modules_skills,
|
|
250
|
+
discover_venv_skills,
|
|
251
|
+
)
|
|
205
252
|
|
|
206
253
|
installed = discover_installed_skills()
|
|
207
|
-
|
|
254
|
+
python_skills = discover_venv_skills()
|
|
255
|
+
node_skills = discover_node_modules_skills()
|
|
208
256
|
```
|
|
209
257
|
|
|
258
|
+
`ProjectSettings` accepts a `NodeProjectSettings` to control node scanning:
|
|
259
|
+
|
|
260
|
+
```python
|
|
261
|
+
from skilly import NodeProjectSettings, ProjectSettings, SkillRepository
|
|
262
|
+
|
|
263
|
+
repository = SkillRepository(
|
|
264
|
+
directory=Path(".agents/skills"),
|
|
265
|
+
project=ProjectSettings(
|
|
266
|
+
node=NodeProjectSettings(
|
|
267
|
+
include_dependencies=True,
|
|
268
|
+
include_dev_dependencies=False,
|
|
269
|
+
),
|
|
270
|
+
),
|
|
271
|
+
)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Set `node=None` to skip node ecosystem scanning entirely.
|
|
275
|
+
|
|
210
276
|
SkillsMP client with typed results:
|
|
211
277
|
|
|
212
278
|
```python
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|