farfun-skill/publish-skill

Valide les frontmatter et le corps des fichiers SKILL.md dans un dépôt de compétences, génère le manifeste d'installation npx skills add pour la découverte sur skills.sh, et synchronise un dépôt public de compétences vers une autre organisation GitHub (par exemple, un marketplace).

Qu'est-ce que publish-skill ?

Cette compétence automatise le processus de publication de compétences pour skills.sh en validant les fichiers SKILL.md, en générant les commandes d'installation et en synchronisant les dépôts. Elle vérifie que le frontmatter YAML est correct, que le nom est en kebab-case, que la description est valide et que le corps contient des instructions réelles. Le manifeste produit des commandes `npx skills add` que les utilisateurs peuvent exécuter pour installer les compétences, remplaçant ainsi toute file d'attente de soumission. Elle permet également de synchroniser un dépôt de compétences vers une autre organisation GitHub, par exemple pour l'indexation par un marketplace secondaire. Cette compétence est idéale pour les mainteneurs de dépôts de compétences, les organisations qui souhaitent publier leurs compétences, et les marketplaces qui veulent synchroniser des dépôts de compétences.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/farfarfun-skill/publish-skill/tree/main/skills/publish-skill

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Publish Skill

skills.sh n'a pas de file d'attente de soumission — il découvre les compétences en parcourant les dépôts GitHub publics à la recherche de fichiers skills/<slug>/SKILL.md bien formés. "Publier" signifie donc : le dépôt est public, chaque SKILL.md a un frontmatter valide, et (optionnellement) la compétence est également synchronisée vers un marketplace/organisation secondaire qui indexe les dépôts directement.

Valider

Exécutez depuis ce répertoire de compétence :

python3 scripts/skill_publisher.py validate --workspace /chemin/vers/depot --fail-on block

Vérifie chaque skills/<slug>/SKILL.md : le frontmatter commence et se termine par ---, name est présent et en minuscules kebab-case, name correspond à son répertoire, description est présent et contient entre 20 et 1024 caractères, et le corps après le frontmatter contient des instructions réelles (pas seulement un stub).

Utilisez --fail-on revise pour une validation plus stricte, --format json pour une consommation machine.

Générer le Manifeste d'Installation

python3 scripts/skill_publisher.py manifest --workspace /chemin/vers/depot

Résout le slug GitHub du dépôt à partir de git remote origin et affiche une ligne npx skills add <proprietaire>/<depot> --skill <nom> par compétence valide. C'est ce qu'il faut distribuer (ou coller dans un README/annonce) comme instructions "installer depuis skills.sh" — il n'y a pas d'étape de soumission séparée.

all exécute validate puis manifest en un seul appel et partage la même porte --fail-on.

Publier Toute une Organisation en une Commande

python3 scripts/skill_publisher.py org --org farfun-skill --workspaces-dir /chemin/vers/farfun-skill

C'est le point d'entrée "tout publier" en un seul coup. Il liste chaque dépôt public, non fork dans --org via gh repo list, clone ceux qui ne sont pas déjà extraits sous --workspaces-dir (ne télécharge ni ne modifie jamais un clone existant), ignore les dépôts sans répertoire skills/, exécute validate sur les autres, et affiche le manifeste d'installation combiné pour toute l'organisation. --workspaces-dir par défaut est le répertoire parent de --workspace, donc l'exécuter depuis un dépôt situé à côté de ses voisins sur le disque ne nécessite pas de drapeaux supplémentaires.

Ajoutez --register pour également exécuter localement npx skills add <proprietaire>/<depot> --skill <nom> -y pour chaque compétence ayant passé la validation — c'est le mécanisme réel qui alimente la télémétrie/classement d'installation de skills.sh (il n'y a pas d'API de soumission) et il installe également la compétence dans les répertoires de compétences de l'agent de cette machine, donc ne l'utilisez que lorsque cet effet secondaire est souhaité.

Ajoutez --mirror-to <org> pour également forker/synchroniser chaque dépôt validé dans une organisation secondaire (voir ci-dessous).

Synchroniser vers une Autre Plateforme

python3 scripts/skill_publisher.py mirror --workspace /chemin/vers/depot --target-org farfun-skills

Forke le dépôt dans --target-org (par défaut farfun-skills) sous la forme <proprietaire>--<depot> lors de la première exécution, et re-synchronise ce fork à partir de la source à chaque exécution ultérieure — correspondant à la façon dont cette organisation synchronise déjà les dépôts farfun-skill/* pour la découverte secondaire. Nécessite gh authentifié avec les autorisations de créer des dépôts dans l'organisation cible. C'est le seul sous-commande qui modifie l'état distant de GitHub ; exécutez d'abord validate et ne synchronisez qu'un dépôt qui a réussi.

Retourner les Résultats

Retournez allow, revise ou block depuis validate, les vérifications réussies, et les chemins de réparation concrets pour chaque constatation (quel fichier, quel champ, quoi changer). manifest et mirror sont des sorties informatives/d'action, pas des portes — ne bloquez pas sur elles.

Skills associés