Expo
Skill 4 of 26
EAS service (paid).
3 minutes · 556 words · 4 sections
Install
npx skills add expo/skills --skill eas-observenpx skills add expo/skills/plugin marketplace add expo/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
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 (opens in a new tab).
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/ (opens in a new tab) — 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.
The four reference files in ./references/ cover what people typically need this skill for:
./references/setup.md (opens in a new tab). 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)../references/queries.md (opens in a new tab). The six eas observe:* commands — metrics-summary, metrics, routes, events, session, versions — with flags, metric aliases, table layouts, JSON shapes, and common workflows../references/metrics.md (opens in a new tab). 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../references/third-party.md (opens in a new tab). For package authors only (SDK 57+): optional peer dependency, config declaration merging, Observe.registerIntegration(), and event naming.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:
observe:routes and observe:session.nav_cold_ttr, nav_warm_ttr, and nav_tti. There are no bare cold_ttr / warm_ttr aliases in the CLI.--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.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.
EAS service (paid). 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.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
plugins/expo/skills/eas-observe/SKILL.mdmain, last pushed 23 September 2026.SKILL.md, not by matching a directory convention. 3 distinct layouts observed: .claude/skills/*/SKILL.md, plugins/expo-experiments/skills/*/SKILL.md, plugins/expo/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Expo Team, declaring 5 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./expo/skills.md, and each skill at its own .md URL.5 files · 54 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 4.
Documentation the agent loads on demand, rather than up front.
Everything else published alongside the skill.