Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use iOS/Swift code as the source of truth and implement the equivalent feature in Android/Kotlin. Understands the feature behavior, data structures, and logic from iOS, then creates idiomatic Android code that matches the target codebase's existing patterns. Use when porting features from iOS to Android or ensuring platform consistency.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-13 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-04 | ✓→✗ | ▼ Worse | 220% | 0% |
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 thisThis generates .claude/codebase-style.md which this skill will automatically reference.
If style guide exists:
If no style guide:
style-guide first for better resultsOther measured skills in the registry, with their headline benchmark lift.