github-release
Ajuda seu agente a lançar novas versões de bibliotecas no GitHub. Ele cuida da numeração das versões e formata o histórico de mudanças automaticamente.
O que ela faz
Esta ferramenta ajuda a lançar uma nova versão de um projeto no GitHub. Ela cuida de organizar as atualizações e criar um resumo do que mudou automaticamente.
Quando usar
- ✓Quando você quer lançar uma nova versão do seu projeto.
- ✓Para atualizar o número da versão do seu código.
- ✓Para gerar um resumo das mudanças feitas.
Exemplo do que pedir para a IA
“Quero lançar uma nova versão do meu projeto.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta verifica as mudanças no seu código desde a última versão. Depois, ela sugere um novo número de versão e cria um texto explicando o que foi atualizado, pronto para ser publicado.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill github-releaseOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/github-release/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Skill de Release do GitHub
Esta skill automatiza o fluxo de trabalho completo de release para um repositório GitHub de pacote único,
da análise à autoria do changelog e criação de PR. Ela depende exclusivamente do
gh (GitHub CLI) e git, sem necessidade de outras ferramentas.
Os Passos 1 a 4 são somente leitura de reconhecimento, nada é escrito no repositório até o Passo 5, após a confirmação do número da versão.
Quando Usar Esta Skill
Use esta skill sempre que o usuário quiser fazer um novo release, publicar uma nova versão, incrementar uma versão, criar um branch de release, gerar um changelog ou abrir um PR de release em um repositório GitHub. Dispare mesmo que o usuário diga algo casual como "vamos lançar uma nova versão" ou "hora de fazer o release".
Pré-requisitos
Os exemplos abaixo incluem variantes Bash e PowerShell; usuários do Windows devem preferir os blocos PowerShell.
Antes de começar, verifique o ambiente:
gh auth status # must be authenticated
gh repo view --json nameWithOwner # must be inside a GitHub repo
git status # working tree should be clean
Se alguma verificação falhar, pare e diga ao usuário o que corrigir antes de continuar.
Em seguida, pergunte ao usuário uma pergunta:
"Qual diretório contém o código-fonte público da sua biblioteca? (ex:
src/,lib/,pkg/- usado para focar o diff no que os consumidores realmente veem. Pressione Enter para escanear o repositório inteiro.)"
Armazene a resposta como PUBLIC_PATH. Se estiver vazio, PUBLIC_PATH é . (raiz do repositório).
Exclua esses caminhos de todos os diffs, independentemente: tests/, test/, spec/,
__tests__/, docs/, *.lock, *-lock.json, *.sum, arquivos gerados
(arquivos com um comentário de cabeçalho "não editar") e artefatos de build.
O Fluxo de Trabalho de Release em 9 Passos
Trabalhe em cada passo em ordem. Mostre ao usuário qual comando você está prestes a executar e sua saída. Pause e peça confirmação apenas quando explicitamente indicado.
Passo 1 - Garantir que o main está atualizado
git checkout main
git pull origin main
Permaneça no main por enquanto. O branch de release é criado no Passo 5, após a versão
ser confirmada.
Passo 2 - Obter a última tag de versão
Por que não
gh release list? Releases do GitHub são uma camada opcional sobre tags Git. Muitos repositórios marcam releases comgit tagsem nunca criar um Release do GitHub, entãogh release listpode retornar vazio mesmo quando tags de versão existem. Ler tags diretamente do git é a fonte confiável da verdade.
# Fetch all tags from remote to ensure local view is current
git fetch --tags
# Find the latest version tag, sorted semantically
# --sort=-version:refname handles 1.10.0 > 1.9.0 correctly (unlike alphabetical)
PREV_TAG=$(git tag --sort=-version:refname | grep -E '^v?[0-9]+\.[0-9]+\.[0-9]+' | head -1)
echo "Latest tag: $PREV_TAG"
# Fetch all tags from remote to ensure local view is current
git fetch --tags
# Find the latest version tag, sorted semantically
# --sort=-version:refname handles 1.10.0 > 1.9.0 correctly (unlike alphabetical)
$prevTag = git tag --sort='-version:refname' | `
Select-String '^[vV]?\d+\.\d+\.\d+' | `
Select-Object -First 1 -ExpandProperty Line
if ($prevTag) {
$prevSha = git rev-list -n 1 $prevTag
} else {
$prevSha = git rev-list --max-parents=0 HEAD
}
Write-Output "Latest tag: $prevTag"
Em seguida, verifique se a tag existe no remoto (não apenas localmente):
git ls-remote --tags origin | grep "refs/tags/$PREV_TAG$"
Se a verificação remota não retornar nada, avise o usuário que a tag parece ser apenas local e não foi enviada (push) - ele pode querer enviá-la antes de continuar.
PREV_TAGé o nome da tag exatamente como encontrado (ex:v1.4.2). Remova qualquervinicial ao fazer aritmética; preserve-o ao nomear coisas.- Se nenhuma tag existir, trate
PREV_TAGcomo(none), definaPREV_SHApara o primeiro commit e defina a nova versão como1.0.0(pule a lógica de versionamento do Passo 4; vá direto para o Passo 5). - Se a tag não apontar para um commit real (tag órfã), volte para
git rev-list --max-parents=0 HEADe avise o usuário.
PREV_SHA=$(git rev-list -n 1 "$PREV_TAG" 2>/dev/null || git rev-list --max-parents=0 HEAD)
Passo 3 - Analisar o que mudou desde o último release
Este passo usa dois sinais complementares. O diff de código é a fonte primária da verdade; mensagens de commit fornecem contexto de apoio sobre a intenção.
3a - Diff de código (sinal primário)
# Diff focado no caminho da fonte pública, excluindo ruído
…
Perguntas frequentes
Preciso ter o Git e o GitHub CLI instalados?
Sim, a ferramenta usa esses programas para verificar e enviar as atualizações para o GitHub.
O que é SemVer?
SemVer (Semantic Versioning) é uma forma padronizada de numerar versões (ex: 1.0.0, 1.1.0, 2.0.0) para indicar o tipo de mudança feita.
O que é 'Keep a Changelog'?
É um guia para escrever arquivos de registro de mudanças (changelog) de forma clara e organizada, explicando o que mudou em cada versão.
Detalhes
Descrição original do autor
Guides IA through releasing a new version of a GitHub library end-to-end. Handles SemVer versioning and Keep a Changelog formatting automatically.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5173
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
bun-runtime
Faz seu agente usar o Bun para rodar, organizar e testar código. Ajuda a escolher o Bun em vez de outras ferramentas e a migrar projetos existentes.
affaan-m/ECC
database-migrations
Ajuda seu agente a fazer mudanças seguras em bancos de dados. Ele garante que as alterações possam ser desfeitas e minimiza o tempo de inatividade.
affaan-m/ECC
deployment-patterns
Configura fluxos de implantação e CI/CD, containerização e estratégias de rollback para garantir lançamentos seguros.
affaan-m/ECC