Community编程与开发github.com

EAS Observe 技能

用于处理与 EAS Observe 相关的所有任务:集成、查询和分析 Expo 应用的启动、导航及自定义事件性能指标。

EAS Observe 技能 是什么?

这个技能涵盖了 EAS Observe 的所有方面,Expo 的性能监控服务。它指导用户将 `expo-observe` 集成到 Expo 项目中,包括设置 AppMetricsRoot/ObserveRoot、标记应用交互(markInteractive、useObserve hook、ObserveInteractiveMarker)、集成 Expo Router 或 React Navigation 以获取路由级指标、使用 `Observe.logEvent` 定义用户事件、通过 ObserveErrorBoundary 和 `Observe.reportError` 实现错误报告、原生崩溃报告以及运行时配置(如 sampleRate 和 dispatchInDebug)。该技能还提供了使用 EAS CLI 命令(如 `eas observe:metrics-summary`、`observe:metrics`)查询指标、解释结果(冷/热启动、TTR、TTI)以及排查慢速启动问题的详细指导。此外,它还包含了为第三方包作者提供的集成指南。该技能主要针对使用 Expo 开发 React Native 应用的开发者,并参考了官方文档。

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

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

EAS Observe

EAS 服务——需付费。 EAS Observe 是 Expo Application Services 的产品。免费的 EAS 计划允许最多 10,000 名月活跃用户,功能有限;更高用量需要付费订阅。详情请见 https://expo.dev/pricing#plan-features。

EAS Observe 跟踪生产环境 Expo 应用的启动、导航和自定义事件性能,并记录 JavaScript 错误和原生崩溃。它需要开发或生产构建——原生库不包含在 Expo Go 中。

信息来源: https://docs.expo.dev/eas/observe/ —— 当 API 细节重要时,请务必查阅权威文档,特别是入门、配置、集成和指标参考。EAS Observe 正在不断演进;本技能的参考内容力求准确,但可能落后于官方文档。

应阅读哪些参考资料

./references/ 目录下的四个参考文件涵盖了用户通常需要本技能处理的场景:

  • 将 EAS Observe 添加到项目 → ./references/setup.md。安装、包装根布局(SDK 55 使用 AppMetricsRoot,SDK 56+ 使用 ObserveRoot)、标记应用可交互(SDK 55 使用全局 markInteractive(),SDK 56+ 使用 useObserve() 钩子或 <ObserveInteractiveMarker />)、通过 Expo Router / React Navigation 集成的可选路由级导航指标、通过 Observe.logEvent 定义用户事件(SDK 56+)、错误报告以及运行时配置(采样、调度、环境、自定义端点)。
  • 从终端查询指标 → ./references/queries.md。eas observe:* 命令——metrics-summary、metrics、routes、events、session、versions、errors、event——以及相关标志、指标别名、表格布局、JSON 格式和常见工作流程。
  • 阅读仪表盘或 CLI 输出 → ./references/metrics.md。每个指标的目标阈值、自动 TTI 参数的含义(frameRate.*、device.*、network.*),以及区分“慢但流畅”的启动与主线程争用、硬阻塞或设备限流的诊断模式。
  • 在库中发布 Observe 集成 → ./references/third-party.md。仅适用于包作者(SDK 57+):可选的 peer 依赖项、配置声明合并、Observe.registerIntegration() 以及事件命名。

文档快速链接

提交反馈

如果您在此技能中遇到错误、误导性或过时的信息,请报告以便 Expo 改进:

npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-observe" "<可操作的反馈>"

仅在您有具体且可操作的内容要报告时才提交。请尽可能包含相关上下文。 如果代理反复未能完成 Expo 任务,或者用户必须介入,请使用 --category evals 和相关的 Expo 包或命令作为 --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`).

相关技能