Pular para o conteúdo

Pull request bonito é o que alguém lê até o fim

Em 2024 eu escrevi sobre templates de PR por tipo de mudança. Hoje quem escreve a descrição é a IA, e o problema virou o contrário: sobra texto.

Jefferson Oliveira · autor

AI Engineer · Studio Visual (abre em nova aba)

Publicado em

Atualizado em · 5 min de leitura

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ó.

Jefferson Oliveira // onde eu errei

Relendo os exemplos de 2024: quatro dos cinco templates terminam em “Notas Adicionais: Nenhuma.”. Uma seção que quase sempre fica vazia não ajuda quem revisa, só ocupa espaço. Ela saiu do template.

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.

.github/pull_request_template.md
<!-- 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 #

Jefferson Oliveira // o detalhe que eu gosto

O ID da tarefa no começo do título eu mantenho até hoje, quando o time usa Jira ou outro quadro que gera ID. Está nas minhas instruções de commit: “ABC-123 feat: add payment validation”. Quem chega pelo quadro acha o PR, e quem chega pelo PR acha a tarefa. Sem quadro, o título começa direto pelo tipo.

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.

Jefferson Oliveira // na prática

O que mais chega pra mim hoje são documentações gigantes de PR geradas por IA. Dá preguiça de ler, e preguiça de ler vira aprovação sem ler. Descrição curta tem mais chance de ser lida inteira.

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:

.claude/skills/pr-description/SKILL.md
---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:

Descrição do PR
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?

Dá. O GitHub aceita vários templates numa pasta PULL_REQUEST_TEMPLATE, escolhidos pelo parâmetro ?template= na URL de criação do PR. Eu prefiro um só: ninguém lembra de trocar a URL, e o template curto se adapta cortando o que fica vazio.

A skill funciona fora do Claude Code?

O formato SKILL.md, com name e description no topo, é lido por outros agentes também. Se o seu não lê, cole as regras no prompt. Elas valem do mesmo jeito.

E PR grande, que não cabe em 15 linhas?

Quase sempre é sinal de que o PR devia ser dois. Quando não dá pra quebrar, a descrição cresce, mas a ordem continua: por quê, o que mudou, como testar.

Referências

  1. [1] Google Engineering Practices: Writing good CL descriptions (abre em nova aba) google.github.io/eng-practices/review/developer/cl-descriptions.html
  2. [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. [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. [4] Claude Code Docs: Skills (abre em nova aba) code.claude.com/docs/en/skills

Fontes conferidas em out 2026.

  • Git
  • Code review
  • IA

Compartilhar:

LinkedIn (abre em nova aba) X (abre em nova aba)

// quem escreveu

Jefferson Oliveira

AI Engineer · Studio Visual (abre em nova aba) · São Paulo, SP

Trabalho há mais de 5 anos com PHP, Laravel e WordPress, construindo e-commerces, integrações e sistemas internos. Hoje lidero a adoção de IA na Studio Visual (abre em nova aba) e curso MBA em Engenharia de Software na FIAP.

  • MBA em Engenharia de Software · FIAP (cursando)
  • Análise e Desenvolvimento de Sistemas · FATEC Zona Leste
  • Liderança e Gestão de Equipes · FGV
  • PHP: Desenvolvimento Web e POO · 4Linux

Conheça minha trajetória LinkedIn (abre em nova aba) GitHub (abre em nova aba)

Contato

Quer trocar uma ideia? Bora conversar.

Gosto de conversar sobre IA aplicada, PHP e arquitetura de software, seja para trocar experiência, falar de um projeto ou de uma proposta.

joliveiracode@gmail.com

// download iniciado

Currículo a caminho.

O PDF está baixando. Se quiser trocar uma ideia sobre IA aplicada, PHP ou arquitetura, é só chamar.