agentsclimarketplace

Dependabot validation

Skill flaviomilan/skills/skills/dependabot-validation

🧩 my AI agent skills — write once in SKILL.md, synced to Claude Code, Cursor & Copilot

Install
npx -y skills add flaviomilan/skills --skill dependabot-validation

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Revisa (read-only) os PRs do Dependabot e os alertas de segurança de um repositório GitHub, classifica cada atualização por risco aplicando guardrails de versão configuráveis (ex.: travar o Spring Boot em 3.x), cruza PRs com alertas de segurança e entrega um relatório priorizado de o que pode subir com segurança e o que precisa de revisão ou deve ser segurado. Use quando precisar verificar as dependências de um repositório. Informe o repositório como owner/repo.

SKILL.md

5.4 KB, as published. Nobody here has run it

Dependabot Validation

Poupa o trabalho manual de auditar dependências: junta os PRs abertos do Dependabot, o status de CI de cada um, os alertas de segurança do repositório, e aplica regras de "até onde pode atualizar" para te dizer, por PR, o que subir, o que revisar e o que segurar. É somente leitura — nunca faz merge, approve, comentário ou label.

Pré-requisitos

  • gh (GitHub CLI) autenticado (gh auth status) e jq instalados.
  • Acesso de leitura ao repositĂłrio. Os alertas de segurança exigem permissĂŁo extra (admin/security); sem ela, a skill segue sĂł com os PRs e avisa.

Como usar

  1. Descobrir o repositório. Use o owner/repo que o usuário informar. Se não vier nenhum e você estiver dentro de um repo git, descubra com gh repo view --json nameWithOwner -q .nameWithOwner. Em caso de dúvida, pergunte — não invente.

  2. Coletar os dados (read-only):

    bash "$SKILL_DIR/scripts/fetch.sh" <owner/repo>
    

    ($SKILL_DIR = a pasta desta skill.) Isso imprime um JSON com pull_requests[] (cada um com ecosystem, dependency, from_version, to_version, grouped, ci, labels, body_excerpt) e security_alerts[] (com severity, package, ecosystem, vulnerable_range, patched). Se security_alerts_error nĂŁo for nulo, mencione isso no relatĂłrio.

  3. Ler os guardrails em constraints.yml (mesma pasta da skill) com a ferramenta Read. Cada regra tem ecosystem, match, max_major, reason.

  4. Classificar cada PR (regras abaixo) e cruzar com os alertas.

  5. Emitir o relatório no formato abaixo. Sem ações de escrita.

Como classificar cada PR

Determine o tipo de salto comparando from_version → to_version: muda o major = major; muda o minor = minor; senão = patch. (Para PRs com grouped: true, não há um único par de versões — use o body_excerpt para listar os pacotes do grupo e trate como revisar.)

Aplique os guardrails: para cada regra de constraints.yml cujo ecosystem bate com o do PR e cujo match Ă© substring (case-insensitive) de dependency, se o major de to_version > max_major, o PR Ă© â›” HOLD (cite a reason da regra).

Buckets, em ordem de prioridade:

  1. 🔴 Corrige alerta de segurança — o package/ecosystem do PR casa com algum security_alerts[] aberto e o to_version ≥ patched. Prioridade máxima. (Se também cruzar um guardrail, sinalize o conflito explicitamente: "corrige falha MAS cruzaria o teto — avaliar backport/exceção".)
  2. ⛔ Hold (guardrail) — cruza um teto de versão. Não subir; explicar o porquê.
  3. 🟡 Revisar — major bump (sem guardrail), OU ci = FAILURE, OU grouped, OU ci = PENDING/NONE. Explique o motivo (build vermelho? salto grande?).
  4. 🟢 Seguro para subir — patch/minor, ci = SUCCESS, sem guardrail e sem alerta pendente.

Mostre sempre, por PR: número (link), ecossistema, dependência, from → to com o tipo de salto, estado do CI e o motivo da classificação.

Formato do relatĂłrio

## Dependabot — <owner/repo>  ·  <data>
PRs abertos: <N>  ·  Alertas de segurança abertos: <M>
<se houver security_alerts_error: linha de aviso sobre alertas indisponĂ­veis>

### 🔴 Corrigem alertas de segurança (subir primeiro)
- #<n> <eco>: <dep> <from> → <to> (<salto>) · CI <✅/❌/⏳> · <severidade> — <recomendação>

### ⛔ Hold — guardrail
- #<n> <eco>: <dep> <from> → <to> (major) — BLOQUEADO: <reason do constraints.yml>

### 🟡 Revisar
- #<n> <eco>: <dep> <from> → <to> (<salto>) · CI <...> — <motivo: build vermelho / major / grupo>

### 🟢 Seguro para subir
- #<n> <eco>: <dep> <from> → <to> (<salto>) · CI ✅

### ⚠️ Alertas de segurança sem PR correspondente
- <severidade> <package> (<eco>) — vulnerável <vulnerable_range>, corrigido em <patched> — <url>

---
**Resumo:** <X seguros, Y a revisar, Z em hold, W alertas sem correção>. Próximo passo sugerido: <ex.: subir os 🟢 e o 🔴, fechar o PR de Spring 4, investigar o CI do #18>.

Omita seções vazias. Seja direto: o objetivo é o usuário bater o olho e saber o que fazer.

Notas e limitações

  • Read-only por design. Nunca rode gh pr merge/review/comment, nem gh pr edit/label. Se o usuário quiser agir, ele decide e executa.
  • O ecossistema vem do branch do Dependabot (dependabot/maven/..., dependabot/npm_and_yarn/...). Ecossistemas fora de Maven/npm aparecem como unknown mas ainda sĂŁo listados.
  • A correspondĂŞncia PR↔alerta Ă© por nome de pacote; pode haver pequenas diferenças de nomenclatura entre ecossistemas — na dĂşvida, sinalize em vez de afirmar com certeza.
  • Para checar risco de quebra alĂ©m da versĂŁo, vale ler o body_excerpt (o Dependabot inclui release notes e um "compatibility score").

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.