About
This skill helps developers implement and query EAS Observe performance monitoring in Expo apps. Use it for adding the `expo-observe` SDK to track metrics like app launches, TTI, TTR, and custom events, or for using the EAS CLI to analyze collected data. It covers everything from SDK setup and runtime configuration to interpreting metrics for performance triage.
Quick Install
Claude Code
Recommendednpx skills add expo/skills -a claude-code/plugin add https://github.com/expo/skillsgit clone https://github.com/expo/skills.git ~/.claude/skills/eas-observeCopy and paste this command in Claude Code to install this skill
Documentation
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 (AppMetricsRooton SDK 55,ObserveRooton SDK 56+), mark the app interactive (globalmarkInteractive()on SDK 55, theuseObserve()hook or<ObserveInteractiveMarker />on SDK 56+), optional per-route navigation metrics through the Expo Router / React Navigation integrations, user-defined events viaObserve.logEvent(SDK 56+), error reporting, and runtime configuration (sampling, dispatch, environments, custom endpoint). - Querying metrics from the terminal →
./references/queries.md. The sixeas 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.
Quick links to the docs
- Get started: https://docs.expo.dev/eas/observe/get-started/
- Dashboard guide: https://docs.expo.dev/eas/observe/dashboard/
- Querying with EAS CLI: https://docs.expo.dev/eas/observe/eas-cli/
- Metrics reference: https://docs.expo.dev/eas/observe/reference/metrics/
- Expo Router integration: https://docs.expo.dev/eas/observe/integrations/expo-router/
- React Navigation integration: https://docs.expo.dev/eas/observe/integrations/react-navigation/
- User-defined events: https://docs.expo.dev/eas/observe/events/
- Configuration: https://docs.expo.dev/eas/observe/configuration/
- Third-party integrations: https://docs.expo.dev/eas/observe/integrations/third-party/
- EAS Update download performance: https://docs.expo.dev/eas/observe/eas-update/
- Troubleshooting: https://docs.expo.dev/eas/observe/reference/troubleshooting/
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:routesandobserve:session. - Navigation metric aliases are
nav_cold_ttr,nav_warm_ttr, andnav_tti. There are no barecold_ttr/warm_ttraliases in the CLI. - Sorting uses
--sort <slowest|fastest|newest|oldest>. There is no--orderflag. ObserveErrorBoundary,Observe.reportError, andconfigure({ 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.
GitHub Repository
Frequently asked questions
What is the eas-observe skill?
eas-observe is a Claude Skill by expo. Skills package instructions and resources that Claude loads on demand, so Claude can perform eas-observe-related tasks without extra prompting.
How do I install eas-observe?
Use the install commands on this page: add eas-observe to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does eas-observe belong to?
eas-observe is in the Testing category.
Is eas-observe free to use?
Yes. eas-observe is listed on AIMCP and free to install.
Related Skills
This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.
This skill provides comprehensive knowledge for implementing Cloudflare Cron Triggers to schedule Workers using cron expressions. It covers setting up periodic tasks, maintenance jobs, and automated workflows while handling common issues like invalid cron expressions and timezone problems. Developers can use it for configuring scheduled handlers, testing cron triggers, and integrating with Workflows and Green Compute.
This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.
This skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.
