Help us improve
Share bugs, ideas, or general feedback.
From grimoire
Diagnoses mobile app performance using platform-native metrics (Android Vitals, MetricKit) and profiling tools. Useful for cold start, frame rate, memory, network, and battery audits.
npx claudepluginhub jeffreytse/grimoire --plugin grimoireHow this skill is triggered — by the user, by Claude, or both
Slash command
/grimoire:audit-mobile-performanceThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Systematically identify and quantify performance bottlenecks using platform-native metrics before optimizing anything.
Guides mobile performance optimization for iOS/Android apps: 60fps rendering, memory leak detection/management, battery efficiency, startup time reduction (cold/warm/hot), image loading (Glide, SDWebImage, Coil), profiling with Instruments, Android Profiler, Flipper. Use for frame drops, ANRs, OOMs.
Profiles iOS app performance with Instruments: Time Profiler for CPU, Allocations and Leaks for memory, Network for traffic, Energy Log for battery impact. Optimizes launch times, scrolling, and energy use.
Audits mobile apps for app size, startup time, crash reporting, store compliance, accessibility, and offline behavior across iOS, Android, React Native, and Flutter.
Share bugs, ideas, or general feedback.
Systematically identify and quantify performance bottlenecks using platform-native metrics before optimizing anything.
Adopted by: Google Play's Android Vitals program affects app store ranking; Apple App Store reviews MetricKit data for featured app eligibility; both platforms penalize apps that exceed thresholds in app store visibility algorithms
Impact: Google reports a 1-second improvement in mobile page speed improves conversions by up to 27% (Google/SOASTA research, 2017); Apple's MetricKit data shows apps with launch times above 2 seconds have 3× higher 1-day uninstall rates
Performance optimization without measurement is guesswork. Platform-provided metrics (Android Vitals, MetricKit) represent real-device, real-user data that synthetic benchmarks cannot replicate. Always measure first; optimize the metric with the largest user impact.
Finding: Cold start p75 = 4.2s on Android. Profiler shows SharedPreferences.getAll() blocking main thread for 1.8s at startup. Fix: Move to async DataStore; cold start drops to 2.1s.