opção

Assista a um pull request ou ciclo de revisão até que esteja pronto para ser mesclado. Use quando solicitado a supervisionar, monitorar ou continuar verificando os comentários e revisões do PR, bem como a integração contínua (CI), até que todos os problemas passíveis de ação sejam resolvidos.

...Expandir tudo
16
Tempo atualizado 26 de Agosto de 2026

Sobre o babysit

Vigora um pull request ou ciclo de revisão até que ele esteja genuinamente pronto para ser mesclado, continuando a verificar em vez de parar após uma única passagem enquanto comentários ou threads de revisão permanecerem não resolvidos. O fluxo de trabalho identifica o número do PR, o branch e o branch base, confirma que o PR não é um rascunho e insere a capacidade de mesclagem, verificações, decisão de revisão, comentários e threads de revisão. Verificações pendentes são vigiadas até que sejam concluídas, com consultas em um intervalo prático de aproximadamente 30 a 60 segundos, a menos que o usuário solicite uma cadência diferente. Comentários novos e threads de revisão não resolvidos são lidos, com resumos do bot tratados como achados úteis e acionáveis, verificados contra o código.

Problemas reais são corrigidos em commits focados, testes ou builds relevantes são executados, as alterações são enviadas e o ciclo retorna para re-inspecionar o status. Threads de revisão obsoletas são resolvidas apenas após verificar que o código ou o artefato gerado agora aborda o comentário. O processo só é interrompido quando as verificações estão passando ou foram intencionalmente ignoradas, a decisão de revisão é aceitável, não restam comentários acionáveis e não restam threads de revisão não resolvidas.

A habilidade fornece receitas concretas do GitHub CLI e GraphQL. gh pr view com uma lista de campos JSON fornece um status grosseiro, incluindo estado, status de rascunho, capacidade de mesclagem, mergeStateStatus, reviewDecision, headRefOid e statusCheckRollup. O proprietário e o nome do repositório são resolvidos com gh repo view e jq antes das consultas GraphQL. Threads de revisão não resolvidas são buscadas com uma consulta GraphQL reviewThreads que inclui pageInfo para paginação, com um loop documentado que pagina os resultados usando endCursor enquanto hasNextPage for verdadeiro e filtra threads não resolvidos com jq. Uma mutação resolveReviewThread resolve um thread apenas quando a correção é verificada. As regras de operação incluem manter o observador em execução durante verificações longas, confirmar se os problemas relatados pelo bot são contra código obsoleto ou atual, verificar que o código-fonte e os artefatos gerados concordam antes de resolver, fazer uma varredura final fresca e relatar evidências concretas, como o SHA do commit mais recente, resultados das verificações, contagem de threads não resolvidas, testes executados e quaisquer arquivos locais sujos.

Perguntas Frequentes

Quando a habilidade para de vigiar um PR?

Apenas quando as verificações estão passando ou foram intencionalmente ignoradas, a decisão de revisão é aceitável, não restam comentários acionáveis e não restam threads de revisão não resolvidas. Não para após uma única passagem de verificação se os threads ainda estiverem abertos.

Com que frequência ele consulta o status?

Em um intervalo prático, geralmente de 30 a 60 segundos, a menos que o usuário solicite uma cadência diferente. O observador é mantido em execução enquanto as verificações longas ainda estiverem pendentes.

Como os threads de revisão não resolvidos são encontrados?

Com uma consulta GraphQL reviewThreads que inclui pageInfo, paginando os resultados usando o endCursor anterior enquanto hasNextPage for verdadeiro, filtrando então os threads onde isResolved é falso com jq.

Quando é seguro resolver um thread de revisão obsoleto?

Apenas após verificar que o código ou o artefato gerado agora aborda o comentário, usando a mutação resolveReviewThread. Para arquivos gerados distribuídos, o código-fonte e o artefato gerado devem ser confirmados como concordantes primeiro.

O que deve ser relatado no final?

Evidências concretas: o SHA do commit mais recente, nomes e resultados das verificações, a contagem de threads não resolvidos, testes executados e quaisquer arquivos locais sujos deixados intocados, após fazer uma nova varredura do status do PR, threads, comentários recentes e status do git.

Ver no GitHub

Stay with the PR until it is actually clean. Do not stop after one check pass if comments or review threads are still unresolved.

Workflow

  1. Identify the PR number, branch, and base branch.
  2. Confirm the PR is not draft and inspect mergeability, checks, review decision, comments, and review threads.
  3. Watch pending checks until they finish. Poll at a practical interval, usually 30-60 seconds unless the user asks for a different cadence.
  4. Read new comments and unresolved review threads. Treat bot summaries as useful, but verify actionable findings against the code.
  5. Fix real issues in focused commits, run relevant tests/builds, push, and return to step 2.
  6. Resolve stale review threads only after verifying the code or generated artifact now addresses the comment.
  7. Stop only when checks are passing or intentionally skipped, review decision is acceptable, no actionable comments remain, and no unresolved review threads remain.

GitHub CLI Checks

Use gh pr view for the coarse status:

gh pr view <number> --json \  number,state,isDraft,mergeable,mergeStateStatus,reviewDecision,headRefOid,statusCheckRollup,url

Resolve the repository owner/name before using GraphQL:

repo_json=$(gh repo view --json owner,name)owner=$(jq -r '.owner.login // .owner.name' <<<"$repo_json")repo=$(jq -r '.name' <<<"$repo_json")

Use GraphQL for unresolved review threads. Include pageInfo; omit cursor on the first page, then pass the previous endCursor with -f cursor="$cursor" while hasNextPage is true.

gh api graphql \  -f query='query($owner:String!,$repo:String!,$number:Int!,$cursor:String){repository(owner:$owner,name:$repo){pullRequest(number:$number){reviewThreads(first:100,after:$cursor){pageInfo{hasNextPage endCursor}nodes{id,isResolved,isOutdated,path,line,comments(last:1){nodes{author{login},body,createdAt,url}}}}}}}' \  -f owner="$owner" -f repo="$repo" -F number=<number>

Use this loop when a PR may have many review threads:

thread_query='query($owner:String!,$repo:String!,$number:Int!,$cursor:String){repository(owner:$owner,name:$repo){pullRequest(number:$number){reviewThreads(first:100,after:$cursor){pageInfo{hasNextPage endCursor}nodes{id,isResolved,isOutdated,path,line,comments(last:1){nodes{author{login},body,createdAt,url}}}}}}}'cursor_args=()while :; do  page=$(gh api graphql -f query="$thread_query" -f owner="$owner" -f repo="$repo" -F number=<number> "${cursor_args[@]}")  printf '%s' "$page" | jq -r '.data.repository.pullRequest.reviewThreads.nodes[]    | select(.isResolved==false)    | [.id,.path,(.line//""),(.isOutdated|tostring),(.comments.nodes[-1].author.login//""),(.comments.nodes[-1].body|gsub("";" ")|.[0:240])]    | @tsv'  jq -e '.data.repository.pullRequest.reviewThreads.pageInfo.hasNextPage' >/dev/null <<<"$page" || break  cursor=$(jq -r '.data.repository.pullRequest.reviewThreads.pageInfo.endCursor' <<<"$page")  cursor_args=(-f cursor="$cursor")done

Filter unresolved threads with jq:

jq -r '.data.repository.pullRequest.reviewThreads.nodes[]  | select(.isResolved==false)  | [.id,.path,(.line//""),(.isOutdated|tostring),(.comments.nodes[-1].author.login//""),(.comments.nodes[-1].body|gsub("";" ")|.[0:240])]  | @tsv'

Resolve a stale thread only when the fix is verified:

gh api graphql \  -f query='mutation($threadId:ID!){resolveReviewThread(input:{threadId:$threadId}){thread{id,isResolved}}}' \  -f threadId=<thread-id>

Operating Rules

  • Keep the watcher running while long checks are pending.
  • If a generated file is part of the distribution, verify the source and generated artifact agree before resolving comments.
  • If a bot reports an issue against stale code, confirm whether the thread is outdated or addressed in the latest head.
  • Before final reporting, do one fresh sweep of PR status, unresolved threads, recent comments, and local git status.
  • Report concrete evidence: latest commit SHA, check names and results, unresolved thread count, tests run, and any dirty local files left untouched.

Todos os arquivos

0 arquivos

Instalar babysit

Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

git clone https://github.com/thedotmack/claude-mem/blob/main/plugin/skills/babysit/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuração rápida: Copie a pasta de habilidades para .claude/skills. O Claude detectará e usará automaticamente a habilidade.
Repositório thedotmack/claude-mem

Habilidades relacionadas

code-simplify
Tempo atualizado 2 de Julho de 2026
requesting-code-review
Tempo atualizado 29 de Junho de 2026
Git Commit Helper
Tempo atualizado 29 de Junho de 2026
commit-standards
Tempo atualizado 29 de Junho de 2026
OR