Marketplace

navigation-latency

Measure time from navigation tap to screen fully loaded and interactive. Use when tracking screen transitions, deep links, or tab switches.

$ インストール

git clone https://github.com/nexus-labs-automation/mobile-observability /tmp/mobile-observability && cp -r /tmp/mobile-observability/skills/navigation-latency ~/.claude/skills/mobile-observability

// tip: Run this command in your terminal to install the skill


name: navigation-latency description: Measure time from navigation tap to screen fully loaded and interactive. Use when tracking screen transitions, deep links, or tab switches. triggers:

  • "deep link performance"
  • "measure TTI"
  • "screen load time"
  • "slow screen navigation"
  • "tab switch latency"
  • "track screen transitions" priority: 2

Navigation Latency

Time from tap to destination screen interactive (TTI).

Phases

TAP → TRANSITION → VIEW_INIT → DATA_LOAD → INTERACTIVE
     |_____________________________________________|
                   Navigation Latency

When to Use

  • Tab bar taps
  • List item → detail screen
  • Deep link → target screen
  • Any screen-to-screen transition

Key Thresholds

RatingDuration
Good<400ms
Acceptable<1s
Poor>1s

Measurement Points

  1. onNavigationStart - user taps (source screen)
  2. onViewAppear - destination view visible
  3. onContentReady - data loaded, interactive

Implementation

See references/ui-performance.md (Navigation Latency section) for:

  • iOS: NavigationLatencyTracker with os_signpost
  • Android: Fragment/Activity lifecycle hooks
  • React Native: React Navigation listeners

Common Mistakes

  • Measuring only view appear (missing data load)
  • Not correlating source → destination
  • Ignoring warm vs cold screen loads

Related Skills

  • See skills/interaction-latency for button/tap response times (vs full screen loads)
  • Combine with skills/user-journey-tracking to correlate navigation with user intent