Atualizar dependência com segurança

Atualiza uma dependência por vez, lendo seu changelog, planejando mudanças disruptivas, atualizando o código e verificando se o projeto ainda compila e passa nos testes. Use quando solicitado a atualizar, migrar ou fazer upgrade de um pacote ou framework.

O que é Atualizar dependência com segurança?

Esta habilidade orienta o agente a realizar a atualização de uma única dependência (ou um grupo fortemente acoplado) para uma versão mais nova, minimizando riscos. O processo começa identificando a versão atual instalada (a partir do lockfile) e a versão alvo, consultando o gerenciador de pacotes quando necessário. Em seguida, registra uma linha de base executando instalação, build, testes, lint e verificação de tipos em uma árvore de trabalho limpa, para não atribuir falhas pré-existentes ao upgrade. A etapa crucial é a leitura das notas de lançamento reais para cada versão intermediária, extraindo mudanças disruptivas, APIs removidas ou renomeadas, novos requisitos mínimos de runtime e depreciações. Após mapear o impacto com ferramentas como `rg`, o agente executa o upgrade de forma isolada, faz as alterações de código necessárias na menor ordem possível e verifica novamente o projeto. A habilidade suporta qualquer gerenciador de pacotes (npm, pip, cargo, etc.) e impõe regras rígidas: nunca atualizar e refatorar no mesmo commit, nunca ignorar testes falhos para esconder problemas e sempre pedir permissão antes de alterar requisitos mínimos de runtime ou versões de peer.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/agentkitco/agentkit-dev-skills/tree/HEAD/skills/dependency-upgrade

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Atualizar uma dependência com segurança

Objetivo: mover uma dependência (ou um grupo fortemente acoplado) para uma versão mais nova, com as quebras compreendidas antecipadamente, não descobertas depois.

Planejamento

  1. Identificar o estado atual. Descubra a versão instalada (lockfile, não apenas o manifest) e a versão alvo. Se o usuário disser "última", consulte o gerenciador de pacotes (npm view <pkg> version, pip index versions <pkg>, cargo search, etc.) e informe o número.
  2. Registrar uma linha de base em uma árvore de trabalho limpa: instalar, compilar, testar, lint, verificação de tipos. Anote quaisquer falhas pré-existentes para não culpar o upgrade por elas.
  3. Ler as notas de versão reais. Abra o changelog, notas de lançamento ou guia de migração para cada versão entre a atual e a alvo. Extraia: mudanças disruptivas, APIs removidas ou renomeadas, novas versões mínimas de runtime, defaults alterados, depreciações. Cite o link de origem de cada item. Se não encontrar notas de versão, informe e trate o upgrade como de alto risco.
  4. Mapear o impacto. Use rg no código fonte para cada API removida, renomeada ou alterada. Liste os arquivos afetados antes de editar.

Execução

  • Atualize apenas esta dependência (e peers necessários). Não execute uma "atualização geral".
  • Atualize o manifest e lockfile com o gerenciador de pacotes do projeto, não manualmente.
  • Faça as alterações de código exigidas pelas notas, começando pelas menores. Substitua usos depreciados quando a nova forma for equivalente.
  • Execute instalação, compilação, testes, lint e verificação de tipos novamente. Compare com a linha de base.
  • Para versões principais, execute também o aplicativo ou o caminho de exemplo principal, se possível, e verifique o tamanho do bundle, avisos de inicialização e avisos de depreciação.
  • Se o upgrade precisar de um aumento de versão mínima de runtime ou peer, pare e pergunte antes de alterar.

Relatório

Upgrade: <pkg> <de> -> <para>
Fontes: <links do changelog>
Mudanças disruptivas aplicadas: <lista com referências de arquivos>
Alterações feitas: <resumo>
Verificação: <comandos, linha de base vs. resultado>
Avisos ou acompanhamentos: <depreciações, itens ignorados, riscos>
Rollback: reverta <arquivos>, ou `git revert <commit>`

Regras

  • Nunca atualize e refatore na mesma alteração.
  • Nunca pule um teste que falha ou afrouxe uma faixa de versão para esconder um problema.
  • Correções de segurança: informe qual advisory o upgrade resolve apenas se você o viu em um advisory oficial ou nas notas de versão.
  • Se uma dependência transitória causar conflito, mostre a saída do conflito e proponha opções em vez de sobrescrever cegamente.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Habilidades Relacionadas