What it is

Since Swift 6.3, Android is an official Swift platform. In August 2026 Polymarket described an Android app built on 170,000 lines of Swift shared with iOS, under a UI written natively in Compose. Two Agent Skills turn that kind of experience, the documentation behind it and what this project’s own Android CI measures into a workflow an agent can follow.

They help an agent decide how Swift reaches an Android app, keep a shared Swift core portable under a native Kotlin and Compose UI, and build with the Swift SDK for Android and swift-java when there is no Skip at all. They work in any tool that supports the Agent Skills open format.

Next to Skip’s own skills

The Skip team publishes official agent skills for Skip projects: project creation, skip.yml, SwiftUI on Android, icons, localisation, tests and store release. Install those too. These skills send Skip’s ground to them by name and cover what they do not:

  • The route. A Skip Fuse app, a shared Swift core under native Compose UI, Skip Lite or the bare Swift SDK, with the documentation’s own recommendation.

  • The shared core. The package split, platform services as Swift protocols, @Observable view models, no Combine at the Kotlin boundary, and the Compose lifetimes that make view models stale or keep their subscriptions alive.

  • The SDK underneath. Toolchain and SDK versions that match, NDK and API levels, the Swift runtime in an APK, the JNI mode of swift-java, app size and LLDB.

Where Skip’s skills disagree with skip.dev, a reference file lists each case and pins it to a commit. For example, the skills default to Lite, but skip.dev recommends native mode for most apps.

Install

npx skills add https://github.com/alexey1312/Swift-Android-Agent-Skill

Claude Code takes the plugin, next to Skip’s two:

/plugin marketplace add alexey1312/Swift-Android-Agent-Skill
/plugin marketplace add skiptools/skills
/plugin install swift-android-skills@swift-android-skills
/plugin install skip-app-design@skiptools-skills
/plugin install skip-testing-deployment@skiptools-skills

Then ask for a plan, for example: Use the Swift Android architecture skill to plan sharing this package with our Android app.

The two skills

SkillWhat it does
swift-android-architectureChoosing the route; auditing a Swift package for what blocks Android; the shared core, its view models and its boundary with Kotlin; Compose lifetimes; the export loop and CI
swift-android-sdkInstalling and using the Swift SDK for Android; packaging the runtime; swift-java and raw JNI; portability fixes; app size; debugging

Measured on Android CI

A GitHub Actions job installs the Swift SDK for Android the way swift.org says. It compiles each shared code sample in the skills for Android, runs compile probes behind the scanner’s rules, and runs the tests of a sample package on an Android emulator. Only its results count as measured. The first run, with Swift 6.4.0 on 1 October 2026, found:

  • The install commands on swift.org work as published. The 15 tests of the sample pass on the emulator, withObservationTracking, stream cancellation and ICU formatting included.

  • The NDKs that GitHub’s runner images ship compile Swift libraries, but cannot link the static Swift runtime. Only the NDK the SDK was built with can.

  • import Combine, import OSLog and import UIKit fail with “no such module”, and @objc fails with “Objective-C interoperability is disabled”. A plain NSObject subclass and DispatchQueue.main compile.

Skip’s bridging, Compose recomposition, garbage-collection timing and app size on a device are not measured here. Claims about them cite skip.dev, swift.org, swift-java, the forums or Polymarket’s report, and say so.

Plan before patch

  1. Report the toolchain. A script says whether this machine can typecheck for Apple platforms, build for Android or run Android tests. Nothing about Android is claimed beyond that.

  2. Scan. A second script reads Package.swift, each skip.yml and the Swift sources, follows #if guards, and reports what will not build or behave on Android for the chosen route.

  3. Plan. Each item has a stable ID such as AND-01, a source, an owner — these skills or one of Skip’s — and a line that says whether it can be verified here.

  4. Apply only the approved items, then rescan, build and report what was not verified.

An install of a toolchain, an SDK or an NDK is a change too, and it waits for approval.

Benchmark

Ten cases, three runs each, with Skip’s official skills installed in both stages, because that is how these skills are meant to be used. The mean score is 0.515 with Skip’s skills only and 0.885 with these added. The gains are where Skip’s skills say nothing: Combine at the Kotlin boundary, Compose lifetimes, platform services, the packaged runtime and swift-java. On a plain “Fuse or Lite?” question, Skip’s own skip-fuse answers and these skills do not load.