iphone-duo-design
Skill18 starsChanged 59 days agoMITView on GitHub
Use when designing, adapting, implementing, or auditing an iOS app for iPhone Duo, including resizing, folding, vertical bars, reserved regions, state continuity, multiple scenes, camera behavior, and accessibility. Produce evidence-based readiness findings with SDK gates and fallbacks. Do not use for generic iPhone work without Duo or adaptive-layout requirements, Android foldables, Microsoft Surface Duo, Google Duo, or claims of Apple certification.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- tudorturcanu/iphone-duo-skilltheir own version, first seen Nov 6, 2026
- Belweave/iphone-duo-designtheir own version, first seen Oct 20, 2026
- hechen/iphone-duo-skillstheir own version, first seen Oct 8, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- Belweave/iphone-duo-design★ 6same name
- hechen/iphone-duo-skills★ 4same name
- tudorturcanu/iphone-duo-skill★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- app-intents-widgetsSkill
- Cross-Platform App Development SkillSkill
- iOS Accessibility SkillSkill
- iOS Animation Graphics SkillSkill
- Memory Leak Diagnosis SkillSkill
- swift-concurrency-migrationSkill
- swiftdata-core-data-migrationsSkill
- Swift Modern Architecture SkillSkill
- Swift Performance Optimization SkillSkill
- SpeechAnalyzer Framework ExpertSkill
- SwiftUI Programming SkillSkill
- Swift Unit Testing SkillSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 14 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
14
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Before changing code, inspect the app's deployment targets, Swift language mode, selected Xcode/SDK, UI framework, scene configuration, and …
- Distinctive: line 21
Read versions and sources before proposing Duo-specific symbols.
- Distinctive: line 26
Keep three evidence categories separate:
- Distinctive: line 51
Follow one real task through the affected screens.
- Distinctive: line 56
Prefer system navigation and presentations when they fit the app.
- Distinctive: line 58
Add Duo-specific APIs only where they improve an identified flow.
- Distinctive: line 62
Keep a usable fallback. Explain both build-time exclusion for older SDKs and runtime availability for older OS versions.
- Distinctive: line 71
Keep task state above layout alternatives.
- Distinctive: line 73
Treat each scene's navigation and presentation state independently.
- Distinctive: line 75
Keep every action reachable when controls overflow, a keyboard appears, or the layout collapses.
- Distinctive: line 78
Check reading order and focus after movement, not just at launch.
- Distinctive: line 79
Use hardware or SDK capability checks for optional features.
- Very specific: line 90
Use verified, failed, blocked, or not applicable per matrix row.
- Distinctive: line 92
Keep unavailable SDK/device checks explicit while completing useful current-SDK work.
- Distinctive: line 94
Do not add camera access, a second display experience, or sensor tracking merely because the device supports it.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
iPhone Duo design and readiness
Help an app keep its identity and functionality while its usable space changes. This skill works with any coding assistant that can read Markdown. Shell, browser, Xcode, and simulator tools are optional capabilities, not host-specific dependencies. When a tool is unavailable, provide the exact remaining check and keep its result unverified.
Establish the target
Before changing code, inspect the app's deployment targets, Swift language mode, selected Xcode/SDK, UI framework, scene configuration, and principal user flows. For design-only work, record any unknowns instead of choosing a deployment target for the user. Preserve existing platform support unless the user requests a change.
Read versions and sources before proposing Duo-specific symbols. Refresh the official sources when implementation depends on their current availability. The source snapshot is dated September 17, 2026; it is not a claim about the SDK available in a future session.
Keep three evidence categories separate:
- Apple documentation or SDK declarations establish API contracts.
- This skill's engineering recommendations guide implementation and testing.
- A build, preview, simulator run, or device run proves only what it exercised.
A request for "Duo compliant" means a review against documented design guidance and the app's requirements. Do not issue an Apple certification, guarantee App Review approval, or call an untested app fully ready.
Choose the work
| Request | Read and produce |
| Design review, layout, bars, fold handling | Layout and controls; findings tied to affected flows |
| Lost state, multiple windows, simultaneous displays, camera | Continuity, scenes, and camera; ownership and lifecycle plan |
| Implementation with an older SDK or deployment target | Versions and sources; verified API gate and fallback |
| Readiness audit or release evidence | Verification; completed report template |
For a narrow task, load only its references. The adaptive editor example uses established APIs and shared edit state. It does not implement new Duo APIs or prove behavior on Duo hardware.
Work in this order
- Follow one real task through the affected screens. Record where navigation, edits, selection, media, and presentation state live before changing layout.
- Fix container sizing and state ownership first. Use environment traits and local view or scene geometry. Do not select a layout from a device-name string, global screen bounds, or a guessed hinge angle.
- Prefer system navigation and presentations when they fit the app. Audit custom controls and content that sits in the center or near an edge.
- Add Duo-specific APIs only where they improve an identified flow. Verify their complete signatures and platform availability in official docs and the selected SDK. A runtime availability check does not make an unknown symbol compile with an older SDK.
- Keep a usable fallback. Explain both build-time exclusion for older SDKs and runtime availability for older OS versions; retain the app's existing navigation and task access in the fallback.
- Exercise transitions during active work, then check final layouts. Use the verification matrix appropriate to the changed flow rather than collecting unrelated screenshots.
Review rules that catch real defects
- Keep task state above layout alternatives. A resize must not create a second draft, restart capture, repeat a purchase, or discard a navigation path.
- Treat each scene's navigation and presentation state independently. Shared documents need an explicit conflict policy, not a global "current window".
- Keep every action reachable when controls overflow, a keyboard appears, or the layout collapses. Test the escape route from every modal presentation.
- Give controls useful names in accessibility and overflow presentations. Check reading order and focus after movement, not just at launch.
- Use hardware or SDK capability checks for optional features. A regular size class does not identify a particular device or prove accessory availability.
- For games, web views, or custom rendering engines, apply the same geometry, input, and state checks at the native host boundary. Do not invent framework plugins, browser fold APIs, physical dimensions, or review requirements.
Deliver the result
For code changes, report the changed behavior, minimum versions, fallback,
tests performed, and remaining evidence gaps. For an audit, rank actionable
findings by user impact and attach a source or reproduction to each finding.
Use verified, failed, blocked, or not applicable per matrix row.
Keep unavailable SDK/device checks explicit while completing useful current-SDK work. Recommend additional features only when they serve the app's actual tasks. Do not add camera access, a second display experience, or sensor tracking merely because the device supports it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

