What it is

Apple’s foldable iPhone changes the rules an iOS app was written against. The inner display is regular by regular, the bars go vertical, the hinge divides the screen, and an app can drive two displays at once. Five Agent Skills read a project, measure what it assumes about the screen and write a plan to fix it.

They work in any tool that supports the Agent Skills open format, so Claude Code, Cursor and Codex all run them.

Install

npx skills add https://github.com/alexey1312/iPhone-Duo-Agent-Skill

One skill instead of all five:

npx skills add https://github.com/alexey1312/iPhone-Duo-Agent-Skill --skill iphone-duo-bars

Claude Code takes the plugin instead:

/plugin marketplace add alexey1312/iPhone-Duo-Agent-Skill
/plugin install iphone-duo-skills@iphone-duo-skills

Then ask for a plan, for example: Use the iPhone Duo readiness skill and give me a tiered plan for this app.

The five skills

SkillWhat it does
iphone-duo-readinessOrchestrator: preflight, scan, SDK check, tiered plan, approval gate, apply, verify
iphone-duo-adaptivity-auditScene lifecycle, main screen, screen bounds, idiom and orientation forks, global window state
iphone-duo-barsVertical bars: containers, order, titles and symbols, axis, overflow, priority, opt-out
iphone-duo-layoutSize classes, navigation containers, safe areas, reserved regions, displacement, arrangements
iphone-duo-displaysHinge interactions, Split View, multiple scenes, scene and camera capture accessories

Plan before patch

Adapting an app for a new device touches layout everywhere, so “make it ready for iPhone Duo” is permission to investigate, not to rewrite. Every recommendation arrives with a stable item ID, the finding at file:line, why it matters on the device, the Apple session and timestamp behind it, whether the installed SDK can compile it, and how to verify it in Device Hub. Nothing is edited until you approve item IDs, and work lands one tier at a time with a rebuild and a rescan after each.

Measured against the shipped SDK

Xcode 27.1 and the iOS 27.1 SDK shipped on 18 September 2026, and the skills were re-grounded on them rather than on what the talks promised. The availability tables are now measurements, not expectations: every iPhone Duo API the talks show is present, so the question an app faces is its deployment target rather than its toolchain.

Running the bundled checker against the real SDK also found two bugs in it. It reported the two physical front cameras as missing — AVFoundation declares them, but ships no Swift interface, so their Swift names appear in no file on disk and a text search finds nothing. It also read Apple’s documentation blocks as declarations, which made it quote one symbol’s availability for the symbol below it. Both are fixed, and both have regression tests.

The iPhone Duo simulator exists now, so the display geometry is read rather than derived: 466 × 678 points on the outer display and 669 × 951 on the inner, both at 3×. The programs that produced those numbers ship with the project, so the figures can be re-derived rather than taken on trust. The skills also record what that simulator cannot do — StandBy and most app extensions do not run in it, and it has no camera — so those checks are reported as not run instead of quietly passing.

The scanner also credits what a project has already adopted. An app that has moved to arrangement views, reserved regions or the hinge reads as having done that work, rather than being told to do it a second time.

How it reads a project

Two read-only Python scripts do the measuring, so the agent reasons over structured JSON instead of ad-hoc grep output. duo_scan.py walks Swift, Objective-C, Info.plist and build settings and emits findings with severity and a session citation. sdk_api_check.py reads the selected SDK’s headers and Swift interfaces, so code is never written against a symbol the compiler cannot see. A pose that could not be run is reported as not run, never as passed.

The guidance comes from Apple’s six iPhone Duo tech talks, the Human Interface Guidelines, Preparing your app for iPhone Duo and Modernize your UIKit app from WWDC26. This project is not affiliated with Apple.