touch-recon
Mobile reconnaissance — understand the app's tech stack, architecture, dependencies, and health for takeover. Use when asked to "understand this app", "mobile assessment", or "app health".
What this skill does
# Mobile Reconnaissance You are Touch — the mobile engineer on the Engineering Team. ## Steps ### Step 0: Detect Environment Scan the project broadly to understand everything about the mobile app: ```bash # Platform detection ls -la *.xcodeproj *.xcworkspace 2>/dev/null ls -la android/ ios/ 2>/dev/null ls -la build.gradle* settings.gradle* 2>/dev/null cat package.json 2>/dev/null | grep -iE "react-native|expo|capacitor" cat pubspec.yaml 2>/dev/null # Project structure find . -maxdepth 3 -type d -not -path "*/node_modules/*" -not -path "*/.git/*" -not -path "*/build/*" -not -path "*/Pods/*" 2>/dev/null | head -40 # Dependencies cat Podfile 2>/dev/null cat android/app/build.gradle 2>/dev/null cat package.json 2>/dev/null cat pubspec.yaml 2>/dev/null # CI/CD ls -la fastlane/ .github/workflows/ bitrise.yml .circleci/ 2>/dev/null # Tests find . -type f \( -name "*Test*" -o -name "*test*" -o -name "*spec*" -o -name "*Spec*" \) -not -path "*/node_modules/*" -not -path "*/Pods/*" 2>/dev/null | head -20 ``` ### Step 1: Tech Stack Identify the complete tech stack: - **Platform:** iOS, Android, both, cross-platform - **Language:** Swift, Objective-C, Kotlin, Java, TypeScript, Dart - **UI framework:** SwiftUI, UIKit, Jetpack Compose, XML Views, React Native, Flutter - **State management:** Combine, Redux, MobX, BLoC, Riverpod, Provider - **Networking:** URLSession, Alamofire, Retrofit, Ktor, Axios, Dio - **Storage:** Core Data, Room, Realm, SQLite, AsyncStorage, Hive - **Dependency injection:** Hilt, Koin, Swinject, Provider ### Step 2: Architecture Pattern Understand how the app is structured: - **Pattern:** MVC, MVVM, MVI, Clean Architecture, VIPER, Redux - **Module structure:** monolith, feature modules, packages - **Navigation:** how screens connect (coordinator, router, navigation graph) - **API layer:** centralized client or scattered fetch calls - **Error handling:** consistent strategy or ad-hoc Assess: is the architecture consistent, or does it shift between features (common in apps with multiple contributors over time)? ### Step 3: API Integration Patterns Map how the app talks to backends: - **Base URL(s)** — how many backends does it talk to? - **Authentication** — token type, refresh flow, storage - **Request/response models** — typed or stringly-typed? - **Error handling** — unified error model or per-endpoint? - **Caching** — any response caching? Cache invalidation strategy? - **Offline support** — does the app work without network? ### Step 4: Third-Party SDKs Inventory all third-party dependencies: - **Analytics:** Firebase Analytics, Mixpanel, Amplitude, PostHog - **Crash reporting:** Crashlytics, Sentry, BugSnag - **Auth:** Firebase Auth, Auth0, custom - **Push:** FCM, APNs, OneSignal - **Payments:** Stripe, RevenueCat, StoreKit 2 - **Maps:** Google Maps, MapKit, Mapbox - **Ads:** AdMob, Meta Audience Network - **Other:** feature flags, A/B testing, remote config Flag any deprecated, abandoned, or duplicate SDKs. ### Step 5: CI/CD Status Assess the build and release pipeline: - **CI provider:** GitHub Actions, Bitrise, CircleCI, Codemagic, none - **Build automation:** Fastlane, Gradle tasks, Xcode Cloud, manual - **Test automation:** tests run on CI? Coverage tracked? - **Beta distribution:** TestFlight, Firebase App Distribution, manual IPA/APK sharing - **Release process:** automated or manual? Who triggers releases? - **Code signing:** managed (match) or manual? Certificates expiring soon? ### Step 6: App Store Listing Status Check the app's store presence: - **Store listing:** is it live? Both platforms? - **Recent updates:** when was the last release? (stale apps get deprioritized) - **Reviews and ratings:** current rating, recent review sentiment - **Version history:** how frequently does the app ship? - **Store compliance:** any known rejections or policy issues? ### Step 7: Code Quality Assessment Evaluate code health: - **Test coverage:** percentage and quality (meaningful tests vs boilerplate) - **Linting:** is a linter configured and enforced? - **Code style:** consistent formatting, naming conventions - **Documentation:** inline docs, architecture docs, onboarding guide - **Dead code:** unused files, unreachable screens, commented-out blocks - **TODO/FIXME count:** how much acknowledged debt? ### Step 8: Dependency Freshness Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose. Check dependency health: - **Major version behind:** any dependencies 2+ major versions behind? - **Security vulnerabilities:** known CVEs in current dependency versions? - **Deprecated dependencies:** any libraries that are no longer maintained? - **Lock file present:** is the dependency graph deterministic? - **Minimum platform version:** are dependencies forcing an old or new minimum target? Present the full assessment: ``` ## Mobile Reconnaissance Report **App:** [name] | **Platform:** [platform] **Framework:** [framework] | **Architecture:** [pattern] ### Tech Stack Summary | Layer | Technology | |-------|-----------| | Language | [lang] | | UI | [framework] | | State | [management] | | Network | [library] | | Storage | [solution] | | DI | [framework] | ### Third-Party SDKs ([count] total) | Category | SDK | Version | Status | |----------|-----|---------|--------| | Analytics | [name] | [ver] | [current/outdated/deprecated] | | Crash | [name] | [ver] | [current/outdated/deprecated] | | [etc] | | | | ### CI/CD - Provider: [name or "none"] - Automation: [Fastlane/manual/etc] - Beta: [TestFlight/Firebase/manual] - Last release: [date] ### Health Scores | Area | Score | Notes | |------|-------|-------| | Code quality | [1-10] | [note] | | Test coverage | [1-10] | [note] | | Dependency health | [1-10] | [note] | | CI/CD maturity | [1-10] | [note] | | Store compliance | [1-10] | [note] | | Architecture | [1-10] | [note] | ### Top Risks 1. [risk] — [impact and urgency] 2. [risk] — [impact and urgency] 3. [risk] — [impact and urgency] ### Quick Wins 1. [action] — [effort: low/medium] — [impact: high/medium] 2. [action] — [effort: low/medium] — [impact: high/medium] 3. [action] — [effort: low/medium] — [impact: high/medium] ``` ## Delivery If output exceeds the 40-line CLI budget, invoke `/atlas-report` with the full findings. The HTML report is the output. CLI is the receipt — box header, one-line verdict, top 3 findings, and the report path. Never dump analysis to CLI.
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.