Le CLI hubskillz
Le CLI inventorie chaque skill de ~/.claude/skills et du .claude/skills de chaque dépôt, puis envoie cet inventaire vers votre catalogue, comme un git push envoie vos fichiers sur GitHub. Il n’écrit jamais de fichier local : vos dépôts restent la source de vérité.
Dernière mise à jour : 1 septembre 2026
Installation
Node 22 requis. Installez-le une fois pour toutes, ou lancez chaque commande avec npx.
npm i -g hubskillz npx hubskillz <command> hubskillz help [command]
Connexion
Créez un token machine dans Paramètres, Tokens machine, et collez-le quand le CLI le demande. Tokens machine
hubskillz login [--token TOKEN] [--base-url URL] hubskillz logout
| Option | Rôle |
|---|---|
| --token TOKEN | Token machine, au lieu de la saisie interactive. |
| --base-url URL | Serveur à contacter. Par défaut, le fichier de config, puis https://api.hubskillz.com. |
Instance auto-hébergée ? Passez --base-url ou définissez HUBSKILLZ_BASE_URL. Le CLI stocke sa config dans ~/.hubskillz/config.json.
En CI ou dans un conteneur, définissez HUBSKILLZ_TOKEN au lieu de vous connecter : aucun fichier n’est écrit. hubskillz logout supprime le jeton stocké.
Commandes
Chaque commande et ce qu’elle touche. hubskillz help <commande> affiche la même référence dans votre terminal.
| Commande | Rôle |
|---|---|
| status | Indique l’état de chaque skill installé. Ne modifie rien. |
| sync | Envoie les skills tels quels, comme un git push. |
| upgrade | Met à jour les skills skills.sh vers leur dernière version amont. |
| doctor | Signale ce qu’un agent échoue à charger dans vos racines de skills. |
| move | Déplace un skill entre la racine globale et un dépôt. |
| publish | Affiche un skill validé sur votre page publique, ou l’en retire. |
| push | Envoie un dossier de skill au catalogue en brouillon. |
| projects | Mémorise les dépôts que sync --all et status couvrent. |
status
Voir l’état
hubskillz status [--path DIR] [--yes]
Scanne le .claude/skills du dossier courant (ou de --path DIR), sinon ~/.claude/skills, puis affiche une ligne par skill : état, hash installé, version validée. N’écrit rien.
| Option | Rôle |
|---|---|
| --path DIR | Dossier du projet. Par défaut, le dossier courant. |
| -y, --yes | Répond oui aux questions posées par la commande. |
sync
Envoyer vos skills
hubskillz sync [--path DIR] [--all] [--yes]
Envoie les skills tels qu’ils sont sur le disque et affiche leur état, comme un git push : le catalogue reflète la machine. Aucun fichier local n’est écrit.
Un skill encore inconnu du catalogue y est ajouté automatiquement : un skill skills.sh est figé à la version installée, un skill privé est créé à partir de la copie envoyée par le CLI avec l’inventaire. Dans une organisation en équipe, cette étape est réservée aux mainteneurs ; les autres rôles reçoivent une note et la synchronisation continue.
| Option | Rôle |
|---|---|
| --path DIR | Dossier du projet. Par défaut, le dossier courant. |
| --all | Couvre la racine globale, ce projet et chaque dépôt enregistré. |
| -y, --yes | Répond oui aux questions posées par la commande. |
upgrade
Mettre à jour depuis skills.sh
hubskillz upgrade [SKILL...] [--path DIR] [--all] [--yes]
Amène chaque skill installé par npx skills add à sa dernière version amont. hubskillz lit chaque lock skills.sh pour les trouver, puis lance npx skills update dans chaque racine, ce qui garde ce lock juste.
Ce que hubskillz ajoute, c’est la liste des racines : skills update ne traite qu’une portée à la fois, et ne connaît que le dossier courant. Un skill nommé est cherché dans toutes les racines, et un nom qu’aucun lock ne liste est une erreur.
Cette commande installe la tête upstream, quelle que soit la version figée par le catalogue. Le sync suivant remonte les nouvelles versions au catalogue, où vous les validez.
| Option | Rôle |
|---|---|
| --path DIR | Dossier du projet. Par défaut, le dossier courant. |
| --all | Couvre la racine globale, ce projet et chaque dépôt enregistré. |
| -y, --yes | Répond oui aux questions posées par la commande. |
doctor
Diagnostiquer la machine
hubskillz doctor [--path DIR]
Lit chaque racine de skills locale et signale ce qu’aucun agent ne charge, et ce qui se charge deux fois : un dossier sans SKILL.md, un dossier vide, un lien symbolique dont la cible a disparu, un SKILL.md sans description, une copie de projet qui double ou masque ~/.claude/skills, le même skill dans plusieurs dépôts, un dépôt enregistré qui a perdu son .claude/skills. Elle n’appelle jamais le serveur : elle tourne avant même la connexion. Chaque ligne indique la commande qui règle le problème.
| Option | Rôle |
|---|---|
| --path DIR | Dossier du projet. Par défaut, le dossier courant. |
move
Déplacer un skill
hubskillz move <skill> <global|DIR> [--from global|DIR] [--force]
Déplace un dossier de skill entre ~/.claude/skills et un dépôt. La destination s’écrit global ou sous forme de dossier de projet. move trouve la source tout seul, dans le projet courant puis dans la racine globale, et --from désigne la copie à déplacer quand le nom existe deux fois. Un dossier lié se déplace comme un lien : la copie visée reste à sa place. Si la destination contient déjà les mêmes fichiers, move supprime la copie en trop.
| Option | Rôle |
|---|---|
| --from ROOT | La copie à déplacer quand le nom existe dans les deux racines. |
| --force | Remplace un skill du même nom à destination. |
publish
Partager un skill sur votre page
hubskillz publish <skill> hubskillz unpublish <skill>
publish affiche un skill validé sur votre page publique hubskillz.com/@handle, où n’importe qui peut le lire et l’installer. unpublish l’en retire. Le skill garde sa place dans le catalogue dans les deux cas. C’est le même interrupteur que le bouton de la fiche du skill dans l’app.
push
Envoyer un brouillon
hubskillz push <skill-dir> [-m MESSAGE]
Envoie un dossier de skill au catalogue comme nouvelle version en brouillon. Un mainteneur prend le relais pour la review.
| Option | Rôle |
|---|---|
| -m, --message TEXT | Note jointe au brouillon. |
projects
Enregistrer vos dépôts
hubskillz projects [add|remove [DIR] | discover [--yes] | list]
Mémorise le dossier courant (ou DIR) pour que sync --all et status le couvrent depuis n’importe où. discover parcourt votre dossier personnel à la recherche de dépôts avec .claude/skills et vous laisse choisir lesquels enregistrer (--yes les prend tous). Le premier sync --all ou status sans dépôt enregistré lance ce parcours pour vous. Un chemin enregistré sans .claude/skills est ignoré avec une note.
| Option | Rôle |
|---|---|
| -y, --yes | Répond oui aux questions posées par la commande. |
Options globales
Toutes les commandes les acceptent.
| Option | Rôle |
|---|---|
| --base-url URL | Serveur à contacter. Par défaut, le fichier de config, puis https://api.hubskillz.com. |
| -h, --help | Affiche l’usage d’une commande. |
| -v, --version | Affiche la version. |
Environnement
Lues au démarrage, après une option en ligne de commande et avant ~/.hubskillz/config.json.
| Variable | Rôle |
|---|---|
| HUBSKILLZ_TOKEN | Token machine. Définissez-la en CI ou dans un conteneur pour éviter hubskillz login : aucun fichier n’est écrit. |
| HUBSKILLZ_BASE_URL | Serveur à contacter, pour une instance auto-hébergée. |
| NO_COLOR | Retire les couleurs et le gras de la sortie. |
États
status et sync attribuent à chaque skill l’un de ces six états.
| État | Règle |
|---|---|
| à jour | Le contenu installé correspond à la version validée. |
| en retard | Le contenu installé correspond à une version antérieure du même skill. |
| modifié | Le contenu installé ne correspond à aucune version connue. |
| manquant | Le skill n’est pas installé et l’une de vos équipes l’exige ou le recommande. |
| hérité | ~/.claude/skills le contient, donc Claude Code le charge dans chaque projet. Le skill compte comme déjà présent dans le projet. Une copie personnalisée garde son propre état. |
| hors catalogue | Le skill est installé et le catalogue n’en connaît aucun de ce nom. |