Escrito e revisado por Jefferson Oliveira. Os templates vêm do post original de 2024; a skill é a proposta desta revisão.
Em junho de 2024 eu publiquei um guia de templates de pull request: um modelo pra cada tipo de mudança, com título, problema, solução, referências, screenshots e notas. A ideia era simples. Quem revisa precisa entender o que mudou antes de abrir o diff.
Dois anos depois, a descrição do PR quase sempre sai de uma IA. E o problema inverteu. Antes faltava contexto. Hoje chega uma descrição gigante, com seção pra tudo, que dá preguiça de ler. Quem revisa pula direto pro diff e a descrição vira enfeite.
Pra quem a descrição é escrita
Quem lê um PR é uma pessoa com pouco tempo, entre uma tarefa e outra. Ela quer saber três coisas: o que mudou, por quê, e como conferir. Tudo que não responde a uma dessas perguntas atrasa a revisão.
O tipo do PR decide as perguntas
Essa parte do post original continua valendo. Os tipos vêm do Conventional Commits, e cada um pede uma coisa. Fix: qual era o problema e como ficou. Feat: o que dá pra fazer agora e como testar. Refactor: por que mexer e a garantia de que o comportamento não mudou. Chore: o que foi atualizado e por quê. Style: o que foi reformatado, e só.
Screenshot continua obrigatório quando a mudança é visual. Em front responsivo, uma imagem por resolução testada, como eu já pedia em 2024. É a parte que a IA não escreve por você.
Um template só, e curto
Juntei os cinco templates num só. O GitHub lê o arquivo pull_request_template.md na raiz do repositório, em docs/ ou em .github/, e preenche o corpo de todo PR novo com ele.
<!-- Título: tipo: o que muda. ID da tarefa na frente, se houver -->## Por quê<!-- O problema ou a necessidade, em 1 a 3 frases -->## O que mudou<!-- Só o que o diff não deixa óbvio -->## Como testar1.## Screenshots<!-- Só se for visual. Antes e depois. -->Closes #
Quando a IA escreve a descrição
A IA tem o diff inteiro e nenhum critério de corte. Então descreve tudo: cada arquivo, cada função renomeada, uma seção de impacto, outra de riscos, outra de próximos passos. Parece completo. Na prática, ninguém lê, e o que importava fica enterrado no meio.
A saída não é parar de usar IA pra isso. É dar a ela as regras que a gente usaria: o que cortar, o tamanho máximo, a ordem das seções.
Uma skill pra escrever o PR
Skill é um arquivo de instruções que o agente carrega quando a tarefa bate com a descrição dela. No Claude Code fica em .claude/skills/<nome>/SKILL.md. Se skill é novidade pra você, escrevi um post curto sobre como elas funcionam. Esta é a que eu sugiro pra descrição de PR:
---name: pr-descriptiondescription: Escreve título e descrição de pull request. Use ao abrir um PR ou quando pedirem "descreve esse PR".---Leia o diff da branch contra a base e a tarefa ligada.Título: `tipo: o que muda`, até 72 caracteres. Se o timeusa Jira ou similar, ID na frente: `ABC-123 fix: ...`.Tipo do Conventional Commits: fix, feat, refactor,chore ou style.Corpo, nesta ordem, cortando a seção que ficar vazia:- Por quê: 1 a 3 frases. O problema, não a solução.- O que mudou: até 5 itens. Só o que o diff não mostra.- Como testar: passos numerados que alguém consegue repetir.- Screenshots: se a mudança for visual, peça ao autor o antes e o depois. Nunca invente.- Closes #ID quando houver issue.Regras:- Escreva pra uma pessoa que tem 2 minutos.- Lista de arquivos alterados fica de fora: o diff mostra.- Seção sem conteúdo real (riscos, notas) fica de fora.- Passou de 15 linhas? Corte antes de entregar.Entrega: pergunte como a pessoa quer receber.- Criar o PR direto, se o gh estiver instalado e logado.- Mostrar o título e o corpo no chat, prontos pra copiar.- Salvar num .md em uma pasta temporária e devolver o caminho do arquivo.Sem gh, ofereça só as duas últimas.
A regra das 15 linhas é a que mais trabalha. Um limite obriga o agente a escolher o que importa, e escolher é justamente o que ele não faz sozinho.
A skill também não depende do GitHub. Sem o gh, ou se você preferir revisar antes, ela devolve o markdown no chat ou num arquivo temporário, e você cola onde abre o PR: GitLab, Bitbucket, Azure DevOps. Quem abre o PR lê, corta o que sobrou e assina. Se você não leria aquela descrição como revisor, não mande.
O fix de 2024, reescrito
O exemplo de correção do post original, no formato novo:
STU-132 fix: corrige erro 500 no login com senha errada## Por quêO login retornava erro 500 ao receber credenciaisincorretas. Apareceu nos testes de integração.## O que mudou- Tratamento de erro do backend ajustado- Mensagens de erro mais descritivas- Validações a mais no frontend## Como testar1. Abra o login e envie uma senha errada2. A tela mostra a mensagem de erro, sem 500Closes #123
Perguntas frequentes
Dá pra ter um template por tipo, como no post original?
A skill funciona fora do Claude Code?
E PR grande, que não cabe em 15 linhas?
Referências
- [1] Google Engineering Practices: Writing good CL descriptions (abre em nova aba) google.github.io/eng-practices/review/developer/cl-descriptions.html
- [2] GitHub Docs: Linking a pull request to an issue (abre em nova aba) docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue
- [3] GitHub Docs: Creating a pull request template (abre em nova aba) docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository
- [4] Claude Code Docs: Skills (abre em nova aba) code.claude.com/docs/en/skills
Fontes conferidas em out 2026.