Was macht Skill veröffentlichen?
skills.sh hat keine Einreichungs-Warteschlange – es entdeckt Skills, indem es öffentliche GitHub-Repositories nach wohlgeformten skills/<slug>/SKILL.md-Dateien durchsucht. „Veröffentlichen" bedeutet daher: Das Repository ist öffentlich, jede SKILL.md hat ein gültiges Frontmatter, und (optional) wird der Skill auch in einen sekundären Marktplatz/eine Organisation gespiegelt, die Repositories direkt indexiert.
Validieren
Ausführen aus diesem Skill-Verzeichnis:
python3 scripts/skill_publisher.py validate --workspace /pfad/zum/repo --fail-on block
Prüft jede skills/<slug>/SKILL.md: Das Frontmatter beginnt und endet mit ---, name ist vorhanden und in Kleinbuchstaben-Kebab-Schreibweise, name stimmt mit seinem Verzeichnis überein, description ist vorhanden und zwischen 20 und 1024 Zeichen lang, und der Text nach dem Frontmatter enthält tatsächliche Anweisungen (nicht nur einen Platzhalter).
Verwende --fail-on revise für eine strengere Prüfung, --format json für maschinelle Auswertung.
Das Installationsmanifest generieren
python3 scripts/skill_publisher.py manifest --workspace /pfad/zum/repo
Ermittelt den GitHub-Slug des Repositories aus git remote origin und gibt eine npx skills add <besitzer>/<repo> --skill <name>-Zeile pro gültigem Skill aus. Dies sind die Anweisungen, die ausgegeben (oder in eine README/Ankündigung eingefügt) werden können – es gibt keinen separaten Einreichungsschritt.
all führt validate und manifest in einem Aufruf aus und teilt sich dieselbe --fail-on-Prüfung.
Eine gesamte Organisation mit einem Befehl veröffentlichen
python3 scripts/skill_publisher.py org --org farfarfun-skill --workspaces-dir /pfad/zu/farfarfun-skill
Dies ist der „Alles veröffentlichen"-Einstiegspunkt. Er listet jedes öffentliche, nicht geforkte Repository in --org über gh repo list auf, klont alle, die noch nicht unter --workspaces-dir ausgecheckt sind (zieht nie oder verändert keine vorhandenen Klone), überspringt Repositories ohne skills/-Verzeichnis, führt bei den übrigen validate aus und gibt das kombinierte Installationsmanifest für die gesamte Organisation aus. --workspaces-dir standardmäßig das übergeordnete Verzeichnis von --workspace. Wenn der Befehl also aus einem Repository heraus ausgeführt wird, das neben seinen Geschwistern auf der Festplatte liegt, sind keine zusätzlichen Flags erforderlich.
Füge --register hinzu, um zusätzlich für jeden Skill, der die Validierung bestanden hat, lokal npx skills add <besitzer>/<repo> --skill <name> -y auszuführen – dies ist der eigentliche Mechanismus, der die Installations-Telemetrie/Rangliste von skills.sh speist (es gibt keine Einreichungs-API) und installiert den Skill auch in die Skill-Verzeichnisse dieses Rechners. Gib dies also nur an, wenn dieser Nebeneffekt gewünscht ist.
Füge --mirror-to <org> hinzu, um jedes bestandene Repository zusätzlich in eine sekundäre Organisation zu forken/synchronisieren (siehe unten).
In eine andere Plattform spiegeln
python3 scripts/skill_publisher.py mirror --workspace /pfad/zum/repo --target-org farfarfun-skills
Forkt das Repository in --target-org (Standard: farfarfun-skills) als <besitzer>--<repo> beim ersten Durchlauf und synchronisiert diesen Fork beim nächsten Durchlauf erneut mit der Quelle – entsprechend der Art und Weise, wie diese Organisation bereits farfarfun-skill/*-Repositories für die sekundäre Erkennung spiegelt. Erfordert gh, authentifiziert mit der Berechtigung, Repositories in der Zielorganisation zu erstellen. Dies ist der einzige Unterbefehl, der den Remote-GitHub-Status ändert; führe zuerst validate aus und spiegele nur ein Repository, das bestanden hat.
Ergebnisse zurückgeben
Gib allow, revise oder block von validate zurück, die bestandenen Prüfungen und konkrete Reparaturpfade für jeden Befund (welche Datei, welches Feld, was zu ändern ist). manifest und mirror sind informative/Aktionsausgaben, keine Prüfungen – blockiere nicht auf sie.