skill-rails-upgrade
Ajuda seu agente a analisar aplicativos Rails. Ele avalia o que precisa ser atualizado para melhorar o desempenho e a segurança.
O que ela faz
Esta ferramenta analisa seu projeto Rails para te ajudar a atualizá-lo para uma versão mais recente. Ela verifica a versão atual, encontra a mais nova disponível e te informa sobre as principais mudanças necessárias.
Quando usar
- ✓Quando você quer atualizar seu projeto Rails para uma versão mais nova.
- ✓Para entender o esforço necessário para a atualização.
- ✓Para verificar se as dependências de JavaScript precisam ser atualizadas junto com o Rails.
Exemplo do que pedir para a IA
“Analise meu projeto Rails e me diga como atualizá-lo para a versão mais recente.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta verifica os arquivos do seu projeto para confirmar que é um aplicativo Rails. Em seguida, ela descobre qual versão você está usando e qual é a mais recente disponível. Ela compara as duas e busca informações sobre as mudanças necessárias.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill skill-rails-upgradeOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/skill-rails-upgrade/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Quando Usar Esta Habilidade
Analisa aplicações Rails e fornece avaliações de atualização
Use esta habilidade ao trabalhar com a análise de aplicações Rails e a oferta de avaliações de atualização.
Analisador de Atualização Rails
Analisa a aplicação Rails atual e fornece uma avaliação de atualização abrangente com mesclagem seletiva de arquivos.
Passo 1: Verificar Aplicação Rails
Verifica se estamos em uma aplicação Rails procurando por estes arquivos:
Gemfile(deve existir e conter 'rails')config/application.rb(configuração da aplicação Rails)config/environment.rb(ambiente Rails)
Se algum destes estiver faltando ou não indicar uma aplicação Rails, pare e informe ao usuário que isto não parece ser uma aplicação Rails.
Passo 2: Obter Versão Atual do Rails
Extrai a versão atual do Rails de:
- Primeiro, verifique
Gemfile.lockpara a versão exata instalada (procure porrails (x.y.z)) - Se não for encontrado, verifique
Gemfilepara a restrição de versão
Relata a versão atual exata (por exemplo, 7.1.3).
Passo 3: Encontrar Última Versão do Rails
Usa o GitHub CLI para buscar a última versão do Rails:
gh api repos/rails/rails/releases/latest --jq '.tag_name'
Isso retorna a tag da última versão estável (por exemplo, v8.0.1). Remove o prefixo 'v' para comparação.
Também verifica tags recentes para entender o cenário de lançamentos:
gh api repos/rails/rails/tags --jq '.[0:10] | .[].name'
Passo 4: Determinar Tipo de Atualização
Compara as versões atual e a última para classificar a atualização:
- Atualização de patch: Mesma major.minor, patch diferente (por exemplo, 7.1.3 → 7.1.5)
- Atualização menor: Mesma major, minor diferente (por exemplo, 7.1.3 → 7.2.0)
- Atualização maior: Versão major diferente (por exemplo, 7.1.3 → 8.0.0)
Passo 5: Obter Guia de Atualização
Usa WebFetch para obter o guia oficial de atualização do Rails:
URL: https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
Procure por seções relevantes para o salto de versão. O guia é organizado por versão de destino com seções como:
- "Atualizando de Rails X.Y para Rails X.Z"
- Mudanças que quebram compatibilidade (Breaking changes)
- Avisos de depreciação (Deprecation warnings)
- Mudanças de configuração
- Migrações necessárias
Extrai e resume as seções relevantes para o caminho de atualização específico do usuário.
Passo 6: Obter Diff do Rails
Usa WebFetch para obter o diff entre versões do railsdiff.org:
URL: https://railsdiff.org/{current_version}/{target_version}
Por exemplo: https://railsdiff.org/7.1.3/8.0.0
Isso mostra:
- Mudanças em arquivos de configuração padrão
- Novos arquivos que precisam ser adicionados
- Initializers modificados
- Dependências atualizadas
- Mudanças em scripts bin/
Resume as principais mudanças de arquivo.
Passo 7: Verificar Dependências JavaScript
Aplicações Rails frequentemente incluem pacotes JavaScript que devem ser atualizados junto com o Rails. Verifica e relata sobre estas dependências.
7.1: Identificar Gerenciador de Pacotes JS
Verifica qual gerenciador de pacotes a aplicação usa:
# Check for package.json (npm/yarn)
ls package.json 2>/dev/null
# Check for importmap (Rails 7+)
ls config/importmap.rb 2>/dev/null
7.2: Verificar Pacotes JS Relacionados ao Rails
Se package.json existir, verifica estes pacotes relacionados ao Rails:
# Extract current versions of Rails-related packages
cat package.json | grep -E '"@hotwired/|"@rails/|"stimulus"|"turbo-rails"' || echo "No Rails JS packages found"
Pacotes chave para verificar:
| Pacote | Propósito | Alinhamento de Versão |
|---|---|---|
@hotwired/turbo-rails |
Turbo Drive/Frames/Streams | Deve corresponder à era da versão do Rails |
@hotwired/stimulus |
Framework Stimulus JS | Geralmente estável entre as versões do Rails |
@rails/actioncable |
Suporte a WebSocket | Deve corresponder à versão do Rails |
@rails/activestorage |
Uploads diretos | Deve corresponder à versão do Rails |
@rails/actiontext |
Edição de texto rico | Deve corresponder à versão do Rails |
@rails/request.js |
Substituição do Rails UJS | Deve corresponder à era da versão do Rails |
7.3: Verificar Atualizações
Para projetos npm/yarn, verifica atualizações disponíveis:
# Using npm
npm outdated @hotwired/turbo-rails @hotwired/stimulus @rails/actioncable @rails/activestorage 2>/dev/null
# Or check latest versions directly
npm view @hotwired/turbo-rails version 2>/dev/null
npm view @rails/actioncable version 2>/dev/null
7.4: Verificar Pinos do Importmap (se aplicável)
Se a aplicação usa importmap-rails, verifica config/importmap.rb para versões fixadas (pinned):
cat config/importmap.rb | grep -E 'pin.*turbo|pin.*stimulus|pin.*@rails' || echo "No importmap pins found"
Para atualizar os pinos do importmap:
…
Perguntas frequentes
Como ela sabe qual é a versão mais recente do Rails?
Ela usa uma ferramenta chamada GitHub CLI para verificar o lançamento mais recente no repositório oficial do Rails no GitHub.
O que são 'mudanças importantes' (breaking changes)?
São alterações na nova versão do Rails que podem quebrar seu código atual. A ferramenta tenta identificar e te alertar sobre elas.
Ela atualiza meu projeto automaticamente?
Não, esta ferramenta apenas analisa e fornece um relatório. A atualização em si precisa ser feita manualmente por você.
Detalhes
Descrição original do autor
Analyze Rails apps and provide upgrade assessments
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4183
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC