Skip to content

Releases: sorunokoe/swift-kmp-skill

v1.0.6 — SKIE output as API contract

Choose a tag to compare

@sorunokoe sorunokoe released this 13 May 08:26

What's new

SKIE output as authoritative API contract

A real gap filled: the skill taught bridge patterns but said nothing about what happens when Kotlin API shifts underneath. Writing Swift against stale SKIE output produces non-compiling code with no obvious explanation.

references/architecture.md — new SKIE Output as API Contract section:

  • .swiftinterface inside the xcframework is the authoritative source for onEnum case names, type names, and nullability
  • Decision table: which Kotlin changes require rebuilding the xcframework before writing Swift (changes to @ObjCName-annotated API surface) vs. which don't (test sources, Android-only code, private members, body-only changes, Gradle files)
  • Best practice: read the relevant .swiftinterface before writing bridge code for a changed type

references/type-mapping.md — clarifying note in the onEnum(of:) section: case names are SKIE-generated output, not direct Kotlin names

SKILL.md — one new checklist item: xcframework must be rebuilt before writing Swift bridge code when the Kotlin API surface changed

v1.0.5 — README rewrite

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 15:31

Best-in-class README: proper nav, Automated Maintenance as own section, Official Documentation with link text, Quick Start cleaned up.

v1.0.4 — skills-evolution badge

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 15:20

Added maintained by skills-evolution badge linking to https://github.com/sorunokoe/skills-evolution

v1.0.3 — OSS workflow references

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 15:13

What's new

Updated skills-evolution integration to use the correct OSS-specific workflows:

  • PR review: oss-skill-pr-check.md — reviews changes to SKILL.md and references/** for accuracy, clarity, scope and anti-pattern coverage
  • Monthly update: oss-skill-update.md — checks version references and doc links
  • GH Actions: oss_skill_health.yml — reusable workflow with optional AI patch pass

Previously the README pointed at consumer-mode workflows (skills-pr-check.md, skills_pr_check.yml) which are designed for repos that consume skills, not publish them.

v1.0.2 — skills-evolution compatible

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 14:41

Changes

skills-evolution integration

  • Canonical install path is now .github/skills/swift-kmp/ — this is where GitHub Copilot, Cursor, and skills-evolution all discover skills from
  • Added skills-evolution section to README: gh aw add one-liner for automated PR review + monthly version updates, plus manual YAML workflow for projects without gh-aw

Install

git clone https://github.com/sorunokoe/swift-kmp-skill.git .github/skills/swift-kmp

The skill passes skills-evolution audit with zero findings: frontmatter is complete (name, description, applyTo), name: swift-kmp matches the folder name, and there are no broken local markdown links.

v1.0.1 — Remove CocoaPods integration

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 14:36

Changes

  • Removed CocoaPods integration methods (local podspec + remote XCFramework via CocoaPods) — CocoaPods is outdated for new projects
  • Skill now documents 3 integration methods: direct integration, SwiftPM local package, SwiftPM remote XCFramework
  • Updated diagrams and frontmatter across architecture.md, SKILL.md, README.md

v1.0.0 — First Production Release

Choose a tag to compare

@sorunokoe sorunokoe released this 28 Apr 14:20

What's in this release

An AI coding skill for structuring the bridge between Kotlin Multiplatform (KMP) and Swift/iOS feature modules. Fact-checked against official Apple, Kotlin, and SKIE documentation.

Highlights

All 5 KMP iOS integration methods documented
Direct integration (monorepo default), SwiftPM local/remote, CocoaPods local/remote — bridge patterns are identical across all methods.

Fact-checked and corrected

  • @concurrent correctly documented as Swift 6.2+ with official Swift Blog reference
  • continuation.onTermination closure correctly annotated @Sendable per Apple's canonical example
  • Swift Export sealed class scope clarified (only enum class → Swift enum is documented)
  • @preconcurrency import nuance documented for Swift 6.x vs default-isolation mode

Compose embedding delegated
compose-integration.md removed in favour of the companion swiftui-compose skill, keeping this skill focused on the KMP bridge layer.

AI agent ergonomics

  • Works with: Claude, GitHub Copilot, Codex, Cursor, Gemini
  • SKILL.md covers most tasks at ~1.7k tokens — load one reference only when needed

Files

File Purpose
SKILL.md Hard rules, review checklist, quick pattern reference
references/architecture.md 4-layer bridge model, all 5 iOS integration methods
references/interactor-pattern.md Interactor template, @concurrent nonisolated, error handling
references/flow-bridging.md SkieSwiftFlow vs AsyncStream, leak-safe teardown
references/type-mapping.md Kotlin sealed dispatch, error mapping, collections, Sendable