Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Criar PR automaticamente. Ativa com "criar PR", "abrir pull request", "enviar para revisão".
.claude/skills/wasabeef-criar-pr-automaticamente/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 121% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 69% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 127% | 0% |
Criação automática de PR baseada em análise de mudanças Git para um workflow eficiente de Pull Request.
bash# Criação automática de PR por análise de mudanças git add . && git commit -m "feat: implementação da funcionalidade de autenticação do usuário" "Analise o conteúdo das mudanças e crie um Draft PR com descrições e rótulos apropriados" # Atualização mantendo template existente cp .github/PULL_REQUEST_TEMPLATE.md pr_body.md "Mantenha completamente a estrutura do template e complemente o conteúdo das mudanças" # Melhoria gradual da qualidade gh pr ready "Após confirmação da qualidade, altere para Ready for Review"
bash# 1. Criação de branch e commit git checkout main && git pull git checkout -b feat-user-profile git add . && git commit -m "feat: implementação da funcionalidade de perfil do usuário" git push -u origin feat-user-profile # 2. Criação de PR "Crie um PR seguindo os seguintes passos: 1. Confirme o conteúdo das mudanças com git diff --cached 2. Crie a descrição usando .github/PULL_REQUEST_TEMPLATE.md 3. Selecione até 3 rótulos apropriados baseados no conteúdo das mudanças 4. Crie como Draft PR (mantenha comentários HTML)" # 3. Tornar Ready após confirmação do CI "Quando o CI passar, altere o PR para Ready for Review"
bash# Regras de nomenclatura seguindo diretrizes: {type}-{subject} git checkout main git pull git checkout -b feat-user-authentication # Confirmação de branch (exibe o nome da branch atual) git branch --show-current
bash# Stage das mudanças git add . # Mensagem de commit seguindo diretrizes git commit -m "feat: implementação da API de autenticação do usuário"
bash# Push inicial (configuração upstream) git push -u origin feat-user-authentication # A partir da segunda vez git push
Step 1: Análise do Conteúdo das Mudanças
bash# Obtenção de mudanças nos arquivos (confirma mudanças em stage) git diff --cached --name-only # Análise de conteúdo (máximo 1000 linhas) git diff --cached | head -1000
Step 2: Geração Automática de Descrição
bash# Ordem de prioridade no processamento de templates # 1. Descrição de PR existente (manter completamente) # 2. .github/PULL_REQUEST_TEMPLATE.md # 3. Template padrão cp .github/PULL_REQUEST_TEMPLATE.md pr_body.md # Complementar apenas seções vazias mantendo comentários HTML e linhas separadoras
Step 3: Seleção Automática de Rótulos
bash# Obtenção de rótulos disponíveis (não interativo) "Obtenha os rótulos disponíveis de .github/labels.yml ou do repositório GitHub e selecione automaticamente rótulos apropriados baseados no conteúdo das mudanças" # Seleção automática por correspondência de padrão (máximo 3) # - Documentação: *.md, docs/ → documentation|docs # - Teste: test, spec → test|testing # - Correção de bug: fix|bug → bug|fix # - Nova funcionalidade: feat|feature → feature|enhancement
Step 4: Criação de PR com GitHub API (Mantendo Comentários HTML)
bash# Criação de PR "Crie um Draft PR com as seguintes informações: - Título: geração automática a partir da mensagem de commit - Descrição: use .github/PULL_REQUEST_TEMPLATE.md e preencha adequadamente - Rótulos: seleção automática baseada no conteúdo das mudanças (máximo 3) - Branch base: main - Mantenha completamente os comentários HTML"
Método B: GitHub MCP (Fallback)
javascript// Criação de PR mantendo comentários HTML mcp__github__create_pull_request({ owner: "organization", repo: "repository", base: "main", head: "feat-user-authentication", title: "feat: implementação da autenticação do usuário", body: prBodyContent, // conteúdo completo incluindo comentários HTML draft: true, maintainer_can_modify: true, });
*.md, README, docs/ → documentation|docs|doctest, spec → test|testing.github/, *.yml, Dockerfile → ci|build|infra|opspackage.json, pubspec.yaml → dependencies|depsfix|bug|error|crash|corrigir → bug|fixfeat|feature|add|implement|novo|adicionar → feature|enhancement|featrefactor|clean|refatorar|limpar → refactor|cleanup|cleanperformance|perf|optimize → performance|perfsecurity|secure → security.github/PULL_REQUEST_TEMPLATE.mdtext{type}-{subject} Exemplos: - feat-user-profile - fix-login-error - refactor-api-client
text{type}: {description} Exemplos: - feat: implementação da API de autenticação do usuário - fix: correção do erro de login - docs: atualização do README
.github/PULL_REQUEST_TEMPLATE.md<!-- Copilot review rule -->, etc.<!-- ... -->---Importante: O GitHub CLI (gh pr edit) faz escape automático de comentários HTML, podendo resultar em strings inválidas como EOF < /dev/null durante o processamento do shell.
Soluções fundamentais:
bash# Re-commit após mudanças git add . git commit -m "fix: correções baseadas no feedback da revisão" git push
gh pr edit faz escape de comentários HTML, mistura strings inválidas--field da GitHub API.github/labels.ymlgh pr checksgh pr ready após confirmação da qualidadeOther measured skills in the registry, with their headline benchmark lift.