Que fait Skill Open Sourcer ?
Transformez une compétence locale en un package de publication publique propre. L'entrée normale est simplement un chemin SKILL.md ou un répertoire de compétence.
Posture par défaut : agir vite, mais s'arrêter en cas de risque de publication. Si l'analyse de sécurité trouve des secrets, des chemins privés, des données client, du matériel propriétaire non publié ou une propriété ambiguë, signalez les blocages et ne publiez pas tant que l'utilisateur ne les a pas résolus.
Démarrage Rapide
- Résolvez l'entrée en un répertoire de compétence réel. Acceptez un fichier
SKILL.md, un dossier contenantSKILL.md, ou un lien symbolique sous.codex/skills,.agents/skills,.claude/skills, ou une autre racine de compétence locale. - Exécutez la vérification de l'environnement avant de packager ou publier :
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py"
Les commandes locales requises sont python3, git, node, et npx. gh est la surface de publication GitHub locale par défaut, mais GitHub MCP/app ou un dépôt distant déjà authentifié peut la remplacer. Si aucune surface de publication GitHub n'est disponible, construisez et validez le dépôt localement, puis arrêtez-vous avec la configuration manquante.
- Lisez le point d'entrée de la compétence et inspectez les fichiers directement référencés dans
scripts/,references/,assets/, etagents/. Ne copiez pas les dossiers locaux non liés. - Exécutez l'analyseur de sécurité :
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" /chemin/vers/competence-ou-SKILL.md
- Si les vérifications de l'environnement et de sécurité sont claires, créez un dépôt de publication frais en dehors du répertoire source de la compétence.
- Pour un dépôt à compétence unique, copiez
SKILL.md,agents/,references/,scripts/, etassets/directement à la racine du dépôt. Utilisezskills/<nom-compétence>/plusskills.sh.jsonuniquement pour les dépôts de collection multi-compétences. - Ajoutez les fichiers de publication publique décrits dans
references/release-package.md, y compris la passerelle de qualité README et les recommandations de métadonnées GitHub. - Validez la compétence packagée et la liste
npx skillsavant de publier. - Publiez sur GitHub lorsque les vérifications à faible risque passent, puis produisez la copie de lancement.
Lisez references/release-package.md avant d'écrire le dépôt de publication.
Contrat de Sortie
Pour une publication réussie, retournez :
- URL du dépôt GitHub.
- Commande d'installation utilisant
npx skills. - Résultats de vérification pour la validation de la compétence et
npx skills add <propriétaire>/<dépôt> --list. - Résumé court des risques : ce qui a été analysé, ce qui a été supprimé ou nettoyé, et les hypothèses résiduelles.
- Description GitHub et recommandations de sujets lors de la création d'un nouveau dépôt public.
- Copie de lancement : au moins un post X/Twitter, plus une version chinoise facultative lorsque l'utilisateur travaille en chinois.
Si bloqué, retournez :
- Liste des blocages avec chemins de fichiers et raisons.
- Étapes de nettoyage suggérées.
- La prochaine action la plus sûre, généralement « nettoyez ces fichiers, puis relancez la publication ».
Règles de Sécurité
Arrêt immédiat si l'un des éléments suivants apparaît dans le package source :
- Clés API, jetons, clés privées, cookies, identifiants, fichiers
.env, ou configuration d'authentification. - Chemins personnels absolus tels que
/Users/...,/home/..., chemins de coffre-fort locaux, ou chemins de cache propres à la machine qui dérouteraient les utilisateurs publics. - Noms de clients, données privées d'entreprise, documents internes, URL privées, invites non publiées, ou actifs payants/propriétaires sans licence claire.
- Liens symboliques qui sortent du package, gros binaires, bases de données, journaux, profils de navigateur,
.DS_Store,__pycache__, ou fichiers de cache générés. - Licence ou propriété peu claire pour le code/actifs inclus.
La publication automatique à faible risque est autorisée uniquement lorsque l'analyseur et la révision manuelle ne trouvent aucun blocage. Si le dépôt GitHub cible existe déjà avec un contenu non lié, arrêtez-vous et demandez avant d'écraser ou de forcer un push.
Règles de Packaging
- Gardez le comportement original de la compétence intact. Refactorez uniquement ce qui est nécessaire pour supprimer les hypothèses privées et rendre l'installation publique fiable.
- Par défaut, utilisez une disposition racine plate pour une compétence publique unique. Utilisez une disposition imbriquée
skills/<nom-compétence>/uniquement lorsqu'un dépôt publie plusieurs compétences. - Préférez un
SKILL.mdléger ; déplacez les conseils publics détaillés dansreferences/uniquement lorsqu'un agent en aura vraiment besoin. - N'ajoutez pas de README à l'intérieur du dossier de la compétence. Placez la documentation pour les humains à la racine du dépôt de publication.
- Préservez
agents/openai.yamllorsqu'il est présent. S'il est absent, créez-le avecdisplay_name,short_description, et undefault_promptqui mentionne explicitement$<nom-compétence>. - Incluez
scripts/uniquement pour la logique d'assistance déterministe que la compétence utilise réellement. - Incluez
assets/uniquement lorsque la licence et la taille sont sûres pour une publication publique. - Utilisez MIT comme licence par défaut uniquement lorsque la compétence source n'a pas de licence conflictuelle et que la propriété est claire.
Flux de Publication
- Exécutez
scripts/check_release_env.py. Ajoutez--repo-dir <dépôt-release>lors de la mise à jour d'un dépôt local existant. Ajoutez--check-npx-skillslorsque l'accès au package/réseau est incertain. - Si des commandes requises sont manquantes, arrêtez-vous et signalez les blocages exacts. Si seul
ghest manquant, continuez uniquement lorsque GitHub MCP/app est disponible ou que le dépôt de publication a déjà une origineoriginauthentifiée. - Construisez le dépôt de publication localement.
- Validez avec le validateur de compétence système lorsqu'il est disponible :
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
- Créez ou mettez à jour le dépôt GitHub en utilisant la surface GitHub disponible (
gh, GitHub MCP/app, ou un dépôt distant existant). Évitez le force push. - Poussez la branche ou
main. - Vérifiez la liste :
npx skills add <propriétaire>/<dépôt> --list
- Si la liste fonctionne, fournissez la commande d'installation :
npx skills add <propriétaire>/<dépôt> -g -a codex --skill <nom-compétence> -y
Ajustez le drapeau agent et la formulation d'installation lorsque la plateforme cible n'est pas Codex.
Copie de Lancement
Après une publication réussie, rédigez une copie sociale concise qui explique :
- Le problème que la compétence résout.
- Ce qu'un utilisateur lui donne.
- Ce qu'elle publie ou automatise.
- La commande d'installation ou le lien du dépôt.
- Un exemple concret de demande.
Pour les utilisateurs chinois, incluez un post de lancement naturel en chinois. Gardez-le orienté humain ; ne surexpliquez pas les scripts.