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.
Files changed (3) hide show
  1. package/README.md +87 -22
  2. package/package.json +1 -1
  3. 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
- Or via npm:
23
+ ## Quick Start
18
24
 
19
25
  ```bash
20
- npm i -g skillpull
21
- ```
26
+ # Interactive setup: configure default repo and project scope
27
+ skillpull init
22
28
 
23
- ## Usage
29
+ # Pull skills (uses registry if configured)
30
+ skillpull
24
31
 
25
- ```bash
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
- # List available skills in a repo
33
- skillpull list user/repo
39
+ ## Commands
34
40
 
35
- # Search GitHub for skill repos
36
- skillpull search coding-standards
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
- By default, skills install to `.claude/skills/`. Use flags to target other tools:
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
- ## Registry
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
- Set a default skill repo so you can pull by skill name alone:
102
+ Configure a default project during `skillpull init`, or pass it per-command:
64
103
 
65
104
  ```bash
66
- # Set default registry
67
- skillpull registry tianhaocui/ai-skills
105
+ # Uses default project from config
106
+ skillpull
68
107
 
69
- # Now just use the skill name
70
- skillpull my-skill
108
+ # Override for a specific pull
109
+ skillpull user/repo --project my-app
71
110
  ```
72
111
 
73
- ## Aliases
112
+ Both `skills/` (common) and the project subfolder's skills are pulled together.
74
113
 
75
- Save frequently used repos as aliases:
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
- skillpull alias list
82
- skillpull alias rm work
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillpull",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "description": "Sync AI agent skills from Git repositories to Claude, Codex, Kiro, and Cursor",
5
5
  "bin": {
6
6
  "skillpull": "./skillpull"
package/skillpull CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bash
2
2
  set -euo pipefail
3
3
 
4
- VERSION="0.4.7"
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: root-level skills + optional project-specific skills
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
- # Root-level skills: $dir/*/SKILL.md (direct children only)
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")