Publicar Skill
O skills.sh não possui fila de submissão — ele descobre skills rastreando repositórios públicos do GitHub em busca de arquivos skills/<slug>/SKILL.md bem formados. "Publicar" significa, portanto: o repositório é público, todo SKILL.md tem frontmatter válido e (opcionalmente) a skill também é espelhada em um marketplace/organização secundária que indexa repositórios diretamente.
Validar
Execute a partir do diretório desta skill:
python3 scripts/skill_publisher.py validate --workspace /caminho/para/repositorio --fail-on block
Verifica todo skills/<slug>/SKILL.md: o frontmatter começa e termina com ---, name está presente e é lowercase kebab-case, name corresponde ao seu diretório, description está presente e tem entre 20 e 1024 caracteres, e o corpo após o frontmatter contém instruções reais (não apenas um esboço).
Use --fail-on revise para uma validação mais rigorosa, --format json para consumo por máquina.
Gerar o Manifesto de Instalação
python3 scripts/skill_publisher.py manifest --workspace /caminho/para/repositorio
Resolve o slug do repositório GitHub a partir de git remote origin e imprime uma linha npx skills add <owner>/<repo> --skill <name> por skill válida. Isto é o que deve ser divulgado (ou colado em um README/anúncio) como instruções de "instalação a partir do skills.sh" — não há etapa separada de submissão.
all executa validate e manifest em uma única chamada e compartilha o mesmo limite --fail-on.
Publicar uma Organização Inteira em um Único Comando
python3 scripts/skill_publisher.py org --org farfun-skill --workspaces-dir /caminho/para/farfun-skill
Este é o ponto de entrada único para "publicar tudo". Ele lista todos os repositórios públicos (não forks) em --org via gh repo list, clona aqueles que ainda não foram verificados em --workspaces-dir (nunca faz pull ou altera um clone existente), pula repositórios sem diretório skills/, executa validate nos demais e imprime o manifesto de instalação combinado em toda a organização. --workspaces-dir assume como padrão o diretório pai de --workspace, portanto, executá-lo de dentro de um repositório que fica ao lado de seus irmãos no disco não precisa de flags extras.
Adicione --register para também executar npx skills add <owner>/<repo> --skill <name> -y localmente para cada skill que passou na validação — este é o mecanismo real que alimenta a telemetria/o ranking de instalação do skills.sh (não há API de submissão) e também instala a skill nos diretórios de skill do agente desta máquina, portanto, passe-o apenas quando esse efeito colateral for desejado.
Adicione --mirror-to <org> para adicionalmente bifurcar/sincronizar todo repositório aprovado para uma organização secundária (veja abaixo).
Espelhar para Outra Plataforma
python3 scripts/skill_publisher.py mirror --workspace /caminho/para/repositorio --target-org farfun-skills
Bifurca o repositório em --target-org (padrão farfun-skills) como <owner>--<repo> na primeira execução e ressincroniza esse fork a partir da origem em cada execução posterior — correspondendo a como esta organização já espelha repositórios farfun-skill/* para descoberta secundária. Requer gh autenticado com permissão para criar repositórios na organização alvo. Este é o único subcomando que altera o estado remoto do GitHub; execute validate primeiro e espelhe apenas um repositório que passou.
Retornar Resultados
Retorne allow, revise ou block de validate, as verificações aprovadas e caminhos de reparo concretos para qualquer achado (qual arquivo, qual campo, o que alterar). manifest e mirror são saídas informativas/de ação, não são barreiras — não bloqueie nelas.