expo/skills

Use para tudo relacionado ao EAS Observe – adicionar `expo-observe` a um projeto Expo (HOC AppMetricsRoot/ObserveRoot, markInteractive e ObserveInteractiveMarker, hook useObserve, integrações com Expo Router / React Navigation para métricas por rota, eventos definidos pelo usuário via Observe.logEvent, relatório de erros via ObserveErrorBoundary e Observe.reportError, relatório de falhas nativas, upload de mapas de origem para stack traces simbolizados, e configuração em tempo de execução como sampleRate e dispatchInDebug), consulta via EAS CLI (eas observe:metrics-summary, observe:metrics, observe:routes, observe:events, observe:session, observe:versions, observe:errors, observe:event), interpretação das métricas resultantes (inicialização a frio/quente, TTR, TTI, TTR de navegação a frio/quente, download de atualização e os parâmetros frameRate/device/network do TTI para diagnosticar inicializações lentas) ou envio de uma integração Observe dentro de um pacote de terceiros.

O que é skills?

O EAS Observe é um produto do serviço Expo Application Services (EAS) que rastreia o desempenho de inicialização, navegação e eventos personalizados de aplicativos Expo em produção, além de registrar erros JavaScript e falhas nativas. Ele requer uma build de desenvolvimento ou produção – a biblioteca nativa não está disponível no Expo Go. O skill permite adicionar o `expo-observe` a um projeto Expo usando HOCs, hooks ou componentes como `ObserveRoot`, `useObserve` e `ObserveInteractiveMarker`, integrar com Expo Router ou React Navigation para métricas por rota, registrar eventos personalizados com `Observe.logEvent`, configurar relatórios de erros com `ObserveErrorBoundary` e `Observe.reportError`, além de fazer upload de mapas de origem para stack traces simbolizados. Para consultar as métricas, ele oferece comandos da EAS CLI como `eas observe:metrics-summary`, `observe:metrics`, `observe:routes`, `observe:events`, `observe:session`, `observe:versions`, `observe:errors` e `observe:event`. As referências incluídas no skill cobrem desde a configuração inicial no projeto, interpretação de métricas (como TTR, TTI, parâmetros de frameRate/device/network) até a criação de integrações Observe em pacotes de terceiros. É compatível com Expo SDK 55+ e depende do EAS – o plano gratuito permite até 10.000 usuários ativos mensais.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/expo/skills/tree/HEAD/plugins/expo/skills/eas-observe

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

EAS Observe

Serviço EAS – custos aplicáveis. EAS Observe é um produto do Expo Application Services. O plano gratuito do EAS permite até 10.000 usuários ativos mensais, com um conjunto limitado de recursos; uso superior requer uma assinatura paga. Para detalhes, consulte https://expo.dev/pricing#plan-features.

O EAS Observe rastreia o desempenho de inicialização, navegação e eventos personalizados de aplicativos Expo em produção, além de registrar erros JavaScript e falhas nativas. Ele precisa de uma build de desenvolvimento ou produção – a biblioteca nativa não está no Expo Go.

Fonte da verdade: https://docs.expo.dev/eas/observe/ – consulte sempre a documentação canônica quando detalhes da API forem importantes, especialmente para começar, configuração, integrações e a referência de métricas. O EAS Observe está em evolução; as referências deste skill foram escritas para permanecerem precisas, mas podem ficar desatualizadas em relação à documentação.

Qual referência ler

Os quatro arquivos de referência em ./references/ cobrem o que as pessoas normalmente precisam deste skill:

  • Adicionar EAS Observe a um projeto → ./references/setup.md. Instalar, envolver o layout raiz (AppMetricsRoot no SDK 55, ObserveRoot no SDK 56+), marcar o aplicativo como interativo (markInteractive() global no SDK 55, hook useObserve() ou <ObserveInteractiveMarker /> no SDK 56+), métricas de navegação opcionais por rota através das integrações Expo Router / React Navigation, eventos definidos pelo usuário via Observe.logEvent (SDK 56+), relatório de erros e configuração em tempo de execução (amostragem, despacho, ambientes, endpoint personalizado).
  • Consultar métricas do terminal → ./references/queries.md. Os comandos eas observe:* – metrics-summary, metrics, routes, events, session, versions, errors, event – com flags, aliases de métricas, layouts de tabela, formatos JSON e fluxos de trabalho comuns.
  • Ler um dashboard ou saída do CLI → ./references/metrics.md. Limites alvo por métrica, o que os parâmetros automáticos do TTI significam (frameRate.*, device.*, network.*) e padrões de diagnóstico para distinguir inicialização lenta mas suave de contenção na thread principal, bloqueios duros ou dispositivos com throttling.
  • Enviar uma integração Observe em uma biblioteca → ./references/third-party.md. Apenas para autores de pacotes (SDK 57+): dependência opcional entre pares, mesclagem de declaração de configuração, Observe.registerIntegration() e nomenclatura de eventos.

Links rápidos para a documentação

Enviar feedback

Se encontrar erros, informações enganosas ou desatualizadas neste skill, reporte para que a Expo possa melhorar:

npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-observe" "<feedback acionável>"

Envie apenas quando tiver algo específico e acionável para reportar. Inclua o máximo de contexto relevante possível. Se um agente falhar repetidamente em uma tarefa Expo ou o usuário precisar intervir, envie um breve relatório da tarefa, resultado esperado e o que deu errado usando --category evals e o pacote ou comando Expo relevante como --subject.

Individual skills in this repo

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

expo/add-app-clip

Add an iOS App Clip target to an Expo app. Use when the user mentions App Clip, AASA, apple-app-site-association, appclips, smart app banner, or wants to ship a lightweight iOS Clip invoked from a URL alongside their parent app.

expo/building-native-ui

Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.

expo/eas-update-insights

Check the health of published EAS Updates: crash rates, install/launch counts, unique users, payload size, and the split between embedded and OTA users per channel. Use when the user asks how an update is performing, whether a rollout is healthy, how many users are on the embedded build vs OTA, or wants to gate CI on update health.

expo/expo-api-routes

Guidelines for creating API routes in Expo Router with EAS Hosting

expo/expo-brownfield

Integrate Expo and React Native into an existing native iOS or Android app. Use when the user mentions brownfield, embedding React Native in a native app, AAR/XCFramework, or adding Expo to an existing Kotlin/Swift project. Covers both the isolated approach and the integrated approach.

expo/expo-cicd-workflows

Helps understand and write EAS workflow YAML files for Expo projects. Use this skill when the user asks about CI/CD or workflows in an Expo or EAS context, mentions .eas/workflows/, or wants help with EAS build pipelines or deployment automation.

expo/expo-deployment

Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes

expo/expo-dev-client

Build and distribute Expo development clients locally or via TestFlight

expo/expo-examples

Framework (OSS). Expo's official example projects - the expo/examples repo of ~70 `with-*` integrations (Stripe, Clerk, Supabase, OpenAI, maps, Reanimated, SQLite, Skia, NativeWind, and more). Use when integrating a third-party library or service into an existing Expo app and you want the canonical, version-matched pattern to adapt, or when scaffolding a new project from one with `npx create-expo --example`.

expo/expo-module

Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript). Covers module definition DSL, native views, shared objects, config plugins, lifecycle hooks, autolinking, and type system. Use when building or modifying native modules for Expo.

expo/expo-observe

Use for anything related to EAS Observe — adding `expo-observe` to an Expo project (AppMetricsRoot/ObserveRoot HOC, markInteractive, the useObserve hook, and the Expo Router / React Navigation integrations for per-route metrics), querying via the EAS CLI (`eas observe:metrics-summary`, `observe:metrics`, `observe:routes`, `observe:events`, `observe:versions`), or interpreting the resulting metrics (cold/warm launch, TTR, TTI, navigation cold/warm TTR, update download, and the TTI frameRate params for triaging slow startups).

expo/expo-overview

Framework (OSS). Entry point and router for every Expo or EAS task. Load this skill first — before writing code and before choosing another expo-* / eas-* skill — when the request, PRD, or spec mentions Expo, EAS, Expo Go, or an expo-* package, or the project has an `expo` dependency in `package.json`. Within that gate it also covers app specs and designs to implement (tabs, stacks, maps, lists, navigation, building from a screenshot), and phrasings like 'implement a mobile app', 'make my app look native', 'add navigation', 'fetch some data', 'upgrade my SDK', 'add Expo to my existing native app', 'ship to the App Store', or 'I'm new to Expo, where do I start'. A fully specified request (SDK pinned, libraries named, layout given) still routes through here — the shared setup rules still apply. Do NOT load it when neither signal is present: a bare React Native project with no `expo` dependency is not Expo work. Detects the real goal, routes to the right expo-* / eas-* skill, and owns the shared setup rules.

expo/expo-router

Framework (OSS). Navigation and routing for Expo Router. Covers file-based routes, groups and dynamic routes, folder organization, Link with previews and context menus, native Stack, page titles, modals and form sheets, NativeTabs, headers and toolbars, and header search bars.

expo/expo-skill-eval

Evaluate Expo skills in this repo end-to-end - trigger accuracy, generated code quality, and runtime screenshots on iOS simulator and Android emulator via Expo Go (web optional). Use when the user wants to eval an Expo skill, test that a skill produces working code, benchmark a skill with device screenshots, or verify a skill's output renders correctly.

expo/expo-tailwind-setup

Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

expo/expo-ui

Framework (OSS). Build native UI with the @expo/ui package: real SwiftUI on iOS and Jetpack Compose on Android. Default to @expo/ui for sheets (BottomSheet), pickers, sliders, toggles, menus, and grouped-form sections — do NOT reach for Reanimated, @gorhom/bottom-sheet, or RN built-in Picker/Switch; use @expo/ui instead. Fall back to RN built-ins only when @expo/ui is missing the component. NOTE: @expo/ui List renders native grouped rows like an iOS Settings screen — it is NOT a virtualized list; use FlatList/FlashList for large datasets. Covers universal components (Host, Column, Row, Button, Text, List, BottomSheet, FieldGroup, Switch, Slider, Picker, Menu), drop-in replacements for RN community libraries, and platform-specific SwiftUI/Jetpack Compose trees. Not for Expo Router navigation, Reanimated, or data fetching.

expo/expo-ui-jetpack-compose

`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app.

expo/expo-ui-swiftui

`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app.

expo/expo-upgrade

Framework (OSS). Guidelines for upgrading Expo SDK versions and fixing dependency issues

expo/native-data-fetching

Use when implementing or debugging ANY network request, API call, or data fetching. Covers fetch API, React Query, SWR, error handling, caching, offline support, and Expo Router data loaders (`useLoaderData`).

Habilidades Relacionadas