Help us improve
Share bugs, ideas, or general feedback.
From skills
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.
npx claudepluginhub michaelboeding/skills --plugin skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:android-to-iosThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use Android code as the reference to implement the equivalent iOS feature. Not a literal translation - understand what the Android code does, then implement it idiomatically for iOS.
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.
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.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
Use Android code as the reference to implement the equivalent iOS feature. Not a literal translation - understand what the Android code does, then implement it idiomatically for iOS.
Use this when:
Android Code → Understand Feature → Match iOS 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 iOS codebase
Ask the user for both pieces of information:
To port a feature from Android to iOS, I need:
1. PATH TO ANDROID CODEBASE (source of truth)
Where is the Android project located?
Example: /path/to/android-app or ../android-app
2. FEATURE TO IMPLEMENT
What feature or component should I port?
Example: "UserProfile screen" or "the authentication flow" or "app/src/main/java/features/checkout"
Assumptions:
If the user already provided this info, proceed. Otherwise, ask.
Navigate to the Android 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, sealed classes - 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 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANDROID 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 iOS codebase does things:
.claude/codebase-style.md exists - If yes, use it and skip manual analysis━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
iOS 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 Android feature to iOS equivalents using the patterns from Step 3:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMPLEMENTATION PLAN
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Files to Create
| # | File | Purpose | Android Equivalent |
|---|------|---------|-------------------|
| 1 | [path matching codebase conventions] | [purpose] | [Android file] |
| 2 | ... | ... | ... |
## Key Mappings
| Android Concept | iOS Equivalent (matching codebase patterns) |
|-----------------|---------------------------------------------|
| [Android thing] | [iOS equivalent as done in this codebase] |
| ... | ... |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Create the iOS implementation:
⚠️ IMPORTANT: After creating each .swift file, register it with Xcode:
ruby ${CLAUDE_PLUGIN_ROOT}/skills/add-to-xcode/scripts/add_to_xcode.rb <filepath>
Without this step, files won't appear in Xcode or compile. See the add-to-xcode skill.
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 Android codebase to the appropriate iOS locations.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ANDROID → iOS COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## Feature: [Name]
### Files Created
| File | Purpose |
|------|---------|
| [path] | [description] |
### Feature Parity Checklist
- [x] Core functionality matches Android
- [x] Data structures equivalent
- [x] Error handling preserved
- [x] Loading states preserved
- [x] Edge cases handled
- [x] Matches iOS codebase patterns
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
"android to ios"
"convert from android"
"port this kotlin to swift"
"implement this android feature for ios"
"ios version of this android code"
Recommended: Run the style-guide skill on the iOS codebase first.
style guide ← Run this first on iOS codebase
android to ios ← 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