eas-observe

Instrument Expo apps with expo-observe and query startup, navigation, and event metrics via the EAS CLI.

Updated Mar 27, 2026
One-click install
npx skills add https://github.com/gmackie/agent-skills --skill eas-observe-gmackie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: eas-observe
Source: https://github.com/gmackie/agent-skills/tree/main/skills/eas-observe
Command: npx skills add https://github.com/gmackie/agent-skills --skill eas-observe-gmackie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Mobile teams shipping Expo apps lack visibility into production startup and navigation performance, making it hard to detect slow cold launches, blocked main threads, or network-bound startups before users complain. ## Core Features & Use Cases - Instrumentation Setup: Add expo-observe to an Expo project with the correct SDK 55 vs SDK 56+ APIs (AppMetricsRoot/ObserveRoot, markInteractive, useObserve, ObserveInteractiveMarker), plus Expo Router and React Navigation integrations for per-route metrics. - CLI Querying: Run the six eas observe:* commands (metrics-summary, metrics, routes, events, session, versions) with correct flags, aliases, pagination, and JSON output shapes. - Metrics Interpretation: Diagnose slow startups using TTI frame-rate, device, and network params to distinguish main-thread contention, hard freezes, and throttled devices. - Use Case: After a release, run eas observe:metrics tti --sort slowest --days 7, grab a slow sample's sessionId, and replay the full session timeline with eas observe:session to find the blocking request. ## Quick Start Use the eas-observe skill to add expo-observe instrumentation to my Expo SDK 56 project and show me how to query last week's slowest TTI samples.

Frequently Asked Questions about eas-observe

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add EAS Observe performance monitoring to an Expo app?▼

Install expo-observe with npx expo install, wrap your root layout with ObserveRoot.wrap() on SDK 56+ (AppMetricsRoot on SDK 55), and call markInteractive() once the screen is usable. Then produce a build with eas build, since metrics are not collected in Expo Go.

How to query Expo app startup metrics from the command line?▼

Use the eas observe:* CLI commands: observe:metrics-summary for per-version aggregates, observe:metrics for individual samples, and observe:routes for per-route navigation stats. All support --days, --platform, --json, and --project-id flags.

Does expo-observe work in Expo Go?▼

No, expo-observe is a native library and does not work in Expo Go. You need a development build or production build created with eas build, and the app must have an EAS project ID configured.

Why is my TTI metric missing in EAS Observe?▼

TTI is not collected automatically; you must call markInteractive() once the screen is genuinely interactive. Also note debug builds do not dispatch metrics unless you set dispatchInDebug: true in Observe.configure().

Can EAS Observe replace Sentry for crash reporting?▼

No, EAS Observe records errors as non-fatal exception log events via ObserveErrorBoundary and Observe.reportError, but it has no crash reporting. Use Sentry or BugSnag for crash reporting alongside Observe.

Is EAS Observe free to use?▼

EAS Observe is a paid EAS service. The free plan allows up to 10,000 monthly active users with limited features, and the server rejects queries your plan does not include with plan-upgrade errors.