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.
Files changed (3) hide show
  1. package/README.md +69 -0
  2. package/dist/index.js +1117 -380
  3. 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 |