eas-observe

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

Updated Sep 13, 2026
One-click install
npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill eas-observe-aadilmallick
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: eas-observe
Source: https://github.com/aadilmallick/myfitness-pal-clone/tree/main/.agents/skills/eas-observe
Command: npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill eas-observe-aadilmallick

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires expo-observe, eas-cli, and includes references (resource) components.

What problem does it solve? Mobile teams shipping Expo apps lack visibility into real-world startup and navigation performance in production. This Skill guides adding EAS Observe instrumentation to an Expo project, querying the collected telemetry from the terminal, and interpreting metrics like cold launch, TTR, and TTI to diagnose slow startups. ## Core Features & Use Cases - Instrumentation setup: Add expo-observe to an Expo project with the correct SDK-specific API (AppMetricsRoot on SDK 55, ObserveRoot and useObserve on SDK 56+), plus per-route navigation metrics via Expo Router or React Navigation integrations. - 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: Read TTI frame-rate, device, and network params to distinguish slow-but-smooth launches from main-thread contention, hard blocks, or throttled devices. - Use Case: After releasing a new build, run eas observe:metrics tti --sort slowest --days 7, pull the slowest sample's sessionId, and replay the full session timeline to find what blocked startup. ## Quick Start Ask the assistant to add EAS Observe instrumentation to your Expo app's root layout and show how to query startup TTI metrics with the EAS CLI.

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 to an Expo project?

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 do I query EAS Observe metrics from the terminal?

Use the six eas observe commands: metrics-summary for per-version aggregates, metrics for individual samples, routes for per-route navigation stats, events for custom logEvent data, session for a full session timeline, and versions for the version hierarchy. All support --days, --platform, and --json.

Does expo-observe work in Expo Go?

No. expo-observe is a native library and requires a development build or production build created with eas build. Debug builds also do not dispatch metrics unless you set configure({ dispatchInDebug: true }).

What is the difference between TTR and TTI in EAS Observe?

TTR (time to first render) is measured automatically when the root is wrapped with ObserveRoot or AppMetricsRoot. TTI (time to interactive) is not automatic; you must call markInteractive() once the screen is genuinely usable, and only the first call per session is recorded.

Why is my EAS Observe query rejected with a plan upgrade error?

EAS Observe is a paid EAS service, and the server rejects queries the account's plan does not include with EAS_OBSERVE_PLAN_UPGRADE_REQUIRED or EAS_OBSERVE_FEATURE_NOT_AVAILABLE_IN_FREE_TIER. The free plan covers up to 10,000 monthly active users with limited features.

Does EAS Observe replace a crash reporter like Sentry?

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