Was macht Skill Open Sourcer?
Wandelt einen lokalen Skill in ein sauberes öffentliches Release-Paket um. Die normale Eingabe ist nur ein SKILL.md-Pfad oder ein Skill-Verzeichnis.
Standardhaltung: schnell handeln, aber bei Release-Risiko anhalten. Wenn der Sicherheitsscan Geheimnisse, private Pfade, Kundendaten, unveröffentlichtes proprietäres Material oder unklare Eigentumsverhältnisse findet, melde die Blockaden und veröffentliche nicht, bis der Benutzer sie behoben hat.
Kurzanleitung
- Löse die Eingabe zu einem echten Skill-Verzeichnis auf. Akzeptiere eine
SKILL.md-Datei, einen Ordner mitSKILL.mdoder einen Symlink unter.codex/skills,.agents/skills,.claude/skillsoder einem anderen lokalen Skill-Stamm. - Führe die Umgebungsprüfung vor dem Paketieren oder Veröffentlichen aus:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py"
Erforderliche lokale Befehle sind python3, git, node und npx. gh ist die standardmäßige lokale GitHub-Veröffentlichungsoberfläche, aber GitHub MCP/app oder ein vorhandener authentifizierter Remote können es ersetzen. Wenn keine GitHub-Veröffentlichungsoberfläche verfügbar ist, baue das Repository lokal auf und validiere es, dann stoppe mit der fehlenden Einrichtung.
- Lies den Skill-Einstiegspunkt und inspiziere direkt referenzierte Dateien in
scripts/,references/,assets/undagents/. Kopiere keine nicht zusammenhängenden lokalen Ordner. - Führe den Sicherheitsscanner aus:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" /path/to/skill-or-SKILL.md
- Wenn die Umgebungs- und Sicherheitsscans klar sind, erstelle ein frisches Release-Repository außerhalb des Quell-Skill-Verzeichnisses.
- Für ein Einzel-Skill-Repository kopiere
SKILL.md,agents/,references/,scripts/undassets/direkt in das Repository-Stammverzeichnis. Verwendeskills/<skill-name>/plusskills.sh.jsonnur für Multi-Skill-Sammel-Repositories. - Füge die in
references/release-package.mdbeschriebenen öffentlichen Release-Dateien hinzu, einschließlich der README-Qualitätsprüfung und der GitHub-Metadaten-Empfehlungen. - Validiere den gepackten Skill und die
npx skills-Auflistung vor der Veröffentlichung. - Veröffentliche auf GitHub, wenn die risikoarmen Prüfungen bestanden werden, erstelle dann Launch-Texte.
Lies references/release-package.md, bevor du das Release-Repository schreibst.
Ausgabe-Vertrag
Für eine erfolgreiche Veröffentlichung zurückgeben:
- GitHub-Repo-URL.
- Installationsbefehl mit
npx skills. - Verifikationsergebnisse für Skill-Validierung und
npx skills add <owner>/<repo> --list. - Kurze Risikozusammenfassung: was gescannt wurde, was entfernt oder bereinigt wurde und etwaige verbleibende Annahmen.
- GitHub-Beschreibung und Themenvorschläge beim Erstellen eines neuen öffentlichen Repos.
- Launch-Texte: mindestens ein X/Twitter-Beitrag sowie optional eine chinesische Version, wenn der Benutzer auf Chinesisch arbeitet.
Bei Blockade zurückgeben:
- Blockierungsliste mit Dateipfaden und Gründen.
- Vorgeschlagene Bereinigungsschritte.
- Die sicherste nächste Aktion, normalerweise: „Bereinige diese Dateien und führe das Release erneut aus.“
Sicherheitsregeln
Hartes Anhalten, wenn eines der folgenden Elemente im Quellpaket auftaucht:
- API-Schlüssel, Tokens, private Schlüssel, Cookies, Anmeldeinformationen,
.env-Dateien oder Authentifizierungskonfiguration. - Absolute persönliche Pfade wie
/Users/...,/home/..., lokale Vault-Pfade oder maschinenspezifische Cache-Pfade, die öffentliche Benutzer verwirren würden. - Kundennamen, private Unternehmensdaten, interne Dokumente, private URLs, unveröffentlichte Prompts oder kostenpflichtige/proprietäre Assets ohne klare Lizenz.
- Symlinks, die das Paket verlassen, große Binärdateien, Datenbanken, Logs, Browserprofile,
.DS_Store,__pycache__oder generierte Cache-Dateien. - Unklare Lizenz oder Eigentumsverhältnisse für gebündelten Code/Assets.
Risikoarme automatische Veröffentlichung ist nur erlaubt, wenn der Scanner und die manuelle Überprüfung keine Blockaden finden. Wenn das Ziel-GitHub-Repo bereits mit nicht zusammenhängendem Inhalt existiert, stoppe und frage nach, bevor du überschreibst oder force-pushst.
Paketierungsregeln
- Behalte das ursprüngliche Skill-Verhalten intakt. Refaktorisiere nur genug, um private Annahmen zu entfernen und die öffentliche Installation zuverlässig zu machen.
- Standardmäßig flaches Root-Layout für einen öffentlichen Skill. Verwende ein verschachteltes
skills/<skill-name>/-Layout nur, wenn ein Repository mehrere Skills veröffentlicht. - Bevorzuge eine schlanke
SKILL.md; verschiebe detaillierte öffentliche Anleitungen nur dann inreferences/, wenn ein Agent sie wirklich braucht. - Füge kein README im Skill-Ordner hinzu. Platziere menschenlesbare Dokumentation im Stamm des Release-Repos.
- Behalte
agents/openai.yamlbei, wenn vorhanden. Wenn nicht vorhanden, erstelle es mitdisplay_name,short_descriptionund einemdefault_prompt, das explizit$<skill-name>erwähnt. - Füge
scripts/nur für deterministische Hilfslogik hinzu, die der Skill tatsächlich verwendet. - Füge
assets/nur hinzu, wenn Lizenzierung und Größe für die öffentliche Veröffentlichung sicher sind. - Verwende MIT als Standardlizenz nur, wenn der Quell-Skill keine widersprüchliche Lizenz hat und die Eigentumsverhältnisse klar sind.
Veröffentlichungsablauf
- Führe
scripts/check_release_env.pyaus. Füge--repo-dir <release-repo>hinzu, wenn ein vorhandenes lokales Repository aktualisiert wird. Füge--check-npx-skillshinzu, wenn Paket-/Netzwerkzugriff unsicher ist. - Wenn erforderliche Befehle fehlen, stoppe und melde die genauen Blockaden. Wenn nur
ghfehlt, fahre nur fort, wenn GitHub MCP/app verfügbar ist oder das Release-Repo bereits einen authentifiziertenorigin-Remote hat. - Baue das Release-Repo lokal auf.
- Validiere mit dem System-Skill-Validator, wenn verfügbar:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
- Erstelle oder aktualisiere das GitHub-Repository mit der verfügbaren GitHub-Oberfläche (
gh, GitHub MCP/app oder vorhandener Remote). Vermeide Force Push. - Pushe den Branch oder
main. - Überprüfe die Auflistung:
npx skills add <owner>/<repo> --list
- Wenn die Auflistung funktioniert, gib den Installationsbefehl aus:
npx skills add <owner>/<repo> -g -a codex --skill <skill-name> -y
Passe das Agenten-Flag und die Installationsformulierung an, wenn die Zielplattform nicht Codex ist.
Launch-Texte
Nach einer erfolgreichen Veröffentlichung erstelle kurze, menschenlesbare Social-Media-Texte, die erklären:
- Das Problem, das der Skill löst.
- Was ein Benutzer ihm gibt.
- Was er veröffentlicht oder automatisiert.
- Den Installationsbefehl oder Repo-Link.
- Ein konkretes Beispiel für eine Anfrage.
Für chinesische Benutzer füge einen natürlichen chinesischen Launch-Beitrag hinzu. Halte es menschenzugewandt; erkläre nicht übermäßig Skripte.