EAS Update Health Insights
Use the CLI to measure EAS Update health, adoption, crashes, and rollout readiness.
The skill clearly discloses that EAS is paid, requires login, and exposes aggregate metrics with known lag; there is no evidence of credential theft, covert exfiltration, or destructive defaults. Points are deducted because allowed-tools is the broad Bash(eas *) pattern, with no per-action confirmation, least-privilege detail, sensitive-data handling guidance, rollback procedure, or sufficiently explicit data-flow and source attribution.
Prerequisites, commands, JSON shapes, common errors, and limitations are documented coherently, covering the main query paths. This was a static review only: no commands were executed, and no committed tests, compatibility matrix, or abnormal-input validation for the key paths is shown, so the score is conservatively reduced under the static ceiling.
The audience, trigger scenarios, inputs, and non-fit boundary are reasonably clear, covering single-update, channel, and CI-gating use cases. Points are deducted because it depends on eas-cli, an Expo project directory for channel queries, authentication, and EAS network services; Chinese-language support and reachability from mainland-China networks are not addressed, and rollback-decision boundaries are limited.
The documentation has clear layers for metadata, prerequisites, command overview, examples, schemas, errors, workflows, and limitations; MIT licensing and repository CI are visible. Points are deducted because the skill only declares version 1.0.0, with no changelog, named maintenance responsibility, service-version pinning, or skill-specific update path, while some authority is only referenced through external links.
The skill provides directly reusable commands for discovering update groups, querying health, comparing channels, and detecting regressions, with clear JSON output and metric semantics. Because execution was not performed, current eas-cli and service compatibility is unverified; the CI-gating workflow and threshold governance are also incomplete, so the score stays at the static-review maximum.
Command examples, two JSON schemas, field definitions, error messages, and caveats provide useful audit trails. Points are deducted because the evidence is primarily author-maintained documentation, without executable tests, real CI coverage of the skill's key paths, independent corroboration, or verifiable run outputs; no reproduction was performed during this static review.
- Running these commands may incur EAS usage charges; confirm the account, project, channel, and runtime-version scope first.
- The examples assume currentPage[0] is the desired update; scripts should verify branch, recency, and group ID before acting on it.
- otaTotalUniqueUsers may undercount because it sums only server-returned top-N updates, and cross-platform unique users may be double-counted.
- Metrics lag the real state and failedInstalls covers only reported installation or launch failures; this is not a substitute for device-level crash analysis.
- Core functionality depends on authenticated EAS cloud services and eas-cli compatibility; mainland-China reachability and Chinese-language error handling are not guaranteed.
What does this skill do, and when should you use it?
This is one focused skill in the Expo Skills repository for analyzing updates published through EAS Update. It queries aggregate metrics for update groups and channels, including installs, failed installs, crash rates, unique users, payload size, and the embedded-versus-OTA split. Human-readable and JSON output make it suitable for post-publish monitoring, regression detection, and CI health gates. It depends on the paid EAS service and does not provide per-user or device-level crash details.
Runs eas update:list to discover update group IDs; runs eas update:insights to retrieve per-platform installs, failed installs, crash rates, unique users, launch asset counts, average payload size, and daily trends; runs eas update:view --insights to append the same metrics to update details; runs eas channel:insights to report embedded and OTA users, popular updates, and cumulative metrics for a channel and runtime version; supports --json --non-interactive for scripting with jq or other parsers.
- A release owner wants to verify whether the latest production EAS Update is healthy and checks crash rates by platform.
- A mobile team wants to compare embedded-build and OTA adoption between production and staging channels.
- A CI pipeline needs to block or flag a rollout when the last 24-hour crash rate exceeds a threshold.
- An engineer needs adoption, unique-user, or payload-size metrics for a specific update group.
- A release or incident review needs a 30-day summary of launches and failures by platform.
What are this skill's strengths and limitations?
- Covers multiple aggregate signals for update health and adoption.
- Provides per-platform iOS and Android metrics with daily breakdowns.
- JSON output supports scripts, CI gates, and regression checks.
- Handles both update-group analysis and channel-level embedded-versus-OTA reporting.
- EAS Update Insights is a paid EAS service subject to plan usage and free-tier limits.
- Requires eas-cli and authentication; channel insights additionally requires an Expo project directory.
- Reports aggregate EAS metrics only, not per-user crash details or device-level diagnostics.
- Fresh publishes may temporarily show zeroes, and metrics can lag until the next update check.
- Cross-platform unique users may be double-counted, while channel OTA reach may be undercounted because it sums only the server's top-N updates.
How do you install this skill?
The README documents installation for the full Expo Skills collection. For Codex, run: codex plugin add expo@openai-curated. For Claude Code, run: claude plugin install expo@claude-plugins-official. The collection can also be installed with: npx skills@latest add expo/skills --skill '*'. The README does not document a standalone directory-install procedure for only eas-update-insights.
How do you use this skill?
Install eas-cli with npm install -g eas-cli, then authenticate with eas login. For update-group insights, run eas update:list --branch production --json --non-interactive to obtain a group ID, then run eas update:insights <groupId> --json --non-interactive. Channel insights must run from an Expo project directory, for example: eas channel:insights --channel production --runtime-version 1.0.6 --json --non-interactive. Example agent prompts include: “Is the latest update healthy?” and “How many users are on the latest update vs the embedded build?”
How does this skill compare with similar options?
The README identifies Expo documentation, Expo CLI, and EAS CLI as the sources of truth; this skill provides agent-oriented guidance and terminal query workflows around them.