Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use for anything related to EAS Observe — adding `expo-observe` to an Expo project (AppMetricsRoot/ObserveRoot HOC, markInteractive, the useObserve hook, and the Expo Router / React Navigation integrations for per-route metrics), querying via the EAS CLI (`eas observe:metrics-summary`, `observe:metrics`, `observe:routes`, `observe:events`, `observe:versions`), or interpreting the resulting metrics (cold/warm launch, TTR, TTI, navigation cold/warm TTR, update download, and the TTI frameRate param
.claude/skills/sediman-agent-expo-observe/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -7% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -50% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -58% | 0% |
EAS Observe tracks startup, navigation, and custom-event performance from production Expo apps.
> 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.
The three reference files in ./references/ cover the three things people typically need this skill for:
./references/setup.md. Install, wrap the root layout (AppMetricsRoot on SDK 55, ObserveRoot on SDK 56+), call markInteractive() (global on SDK 55, via the useObserve() hook on SDK 56+), and optional per-route navigation metrics through the Expo Router / React Navigation integrations../references/queries.md. The five eas observe:* commands — metrics-summary, metrics, routes, events, versions — with flags, table layouts, JSON shapes, and common workflows../references/metrics.md. Target thresholds per metric, what the TTI frameRate.* params mean, and diagnostic patterns for telling slow-but-smooth startup apart from main-thread contention or hard blocks.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 13,764 | 10,971 | -20% | 1 | 1 | 0% | 2,791 | 2,598 | -7% | 0 | 0 | — |
case-02 | fail→pass | 18,380 | 13,425 | -27% | 1 | 1 | 0% | 3,258 | 3,472 | +7% | 0 | 0 | — |
case-03 | fail→pass | 17,038 | 11,844 | -30% | 1 | 1 | 0% | 2,951 | 2,552 | -14% | 0 | 0 | — |
case-04 | fail→pass | 13,508 | 3,408 | -75% | 1 | 1 | 0% | 2,326 | 1,172 | -50% | 0 | 0 | — |
case-05 | fail→pass | 13,630 | 3,372 | -75% | 1 | 1 | 0% | 2,524 | 1,051 | -58% | 0 | 0 | — |
case-06 | fail→pass | 12,483 | 3,840 | -69% | 1 | 1 | 0% | 2,096 | 1,110 | -47% | 0 | 0 | — |
case-07 | fail→pass | 13,142 | 4,948 | -62% | 1 | 1 | 0% | 2,188 | 1,426 | -35% | 0 | 0 | — |
case-08 | fail→pass | 5,818 | 2,753 | -53% | 1 | 1 | 0% | 1,044 | 864 | -17% | 0 | 0 | — |
case-09 | fail→pass | 8,862 | 3,171 | -64% | 1 | 1 | 0% | 1,579 | 977 | -38% | 0 | 0 | — |
case-10 | fail→pass | 17,783 | 3,428 | -81% | 1 | 1 | 0% | 3,023 | 1,008 | -67% | 0 | 0 | — |
case-11 | fail→pass | 11,087 | 1,887 | -83% | 1 | 1 | 0% | 1,881 | 780 | -59% | 0 | 0 | — |
case-12 | fail→pass | 10,422 | 4,285 | -59% | 1 | 1 | 0% | 1,717 | 1,271 | -26% | 0 | 0 | — |
case-13 | fail→pass | 14,423 | 7,216 | -50% | 1 | 1 | 0% | 2,650 | 1,764 | -33% | 0 | 0 | — |
case-14 | fail→pass | 15,881 | 5,778 | -64% | 1 | 1 | 0% | 2,929 | 1,685 | -42% | 0 | 0 | — |
case-15 | pass→pass | 6,590 | 8,011 | +22% | 1 | 1 | 0% | 989 | 1,736 | +76% | 0 | 0 | — |
case-16 | pass→pass | 9,251 | 8,994 | -3% | 1 | 1 | 0% | 1,640 | 1,875 | +14% | 0 | 0 | — |
case-17 | fail→pass | 10,995 | 4,440 | -60% | 1 | 1 | 0% | 1,937 | 1,396 | -28% | 0 | 0 | — |
case-18 | fail→pass | 7,873 | 4,531 | -42% | 1 | 1 | 0% | 1,279 | 1,238 | -3% | 0 | 0 | — |
case-19 | fail→fail | 14,469 | 12,232 | -15% | 1 | 1 | 0% | 2,534 | 2,508 | -1% | 0 | 0 | — |
case-20 | pass→pass | 13,639 | 9,467 | -31% | 1 | 1 | 0% | 2,316 | 2,208 | -5% | 0 | 0 | — |
case-21 | pass→pass | 13,756 | 9,179 | -33% | 1 | 1 | 0% | 2,172 | 1,908 | -12% | 0 | 0 | — |
case-22 | pass→pass | 16,500 | 12,756 | -23% | 1 | 1 | 0% | 3,024 | 2,840 | -6% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +73 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.