Migração de Navegação no Expo (SDK 58)

Analisa como um repositório existente do Expo ou React Native realiza navegação e planeja uma migração incremental para o Expo SDK 58, Expo Router (React Navigation e react-native-screens) e/ou @expo/ui (SwiftUI, Jetpack Compose), atrás de uma feature flag ou sem ela, terminando com uma saída limpa.

O que é Migração de Navegação no Expo (SDK 58)?

Esta skill analisa repositórios Expo ou React Native para entender sua arquitetura de navegação atual e planejar uma migração para as APIs de navegação mais modernas do Expo SDK 58, incluindo Expo Router, React Navigation e @expo/ui (SwiftUI/Jetpack Compose). Ela suporta três tarefas principais: análise de como a navegação é feita atualmente, criação de um plano de migração (com ou sem feature flag), e consulta a um catálogo de padrões de navegação com status verificado e lacunas conhecidas. Os padrões cobertos incluem stacks, interceptação de botão 'voltar', abas, sidebar para iPad com seções recolhíveis, modais, sheets, botões de barra de navegação, menus overflow, títulos grandes, ocultação da barra de navegação ao tocar/rolar, barras de ferramentas inferiores, Surface Duo, iPhone Duo e dispositivos dobráveis. A skill é acionada quando o usuário pede para avaliar a navegação de um app, planejar uma migração para Expo Router, React Navigation ou @expo/ui, ou implementar qualquer um desses padrões no Expo SDK 58. Ela também cobre o cenário de um app React Navigation existente que deseja adotar elementos mais nativos e deep links estáveis, mesmo que não esteja disposto a migrar para o Expo.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bharath2020/expo-navigation-migration-skill/tree/HEAD/expo-navigation-migration

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

O que Migração de Navegação no Expo (SDK 58) faz?

Três tarefas. Escolha conforme a solicitação; um plano de migração precisa de todas as três em ordem.

SolicitaçãoAção
"Como a navegação é feita neste repositório?"Analisar
"Planeje a migração", "Podemos colocar uma flag nisso?", "React Navigation ou @expo/ui?"Analisar, depois Planejar
"Estamos no React Navigation e queremos mais elementos nativos e uma biblioteca estável para navegação e deep links"Analisar, depois Planejar, com o cenário React Navigation existente
"Como faço uma sidebar / sheet / layout Duo?", "X funciona?"Consultar o catálogo

Nomes alvo usados em todo o documento:

  • React Navigation significa Expo Router sobre react-native-screens. Desde o SDK 56 expo-router não depende mais de @react-navigation/* e bifurca as partes nas quais se baseia. O SDK 58 removeu a maior parte dessa API bifurcada.
  • Plain React Navigation significa @react-navigation/* 7.x sem o Expo Router.
  • @expo/ui significa SwiftUI no iOS e Jetpack Compose no Android.

Leia apenas o repositório alvo. Esta skill planeja; ela não altera nenhum código do aplicativo, a menos que o usuário solicite separadamente.

O Expo muda a cada SDK. Os fatos da API aqui foram verificados em 02/11/2026 contra o SDK 58. Busque https://docs.expo.dev/versions/v58.0.0/ para qualquer API que você esteja prestes a usar e que o catálogo não mostre como verificada.

Analisar

  1. Execute node <skill>/scripts/inventory-navigation.mjs <raiz-do-repositorio>. Ele apenas lê e imprime sinais com localizações caminho:linha. Quando um sinal mostra truncado acima de zero, execute novamente com --max-locations 200.
  2. Siga references/analysis.md. Preencha templates/analysis-report.md.

Concluído quando cada linha do relatório tiver um valor com evidência, ou disser o que foi pesquisado e não encontrado, e cada sinal do inventário for confirmado ou descartado pela leitura do seu código.

Planejar

Siga references/migration-planning.md. Ele recorre a:

Preencha templates/migration-plan.md. O plano sempre cobre a troca com flag, a troca sem flag, passos ordenados que cada um é enviado e verificado sozinho, e uma saída limpa que remove qualquer flag e o que o plano substituiu. Ele nomeia uma recomendação com razões deste repositório. Essa recomendação pode ser manter o proprietário atual da navegação; quando apenas o SDK se move, o plano diz que não há nada para colocar uma flag e explica por quê.

Consultar um padrão

references/pattern-catalog.md lista cada cenário e seu arquivo. Cada arquivo fornece código de um protótipo funcional para ambos os alvos no iOS e Android, status por plataforma, pegadinhas e notas de migração. Cite as palavras de status como escritas: verificado significa testado em um simulador ou emulador, e nenhum hardware físico foi usado.

templates/ contém os arquivos reutilizáveis: os módulos locais para seções de sidebar, posicionamento de sidebar e visibilidade da barra de navegação, a camada de ajudante de navegação e os componentes de dobradiça e painel dividido. Módulos locais precisam de um build de desenvolvimento.

Habilidades Relacionadas