Catalog
expo/eas-observe

expo

eas-observe

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, user-defined events via `Observe.logEvent`, error reporting via ObserveErrorBoundary and `Observe.reportError`, 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`), 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.

NewUpdated Oct 3, 2026

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. 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 four 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 six eas observe:* commands — metrics-summary, metrics, routes, events, session, versions — with flags, metric aliases, table layouts, JSON shapes, and common workflows.
  • 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.
  • 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.

Known gaps between the docs and the shipped code

Verified against eas-cli 21.8.0 and expo-observe 57.0.9. Trust this skill's references over the docs on these points, but re-check with --help and the installed package before relying on them:

  • All six CLI commands are on the Querying with EAS CLI page. Older doc builds list only four and omit observe:routes and observe:session.
  • Navigation metric aliases are nav_cold_ttr, nav_warm_ttr, and nav_tti. There are no bare cold_ttr / warm_ttr aliases in the CLI.
  • Sorting uses --sort <slowest|fastest|newest|oldest>. There is no --order flag.
  • ObserveErrorBoundary, Observe.reportError, and configure({ errorHandlingEnabled }) are exported but undocumented. Observe still has no crash reporting; use Sentry or BugSnag for that.

Submitting Feedback

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

npx --yes submit-expo-feedback@latest --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 AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.

Files6
6 files · 55.4 KB

Select a file to preview

Overall Score

87/100

Grade

A

Excellent

Grades are signals, not a certification. Always review a skill yourself before use.

Safety

90

Quality

88

Clarity

85

Completeness

84

Summary

EAS Observe is a comprehensive skill for integrating Expo's app performance monitoring into projects, querying metrics via the EAS CLI, and interpreting startup, navigation, and event performance data. It provides structured guidance across four reference documents covering setup, CLI querying, metric interpretation, and third-party library integration patterns.

Static Analysis Findings

1 finding

Patterns detected by deterministic static analysis before AI scoring. Hover over any finding code for detailed information and remediation guidance.

Credential Exposure
SEC-020Direct .env File Access2x in 2 files

Direct .env file access

references/setup.md.env
references/metrics.md.env

Detected Capabilities

file readcode example generationCLI command referenceterminal queryingconfiguration guidanceerror handling patternsintegration setupmetrics interpretation

Trigger Keywords

Phrases that agents use to match this skill to user intent.

expo-observe setupstartup metricseas observe queriesnavigation performancetti diagnosticroute metricscustom eventsthird-party integration

Risk Signals

INFO

Direct .env file access mentioned in setup.md and metrics.md

references/setup.md, references/metrics.md
INFO

References to external docs (expo.dev, docs.expo.dev) for sensitive configuration

SKILL.md and all references

Referenced Domains

External domains referenced in skill content, detected by static analysis.

docs.expo.devexpo.devyour-endpoint.com

Use Cases

  • Add expo-observe to an Expo project with startup/navigation metrics
  • Query app performance metrics from the terminal using eas observe:* commands
  • Interpret TTI/TTR/cold-launch metrics to diagnose startup slowness
  • Set up per-route navigation performance tracking with Expo Router or React Navigation
  • Emit user-defined events and error reporting via Observe.logEvent and ObserveErrorBoundary
  • Ship an Observe integration inside a third-party npm package
  • Sample and filter performance data by platform, version, or time range

Quality Notes

  • Comprehensive four-part reference structure with clear boundaries between setup, querying, interpretation, and third-party integration
  • Excellent version-specific guidance (SDK 55 vs 56+ API differences) with side-by-side code examples
  • Rich metric interpretation cheatsheet with diagnostic patterns to distinguish slow-but-smooth from main-thread contention
  • Known gaps section explicitly documents discrepancies between published docs and shipped code (CLI flags, metric aliases, undocumented APIs)
  • Detailed CLI command reference with JSON output shapes, pagination details, and common workflows
  • Practical limitations documented (debug build dispatch, session timeline plan gating, integration early-exit on missing package)
  • All references link back to canonical docs for latest guidance, reducing skill staleness risk
  • Per-route filter examples and network request diagnostics with concrete detection patterns
Model: claude-haiku-4-5-20251001Analyzed: Oct 3, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

  1. v3.0

    Contract changed: description

    ✦ AIRemoves 'EAS service (paid)' prefix from skill description.

    triggering2026-10-03

    LATEST
  2. v2.0

    Contract changed: description

    ✦ AIExpands API scope: adds error reporting via ObserveErrorBoundary and Observe.reportError, runtime configuration (sampleRate, dispatchInDebug), ObserveInteractiveMarker component, and new eas observe:…

    triggering2026-09-09

    View This Version
  3. v1.0

    2026-07-11

    View This VersionInitial version

Use expo/eas-observe in your dev environment

Command Palette

Search for a command to run...