Unified mobile platform assessment — merges former mobile-architecture and mobile-assessment into one skill. Covers cross-platform vs native strategy, store compliance, app vitals, architecture patterns, offline-first design, performance optimization, dependency health, and remediation roadmaps. Use when the user asks to "assess mobile architecture", "evaluate mobile platform", "audit app health", "choose between native and cross-platform", "check store compliance", "optimize mobile performance", "review app dependencies", or mentions Flutter, React Native, KMP, MVVM, crash rate, ANR, app size, cold start time, or mobile tech debt.
From pmnpx claudepluginhub javimontano/mao-pm-apexThis skill is limited to using the following tools:
examples/README.mdexamples/sample-architecture-output.htmlexamples/sample-architecture-output.mdexamples/sample-assessment-output.htmlexamples/sample-assessment-output.mdexamples/sample-output.htmlprompts/metaprompts.mdprompts/use-case-prompts.mdreferences/body-of-knowledge.mdreferences/knowledge-graph.mmdreferences/mobile-assessment-benchmarks.mdreferences/mobile-patterns.mdreferences/state-of-the-art.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Mobile platform assessment unifies two formerly separate concerns — designing mobile architecture and evaluating existing mobile app health — into a single comprehensive skill. It produces deliverables covering platform strategy, architecture patterns, offline-first design, performance optimization, store compliance, dependency security, code quality, and prioritized remediation.
Mobile is not "web on a small screen" — it is a channel with unique constraints. And an app without vitals metrics is an app flying blind. Unstable network, finite battery, release cycles controlled by stores, users who abandon at 3 seconds, and store compliance that is non-negotiable. Designing and evaluating mobile requires respecting these constraints as first-class concerns.
The user provides an app or project name as $ARGUMENTS. Parse $1 as the app/project name used throughout all output artifacts.
Parameters:
{MODO_OPERACIONAL}: evaluacion | diseño | integral (default)
{MODO}: piloto-auto (default) | desatendido | supervisado | paso-a-paso
{FORMATO}: markdown (default) | html | dual{VARIANTE}: ejecutiva (~40% — S1 platform strategy + S4 compliance + S9 remediation) | técnica (full 9 sections, default)Before generating assessment, detect the mobile project context:
!find . -name "pubspec.yaml" -o -name "package.json" -o -name "*.xcodeproj" -type d -o -name "build.gradle*" -o -name "Podfile" -o -name "*.swift" -o -name "*.kt" | head -20
If reference materials exist, load them:
Read ${CLAUDE_SKILL_DIR}/references/mobile-patterns.md
Read ${CLAUDE_SKILL_DIR}/references/mobile-assessment-benchmarks.md
Mode routing:
{MODO_OPERACIONAL}=evaluaciondelivers S5-S9 primarily.diseñodelivers S1-S4 + S8.integraldelivers all 9 sections.
Platform Comparison (2025-2026):
| Factor | Native (Swift/Kotlin) | Flutter (3.24+) | React Native (New Arch) | KMP / CMP |
|---|---|---|---|---|
| Performance | Best | Near-native (Impeller renderer) | Good (Fabric + TurboModules) | Native (shared logic) |
| UI rendering | Platform-native | Impeller: precompiled shaders, 60/120 FPS, no shader jank | Fabric: synchronous, concurrent UI via JSI | Native per platform (or CMP shared UI) |
| Code sharing | 0% | 90-95% | 85-90% | 50-80% logic; 90%+ with CMP UI |
| Team skills | iOS + Android specialists | Dart developers | JavaScript/React developers | Kotlin developers |
| Market share | N/A | ~46% cross-platform | ~35% cross-platform | Growing (Google Docs on iOS uses KMP) |
| Hot reload | Limited | Excellent (sub-second) | Good | N/A (logic layer) |
| App size overhead | Baseline | +5-10MB | +7-15MB | Minimal (logic only) |
| Cold start | Fastest | Fast (Impeller eliminates shader warmup) | Moderate (JSI improves over bridge) | Native speed |
React Native New Architecture (default since 0.76):
Flutter Impeller Renderer (default since 3.16):
Compose Multiplatform (CMP) Status (2025-2026):
Decision Criteria:
Architecture Patterns:
Modularization Strategy (2025 best practices):
| Module Type | Contains | Depends On | Example |
|---|---|---|---|
| Feature module | Screen(s), ViewModel, Repository | Core modules only | :feature-orders, :feature-profile |
| Core module | Shared utilities, networking, design system | Foundation only | :core-network, :core-design |
| Navigation module | Routing, deep links | Feature module interfaces | :navigation |
| Foundation | Extensions, constants, logger | Nothing | :foundation |
Dynamic Feature Delivery:
State Management Layers:
Declarative UI Patterns (2025):
StateFlow. Side effects: LaunchedEffect. Navigation: type-safe Compose Navigation 2.8+.@Observable macro (iOS 17+) replaces ObservableObject. NavigationStack with navigationDestination(for:).Dependency Injection: Constructor injection for testability. Hilt (Android), Swinject (iOS), get_it (Flutter), inversify (RN).
Local Storage:
Sync Strategies: Pull (client requests on open/refresh), push (WebSocket/SSE), delta (changes since timestamp), full (replace local state).
Conflict Resolution: Last-write-wins (simplest), server-wins (authoritative), field-level merge (most flexible), CRDTs (conflict-free, eventual consistency).
Optimistic UI: Apply locally immediately, queue server sync, confirm on success, revert on failure. Persistent queue survives restart. Exponential backoff retry.
Background Tasks:
Cold Start Benchmarks:
| Rating | Time to First Meaningful Content | Action |
|---|---|---|
| Excellent | <1s | No action needed |
| Good | 1-2s | Monitor, optimize opportunistically |
| Acceptable | 2-3s | Prioritize optimization in next sprint |
| Unacceptable | >3s | Critical fix -- users abandon at 3s+ |
Cold Start Optimization Checklist:
Memory Management:
Animation Targets: 60fps minimum (120fps for ProMotion/high refresh). Animate transform/opacity (GPU), not size/position (CPU).
Battery Optimization: Batch network requests. Significant-change location monitoring. Compress payloads. Prefer WiFi for large transfers.
Accessibility:
Primary in
{MODO_OPERACIONAL}=evaluacion
Google Play Vitals Thresholds (enforced, affect store visibility):
| Metric | Bad Behavior Threshold | Per-Device Threshold | Consequence |
|---|---|---|---|
| User-perceived crash rate | >1.09% of daily sessions | >8% on single device model | Reduced discoverability, store warning |
| User-perceived ANR rate | >0.47% of daily active users | >8% on single device model | Reduced discoverability, store warning |
| Excessive wakeups | >10 wakeups/hour | N/A | Battery vitals warning |
| Stuck partial wake locks | >0.30% of sessions (enforced Mar 2026) | N/A | Store visibility impact |
| Excessive cold starts | >5s | N/A | Vitals flag (aim far lower) |
Crash Rate Benchmarks:
| Rating | Crash-Free Sessions | Action |
|---|---|---|
| Excellent (top 10%) | >99.99% | Monitor only |
| Good (industry median) | >99.95% | Maintain |
| Acceptable | >99.5% | Investigate top crashes |
| Poor | 99.0-99.5% | Prioritize crash fixes |
| Critical | <99.0% | Emergency: app stability at risk |
ANR / Hang Rate:
MXHangDiagnostic for reporting.App Size Budget:
| Category | Target | Warning | Critical |
|---|---|---|---|
| Initial download (APK/IPA) | <30MB | 30-80MB | >80MB |
| With on-demand resources | <150MB | 150-300MB | >300MB |
| Emerging market target | <15MB | 15-25MB | >25MB |
| App Clip / Instant App | <15MB (hard limit) | N/A | N/A |
Memory Footprint:
Tools: Firebase Crashlytics, Sentry, Embrace (session replay), Bugsnag.
Dependency Inventory:
CVE Analysis:
./gradlew dependencyCheckAnalyzeLicense Compliance:
SDK Bloat Assessment:
Apple App Store Compliance:
iOS Privacy Manifest (PrivacyInfo.xcprivacy) -- MANDATORY:
| Element | Description | Enforcement |
|---|---|---|
| Required Reason APIs | UserDefaults, file timestamp, disk space, boot time, system uptime | Must declare reason code; rejection if missing |
| Data collection types | Categories of data collected | Must match privacy nutrition labels |
| Tracking domains | Domains contacted for tracking purposes | Must be declared; ATT required before contacting |
| SDK code signature | Third-party SDKs on Apple's "commonly used" list | Must include manifest AND signature |
Audit checklist:
PrivacyInfo.xcprivacy exists in app bundle and every third-party frameworkGoogle Play Compliance:
Accessibility (WCAG Mobile):
Mobile-Optimized API Design:
GraphQL vs. REST Decision:
| Factor | REST | GraphQL |
|---|---|---|
| Over-fetching | Common | Eliminated (client specifies) |
| Under-fetching | Multiple round trips | Single query, nested resolution |
| Caching | HTTP caching (simple) | Client-side (Apollo, Relay, urql) |
| Mobile fit | Good with BFF | Excellent for varied screens |
Push Notifications: APNs (iOS) + FCM (Android). Silent push for background sync. Rich push with images, actions, deep links. Permission strategy: ask after value demonstration, not first launch.
Deep Linking: Universal Links (iOS) / App Links (Android) for domain-based routing. Deferred deep linking for new installs.
Mobile CI/CD Pipeline:
Feature Flags: Remote config for enable/disable without app update. Gradual rollout (1% -> 10% -> 50% -> 100%). Kill switch. Tools: Firebase Remote Config, LaunchDarkly, Unleash.
OTA Updates: CodePush (React Native), Shorebird (Flutter). No OTA for native compiled code (store policy).
App Store Compliance (Release):
Versioning: Semantic versioning (major.minor.patch). Always-incrementing build numbers. Minimum version enforcement for critical updates.
Primary in
{MODO_OPERACIONAL}=evaluacion
Tech Debt Inventory:
Test Coverage:
Flashlight (Android CI Performance):
Finding Severity Classification:
| Severity | Definition | SLA |
|---|---|---|
| Critical | App rejection risk, security CVE (CVSS 9+), crash >1%, Play vitals threshold exceeded | Fix immediately |
| High | Performance degradation, compliance gap, ANR near threshold, missing privacy manifest | Fix within 1 sprint |
| Medium | Tech debt, minor compliance, suboptimal patterns | Plan within quarter |
| Low | Nice-to-have, optimization, cosmetic | Backlog |
Quick Wins (1-3 days each):
Strategic Fixes (1-4 weeks each):
Migration Paths (1-3 months each):
Prioritization Formula:
(Impact * Risk) / EffortProgress Tracking: Quarterly full assessment, monthly spot-checks. Track: severity distribution trend, crash-free rate, ANR rate, app store rating, app size.
| Decision | Enables | Constrains | When to Use |
|---|---|---|---|
| Native | Best performance, full API access | 2x codebase, 2x team | Performance-critical, platform-specific |
| Flutter | Single codebase, Impeller rendering | Custom render engine, plugin gaps | Rapid iteration, consistent UI |
| React Native (New Arch) | JS ecosystem, Fabric/TurboModules perf | Native module migration effort | JS teams, existing React codebase |
| KMP/CMP | Shared logic (+ optional shared UI) | Smaller ecosystem, Kotlin required | Kotlin teams, logic-first sharing |
| Offline-First | Works without network, fast UI | Sync complexity, conflict resolution | Field workers, unreliable connectivity |
| Fix Critical First | Prevents rejection, secures users | Delays feature work | Always the right priority |
| Modularize Before Features | Faster future development | Upfront investment | High tech debt, slow builds |
| SDK Consolidation | Smaller app, fewer conflicts | Migration effort | Multiple overlapping SDKs |
| Flashlight CI Integration | Automated perf regression detection | CI time increase (~2-5 min) | Any app with >10K users |
Single Developer Building for Both Platforms: Cross-platform (Flutter or React Native) strongly favored. Maximize code sharing. Use managed services for backend.
Enterprise App with MDM Requirements: MDM integration affects architecture: managed app config, VPN tunneling, data loss prevention. Test with MDM profiles early.
App with Large Media (Video, 3D): Streaming over download. Progressive loading for 3D. CDN integration. Selective offline download with storage management UI.
Super App / Multi-Feature App: Micro-frontend architecture: each feature team owns a module. Dynamic feature delivery. Navigation contract between modules.
Regulated Industry (Healthcare, Finance): Biometric auth. Certificate pinning. No sensitive data in logs or screenshots. Jailbreak/root detection. HIPAA/PCI-DSS compliance.
No Analytics/Crash Reporting: Install Crashlytics + basic analytics as prerequisite. Establish baseline from assessment date. Manual testing substitutes for production metrics.
Legacy App with No Tests: Start with critical path characterization tests only. Capture current behavior before refactoring.
Emerging Markets: App size <15MB ideal. Benchmark on low-end devices (2GB RAM). Network: 3G, high latency.
Multiple Release Tracks: Assess each variant independently. Feature flags may hide issues across tracks.
Before finalizing delivery, verify:
Design sections (S1-S4, S8):
Evaluation sections (S5-S7, S9):
graph TD
subgraph Core
MPA[Mobile Platform Assessment]
end
subgraph Inputs
I1[Project Requirements] --> MPA
I2[Team Skills Profile] --> MPA
I3[App Source Code] --> MPA
I4[Store Console Data] --> MPA
I5[Performance Telemetry] --> MPA
end
subgraph Outputs
MPA --> O1[Platform Strategy]
MPA --> O2[Architecture Design]
MPA --> O3[Offline-First Strategy]
MPA --> O4[Performance Budgets]
MPA --> O5[Health Profile & Compliance]
MPA --> O6[Remediation Roadmap]
end
subgraph Related Skills
RS1[software-architecture] -.-> MPA
RS2[mobile-assessment] -.-> MPA
RS3[quality-engineering] -.-> MPA
RS4[performance-engineering] -.-> MPA
RS5[api-architecture] -.-> MPA
end
Formato MD (default):
# Mobile Platform Assessment: {project_name}
## S1: Platform Strategy
### Comparison Matrix | Decision Criteria | Recommendation
## S2: App Architecture Patterns
### Pattern Selection | Modularization | State Management
## S3: Offline-First & Data Sync
### Storage | Sync Strategy | Conflict Resolution
## S4: Performance Design & Budgets
### Cold Start | Memory | Animation | Battery
## S5-S7: Health, Dependencies, Compliance
### Vitals | CVEs | Privacy Manifest | Accessibility
## S8: Backend Integration & Release Pipeline
### BFF/GraphQL | CI/CD | Feature Flags | OTA
## S9: Code Quality & Remediation Roadmap
### Quick Wins | Strategic Fixes | Migration Paths
Formato PPTX: Resumen ejecutivo de plataforma mobile en formato presentacion: slide de comparativa de plataformas, slide de arquitectura (Mermaid renderizado), slide de health dashboard, slide de roadmap de remediacion con timeline visual.
Formato HTML (bajo demanda):
A-01_Mobile_Platform_Assessment_{project_name}_{WIP}.htmlFormato DOCX (bajo demanda):
{fase}_Mobile_Platform_Assessment_{cliente}_{WIP}.docxFormato XLSX (bajo demanda):
{fase}_Mobile_Platform_Assessment_{cliente}_{WIP}.xlsx| Dimension | Peso | Criterio (7/10 minimo) |
|---|---|---|
| Trigger Accuracy | 10% | Se activa ante keywords de mobile platform, architecture, y assessment; no se confunde con backend architecture |
| Completeness | 25% | Las 9 secciones cubren estrategia, arquitectura, offline, performance, health, compliance, y remediation |
| Clarity | 20% | Tablas comparativas de plataformas y benchmarks son autoexplicativas; decisiones justificadas con trade-offs |
| Robustness | 20% | Modos operacionales (evaluacion, diseno, integral) cubren casos de app nueva, existente, y refactor |
| Efficiency | 10% | Variante ejecutiva (~40%) entrega decision de plataforma + compliance + roadmap sin overhead |
| Value Density | 15% | Cada seccion produce recomendaciones accionables con justificacion tecnica y de negocio |
Umbral minimo: 7/10 en cada dimension. Composite ponderado >= 7.0 para considerar el output aceptable.
| Format | Default | Description |
|---|---|---|
markdown | Yes | Rich Markdown + Mermaid diagrams. Token-efficient. |
html | On demand | Branded HTML (Design System). Visual impact. |
dual | On demand | Both formats. |
Default output is Markdown with embedded Mermaid diagrams. HTML generation requires explicit {FORMATO}=html parameter.
Primary: A-01_Mobile_Platform_Assessment.html -- Platform strategy, architecture design, health dashboard, compliance audit, dependency security, performance analysis, and prioritized remediation roadmap.
Secondary: Module dependency diagram, CVE report, accessibility audit, CI/CD pipeline configuration, app store compliance checklist, performance profiling captures, PrivacyInfo.xcprivacy audit report.