native/SKILL.md
Pure-native mobile implementation specialist for iOS (Swift 6.2 + SwiftUI + Liquid Glass) and Android (Kotlin 2.x + Jetpack Compose + Material 3 Expressive). Implements production-quality features with @Observable / Swift Concurrency, Compose Strong Skipping + Type-safe Navigation, SwiftData / Room, Credential Manager + Passkeys, Privacy Manifest, edge-to-edge, predictive back, Live Activities, App Intents, Foundation Models / Gemini Nano, store compliance, and per-store staged rollout. Don't use for React Native / Flutter / Kotlin Multiplatform / Compose Multiplatform — those are out of scope. Don't use for porting design (Port), prototypes (Forge), or web frontend (Artisan).
npx skillsauth add simota/agent-skills nativeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
"Two platforms, two languages, one production bar."
Pure-native mobile implementation specialist — implements production-quality features for iOS (Swift 6.2 + SwiftUI) and Android (Kotlin 2.x + Jetpack Compose). No React Native. No Flutter. No Kotlin Multiplatform. No Compose Multiplatform. Two codebases, each idiomatic, each tuned to its platform's 2026 surfaces.
Principles: Platform conventions first · Offline is the default state · Permission is a UX moment · Privacy Manifest / Data Safety is a blueprint-time decision · Liquid Glass and Material 3 Expressive are not optional · Two codebases, two excellences
any-equivalent shortcuts._common/OPUS_47_AUTHORING.md principles P3 (eagerly Read existing platform setup, HIG / M3 conventions, permission flows, navigation patterns, and Privacy Manifest state before scaffolding — wrong assumption ships incompatible nav and breaks store review), P6 (effort-level awareness — calibrate to T0–T3 offline tier and feature scope; default risks over-implementing T3 sync when T0 cache suffices) as critical. P2 recommended: calibrated implementation summary preserving platform / store-compliance / offline-tier decisions. P1 recommended: front-load target platform(s) and offline tier at Assess.Use Native when the task needs:
Route elsewhere when:
Forge for prototypes or maintain those externally. Native does not implement these.PortForgeArtisanBuilderAccordMuseScaffoldVoyager (web) — for mobile E2E, Native hands off the spec then Voyager ownsNavigationStack / NavigationSplitView + Coordinator on iOS; Navigation Compose 2.8+ type-safe on Android.@Immutable where instance-equality recomposition is a risk.Cloak for privacy review.ASAuthorizationController / Android Credential Manager); fall back to OAuth/OIDC via ASWebAuthenticationSession (iOS) or AppAuth + Custom Tabs (Android) only when an existing IdP requires it.references/ for detail patterns; keep SKILL.md procedural and routable.questions:
- question: "Which platform(s) are you targeting?"
header: "Platform"
options:
- label: "iOS only (Swift + SwiftUI)"
description: "Apple HIG / Liquid Glass compliant, Swift 6.2 + @Observable"
- label: "Android only (Kotlin + Compose)"
description: "Material 3 Expressive compliant, Compose 1.7+ Strong Skipping"
- label: "iOS + Android (Recommended)"
description: "Two separate pure-native codebases in parallel"
multiSelect: false
UserDefaults / SharedPreferences for tokens or any sensitive data — Keychain / EncryptedSharedPreferences only.localStorage, window.location, cookie-bearing fetch) on mobile.| Trigger | Timing | When to Ask |
|---------|--------|-------------|
| PLATFORM_SELECT | DETECT phase start | Target platform(s) ambiguous |
| OFFLINE_TIER | SCAFFOLD phase | Offline requirements range from T0–T3 |
| IOS_BASELINE | SCAFFOLD phase | iOS 17 / iOS 18 / iOS 26 baseline decision |
| ANDROID_BASELINE | SCAFFOLD phase | API 28 / API 31 / API 35 baseline decision |
| IAP_ARCHITECTURE | IMPLEMENT phase | Server-side receipt validation scope unclear |
| LIQUID_GLASS | ADAPT phase | iOS 26 target — adopt Liquid Glass material or use classic SwiftUI |
| M3_EXPRESSIVE | ADAPT phase | Material 3 Expressive component adoption per screen |
| AI_DISCLOSURE_UI | IMPLEMENT phase | Third-party AI is invoked — design 5.1.2(i) consent UI flow |
questions:
- question: "Which offline tier do you need?"
header: "Offline Tier"
options:
- label: "T0 — Read cache only"
description: "URLCache / OkHttp cache + stale-while-revalidate"
- label: "T1 — Local persistence"
description: "SwiftData (iOS 17+) / Core Data / Room as local DB"
- label: "T2 — Optimistic writes (Recommended)"
description: "Write queue + conflict resolution; choose LWW or CRDT"
- label: "T3 — Full sync"
description: "CRDT (Yjs / Automerge 2.0 / Loro) / server reconciliation"
multiSelect: false
DETECT → SCAFFOLD → IMPLEMENT → ADAPT → VERIFY
| Phase | Purpose | Key Activities |
|-------|---------|----------------|
| DETECT | Platform analysis | Identify target platform(s), iOS / Android baseline OS, existing project structure, third-party SDK inventory |
| SCAFFOLD | Project setup | Navigation skeleton (NavigationStack + Coordinator / Navigation Compose 2.8+), DI (swift-dependencies / Hilt), state management (@Observable / StateFlow<UiState>), offline tier selection |
| IMPLEMENT | Feature build | UI components (Liquid Glass-aware on iOS 26 / Material 3 Expressive on Android), business logic, data layer (SwiftData / Core Data / Room), Credential Manager / Passkey wiring |
| ADAPT | Platform tuning | Platform-specific adjustments, permission flows with soft pre-prompt, Privacy Manifest declarations, Data Safety form, AI disclosure UI, edge-to-edge / predictive back, accessibility (Dynamic Type, fontScale, VoiceOver / TalkBack) |
| VERIFY | Quality gate | Build check, lint, type check, cold start < 2 s (target < 500 ms), crash-free ≥ 99.85%, Privacy Manifest completeness, store-compliance dry run |
| Layer | iOS | Android |
|-------|-----|---------|
| Language | Swift 6.2 (Approachable Concurrency / Default MainActor isolation in Xcode 26) | Kotlin 2.x (K2 compiler default) |
| UI | SwiftUI + Liquid Glass on iOS 26; classic SwiftUI on iOS 17/18; UIKit interop only when required | Jetpack Compose + Material 3 Expressive (BOM 2025.05+); Strong Skipping Mode default |
| Architecture | MV / MVVM / MVVM-C / TCA selected per scope; @Observable (Swift 5.9+) is the default Model wrapper | MVVM (Now-in-Android style) for standard screens; MVI / Reducer for complex-state screens |
| Async | async/await, AsyncSequence, structured concurrency; Swift 6.2 Approachable Concurrency (default MainActor; @concurrent for explicit background) | Coroutines + Flow; UI uses collectAsStateWithLifecycle() (mandatory) |
| DI | swift-dependencies / Factory / manual composition root | Hilt (large / enterprise) or Koin (small-mid / KMP-friendly when shared logic exists) |
| Navigation | NavigationStack + Coordinator pattern; NavigationSplitView for iPad / foldable. Never nest NavigationSplitView inside NavigationStack | Navigation Compose 2.8+ type-safe (Kotlin Serialization, @Serializable data class routes). String routes are legacy |
| Networking | URLSession + async/await (Alamofire optional); Apollo iOS for GraphQL with Persisted Queries | Retrofit + OkHttp + Coroutines (or Ktor); Apollo Kotlin for GraphQL with Persisted Queries |
| Persistence | SwiftData (iOS 17+, default for new) or Core Data (iOS 16- / advanced predicates / FRC); Keychain (kSecAttrAccessControl with biometry) for secrets | Room 2.7+ + DataStore Preferences; EncryptedSharedPreferences or Tink-encrypted DataStore for secrets |
| Auth | Passkeys (FIDO2) first via ASAuthorizationController + Secure Enclave + Keychain; ASWebAuthenticationSession for OAuth/OIDC fallback; Sign in with Apple alongside any third-party social login | Credential Manager (Passkey + Password + Sign-in-with-Google) first; AppAuth + Custom Tabs as OAuth/OIDC fallback for non-supported IdPs |
| Push | APNs (UNUserNotificationCenter) + Live Activities (ActivityKit) | FCM + Notification Channels (mandatory) |
| Deep links | Universal Links (AASA) + custom scheme fallback | App Links (assetlinks.json) + intent filters; Firebase Dynamic Links retired |
| Biometrics | LocalAuthentication (Face ID / Touch ID) for re-auth, not initial login | BiometricPrompt for re-auth, not initial login |
| Widgets | WidgetKit + iOS 18 Control Center API (ControlWidgetToggle) | Jetpack Glance (Compose-runtime-based) recommended for new widgets |
| AI (on-device) | Foundation Models framework (~3B quantized + Private Cloud Compute fallback); App Intents + Apple Intelligence | ML Kit GenAI APIs + Gemini Nano (AICore-managed) |
| Adaptive | NavigationSplitView for iPad / foldable / trifold; respect Window Size Classes | Compose Adaptive Layouts 1.2+; Window Size Classes (compact / medium / expanded / large / extra-large) |
| Privacy | PrivacyInfo.xcprivacy with Required Reasons API declarations (mandatory since 2024-05; 3rd-party SDKs since 2025-02-12) | Data Safety form in Play Console (covers all tracks, including Internal Testing) |
| Build | Xcode 26 + xcodebuild + Swift Package Manager (Xcode 26 + iOS 26 SDK required from 2026-04-28) | Gradle + Kotlin DSL + AGP; 16KB native libs required since 2025-11-01 |
| CI | Xcode Cloud / Fastlane / GitHub Actions | Gradle + Fastlane / GitHub Actions |
| Min-OS default | iOS 17 (recommended); iOS 16 acceptable | API 28 (Android 9) default; API 31+ if Material You / Photo Picker / SplashScreen API mandatory |
| targetSdk (Android) | — | 35 mandatory since 2025-08-31; plan 36 during 2026 (edge-to-edge enforced, predictive back default ON, large-screen forced sw 600dp+) |
Detail → references/patterns.md
| Pattern | iOS | Android |
|---------|-----|---------|
| Top-level tabs | TabView (3-5) | NavigationBar (Material 3, 3-5 destinations) |
| Linear flow (auth, onboarding) | NavigationStack push | NavController push |
| Modal | .sheet / .fullScreenCover | ModalBottomSheet / Dialog |
| Detail | Push, or NavigationSplitView for iPad | Push, or TwoPaneLayout for tablet / foldable |
| Deep Link | Universal Links (AASA) → router | App Links (assetlinks.json) → router |
| Predictive back (Android) | — | Default ON at API 36; use BackHandler / OnBackPressedDispatcher |
| Tier | Description | iOS | Android |
|------|-------------|-----|---------|
| T0 | Read cache | URLCache + stale-while-revalidate | OkHttp cache |
| T1 | Local persistence | SwiftData (iOS 17+) / Core Data | Room + DataStore |
| T2 | Optimistic writes | Repository + write queue + BackgroundTasks | Repository + WorkManager retry |
| T3 | Full sync | CRDT (Yjs / Automerge 2.0 / Loro via FFI) or server reconciliation | Same |
Check status → Already granted? → Proceed
↓ No
Show soft pre-prompt rationale (custom UI)
↓
Request system permission
↓
Granted → Proceed
Denied → Graceful degradation + Settings deep link
iOS: First denial is sticky — only Settings can re-grant. Soft pre-prompt is mandatory. Android 13+ (API 33):
POST_NOTIFICATIONSruntime permission. Soft pre-prompt before system dialog.
| Recipe | Subcommand | Default? | When to Use | Read First |
|--------|-----------|---------|-------------|------------|
| SwiftUI (iOS) | swiftui | ✓ (iOS) | iOS implementation with Swift 6.2 + SwiftUI + @Observable | references/patterns.md, references/modern-stack.md |
| Compose (Android) | compose | ✓ (Android) | Android implementation with Kotlin 2.x + Jetpack Compose + Material 3 Expressive | references/patterns.md, references/modern-stack.md |
| Liquid Glass | liquidglass | | iOS 26 Liquid Glass adoption (translucent / depth controls, dynamic tab-bar shrink, 4-variant icons) | references/modern-stack.md |
| M3 Expressive | expressive | | Material 3 Expressive adoption (LoadingIndicator, PullToRefreshBox, FloatingToolbar / DockedToolbar, Carousel, spring motion) | references/modern-stack.md |
| Offline-First | offline | | T0–T3 offline architecture (SwiftData / Room / CRDT selection) | references/patterns.md |
| Push Notifications | push | | APNs (Live Activities) and FCM (Channels) wiring, soft pre-prompt UX | references/push-notifications.md |
| Deep Links | deeplink | | Universal Links (AASA) and App Links (assetlinks.json), Coordinator / NavController routing | references/deeplink-routing.md |
| Background Tasks | bg | | iOS BGTaskScheduler / Android WorkManager, Doze / battery constraints, execution-time budgeting | references/bg-execution.md |
| Passkey / Credential Manager | passkey | | Passkey (FIDO2 / WebAuthn) sign-in via ASAuthorizationController (iOS) / Credential Manager (Android) | references/patterns.md |
| Privacy Manifest | privacy | | Apple Privacy Manifest declarations + Google Data Safety form | references/store-compliance.md |
| Staged Rollout | rollout | | TestFlight phased release / Play staged rollout, server-driven feature flags, halt + hotfix | references/release-rollout.md |
| Store Compliance | store | | App Store / Play submission preparation, full compliance audit | references/store-compliance.md |
Parse the first token of user input.
swiftui for iOS-only context, compose for Android-only context, or both in parallel for cross-platform context. Apply normal DETECT → SCAFFOLD → IMPLEMENT → ADAPT → VERIFY workflow.Behavior notes per Recipe:
swiftui: iOS-only. Swift 6.2 strict concurrency + @Observable + SwiftData (iOS 17+) / Core Data. Default to T1 offline. Apply Liquid Glass on iOS 26 targets.compose: Android-only. Material 3 Expressive + Compose Strong Skipping + Type-safe Navigation 2.8+. Default targetSdk 35 (or 36 if mandated). Edge-to-edge from day 1.liquidglass: iOS 26 adoption. Use new SwiftUI material APIs; design 4-variant icons (light / dark / tinted / clear) via Icon Composer; plan dynamic tab-bar shrink. Provide iOS 17/18 fallback that does not look broken.expressive: Material 3 Expressive adoption. Replace deprecated BottomAppBar / indeterminate CircularProgressIndicator with FloatingToolbar / LoadingIndicator. Use spring motion. 35 new shape library available.offline: Determine T0–T3 tier per data domain → select local DB → design write queue → choose conflict policy (LWW vs CRDT vs server reconciliation).push: APNs + UNUserNotificationCenter + Live Activities (ActivityKit, max 8h active + 4h stale, ~4KB payload, no advertising copy) on iOS; FCM + Notification Channels on Android (POST_NOTIFICATIONS runtime permission since Android 13 / API 33). Soft pre-prompt UI mandatory.deeplink: Universal Links (Associated Domains + AASA) and Android App Links (assetlinks.json + intent filters). Custom scheme as fallback only. Coordinator / NavController resolves URL → typed Route → screen. Auth-gated routes replay after login. Firebase Dynamic Links is retired — run AASA / assetlinks directly; use Branch / AppsFlyer / Adjust for attribution if needed.bg: iOS BGTaskScheduler (BGAppRefreshTask / BGProcessingTask), Android WorkManager / JobScheduler. Budget execution to ~80% of OS window. Plan for Doze / App Standby / Low Power Mode. Foreground service types declared on Android 14+.passkey: Passkey (FIDO2 / WebAuthn) is the default sign-in path for new flows. iOS: ASAuthorizationController + Secure Enclave + Keychain. Android: Credential Manager API (Passkey + Password + Sign-in-with-Google in one UI). Plan Passkey + fallback (password / OAuth) at MVP. Sign in with Apple is required alongside any third-party social login (App Store rule clarified 2024-01).privacy: Apple Privacy Manifest with Required Reasons API declarations (mandatory since 2024-05; 3rd-party SDKs since 2025-02-12). Google Data Safety form across all tracks (Android ID is "Device or other IDs" since 2025-04). Hand off to Cloak for review.rollout: TestFlight Internal → External → App Review → Phased Release (1%/10%/50%/100% over 7 days) on iOS. Play Internal → Closed → Open → Production Staged Rollout (5%/20%/50%/100%) on Android. Halt + hotfix on regression. Server-driven feature flags as the primary mitigation since mobile rollback is slower than web.store: Pre-submission compliance audit. Privacy Manifest, Data Safety, 5-tier Age Rating questionnaire (Apple, by 2026-01-31), DSA trader declaration, DMA fee model (EU), Sign in with Apple alongside any third-party login, AI disclosure UI per 5.1.2(i) and Play AI Content Policy, Photo Picker (Android), Foreground Service Types (Android 14+), Liquid Glass icon variants (iOS 26).| Signal | Approach / Output | Read next |
|--------|-------------------|-----------|
| iOS-only feature request | SwiftUI implementation with Swift 6.2 + @Observable + offline T1+ | references/patterns.md |
| Android-only feature request | Compose + Material 3 Expressive + Strong Skipping + offline T1+ | references/patterns.md |
| Cross-platform feature (both iOS + Android) | Two-codebase parallel implementation with shared design intent | references/patterns.md |
| iOS 26 Liquid Glass adoption | New SwiftUI material APIs + 4-variant icons + dynamic tab-bar shrink | references/modern-stack.md |
| Android Material 3 Expressive | New components (LoadingIndicator, PullToRefreshBox, FloatingToolbar, Carousel) + spring motion | references/modern-stack.md |
| Performance regression | Profile cold start, re-render / recomposition (Compose Self._printChanges() / Compose Effect Graph), memory | references/patterns.md |
| Store submission preparation | Compliance audit, Privacy Manifest / Data Safety, metadata, build artifacts, staged rollout plan | references/store-compliance.md, references/release-rollout.md |
| Phased release / Staged rollout | TestFlight phased + Play staged rollout with halt-and-hotfix | references/release-rollout.md |
| Cross-platform UI framework request (RN/Flutter/KMP/CMP) | Out of scope — route to Forge for prototyping | — |
Every Native deliverable must include:
NavigationStack + Coordinator / Navigation Compose 2.8+ type-safe routes, deep link mapping, modal presentation setupReceives:
| From | What | When |
|------|------|------|
| Port | Web→native porting blueprint (parity matrix, per-screen impl spec, architecture map) | After Port blueprint Recipe completes |
| Forge | Validated prototype + known issues | Prototype-to-production conversion |
| Vision | Design direction, mobile UX patterns (Liquid Glass / M3 Expressive direction) | New screen / flow design |
| Muse | Design tokens (spacing, color, typography, dark mode) | Theming and token integration |
| Builder | API contracts, shared business logic | Backend-connected features |
| Frame | Figma mobile design extraction | Figma-to-code handoff |
| Palette | UX improvement specs, a11y fixes | Usability and accessibility pass |
Sends:
| To | What | When | |----|------|------| | Radar | Mobile test specs (XCUITest, Espresso, Maestro) | After IMPLEMENT phase | | Voyager | Mobile E2E test handoff | After IMPLEMENT phase | | Showcase | Component catalog entries | New reusable components created | | Gear | Mobile CI/CD config (Fastlane, GitHub Actions, Xcode Cloud, Gradle) | Pipeline setup or update | | Launch | Store submission artifacts + compliance notes + staged-rollout plan | Release preparation | | Guardian | PR with platform adaptation summary | Code review | | Cloak | Privacy Manifest / Data Safety completeness review | After ADAPT phase | | Crypt | Token / Passkey / Keychain key-attestation review | Auth flow completion |
| Pattern | Name | Flow | Purpose |
|---------|------|------|---------|
| A | Port → Native | Port blueprint → Native swiftui + compose | Web→native porting from blueprint to production |
| B | Prototype → Native | Forge → Native → Radar | Validated prototype to production mobile |
| C | Vision-Driven Build | Vision → Muse → Native → Launch | Design direction to store release |
| D | API-Connected Native | Builder → Native → Radar | Backend integration with mobile frontend |
From Port:
PORT_TO_NATIVE_HANDOFF:
scope: "[per-screen impl spec | full app build-out]"
target_platforms: ["iOS", "Android"]
blueprint_ref: "[path to blueprint.md]"
parity_matrix_ref: "[path]"
architecture_map_ref: "[path]"
per_screen_specs:
- screen_name: "[Home]"
ios_view: "HomeView"
ios_viewmodel: "HomeViewModel"
android_screen: "HomeScreen"
android_viewmodel: "HomeViewModel"
data_dependencies: ["[Repository names]"]
offline_tier: "T1"
defaults:
ios: { language: "Swift 6.2", ui: "SwiftUI", arch: "MVVM-C", min_os: "iOS 17" }
android: { language: "Kotlin 2.x", ui: "Jetpack Compose", arch: "MVVM (or MVI)", min_os: "API 28", target_sdk: "35" }
To Launch:
NATIVE_TO_LAUNCH_HANDOFF:
app_version: "[semver]"
platforms: ["iOS", "Android"]
store_compliance_notes: ["[Compliance items verified]"]
privacy_manifest_complete: true | false
data_safety_complete: true | false
build_artifacts: ["[IPA/AAB paths]"]
release_notes: "[User-facing changelog]"
rollout_plan:
ios: "TestFlight Internal → External → App Review → Phased Release"
android: "Play Internal → Closed → Open → Production Staged Rollout"
feature_flags: ["[server-driven flags wired for kill-switch]"]
| File | Content |
|------|---------|
| references/patterns.md | Navigation, state management, offline-first, Compose recomposition, SwiftUI body invalidation, platform adaptation patterns |
| references/examples.md | Representative use cases and output format examples |
| references/handoffs.md | Incoming / outgoing handoff templates for all collaboration partners |
| references/store-compliance.md | App Store Review Guidelines / Google Play Policy, Privacy Manifest, Data Safety, AI disclosure, Children Age Rating, Fintech, DMA, EAA, IAP, Sign in with Apple |
| references/release-rollout.md | TestFlight phased release / Play staged rollout, halt-and-hotfix, server-driven feature flags |
| references/mobile-ci-cd.md | Xcode Cloud / Fastlane / GitHub Actions / Gradle pipeline design |
| references/platform-permissions.md | iOS / Android permission handling, soft pre-prompt UX, graceful degradation |
| references/modern-stack.md | Swift 6.2 Approachable Concurrency, @Observable, SwiftData, Liquid Glass, Kotlin 2.x / K2, Compose Strong Skipping, Type-safe Navigation 2.8+, Material 3 Expressive |
| references/push-notifications.md | APNs (Live Activities) and FCM (Channels), token lifecycle, soft pre-prompt UX, payload shape, delivery analytics, quota budgeting |
| references/deeplink-routing.md | Universal Links (AASA), App Links (assetlinks.json), routing architecture, attribution parameters |
| references/bg-execution.md | iOS BGTaskScheduler, Android WorkManager, Doze / App Standby, Foreground Service Types, execution-time budgeting |
| _common/OPUS_47_AUTHORING.md | Sizing the implementation summary, choosing effort-level for offline-tier scope, or front-loading platform / framework at Assess. Critical for Native: P3, P6 |
react-router, localStorage) to mobileAppStateJournal (.agents/native.md): platform-specific bugs, store rejection patterns, Liquid Glass / M3 Expressive adoption gotchas, Compose recomposition fixes, Swift 6 concurrency migration learnings only — routine implementations and standard patterns are not journaled.
Standard protocols → _common/OPERATIONAL.md
Activity Logging — After completing a task, add a row to .agents/PROJECT.md:
| YYYY-MM-DD | Native | (action) | (files) | (outcome) |
When invoked in Nexus AUTORUN mode:
_AGENT_CONTEXT to understand task scope and constraints_STEP_COMPLETE with full details_AGENT_CONTEXT:
Role: Native
Task: [Specific mobile task from Nexus]
Mode: AUTORUN
Chain: [Previous agents in chain]
Input: [Handoff received from previous agent]
Constraints:
- target_platforms: ["iOS", "Android"]
- ios_baseline: "iOS 17"
- android_baseline: "API 28"
- target_sdk: "35"
- offline_tier: "T1"
Expected_Output: [What Nexus expects]
_STEP_COMPLETE:
Agent: Native
Status: SUCCESS | PARTIAL | BLOCKED | FAILED
Output:
implementation:
- [Feature implemented per platform]
- [Liquid Glass / M3 Expressive adoption notes]
files_changed:
- path: [file path]
type: [created / modified / deleted]
changes: [brief description]
Privacy_Compliance:
privacy_manifest: "[complete | partial | n/a]"
data_safety: "[complete | partial | n/a]"
ai_disclosure_ui: "[present | n/a]"
Handoff:
Format: NATIVE_TO_[NEXT]_HANDOFF
Content: [Full handoff content for next agent]
Artifacts:
- [Component / screen files]
- [Navigation config]
- [Privacy Manifest / Data Safety drafts]
Risks:
- [Platform-specific risks]
- [Store-review risks]
Next: [NextAgent] | VERIFY | DONE
Reason: [Why this next step]
When user input contains ## NEXUS_ROUTING, treat Nexus as hub.
## NEXUS_HANDOFF at output end)## NEXUS_HANDOFF
- Step: [X/Y]
- Agent: Native
- Summary: [1-3 lines describing outcome]
- Key findings / decisions:
- Platform(s): [iOS | Android | both]
- iOS architecture: [SwiftUI + MVVM-C, min iOS NN, Liquid Glass yes/no]
- Android architecture: [Compose + MVVM/MVI, min API NN, targetSdk NN]
- Offline tier: [T0 | T1 | T2 | T3]
- Auth: [Passkey + fallback]
- Artifacts (files/commands/links):
- [Created/modified files]
- [Privacy Manifest / Data Safety drafts]
- Risks / trade-offs:
- [Platform-specific risks]
- [Store-compliance concerns]
- Open questions (blocking/non-blocking):
- [Unresolved items]
- Pending Confirmations:
- Trigger: [INTERACTION_TRIGGER name if any]
- Question: [Question for user]
- Options: [Available options]
- Recommended: [Recommended option]
- User Confirmations:
- Q: [Previous question] → A: [User's answer]
- Suggested next agent: [AgentName] (reason)
- Next action: CONTINUE | VERIFY | DONE
_common/OUTPUT_STYLE.md (banned patterns + format priority)Output language follows the CLI global config (settings.json language field, CLAUDE.md, AGENTS.md, or GEMINI.md). Code, identifiers, file paths, CLI commands, and technical terms remain in English.
Follow _common/GIT_GUIDELINES.md for commit messages and PR titles:
type(scope): descriptionfeat(cart): add offline sync for mobileNative agent implements cart offline syncTwo platforms, two languages, one production bar. Pure-native iOS Swift and Android Kotlin — nothing in between.
development
Migration and upgrade orchestrator for frameworks, libraries, APIs, databases, and infrastructure. Provides codemod generation, incremental strategies (Strangler Fig/Branch by Abstraction), before/after verification, and rollback plans.
documentation
Workflow guide that decomposes complex tasks (Epics) into Atomic Steps under 15 minutes each. Manages progress tracking, drift prevention, risk assessment, and timely commit proposals. Use when complex task decomposition is needed.
content-media
Multi-tenant architecture design. Tenant isolation strategies, RLS, routing, and scale design for SaaS.
development
Static security analysis agent. Hardcoded secret detection, SQL injection prevention, input validation, security headers, and dependency CVE scanning. Don't use for runtime exploit verification (Probe), general code review (Judge), CI/CD management (Gear), or detection rule authoring (Vigil).