O que Skill Open Sourcer faz?
Transforme uma habilidade local em um pacote de lançamento público limpo. A entrada normal é apenas um caminho de SKILL.md ou um diretório de habilidade.
Postura padrão: agir rápido, mas parar em caso de risco de lançamento. Se a varredura de segurança encontrar segredos, caminhos privados, dados de clientes, material proprietário não publicado ou propriedade ambígua, reporte os bloqueios e não publique até que o usuário os resolva.
Início Rápido
- Resolva a entrada para um diretório de habilidade real. Aceite um arquivo
SKILL.md, uma pasta contendoSKILL.mdou um link simbólico sob.codex/skills,.agents/skills,.claude/skillsou outra raiz local de habilidades. - Execute a verificação de ambiente antes de empacotar ou publicar:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py"
Os comandos locais necessários são python3, git, node e npx. gh é a superfície de publicação GitHub local padrão, mas o MCP/app GitHub ou um remote autenticado existente podem substituí-lo. Se nenhuma superfície de publicação GitHub estiver disponível, construa e valide o repositório localmente e pare com a configuração ausente.
- Leia o ponto de entrada da habilidade e inspecione diretamente os arquivos referenciados em
scripts/,references/,assets/eagents/. Não copie pastas locais não relacionadas. - Execute o scanner de segurança:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" /caminho/para/habilidade-ou-SKILL.md
- Se as verificações de ambiente e segurança estiverem claras, crie um repositório de lançamento novo fora do diretório da habilidade de origem.
- Para um repositório de habilidade única, copie
SKILL.md,agents/,references/,scripts/eassets/diretamente para a raiz do repositório. Useskills/<nome-da-habilidade>/maisskills.sh.jsonapenas para repositórios de coleção de múltiplas habilidades. - Adicione os arquivos de lançamento público descritos em
references/release-package.md, incluindo o gate de qualidade do README e recomendações de metadados do GitHub. - Valide a habilidade empacotada e a listagem
npx skillsantes de publicar. - Publique no GitHub quando as verificações de baixo risco passarem e produza o texto de lançamento.
Leia references/release-package.md antes de escrever o repositório de lançamento.
Contrato de Saída
Para um lançamento bem-sucedido, retorne:
- URL do repositório GitHub.
- Comando de instalação usando
npx skills. - Resultados da verificação para validação da habilidade e
npx skills add <dono>/<repositorio> --list. - Resumo de risco curto: o que foi escaneado, o que foi removido ou sanitizado e quaisquer suposições residuais.
- Recomendações de Descrição e Tópicos do GitHub ao criar um novo repositório público.
- Texto de lançamento: pelo menos um post no X/Twitter, mais uma versão opcional em chinês quando o usuário trabalha em chinês.
Se bloqueado, retorne:
- Lista de bloqueios com caminhos de arquivo e motivos.
- Etapas de sanitização sugeridas.
- A próxima ação mais segura, geralmente "limpe esses arquivos e execute novamente o lançamento".
Regras de Segurança
Pare completamente quando qualquer um destes aparecer no pacote de origem:
- Chaves de API, tokens, chaves privadas, cookies, credenciais, arquivos
.envou configuração de autenticação. - Caminhos pessoais absolutos como
/Users/...,/home/..., caminhos de vault locais ou caminhos de cache específicos da máquina que confundiriam usuários públicos. - Nomes de clientes, dados privados de empresa, docs internos, URLs privadas, prompts não publicados ou ativos pagos/proprietários sem uma licença clara.
- Links simbólicos que escapam do pacote, binários grandes, bancos de dados, logs, perfis de navegador,
.DS_Store,__pycache__ou arquivos de cache gerados. - Licença ou propriedade pouco clara para código/ativos agrupados.
Publicação automática de baixo risco é permitida apenas quando o scanner e a revisão manual não encontrarem bloqueios. Se o repositório GitHub de destino já existir com conteúdo não relacionado, pare e pergunte antes de sobrescrever ou fazer force push.
Regras de Empacotamento
- Mantenha o comportamento original da habilidade intacto. Refatore apenas o suficiente para remover suposições privadas e tornar a instalação pública confiável.
- Padrão é um layout de raiz plana para uma habilidade pública. Use um layout aninhado
skills/<nome-da-habilidade>/apenas quando um repositório publicar várias habilidades. - Prefira um
SKILL.mdenxuto; mova orientações públicas detalhadas parareferences/apenas quando um agente precisar genuinamente delas. - Não adicione um README dentro da pasta da habilidade. Coloque a documentação voltada para humanos na raiz do repositório de lançamento.
- Preserve
agents/openai.yamlquando presente. Se ausente, crie-o comdisplay_name,short_descriptione umdefault_promptque mencione explicitamente$<skill-name>. - Inclua
scripts/apenas para lógica auxiliar determinística que a habilidade realmente usa. - Inclua
assets/apenas quando o licenciamento e o tamanho forem seguros para lançamento público. - Use MIT como licença padrão apenas quando a habilidade de origem não tiver licença conflitante e a propriedade for clara.
Fluxo de Publicação
- Execute
scripts/check_release_env.py. Adicione--repo-dir <release-repo>ao atualizar um repositório local existente. Adicione--check-npx-skillsquando o acesso ao pacote/rede for incerto. - Se comandos necessários estiverem faltando, pare e reporte os bloqueios exatos. Se apenas
ghestiver faltando, continue apenas quando o MCP/app GitHub estiver disponível ou o repositório de lançamento já tiver um remoteoriginautenticado. - Construa o repositório de lançamento localmente.
- Valide com o validador de habilidades do sistema quando disponível:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
- Crie ou atualize o repositório GitHub usando a superfície GitHub disponível (
gh, MCP/app GitHub ou remote existente). Evite force push. - Faça push da branch ou
main. - Verifique a listagem:
npx skills add <dono>/<repositorio> --list
- Se a listagem funcionar, forneça o comando de instalação:
npx skills add <dono>/<repositorio> -g -a codex --skill <nome-da-habilidade> -y
Ajuste a flag de agente e a redação da instalação quando a plataforma alvo não for Codex.
Texto de Lançamento
Após um lançamento bem-sucedido, redija um texto social conciso que explique:
- O problema que a habilidade resolve.
- O que um usuário fornece a ela.
- O que ela publica ou automatiza.
- O comando de instalação ou link do repositório.
- Um exemplo concreto de solicitação.
Para usuários chineses, inclua um post de lançamento natural em chinês. Mantenha-o voltado para humanos; não explique demais os scripts.