Generated banner for Eas Observe
Generated logo for Eas Observe

Eas Observe

ExpoOfficialPublished by Expo

  • Skill
  • Tool integration
  • Software development
  • MIT
  • Low risk

From the author

Use for anything related to EAS Observe - adding `expo-observe` to an Expo project (AppMetricsRoot/ObserveRoot HOC, markInteractive and ObserveInteractiveMarker, the useObserve hook, the Expo Router / React Navigation integrations for per-route metrics, the expo-image and Reanimated integrations, user-defined events via `Observe.logEvent`, error reporting via ObserveErrorBoundary and `Observe.reportError`, native crash reporting, source map upload for symbolicated stack traces, and runtime config such as sampleRate and dispatchInDebug), querying via the EAS CLI (`eas observe:metrics-summary`, `observe:metrics`, `observe:routes`, `observe:events`, `observe:session`, `observe:versions`, `observe:errors`, `observe:event`) or the Expo MCP `observe_*` tools, interpreting the resulting metrics (cold/warm launch, TTR, TTI, navigation cold/warm TTR, update download, and the TTI frameRate/device/network params for triaging slow startups), or shipping an Observe integration inside a third-party package.
— the description by Expo

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

EAS Observe is an Expo Application Services tool designed to track application performance, including startup times, navigation metrics, and custom events. It also provides robust error and crash reporting capabilities. By integrating the library into an Expo project, developers can gain visibility into real-world app behavior, helping to identify bottlenecks, diagnose slow startups, and resolve runtime issues. The service includes CLI tools for querying metrics and supports various integrations with core Expo libraries to provide deeper insights into image loading and animation performance.

What it does

  • Tracks startup performance metrics like cold and warm launch times.
  • Measures time-to-interactive and navigation performance.
  • Captures JavaScript errors and native crashes with symbolicated stack traces.
  • Supports user-defined events for custom performance tracking.
  • Provides CLI commands to query and analyze performance data.
  • Integrates with Expo Router, React Navigation, and other libraries for contextual metrics.

When to use it

  • When you need to monitor production app performance and startup speed.
  • When you want to track and debug runtime errors and native crashes.
  • When investigating performance regressions across different devices or network conditions.
  • When you need to measure the impact of specific user flows or navigation patterns.

Advantages

  • Provides actionable insights into real-world user experience.
  • Helps distinguish between code-related slowness and environmental throttling.
  • Simplifies error tracking with integrated crash reporting.
  • Offers granular control over data sampling and reporting configuration.

Usage examples

“How do I add EAS Observe to my Expo project?”
The agent will guide you through installing expo-observe, wrapping your root layout with ObserveRoot, and configuring the necessary integrations.
“How can I check my app's cold launch performance from the terminal?”
The agent will provide the appropriate eas observe:metrics-summary command to retrieve and display your application's startup metrics.
“What does it mean if my app has high TTI but low totalDelay?”
The agent will explain that this indicates a slow but smooth launch, suggesting you should look into bundle size or data-fetch waterfalls.
“How do I enable the Reanimated integration for EAS Observe?”
The agent will show you how to update your Observe.configure call to include the reanimated integration.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/expo/eas-observe/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip eas-observe.zip -d .agents/skills

Documentation by Expo

EAS Observe

EAS service - costs apply. EAS Observe is an Expo Application Services product. The free EAS plan allows up to 10,000 monthly active users, with a limited set of features; higher usage requires a paid subscription. For details, see https://expo.dev/pricing#plan-features.

EAS Observe tracks startup, navigation, and custom-event performance from production Expo apps, and records JavaScript errors and native crashes. It needs a development or production build — the native library is not in Expo Go.

Source of truth: https://docs.expo.dev/eas/observe/ — always consult the canonical docs when API details matter, especially get-started, configuration, integrations, and the metrics reference. EAS Observe is evolving; this skill's references are written to stay accurate but may lag the docs.

Which reference to read

The five reference files in ./references/ cover what people typically need this skill for:

  • Adding EAS Observe to a project → ./references/setup.md. Install, wrap the root layout (AppMetricsRoot on SDK 55, ObserveRoot on SDK 56+), mark the app interactive (global markInteractive() on SDK 55, the useObserve() hook or <ObserveInteractiveMarker /> on SDK 56+), optional per-route navigation metrics through the Expo Router / React Navigation integrations, user-defined events via Observe.logEvent (SDK 56+), error reporting, and runtime configuration (sampling, dispatch, environments, custom endpoint).

  • Querying metrics from the terminal → ./references/queries.md. The eas observe:* commands — metrics-summary, metrics, routes, events, session, versions, errors, event — with flags, metric aliases, table layouts, JSON shapes, and common workflows. Also the matching observe_* tools in the Expo MCP Server, and how their inputs differ from the CLI flags.

  • Reading a dashboard or CLI output → ./references/metrics.md. Target thresholds per metric, what the automatic TTI params mean (frameRate.*, device.*, network.*), and diagnostic patterns for telling slow-but-smooth startup apart from main-thread contention, hard blocks, or throttled devices.

  • Reporting problems from library integrations → ./references/library-integrations.md. The current and future integrations that report problems a library detects as events or errors, with their options, limits, and how to query the reports. Currently: expo-image (expo-image.oversized events for images decoded far larger than the screen) and react-native-reanimated (reanimated.error errors and optional reanimated.warning events).

  • Shipping an Observe integration in a library → ./references/third-party.md. For package authors only (SDK 57+): optional peer dependency, config declaration merging, Observe.registerIntegration(), and event naming.

Submitting Feedback

If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:

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

Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an agent repeatedly fails at an Expo task or the user has to step in, submit a brief report of the task, expected result, and what went wrong using --category evals and the relevant Expo package or command as --subject.

Files

agents/openai.yaml

interface:
  display_name: "EAS Observe"
  short_description: "Set up expo-observe app metrics and query launch, route, event, and version performance with the EAS CLI"
  default_prompt: "Use $eas-observe to add expo-observe instrumentation (AppMetricsRoot/ObserveRoot, useObserve, ObserveInteractiveMarker, the router integrations, error reporting), query metrics with eas observe:* commands, and interpret cold/warm launch, TTR, and TTI results."

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server, Needs Node.js

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Expo
Publisher
Expo (Official)
Source
expo/skills · plugins/expo/skills/eas-observe · commit a9e5bd3
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from plugins/expo/LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Expo or Expo.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download eas-observe.zip