hubskillz 0.3.0 → 0.4.0
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 +69 -0
- package/dist/index.js +1117 -380
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,8 @@ Requires Node 22 or newer.
|
|
|
22
22
|
|
|
23
23
|
```sh
|
|
24
24
|
hubskillz login # paste a device token from Settings, Device tokens
|
|
25
|
+
hubskillz doctor # what is broken or duplicated on this machine
|
|
26
|
+
hubskillz upgrade --all # every skills.sh skill to its latest upstream
|
|
25
27
|
hubskillz status # what is installed, and how it compares
|
|
26
28
|
hubskillz sync --all # install the approved set, adopt what the directory lacks
|
|
27
29
|
```
|
|
@@ -35,6 +37,11 @@ hubskillz login [--token TOKEN] [--base-url URL]
|
|
|
35
37
|
hubskillz logout
|
|
36
38
|
hubskillz status [--path DIR] [--yes]
|
|
37
39
|
hubskillz sync [--path DIR] [--all] [--adopt] [--yes] [--dry-run] [--force]
|
|
40
|
+
hubskillz upgrade [SKILL...] [--path DIR] [--all] [--yes]
|
|
41
|
+
hubskillz doctor [--path DIR]
|
|
42
|
+
hubskillz move <skill> <global|DIR> [--from global|DIR] [--force]
|
|
43
|
+
hubskillz publish <skill>
|
|
44
|
+
hubskillz unpublish <skill>
|
|
38
45
|
hubskillz push <skill-dir> [-m MESSAGE]
|
|
39
46
|
hubskillz projects [add|remove [DIR] | discover [--yes] | list]
|
|
40
47
|
hubskillz help [command]
|
|
@@ -68,6 +75,60 @@ Installs missing skills and updates drifted ones to the approved version. Shows
|
|
|
68
75
|
- `--dry-run`: print the plan and stop.
|
|
69
76
|
- `--force`: overwrite locally customized skills.
|
|
70
77
|
|
|
78
|
+
### upgrade
|
|
79
|
+
|
|
80
|
+
Brings every skill installed by `npx skills add` up to its latest upstream.
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
hubskillz upgrade # this project, else the global root
|
|
84
|
+
hubskillz upgrade --all # global root and every registered project
|
|
85
|
+
hubskillz upgrade find-skills # one skill, wherever it lives
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
hubskillz fetches nothing here. It reads each skills.sh lock to know what is installed, then runs `npx skills update` in each root, which keeps that lock correct. What it adds is the list of roots: `skills update` covers one scope per run and only knows the current directory, while hubskillz knows the global root and every repo you registered with `hubskillz projects`.
|
|
89
|
+
|
|
90
|
+
`upgrade` looks a named skill up in every root, so `hubskillz upgrade find-skills` works from anywhere. A name no lock lists is an error. `--yes` passes `-y` through to skills.sh.
|
|
91
|
+
|
|
92
|
+
This is the one command that walks past your approved versions: it installs upstream head, whatever version your directory pinned. `hubskillz status` then reports those skills as drifted or customized, and `hubskillz sync` puts the pinned versions back.
|
|
93
|
+
|
|
94
|
+
### doctor
|
|
95
|
+
|
|
96
|
+
Reads every local skills root and reports what no agent loads, and what loads twice. No account needed: it never calls the server.
|
|
97
|
+
|
|
98
|
+
| Level | What it reports |
|
|
99
|
+
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
100
|
+
| `error` | A folder with no `SKILL.md`, an empty folder, a symlink whose target is gone. Nothing loads. |
|
|
101
|
+
| `warn` | A `SKILL.md` without a `name` or a `description`, a copy that duplicates or shadows `~/.claude/skills`, the same skill sitting in several projects, a registered repo that lost its `.claude/skills`. |
|
|
102
|
+
|
|
103
|
+
Every warning names the command that clears it: `hubskillz sync` for a redundant project copy, `hubskillz move <skill> global` for a skill repeated across projects, `hubskillz projects remove` for a dead registration.
|
|
104
|
+
|
|
105
|
+
### move
|
|
106
|
+
|
|
107
|
+
Moves one skill folder between the machine root and a project.
|
|
108
|
+
|
|
109
|
+
```sh
|
|
110
|
+
hubskillz move find-skills global # project copy goes to ~/.claude/skills
|
|
111
|
+
hubskillz move find-skills . # global copy goes into this repo
|
|
112
|
+
hubskillz move find-skills ~/code/other # into another repo
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The destination is `global` or a project directory. `move` finds the source itself, in the project of the working directory then in `~/.claude/skills`, skipping the destination. When the name sits in two other roots, `--from` says which copy to move.
|
|
116
|
+
|
|
117
|
+
A symlinked skill folder (the skills.sh canonical copy under `~/.agents/skills`) moves as a link, so its target stays where it is. When the destination already holds the very same files, `move` removes the spare copy instead. It refuses a destination holding something different unless you pass `--force`.
|
|
118
|
+
|
|
119
|
+
The move is local. Run `hubskillz status` after it to report the new layout.
|
|
120
|
+
|
|
121
|
+
### publish, unpublish
|
|
122
|
+
|
|
123
|
+
`publish` lists an approved skill on your public page at `hubskillz.com/@handle`, where anyone can read it and install it. `unpublish` takes it off. The skill keeps its place in the directory either way; only your page changes. Same toggle as the button on the skill page in the app.
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
hubskillz publish find-skills
|
|
127
|
+
hubskillz unpublish find-skills
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The skill must be approved with a pinned version. Set your handle in the app under Settings before the first publish.
|
|
131
|
+
|
|
71
132
|
### push
|
|
72
133
|
|
|
73
134
|
Uploads a skill directory as a draft version for review. `-m`, `--message` attaches a message to the draft.
|
|
@@ -81,6 +142,8 @@ Registers repos so `sync --all` and `status` cover them from anywhere, in one ru
|
|
|
81
142
|
- Global root: `~/.claude/skills`
|
|
82
143
|
- Project root: `<project>/.claude/skills`
|
|
83
144
|
|
|
145
|
+
Claude Code loads the global root in every project on the machine. A skill installed there reports `inherited` on a project surface: keep the global root up to date and every project is covered, `sync` writes no copy into the repo. A project copy that matches a known version (unmodified or late) is a redundant shadow of the global one: `sync` removes it after showing the plan. `sync` never removes a customized copy.
|
|
146
|
+
|
|
84
147
|
A symlinked skill directory (the skills.sh canonical copy under `~/.agents/skills`) is written through, so every agent on the machine sees the approved version. Links that leave your home directory are refused.
|
|
85
148
|
|
|
86
149
|
## CI and containers
|
|
@@ -93,6 +156,12 @@ HUBSKILLZ_TOKEN=... npx hubskillz sync --all --yes
|
|
|
93
156
|
|
|
94
157
|
Prompts are skipped when stdin is not a TTY: `sync` needs `--yes` to apply, `projects discover` registers everything found.
|
|
95
158
|
|
|
159
|
+
Update every machine and every repo from the directory, without installing anything:
|
|
160
|
+
|
|
161
|
+
```sh
|
|
162
|
+
npx hubskillz sync --all --yes
|
|
163
|
+
```
|
|
164
|
+
|
|
96
165
|
## Configuration
|
|
97
166
|
|
|
98
167
|
| Source | What |
|