Help us improve
Share bugs, ideas, or general feedback.
From skills
Ports iOS/Swift features to Android/Kotlin by analyzing iOS code for behavior, data structures, logic, then implementing idiomatic equivalents matching target codebase patterns. Use for feature porting or platform parity.
npx claudepluginhub michaelboeding/skills --plugin skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:ios-to-androidThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use iOS code as the reference to implement the equivalent Android feature. Not a literal translation - understand what the iOS code does, then implement it idiomatically for Android.
Ports features from Android/Kotlin to iOS/Swift: analyzes behavior, data structures, logic; implements idiomatic equivalents matching iOS codebase patterns. Use for cross-platform feature parity.
Migrates Android modules to Kotlin Multiplatform (KMP) for iOS sharing: assesses feasibility, audits dependencies, sets up source sets (commonMain/androidMain), upgrades Kotlin to 2.x, exposes iOS frameworks.
Migrates Kotlin Multiplatform projects from the old single-module (composeApp) structure to the new shared + separate app-module layout. Handles AGP 9.0 compliance, stale IDE configurations, and project restructuring.
Share bugs, ideas, or general feedback.
Use iOS code as the reference to implement the equivalent Android feature. Not a literal translation - understand what the iOS code does, then implement it idiomatically for Android.
Use this when:
iOS Code → Understand Feature → Match Android Codebase Patterns → Implement
(what) (how it's done here)
Preserved: Feature behavior, data structure shapes, business logic, user flows Adapted: Language idioms, frameworks, patterns to match the Android codebase
Ask the user for both pieces of information:
To port a feature from iOS to Android, I need:
1. PATH TO iOS CODEBASE (source of truth)
Where is the iOS project located?
Example: /path/to/ios-app or ../ios-app
2. FEATURE TO IMPLEMENT
What feature or component should I port?
Example: "UserProfile screen" or "the authentication flow" or "src/Features/Checkout"
Assumptions:
If the user already provided this info, proceed. Otherwise, ask.
Navigate to the iOS codebase path and find the relevant files:
Thoroughly understand:
| Aspect | What to Extract |
|---|---|
| Feature Behavior | What does this feature do? User-facing functionality |
| Data Structures | Models, types, enums - their shapes and relationships |
| Business Logic | Core logic, validations, transformations |
| State Management | What state exists, how it flows |
| API Contracts | Network calls, request/response shapes |
| UI Flow | Screens, navigation, user interactions |
| Edge Cases | Error handling, loading states, empty states |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
iOS FEATURE ANALYSIS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Feature: [Name]
### What It Does
[User-facing description]
### Data Structures
[Key models and their relationships]
### Business Logic
[Core logic summary]
### State
[What state is managed, how it changes]
### API Calls
[Endpoints, request/response shapes]
### UI Flow
[Screens, navigation]
### Edge Cases Handled
- [Case 1]
- [Case 2]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Before implementing, understand how THIS Android codebase does things:
.claude/codebase-style.md exists - If yes, use it and skip manual analysis━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANDROID CODEBASE PATTERNS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Style Guide: [Found / Not found]
Patterns observed from existing code:
- Architecture: [what pattern is used]
- UI: [how UI is built]
- State: [how state is managed]
- Networking: [how API calls are made]
- DI: [how dependencies are injected]
- Navigation: [how navigation works]
Similar features to reference:
- [Feature 1]: [path]
- [Feature 2]: [path]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Map the iOS feature to Android equivalents using the patterns from Step 3:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMPLEMENTATION PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Files to Create
| # | File | Purpose | iOS Equivalent |
|---|------|---------|----------------|
| 1 | [path matching codebase conventions] | [purpose] | [iOS file] |
| 2 | ... | ... | ... |
## Key Mappings
| iOS Concept | Android Equivalent (matching codebase patterns) |
|-------------|------------------------------------------------|
| [iOS thing] | [Android equivalent as done in this codebase] |
| ... | ... |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Create the Android implementation:
If the feature uses assets, offer to copy them:
Assets that may need to be copied:
If assets are needed and the user wants them copied, use file operations to transfer them from the iOS codebase to the appropriate Android locations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
iOS → ANDROID COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Feature: [Name]
### Files Created
| File | Purpose |
|------|---------|
| [path] | [description] |
### Feature Parity Checklist
- [x] Core functionality matches iOS
- [x] Data structures equivalent
- [x] Error handling preserved
- [x] Loading states preserved
- [x] Edge cases handled
- [x] Matches Android codebase patterns
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"ios to android"
"convert from ios"
"port this swift to kotlin"
"implement this ios feature for android"
"android version of this ios code"
Recommended: Run the style-guide skill on the Android codebase first.
style guide ← Run this first on Android codebase
ios to android ← Then run this
This generates .claude/codebase-style.md which this skill will automatically reference.
If style guide exists:
If no style guide:
style-guide first for better results