Skip Icons
Icons in Skip projects. The hard rule: never use `Image(systemName:)` or `Label(_, systemImage:)`. SF Symbols are an Apple-only catalogue with no Android equivalent; the names you pass to `systemName:` / `systemImage:` will not resolve on Android and most will render as a blank or generic-placeholder glyph. The canonical replacement is to download Material Symbols from `fonts.google.com/icons` in…
Skip Deployment
Exporting, signing, and distributing Skip apps. Covers skip export command, iOS archive and App Store submission, Android APK/AAB signing, ProGuard, app icons, Skip.env metadata, and CI/CD with GitHub Actions.
Skip Lite Transpilation
Swift-to-Kotlin transpilation rules and pitfalls for Skip Lite mode. Covers the high-impact bugs (silent integer overflow, `Double == Int` compile errors, `Foundation.sqrt`, `String.append(Character)`, `Array.remove(atOffsets:)` SwiftUI-only gotcha, variadic init issues, `String(describing:)` and Kotlin map iteration), the `MutableStruct`/`.sref()` value-semantics machinery and the `@nocopy` esca…
Skip Project Creation
Creating new Skip app and library projects. Handles skip init commands for both Skip Lite (transpiled) and Skip Fuse (native) modes, adding optional framework dependencies to Package.swift, and scaffolding template code for frameworks like SkipSQL, SkipFirebase, SkipKeychain, SkipWeb, and others.
Skip App Walkthrough
Start-to-finish orchestrator for building a new cross-platform Skip app. Sequences the other Skip skills in the order you actually need them — scaffold with `skip init`, write SwiftUI, add Material Symbols icons, validate Kotlin transpilation with `swift test`, drive the running app with `skip app launch` + Maestro, localise via `Localizable.xcstrings`, and ship via `skip export` with fastlane me…
Skip Ui Automation
Launching Skip apps on the iOS Simulator and Android emulator simultaneously with `skip app launch`, and driving them with Maestro UI tests. Covers Maestro installation, the canonical edit→launch→eyeball→test inner loop, writing cross-platform flow YAMLs that work on both SwiftUI on iOS and Jetpack Compose on Android, the importance of `.accessibilityIdentifier()` on every interactive view, and t…
Skip Frameworks
Integrating optional Skip frameworks into a project. Covers Firebase, SQLite, Keychain, WebView, audio/video, device sensors, Lottie animations, FFI, and other frameworks. Includes Package.swift dependencies, skip.yml configuration, and usage examples.
Skip Localization
Translating Skip apps and libraries into other languages. Covers in-app strings via `Localizable.xcstrings` String Catalogs in each module's `Resources/` directory, iOS `Info.plist` usage descriptions via `Darwin/InfoPlist.xcstrings`, and App Store / Google Play metadata under `Darwin/fastlane/metadata/` and `Android/fastlane/metadata/android/`. Includes the `Text("…", bundle: .module, comment: "…
Skip Fuse
Building Skip apps in Fuse mode — Swift compiled natively for Android via the Swift Android SDK (Swift 6.3+), with auto-generated JNI bridging between Swift and Kotlin/Java. Covers when to choose Fuse over Lite, project init with `skip init --native-app`, the `mode: 'native'` + `bridging: true` skip.yml configuration, the `import SkipFuse` requirement for `@Observable` models (a build-time warnin…
Skip Testing
Writing and running tests in Skip projects. Covers XCTest, Swift Testing, the auto-generated `XCSkipTests` parity harness, the three test runners (`swift test`, `skip android test` CLI mode, `skip android test --apk` mode), the `skip test` parity-report command that produces side-by-side iOS vs. Android results, Robolectric vs. instrumented testing on emulator/device, custom test harness configur…
Building Skip Ui
Building SwiftUI views in Skip projects that work on both iOS and Android. Covers supported components, navigation, state management, Jetpack Compose customization, Material 3 theming, the hard rule against `Image(systemName:)` / `Label(_, systemImage:)` (use `.symbolset` resources via `Image("name", bundle: .module)` instead), and the localization-correct `Label { Text } icon: { Image }` shape.