skillpull 0.4.7 → 0.4.8
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 +87 -22
- package/package.json +1 -1
- package/skillpull +4 -4
package/README.md
CHANGED
|
@@ -8,33 +8,51 @@ npx skillpull tianhaocui/ai-skills
|
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
11
|
+
```bash
|
|
12
|
+
npm i -g skillpull
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Or clone and install manually:
|
|
16
|
+
|
|
11
17
|
```bash
|
|
12
18
|
git clone https://github.com/tianhaocui/skillpull.git
|
|
13
19
|
cd skillpull
|
|
14
20
|
bash install.sh
|
|
15
21
|
```
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
## Quick Start
|
|
18
24
|
|
|
19
25
|
```bash
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
# Interactive setup: configure default repo and project scope
|
|
27
|
+
skillpull init
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
# Pull skills (uses registry if configured)
|
|
30
|
+
skillpull
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
# GitHub shortname
|
|
32
|
+
# Pull from a specific repo
|
|
27
33
|
skillpull user/repo
|
|
28
34
|
|
|
29
35
|
# Pull a specific skill
|
|
30
36
|
skillpull user/repo my-skill
|
|
37
|
+
```
|
|
31
38
|
|
|
32
|
-
|
|
33
|
-
skillpull list user/repo
|
|
39
|
+
## Commands
|
|
34
40
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
| Command | Description |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `skillpull init` | Interactive setup: default repo + project scope |
|
|
44
|
+
| `skillpull <source> [skill]` | Pull skills from a Git repo |
|
|
45
|
+
| `skillpull list [source]` | List available skills in a repo |
|
|
46
|
+
| `skillpull search <keyword>` | Search GitHub for skill repos |
|
|
47
|
+
| `skillpull update` | Update all installed skills to latest |
|
|
48
|
+
| `skillpull push [target-repo]` | Push local skills back to a remote repo |
|
|
49
|
+
| `skillpull installed` | Show locally installed skills |
|
|
50
|
+
| `skillpull remove <skill>` | Remove an installed skill |
|
|
51
|
+
| `skillpull registry <repo>` | Set or view default skill repo |
|
|
52
|
+
| `skillpull alias add <name> <url>` | Save a repo shortcut |
|
|
53
|
+
| `skillpull alias list` | List saved aliases |
|
|
54
|
+
| `skillpull alias rm <name>` | Remove an alias |
|
|
55
|
+
| `skillpull uninstall` | Remove skillpull from system |
|
|
38
56
|
|
|
39
57
|
## Source Formats
|
|
40
58
|
|
|
@@ -48,7 +66,7 @@ skillpull search coding-standards
|
|
|
48
66
|
|
|
49
67
|
## Targets
|
|
50
68
|
|
|
51
|
-
|
|
69
|
+
First run will show an interactive menu to select target tools. Use flags to skip the prompt:
|
|
52
70
|
|
|
53
71
|
```bash
|
|
54
72
|
skillpull user/repo --claude # .claude/skills/ (default)
|
|
@@ -58,28 +76,60 @@ skillpull user/repo --cursor # .cursor/rules/ (auto-converts to .mdc)
|
|
|
58
76
|
skillpull user/repo --all # All of the above
|
|
59
77
|
```
|
|
60
78
|
|
|
61
|
-
|
|
79
|
+
Global (user-level) install:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
skillpull user/repo --global # ~/.claude/skills/, ~/.codex/skills/, etc.
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Project Scope
|
|
86
|
+
|
|
87
|
+
Skill repos can organize skills into common and project-specific folders:
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
skill-repo/
|
|
91
|
+
skills/ # common, pulled for all projects
|
|
92
|
+
common-skill-a/SKILL.md
|
|
93
|
+
common-skill-b/SKILL.md
|
|
94
|
+
my-app/ # project-specific
|
|
95
|
+
app-skill/SKILL.md
|
|
96
|
+
backend/ # project-specific
|
|
97
|
+
api-skill/SKILL.md
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
The `skills/` folder at the repo root holds shared skills. Other folders are project-specific — only pulled when matching the configured project name.
|
|
62
101
|
|
|
63
|
-
|
|
102
|
+
Configure a default project during `skillpull init`, or pass it per-command:
|
|
64
103
|
|
|
65
104
|
```bash
|
|
66
|
-
#
|
|
67
|
-
skillpull
|
|
105
|
+
# Uses default project from config
|
|
106
|
+
skillpull
|
|
68
107
|
|
|
69
|
-
#
|
|
70
|
-
skillpull my-
|
|
108
|
+
# Override for a specific pull
|
|
109
|
+
skillpull user/repo --project my-app
|
|
71
110
|
```
|
|
72
111
|
|
|
73
|
-
|
|
112
|
+
Both `skills/` (common) and the project subfolder's skills are pulled together.
|
|
74
113
|
|
|
75
|
-
|
|
114
|
+
## Registry & Aliases
|
|
76
115
|
|
|
77
116
|
```bash
|
|
117
|
+
# Set a default repo so you can pull by skill name alone
|
|
118
|
+
skillpull registry tianhaocui/ai-skills
|
|
119
|
+
skillpull my-skill # pulls from registry
|
|
120
|
+
|
|
121
|
+
# Save frequently used repos as aliases
|
|
78
122
|
skillpull alias add work git@github.com:myorg/skills.git
|
|
79
123
|
skillpull @work my-skill
|
|
124
|
+
```
|
|
80
125
|
|
|
81
|
-
|
|
82
|
-
|
|
126
|
+
## Push
|
|
127
|
+
|
|
128
|
+
Push local skills back to a remote Git repo:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
skillpull push user/repo
|
|
132
|
+
skillpull push # uses registry if set
|
|
83
133
|
```
|
|
84
134
|
|
|
85
135
|
## Options
|
|
@@ -89,6 +139,7 @@ skillpull alias rm work
|
|
|
89
139
|
| `--global, -g` | Install to user-level directory |
|
|
90
140
|
| `--path <dir>` | Install to a custom directory |
|
|
91
141
|
| `--branch <ref>` | Use a specific branch/tag/commit |
|
|
142
|
+
| `--project <name>` | Include project-specific skills (defaults to `init` config) |
|
|
92
143
|
| `--force, -f` | Overwrite existing skills |
|
|
93
144
|
| `--dry-run` | Preview without making changes |
|
|
94
145
|
| `--quiet, -q` | Suppress non-error output |
|
|
@@ -115,6 +166,20 @@ description: What this skill does
|
|
|
115
166
|
Skill content here...
|
|
116
167
|
```
|
|
117
168
|
|
|
169
|
+
## Config
|
|
170
|
+
|
|
171
|
+
Config is stored at `~/.config/skillpull/config.json`:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"aliases": {},
|
|
176
|
+
"registry": "https://github.com/user/repo",
|
|
177
|
+
"project": "my-app"
|
|
178
|
+
}
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Installed skills are tracked per-directory in `.skillpull.json` manifests.
|
|
182
|
+
|
|
118
183
|
## Requirements
|
|
119
184
|
|
|
120
185
|
- macOS, Linux, or Windows (via [WSL](https://learn.microsoft.com/en-us/windows/wsl/) or [Git Bash](https://gitforwindows.org/))
|
package/package.json
CHANGED
package/skillpull
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
set -euo pipefail
|
|
3
3
|
|
|
4
|
-
VERSION="0.4.
|
|
4
|
+
VERSION="0.4.8"
|
|
5
5
|
MANIFEST_FILE=".skillpull.json"
|
|
6
6
|
TMPDIR_PREFIX="skillpull"
|
|
7
7
|
CONFIG_DIR="$HOME/.config/skillpull"
|
|
@@ -325,14 +325,14 @@ discover_skills() {
|
|
|
325
325
|
-exec dirname {} \; 2>/dev/null | sort -u
|
|
326
326
|
}
|
|
327
327
|
|
|
328
|
-
# Scoped discovery:
|
|
328
|
+
# Scoped discovery: skills/ folder (common) + optional project-specific skills
|
|
329
329
|
discover_skills_scoped() {
|
|
330
330
|
local dir="$1" project="${2:-}"
|
|
331
331
|
local results=()
|
|
332
332
|
|
|
333
|
-
#
|
|
333
|
+
# Common skills: $dir/skills/*/SKILL.md
|
|
334
334
|
local d
|
|
335
|
-
for d in "$dir"/*/SKILL.md; do
|
|
335
|
+
for d in "$dir/skills"/*/SKILL.md; do
|
|
336
336
|
[[ -f "$d" ]] || continue
|
|
337
337
|
local skill_dir; skill_dir="$(dirname "$d")"
|
|
338
338
|
results+=("$skill_dir")
|