farfun-skill / publicar-skill

Valida o frontmatter e o corpo de skills/<slug>/SKILL.md em um repositório de skills, gera o manifesto de instalação npx skills add para descoberta via skills.sh e espelha/sincroniza um repositório público de skills para outra organização no GitHub (ex.: um marketplace ou agregador). Use quando o Codex precisar verificar se uma skill está pronta para publicação, gerar comandos de instalação para o skills.sh ou bifurcar/sincronizar um repositório de skills para uma plataforma secundária. Use github-repo-standards para estrutura do README e tópicos/descrição do repositório.

O que é publicar-skill?

Esta skill automatiza todo o fluxo de publicação de skills para o ecossistema skills.sh, eliminando a necessidade de filas de submissão. Ela valida se cada arquivo `skills/<slug>/SKILL.md` possui frontmatter YAML correto (nome em kebab-case minúsculo, descrição entre 20 e 1024 caracteres, e corpo com instruções reais), gera o manifesto de instalação com comandos `npx skills add` que os usuários podem executar, e pode espelhar repositórios aprovados para uma organização alvo (como um marketplace). A skill é útil para mantenedores de repositórios de skills que desejam garantir a qualidade e consistência antes de torná-los públicos, e para administradores de marketplaces que precisam agregar skills de múltiplas fontes. Ela funciona exclusivamente com repositórios GitHub públicos e utiliza ferramentas de linha de comando como `gh`, `git`, e scripts Python fornecidos no próprio repositório. O fluxo principal inclui três operações: `validate` (verifica a conformidade dos arquivos SKILL.md), `manifest` (gera os comandos de instalação), e `mirror` (bifurca ou sincroniza repositórios para uma organização secundária). Também há um comando `org` que executa validação e geração de manifesto em toda uma organização de uma só vez.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/farfarfun-skill/publish-skill/tree/main/skills/publish-skill

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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.

Habilidades Relacionadas