An open-source Codex and Claude Code skill for bringing a native Android app to parity with its iOS source of truth.
npx skills add https://github.com/adraalabs/ios2android --skill ios2androidThe Skills installer detects supported agents, including Codex and Claude Code.
Open the parent directory that contains both apps, then give your agent the roots and the outcome you want:
Use $ios2android to fix the Library screen on Android so it matches iOS.
iOS root: /path/to/ios
Android root: /path/to/android
Treat this as a targeted run. Preserve both worktrees, use the current local iOS checkout,
verify loading/populated/error states on these devices, and do not advance the sync checkpoint.
The skill chooses one of three scope modes:
- Audit: read-only comparison and findings.
- Targeted: implement and verify only named screens, regressions, or commits.
- Full sync: process the complete pending iOS range and record a checkpoint after full verification.
For a first port, ask: Use $ios2android to audit both apps, build a parity matrix, and implement the full Android port. For an existing port, ask it to bring Android fully current with the chosen local or remote iOS ref.
Depending on scope and available runtimes, a run can produce:
- a repository and feature inventory;
- an oldest-first iOS commit ledger with applied, partially applied, blocked, iOS-only, and out-of-scope dispositions;
- Android implementation and focused tests;
- paired simulator/emulator captures with installed-app metadata;
- interactive HTML/JSON visual reports, overlays, heatmaps, blink views, and a contact sheet;
- a tracked
.ios2android-sync.jsoncheckpoint for a completed full sync only.
The workflow keeps iOS read-only by default, preserves dirty worktrees, never treats compilation as parity evidence, and does not commit, push, deploy, or trigger cloud builds without authorization.
- Git and Python 3.9 or newer for inventory and delta checks. Checkpoint recording uses POSIX file locking (macOS/Linux).
- macOS with Xcode/iOS Simulator plus the Android SDK and
adbfor dual-runtime capture. - Pillow 10–11 in an isolated environment for generated visual reports; manual comparison remains possible without it.
Read the incremental sync contract, validation playbook, and visual comparison method for the detailed workflows.
TVHUB and Qismah are the founding showcase apps. To add your app, open a showcase submission.
The website deploys to adraalabs.github.io/ios2android through GitHub Pages.
Run npm test to exercise the bundled Python/shell tooling, build the static site, and verify the rendered output.