¿Qué hace Publicar Skill?
skills.sh no tiene cola de envío — descubre skills rastreando repositorios públicos de GitHub en busca de archivos skills/<slug>/SKILL.md bien formados. "Publicar" por lo tanto significa: el repositorio es público, cada SKILL.md tiene frontmatter válido y (opcionalmente) el skill también se refleja en un marketplace/org secundario que indexa repositorios directamente.
Validar
Ejecute desde este directorio del skill:
python3 scripts/skill_publisher.py validate --workspace /path/to/repo --fail-on block
Verifica cada skills/<slug>/SKILL.md: el frontmatter comienza y termina con ---, name está presente y en kebab-case minúsculas, name coincide con su directorio, description está presente y tiene entre 20 y 1024 caracteres, y el cuerpo después del frontmatter tiene instrucciones reales (no solo un marcador de posición).
Use --fail-on revise para una puerta más estricta, --format json para consumo por máquina.
Generar el Manifiesto de Instalación
python3 scripts/skill_publisher.py manifest --workspace /path/to/repo
Resuelve el slug de GitHub del repositorio desde git remote origin e imprime una línea npx skills add <owner>/<repo> --skill <name> por cada skill válido. Esto es lo que se debe entregar (o pegar en un README/anuncio) como las instrucciones "instalar desde skills.sh" — no hay un paso de envío separado.
all ejecuta validate y luego manifest en una sola llamada y comparte la misma puerta --fail-on.
Publicar una Organización Completa en un Solo Comando
python3 scripts/skill_publisher.py org --org farfarfun-skill --workspaces-dir /path/to/farfarfun-skill
Este es el punto de entrada "publicar todo" de una sola vez. Lista cada repositorio público y no bifurcado en --org mediante gh repo list, clona los que aún no están verificados en --workspaces-dir (nunca actualiza ni modifica un clon existente), omite repositorios sin directorio skills/, ejecuta validate en el resto, e imprime el manifiesto de instalación combinado en toda la organización. --workspaces-dir por defecto es el directorio padre de --workspace, por lo que ejecutarlo desde dentro de un repositorio que se encuentra junto a sus hermanos en disco no necesita banderas adicionales.
Agregue --register para también ejecutar npx skills add <owner>/<repo> --skill <name> -y localmente para cada skill que pasó la validación — este es el mecanismo real que alimenta la telemetría/tablero de instalación de skills.sh (no hay una API de envío) y también instala el skill en los directorios de skills del agente de esta máquina, así que páselo solo cuando se desee ese efecto secundario.
Agregue --mirror-to <org> para además bifurcar/sincronizar cada repositorio que pasa a una organización secundaria (ver más abajo).
Reflejar a Otra Plataforma
python3 scripts/skill_publisher.py mirror --workspace /path/to/repo --target-org farfarfun-skills
Bifurca el repositorio en --target-org (por defecto farfarfun-skills) como <owner>--<repo> en la primera ejecución, y resincroniza esa bifurcación desde el origen en cada ejecución posterior — coincidiendo con cómo esta organización ya refleja repositorios farfarfun-skill/* para descubrimiento secundario. Requiere gh autenticado con permiso para crear repositorios en la organización de destino. Este es el único subcomando que cambia el estado remoto de GitHub; ejecute validate primero y solo refleje un repositorio que haya pasado.
Resultados de Retorno
Retorne allow, revise o block desde validate, las comprobaciones superadas y las rutas de reparación concretas para cualquier hallazgo (qué archivo, qué campo, qué cambiar). manifest y mirror son salidas informativas/de acción, no son puertas — no los bloquee.