iphone-duo-scenes
Skill4 starsChanged 2 months agoMITView on GitHub
Implement or review iPhone Duo multiple windows and Split View scenes, hinge-driven interactions (onHingeChange, UIHingeInteraction), and scene accessories such as CameraCaptureAccessory on the outer display, with explicit state ownership and handling for capability changes. Use when an app opens a second window, requests new scenes, reacts to the hinge angle or fold status, or shows content on the outer display while capturing on the inner display.
In this repository8 other files it gives its agents.
- AGENTS.mdAGENTS.md
- iphone-duo-cameraSkill
- iphone-duo-designSkill
- iphone-duo-developmentSkill
- iphone-duo-layoutSkill
- iphone-duo-readinessSkill
- iphone-duo-testingSkill
- iphone-duo-toolbarsSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 9
Read scenes evidence. Choose the relevant mode.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
iPhone Duo scenes and interactions
Read scenes evidence. Choose the relevant mode; an app that needs resizing does not automatically need hinge effects or a second-display experience. The hinge and camera-capture accessory APIs need the iOS 27.1 SDK.
Multiple scenes
Map app-shared data, document state, and scene-local presentation separately. A route or selected tab in one window should not unintentionally navigate another. Two windows editing the same document need a deliberate consistency model. Do not treat an open inner display as the iPad idiom, and do not assume a size change creates a new scene or document.
Follow existing storage and synchronization boundaries. Give new-scene requests a meaningful document or route identity. New windows cannot be created from the outer display, so handle request failure without discarding the user's current work, and prefer the system activation action that hides itself when a new window is unavailable. Restore scene presentation without duplicating an in-progress operation.
Hinge interaction
Use hinge input only for an interaction that benefits from it; use reserved regions and arrangements for layout. The hinge can be absent, and it goes away when the view leaves a hierarchy that reports it. Define a neutral state for that case and a touch or other accessible way to perform the essential task. Prefer the hinge status when closed, partially open, or fully open is all you need. Do not depend on a particular update rate or angle precision. Keep continuous input out of persistence and expensive work; bound updates and cancel obsolete effects.
Scene accessories
A scene accessory is optional content the system presents; registration does not make it appear. Separate the person's choice to show it from the system's availability, and update the UI when either changes. Attach the camera-capture accessory to the view or view controller that shows the capture interface, keep essential controls in that interface, and share the existing capture model instead of passing messages.
Define precisely what the outward-facing display shows. Use a purpose-specific presentation model so private editor controls or unrelated document data are not mirrored to the person in front of the camera. This is a product data-boundary decision, not a reason to add a generic permission flow.
Verify
Exercise two scenes independently, a failed scene request on the outer display, accessory availability loss and recovery, the user turning accessory content off, and an absent hinge where relevant. Record continuity and cleanup results, plus the exact SDK and runtime tested. Accessory presentation that depends on the camera needs a device. Do not infer arbitrary access to both displays from their physical existence.
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.

