Automação do GitHub via Rube MCP
Automatize gerenciamento de repositórios GitHub, rastreamento de issues, workflows de pull request, operações de branches e CI/CD através do toolkit GitHub do Composio.
Pré-requisitos
- Rube MCP deve estar conectado (RUBE_SEARCH_TOOLS disponível)
- Conexão ativa com GitHub via
RUBE_MANAGE_CONNECTIONS com toolkit github
- Sempre chame
RUBE_SEARCH_TOOLS primeiro para obter os schemas das ferramentas atuais
Configuração
Obter Rube MCP: Adicione https://rube.app/mcp como um servidor MCP na configuração do seu cliente. Sem necessidade de API keys — basta adicionar o endpoint e funciona.
- Verifique se Rube MCP está disponível confirmando que
RUBE_SEARCH_TOOLS responde
- Chame
RUBE_MANAGE_CONNECTIONS com toolkit github
- Se a conexão não estiver ATIVA, siga o link de autenticação retornado para completar o OAuth do GitHub
- Confirme se o status da conexão mostra ATIVA antes de executar qualquer workflow
Workflows Principais
1. Criar e Gerenciar Issues
Quando usar: Usuário quer criar, listar ou gerenciar issues do GitHub
Sequência de ferramentas:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER - Encontrar repositório alvo se desconhecido [Pré-requisito]
GITHUB_LIST_REPOSITORY_ISSUES - Listar issues existentes (inclui PRs) [Obrigatório]
GITHUB_CREATE_AN_ISSUE - Criar uma nova issue [Obrigatório]
GITHUB_CREATE_AN_ISSUE_COMMENT - Adicionar comentários a uma issue [Opcional]
GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS - Pesquisar entre repositórios por palavra-chave [Opcional]
Parâmetros principais:
owner: Proprietário do repositório (username ou org), insensível a maiúsculas
repo: Nome do repositório sem extensão .git
title: Título da issue (obrigatório para criação)
body: Descrição da issue (suporta Markdown)
labels: Array de nomes de labels
assignees: Array de usernames do GitHub
state: 'open', 'closed' ou 'all' para filtrar
Armadilhas:
GITHUB_LIST_REPOSITORY_ISSUES retorna issues E pull requests; verifique o campo pull_request para distinguir
- Apenas usuários com acesso push podem definir assignees, labels e milestones; eles são silenciosamente descartados caso contrário
- Paginação:
per_page máximo 100; itere páginas até ficar vazia
2. Gerenciar Pull Requests
Quando usar: Usuário quer criar, revisar ou fazer merge de pull requests
Sequência de ferramentas:
GITHUB_FIND_PULL_REQUESTS - Pesquisar e filtrar PRs [Obrigatório]
GITHUB_GET_A_PULL_REQUEST - Obter informações detalhadas do PR incluindo status de mergeabilidade [Obrigatório]
GITHUB_LIST_PULL_REQUESTS_FILES - Revisar arquivos alterados [Opcional]
GITHUB_CREATE_A_PULL_REQUEST - Criar um novo PR [Obrigatório]
GITHUB_CREATE_AN_ISSUE_COMMENT - Postar comentários de revisão [Opcional]
GITHUB_LIST_CHECK_RUNS_FOR_A_REF - Verificar status de CI antes do merge [Opcional]
GITHUB_MERGE_A_PULL_REQUEST - Fazer merge após aprovação explícita do usuário [Obrigatório]
Parâmetros principais:
head: Branch de origem com alterações (deve existir; para repositórios cruzados: 'username:branch')
base: Branch alvo para merge (ex: 'main')
title: Título do PR (obrigatório a menos que o número de issue seja fornecido)
merge_method: 'merge', 'squash' ou 'rebase'
state: 'open', 'closed' ou 'all'
Armadilhas:
GITHUB_CREATE_A_PULL_REQUEST falha com 422 se base/head forem inválidos, idênticos ou já foram merged
GITHUB_MERGE_A_PULL_REQUEST pode ser rejeitado se PR é draft, está fechado ou proteção de branch se aplica
- Sempre verifique o status de mergeabilidade com
GITHUB_GET_A_PULL_REQUEST imediatamente antes de fazer merge
- Exija confirmação explícita do usuário antes de chamar MERGE
3. Gerenciar Repositórios e Branches
Quando usar: Usuário quer criar repositórios, gerenciar branches ou atualizar configurações do repositório
Sequência de ferramentas:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER - Listar repositórios do usuário [Obrigatório]
GITHUB_GET_A_REPOSITORY - Obter informações detalhadas do repositório [Opcional]
GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER - Criar repositório pessoal [Obrigatório]
GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY - Criar repositório de org [Alternativa]
GITHUB_LIST_BRANCHES - Listar branches [Obrigatório]
GITHUB_CREATE_A_REFERENCE - Criar novo branch a partir de SHA [Obrigatório]
GITHUB_UPDATE_A_REPOSITORY - Atualizar configurações do repositório [Opcional]
Parâmetros principais:
name: Nome do repositório
private: Booleano para visibilidade
ref: Caminho de referência completo (ex: 'refs/heads/new-branch')
sha: SHA do commit para apontar a nova referência
default_branch: Nome do branch padrão
Armadilhas:
GITHUB_CREATE_A_REFERENCE apenas cria NOVAS referências; use GITHUB_UPDATE_A_REFERENCE para existentes
ref deve começar com 'refs/' e conter pelo menos duas barras
GITHUB_LIST_BRANCHES pagina via page/per_page; itere até página vazia
GITHUB_DELETE_A_REPOSITORY é permanente e irreversível; requer privilégios de administrador
4. Pesquisar Código e Commits
Quando usar: Usuário quer encontrar código, arquivos ou commits entre repositórios
Sequência de ferramentas:
GITHUB_SEARCH_CODE - Pesquisar conteúdo de arquivos e caminhos [Obrigatório]
GITHUB_SEARCH_CODE_ALL_PAGES - Pesquisa de código multi-página [Alternativa]
GITHUB_SEARCH_COMMITS_BY_AUTHOR - Pesquisar commits por autor/data/org [Obrigatório]
GITHUB_LIST_COMMITS - Listar commits para um repositório específico [Alternativa]
GITHUB_GET_A_COMMIT - Obter informações detalhadas do commit [Opcional]
GITHUB_GET_REPOSITORY_CONTENT - Obter conteúdo do arquivo [Opcional]
Parâmetros principais:
q: Query de pesquisa com qualificadores (language:python, repo:owner/repo, extension:js)
owner/repo: Para listagem de commits específico do repositório
author: Filtrar por autor do commit
since/until: Intervalo de datas ISO 8601 para commits
Armadilhas:
- Pesquisa de código indexa apenas arquivos menores que 384KB no branch padrão
- Máximo de 1000 resultados retornados da pesquisa de código
GITHUB_SEARCH_COMMITS_BY_AUTHOR requer keywords além de qualificadores; queries apenas com qualificadores não são permitidas
GITHUB_LIST_COMMITS retorna 409 em repositórios vazios
5. Gerenciar CI/CD e Deployments
Quando usar: Usuário quer visualizar workflows, verificar status de CI ou gerenciar deployments
Sequência de ferramentas:
GITHUB_LIST_REPOSITORY_WORKFLOWS - Listar workflows do GitHub Actions [Obrigatório]
GITHUB_GET_A_WORKFLOW - Obter detalhes do workflow por ID ou nome de arquivo [Opcional]
GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT - Disparar manualmente um workflow [Obrigatório]
GITHUB_LIST_CHECK_RUNS_FOR_A_REF - Verificar status de CI para um commit/branch [Obrigatório]
GITHUB_LIST_DEPLOYMENTS - Listar deployments [Opcional]
GITHUB_GET_A_DEPLOYMENT_STATUS - Obter status do deployment [Opcional]
Parâmetros principais:
workflow_id: ID numérico ou nome de arquivo (ex: 'ci.yml')
ref: Referência Git (branch/tag) para dispatch do workflow
inputs: String JSON de inputs do workflow correspondendo a on.workflow_dispatch.inputs
environment: Filtrar deployments por nome de ambiente
Armadilhas:
GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT requer que o workflow tenha o trigger workflow_dispatch configurado
- O caminho completo
.github/workflows/main.yml é automaticamente reduzido para apenas main.yml
- Inputs máximo 10 pares chave-valor; devem corresponder às definições de
on.workflow_dispatch.inputs do workflow
6. Gerenciar Usuários e Permissões
Quando usar: Usuário quer verificar colaboradores, permissões ou proteção de branch
Sequência de ferramentas:
GITHUB_LIST_REPOSITORY_COLLABORATORS - Listar colaboradores do repositório [Obrigatório]
GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER - Verificar acesso de usuário específico [Opcional]
GITHUB_GET_BRANCH_PROTECTION - Inspecionar regras de proteção de branch [Obrigatório]
GITHUB_UPDATE_BRANCH_PROTECTION - Atualizar configurações de proteção [Opcional]
GITHUB_ADD_A_REPOSITORY_COLLABORATOR - Adicionar/atualizar colaborador [Opcional]
Parâmetros principais:
affiliation: 'outside', 'direct' ou 'all' para filtro de colaboradores
permission: Filtrar por 'pull', 'triage', 'push', 'maintain', 'admin'
branch: Nome do branch para regras de proteção
enforce_admins: Se a proteção se aplica a administradores
Armadilhas:
GITHUB_GET_BRANCH_PROTECTION retorna 404 para branches desprotegidos; trate como sem regras de proteção
- Determine capacidade de push a partir de
permissions.push ou role_name, não rótulos de exibição
GITHUB_LIST_REPOSITORY_COLLABORATORS pagina; itere todas as páginas
GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER pode ser inconclusivo para não-colaboradores
Padrões Comuns
Resolução de ID
- Nome do repositório -> owner/repo:
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER
- Número do PR -> Detalhes do PR:
GITHUB_FIND_PULL_REQUESTS depois GITHUB_GET_A_PULL_REQUEST
- Nome do branch -> SHA:
GITHUB_GET_A_BRANCH
- Nome do workflow -> ID:
GITHUB_LIST_REPOSITORY_WORKFLOWS
Paginação
Todos os endpoints de listagem usam paginação baseada em página:
page: Número da página (começa em 1)
per_page: Resultados por página (máximo 100)
- Itere até que a resposta retorne menos resultados que
per_page
Segurança
- Sempre verifique o status de mergeabilidade do PR antes de fazer merge
- Exija confirmação explícita do usuário para operações destrutivas (merge, delete)
- Verifique o status de CI com
GITHUB_LIST_CHECK_RUNS_FOR_A_REF antes de fazer merge
Armadilhas Conhecidas
- Issues vs PRs:
GITHUB_LIST_REPOSITORY_ISSUES retorna ambos; verifique o campo pull_request
- Limites de paginação:
per_page máximo 100; sempre itere páginas até ficar vazia
- Criação de branch:
GITHUB_CREATE_A_REFERENCE falha com 422 se a referência já existe
- Guardas de merge: Merge pode falhar devido a proteção de branch, checks falhando ou status draft
- Limites de pesquisa de código: Apenas arquivos <384KB no branch padrão; máximo 1000 resultados
- Pesquisa de commit: Requer keywords de texto de pesquisa além de qualificadores
- Ações destrutivas: Exclusão de repositório é irreversível; merge não pode ser desfeito
- Descartes silenciosos de permissão: Labels, assignees, milestones silenciosamente descartados sem acesso push
Referência Rápida
| Tarefa |
Tool Slug |
Parâmetros Principais |
| Listar repositórios |
GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER |
type, sort, per_page |
| Obter repositório |
GITHUB_GET_A_REPOSITORY |
owner, repo |
| Criar issue |
GITHUB_CREATE_AN_ISSUE |
owner, repo, title, body |
| Listar issues |
GITHUB_LIST_REPOSITORY_ISSUES |
owner, repo, state |
| Encontrar PRs |
GITHUB_FIND_PULL_REQUESTS |
repo, state, author |
| Criar PR |
GITHUB_CREATE_A_PULL_REQUEST |
owner, repo, head, base, title |
| Fazer merge em PR |
GITHUB_MERGE_A_PULL_REQUEST |
owner, repo, pull_number, merge_method |
| Listar branches |
GITHUB_LIST_BRANCHES |
owner, repo |
| Criar branch |
GITHUB_CREATE_A_REFERENCE |
owner, repo, ref, sha |
| Pesquisar código |
GITHUB_SEARCH_CODE |
q |
| Listar commits |
GITHUB_LIST_COMMITS |
owner, repo, author, since |
| Pesquisar commits |
GITHUB_SEARCH_COMMITS_BY_AUTHOR |
q |
| Listar workflows |
GITHUB_LIST_REPOSITORY_WORKFLOWS |
owner, repo |
| Disparar workflow |
GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT |
owner, repo, workflow_id, ref |
| Verificar CI |
GITHUB_LIST_CHECK_RUNS_FOR_A_REF |
owner, repo, ref |
| Listar colaboradores |
GITHUB_LIST_REPOSITORY_COLLABORATORS |
owner, repo |
| Proteção de branch |
GITHUB_GET_BRANCH_PROTECTION |
owner, repo, branch |
Quando Usar
Esta skill é aplicável para executar o workflow ou ações descritos na visão geral.
1---2name: github-automation3description: Automatize gerenciamento de repositórios GitHub, rastreamento de issues, workflows de pull requests, operações de branches e CI/CD por meio do toolkit GitHub do Composio. Gerencie fluxos de código, revise PRs, pesquise código e liide com deployments programaticamente.4---56# Automação do GitHub via Rube MCP78Automatize gerenciamento de repositórios GitHub, rastreamento de issues, workflows de pull request, operações de branches e CI/CD através do toolkit GitHub do Composio.910## Pré-requisitos1112- Rube MCP deve estar conectado (RUBE_SEARCH_TOOLS disponível)13- Conexão ativa com GitHub via `RUBE_MANAGE_CONNECTIONS` com toolkit `github`14- Sempre chame `RUBE_SEARCH_TOOLS` primeiro para obter os schemas das ferramentas atuais1516## Configuração1718**Obter Rube MCP**: Adicione `https://rube.app/mcp` como um servidor MCP na configuração do seu cliente. Sem necessidade de API keys — basta adicionar o endpoint e funciona.19201. Verifique se Rube MCP está disponível confirmando que `RUBE_SEARCH_TOOLS` responde212. Chame `RUBE_MANAGE_CONNECTIONS` com toolkit `github`223. Se a conexão não estiver ATIVA, siga o link de autenticação retornado para completar o OAuth do GitHub234. Confirme se o status da conexão mostra ATIVA antes de executar qualquer workflow2425## Workflows Principais2627### 1. Criar e Gerenciar Issues2829**Quando usar**: Usuário quer criar, listar ou gerenciar issues do GitHub3031**Sequência de ferramentas**:321. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - Encontrar repositório alvo se desconhecido [Pré-requisito]332. `GITHUB_LIST_REPOSITORY_ISSUES` - Listar issues existentes (inclui PRs) [Obrigatório]343. `GITHUB_CREATE_AN_ISSUE` - Criar uma nova issue [Obrigatório]354. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Adicionar comentários a uma issue [Opcional]365. `GITHUB_SEARCH_ISSUES_AND_PULL_REQUESTS` - Pesquisar entre repositórios por palavra-chave [Opcional]3738**Parâmetros principais**:39- `owner`: Proprietário do repositório (username ou org), insensível a maiúsculas40- `repo`: Nome do repositório sem extensão .git41- `title`: Título da issue (obrigatório para criação)42- `body`: Descrição da issue (suporta Markdown)43- `labels`: Array de nomes de labels44- `assignees`: Array de usernames do GitHub45- `state`: 'open', 'closed' ou 'all' para filtrar4647**Armadilhas**:48- `GITHUB_LIST_REPOSITORY_ISSUES` retorna issues E pull requests; verifique o campo `pull_request` para distinguir49- Apenas usuários com acesso push podem definir assignees, labels e milestones; eles são silenciosamente descartados caso contrário50- Paginação: `per_page` máximo 100; itere páginas até ficar vazia5152### 2. Gerenciar Pull Requests5354**Quando usar**: Usuário quer criar, revisar ou fazer merge de pull requests5556**Sequência de ferramentas**:571. `GITHUB_FIND_PULL_REQUESTS` - Pesquisar e filtrar PRs [Obrigatório]582. `GITHUB_GET_A_PULL_REQUEST` - Obter informações detalhadas do PR incluindo status de mergeabilidade [Obrigatório]593. `GITHUB_LIST_PULL_REQUESTS_FILES` - Revisar arquivos alterados [Opcional]604. `GITHUB_CREATE_A_PULL_REQUEST` - Criar um novo PR [Obrigatório]615. `GITHUB_CREATE_AN_ISSUE_COMMENT` - Postar comentários de revisão [Opcional]626. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Verificar status de CI antes do merge [Opcional]637. `GITHUB_MERGE_A_PULL_REQUEST` - Fazer merge após aprovação explícita do usuário [Obrigatório]6465**Parâmetros principais**:66- `head`: Branch de origem com alterações (deve existir; para repositórios cruzados: 'username:branch')67- `base`: Branch alvo para merge (ex: 'main')68- `title`: Título do PR (obrigatório a menos que o número de `issue` seja fornecido)69- `merge_method`: 'merge', 'squash' ou 'rebase'70- `state`: 'open', 'closed' ou 'all'7172**Armadilhas**:73- `GITHUB_CREATE_A_PULL_REQUEST` falha com 422 se base/head forem inválidos, idênticos ou já foram merged74- `GITHUB_MERGE_A_PULL_REQUEST` pode ser rejeitado se PR é draft, está fechado ou proteção de branch se aplica75- Sempre verifique o status de mergeabilidade com `GITHUB_GET_A_PULL_REQUEST` imediatamente antes de fazer merge76- Exija confirmação explícita do usuário antes de chamar MERGE7778### 3. Gerenciar Repositórios e Branches7980**Quando usar**: Usuário quer criar repositórios, gerenciar branches ou atualizar configurações do repositório8182**Sequência de ferramentas**:831. `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` - Listar repositórios do usuário [Obrigatório]842. `GITHUB_GET_A_REPOSITORY` - Obter informações detalhadas do repositório [Opcional]853. `GITHUB_CREATE_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER` - Criar repositório pessoal [Obrigatório]864. `GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY` - Criar repositório de org [Alternativa]875. `GITHUB_LIST_BRANCHES` - Listar branches [Obrigatório]886. `GITHUB_CREATE_A_REFERENCE` - Criar novo branch a partir de SHA [Obrigatório]897. `GITHUB_UPDATE_A_REPOSITORY` - Atualizar configurações do repositório [Opcional]9091**Parâmetros principais**:92- `name`: Nome do repositório93- `private`: Booleano para visibilidade94- `ref`: Caminho de referência completo (ex: 'refs/heads/new-branch')95- `sha`: SHA do commit para apontar a nova referência96- `default_branch`: Nome do branch padrão9798**Armadilhas**:99- `GITHUB_CREATE_A_REFERENCE` apenas cria NOVAS referências; use `GITHUB_UPDATE_A_REFERENCE` para existentes100- `ref` deve começar com 'refs/' e conter pelo menos duas barras101- `GITHUB_LIST_BRANCHES` pagina via `page`/`per_page`; itere até página vazia102- `GITHUB_DELETE_A_REPOSITORY` é permanente e irreversível; requer privilégios de administrador103104### 4. Pesquisar Código e Commits105106**Quando usar**: Usuário quer encontrar código, arquivos ou commits entre repositórios107108**Sequência de ferramentas**:1091. `GITHUB_SEARCH_CODE` - Pesquisar conteúdo de arquivos e caminhos [Obrigatório]1102. `GITHUB_SEARCH_CODE_ALL_PAGES` - Pesquisa de código multi-página [Alternativa]1113. `GITHUB_SEARCH_COMMITS_BY_AUTHOR` - Pesquisar commits por autor/data/org [Obrigatório]1124. `GITHUB_LIST_COMMITS` - Listar commits para um repositório específico [Alternativa]1135. `GITHUB_GET_A_COMMIT` - Obter informações detalhadas do commit [Opcional]1146. `GITHUB_GET_REPOSITORY_CONTENT` - Obter conteúdo do arquivo [Opcional]115116**Parâmetros principais**:117- `q`: Query de pesquisa com qualificadores (`language:python`, `repo:owner/repo`, `extension:js`)118- `owner`/`repo`: Para listagem de commits específico do repositório119- `author`: Filtrar por autor do commit120- `since`/`until`: Intervalo de datas ISO 8601 para commits121122**Armadilhas**:123- Pesquisa de código indexa apenas arquivos menores que 384KB no branch padrão124- Máximo de 1000 resultados retornados da pesquisa de código125- `GITHUB_SEARCH_COMMITS_BY_AUTHOR` requer keywords além de qualificadores; queries apenas com qualificadores não são permitidas126- `GITHUB_LIST_COMMITS` retorna 409 em repositórios vazios127128### 5. Gerenciar CI/CD e Deployments129130**Quando usar**: Usuário quer visualizar workflows, verificar status de CI ou gerenciar deployments131132**Sequência de ferramentas**:1331. `GITHUB_LIST_REPOSITORY_WORKFLOWS` - Listar workflows do GitHub Actions [Obrigatório]1342. `GITHUB_GET_A_WORKFLOW` - Obter detalhes do workflow por ID ou nome de arquivo [Opcional]1353. `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` - Disparar manualmente um workflow [Obrigatório]1364. `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` - Verificar status de CI para um commit/branch [Obrigatório]1375. `GITHUB_LIST_DEPLOYMENTS` - Listar deployments [Opcional]1386. `GITHUB_GET_A_DEPLOYMENT_STATUS` - Obter status do deployment [Opcional]139140**Parâmetros principais**:141- `workflow_id`: ID numérico ou nome de arquivo (ex: 'ci.yml')142- `ref`: Referência Git (branch/tag) para dispatch do workflow143- `inputs`: String JSON de inputs do workflow correspondendo a `on.workflow_dispatch.inputs`144- `environment`: Filtrar deployments por nome de ambiente145146**Armadilhas**:147- `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` requer que o workflow tenha o trigger `workflow_dispatch` configurado148- O caminho completo `.github/workflows/main.yml` é automaticamente reduzido para apenas `main.yml`149- Inputs máximo 10 pares chave-valor; devem corresponder às definições de `on.workflow_dispatch.inputs` do workflow150151### 6. Gerenciar Usuários e Permissões152153**Quando usar**: Usuário quer verificar colaboradores, permissões ou proteção de branch154155**Sequência de ferramentas**:1561. `GITHUB_LIST_REPOSITORY_COLLABORATORS` - Listar colaboradores do repositório [Obrigatório]1572. `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` - Verificar acesso de usuário específico [Opcional]1583. `GITHUB_GET_BRANCH_PROTECTION` - Inspecionar regras de proteção de branch [Obrigatório]1594. `GITHUB_UPDATE_BRANCH_PROTECTION` - Atualizar configurações de proteção [Opcional]1605. `GITHUB_ADD_A_REPOSITORY_COLLABORATOR` - Adicionar/atualizar colaborador [Opcional]161162**Parâmetros principais**:163- `affiliation`: 'outside', 'direct' ou 'all' para filtro de colaboradores164- `permission`: Filtrar por 'pull', 'triage', 'push', 'maintain', 'admin'165- `branch`: Nome do branch para regras de proteção166- `enforce_admins`: Se a proteção se aplica a administradores167168**Armadilhas**:169- `GITHUB_GET_BRANCH_PROTECTION` retorna 404 para branches desprotegidos; trate como sem regras de proteção170- Determine capacidade de push a partir de `permissions.push` ou `role_name`, não rótulos de exibição171- `GITHUB_LIST_REPOSITORY_COLLABORATORS` pagina; itere todas as páginas172- `GITHUB_GET_REPOSITORY_PERMISSIONS_FOR_A_USER` pode ser inconclusivo para não-colaboradores173174## Padrões Comuns175176### Resolução de ID177- **Nome do repositório -> owner/repo**: `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER`178- **Número do PR -> Detalhes do PR**: `GITHUB_FIND_PULL_REQUESTS` depois `GITHUB_GET_A_PULL_REQUEST`179- **Nome do branch -> SHA**: `GITHUB_GET_A_BRANCH`180- **Nome do workflow -> ID**: `GITHUB_LIST_REPOSITORY_WORKFLOWS`181182### Paginação183Todos os endpoints de listagem usam paginação baseada em página:184- `page`: Número da página (começa em 1)185- `per_page`: Resultados por página (máximo 100)186- Itere até que a resposta retorne menos resultados que `per_page`187188### Segurança189- Sempre verifique o status de mergeabilidade do PR antes de fazer merge190- Exija confirmação explícita do usuário para operações destrutivas (merge, delete)191- Verifique o status de CI com `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` antes de fazer merge192193## Armadilhas Conhecidas194195- **Issues vs PRs**: `GITHUB_LIST_REPOSITORY_ISSUES` retorna ambos; verifique o campo `pull_request`196- **Limites de paginação**: `per_page` máximo 100; sempre itere páginas até ficar vazia197- **Criação de branch**: `GITHUB_CREATE_A_REFERENCE` falha com 422 se a referência já existe198- **Guardas de merge**: Merge pode falhar devido a proteção de branch, checks falhando ou status draft199- **Limites de pesquisa de código**: Apenas arquivos <384KB no branch padrão; máximo 1000 resultados200- **Pesquisa de commit**: Requer keywords de texto de pesquisa além de qualificadores201- **Ações destrutivas**: Exclusão de repositório é irreversível; merge não pode ser desfeito202- **Descartes silenciosos de permissão**: Labels, assignees, milestones silenciosamente descartados sem acesso push203204## Referência Rápida205206| Tarefa | Tool Slug | Parâmetros Principais |207|--------|-----------|----------------------|208| Listar repositórios | `GITHUB_LIST_REPOSITORIES_FOR_THE_AUTHENTICATED_USER` | `type`, `sort`, `per_page` |209| Obter repositório | `GITHUB_GET_A_REPOSITORY` | `owner`, `repo` |210| Criar issue | `GITHUB_CREATE_AN_ISSUE` | `owner`, `repo`, `title`, `body` |211| Listar issues | `GITHUB_LIST_REPOSITORY_ISSUES` | `owner`, `repo`, `state` |212| Encontrar PRs | `GITHUB_FIND_PULL_REQUESTS` | `repo`, `state`, `author` |213| Criar PR | `GITHUB_CREATE_A_PULL_REQUEST` | `owner`, `repo`, `head`, `base`, `title` |214| Fazer merge em PR | `GITHUB_MERGE_A_PULL_REQUEST` | `owner`, `repo`, `pull_number`, `merge_method` |215| Listar branches | `GITHUB_LIST_BRANCHES` | `owner`, `repo` |216| Criar branch | `GITHUB_CREATE_A_REFERENCE` | `owner`, `repo`, `ref`, `sha` |217| Pesquisar código | `GITHUB_SEARCH_CODE` | `q` |218| Listar commits | `GITHUB_LIST_COMMITS` | `owner`, `repo`, `author`, `since` |219| Pesquisar commits | `GITHUB_SEARCH_COMMITS_BY_AUTHOR` | `q` |220| Listar workflows | `GITHUB_LIST_REPOSITORY_WORKFLOWS` | `owner`, `repo` |221| Disparar workflow | `GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT` | `owner`, `repo`, `workflow_id`, `ref` |222| Verificar CI | `GITHUB_LIST_CHECK_RUNS_FOR_A_REF` | `owner`, `repo`, ref |223| Listar colaboradores | `GITHUB_LIST_REPOSITORY_COLLABORATORS` | `owner`, `repo` |224| Proteção de branch | `GITHUB_GET_BRANCH_PROTECTION` | `owner`, `repo`, `branch` |225226## Quando Usar227Esta skill é aplicável para executar o workflow ou ações descritos na visão geral.