Update Swiftui APIs
AvdLee/SwiftUI-Agent-Skill
Scan Apple's SwiftUI documentation for deprecated APIs and update the SwiftUI Expert Skill with modern replacements.
Adapts and reviews SwiftUI apps for iPhone Duo (Xcode 27.1 / iOS 27.1 SDK) and continuously changing window sizes.
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duo --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/swiftui-iphone-duo .claude/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .claude/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duoType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/swiftui-iphone-duo .agents/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .agents/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/swiftui-iphone-duo .cursor/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .cursor/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FloWritesCode/fwc-swiftui-skills.git --path skills/swiftui-iphone-duo--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/swiftui-iphone-duo .gemini/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .gemini/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duoInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/swiftui-iphone-duo .github/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .github/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FloWritesCode/fwc-swiftui-skills swiftui-iphone-duo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FloWritesCode/fwc-swiftui-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/swiftui-iphone-duo .opencode/skills/swiftui-iphone-duo && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "swiftui-iphone-duo" agent skill from https://github.com/FloWritesCode/fwc-swiftui-skills/tree/main/skills/swiftui-iphone-duo into .opencode/skills/swiftui-iphone-duo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "swiftui-iphone-duo", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
swiftui-iphone-duoAdapts and reviews SwiftUI apps for iPhone Duo (Xcode 27.1 / iOS 27.1 SDK) and continuously changing window sizes.
Swiftui Iphone Duo is an agent skill from FloWritesCode/fwc-swiftui-skills. Adapts and reviews SwiftUI apps for iPhone Duo (Xcode 27.1 / iOS 27.1 SDK) and continuously changing window sizes. Use when supporting the foldable iPhone Duo, outer or inner display, vertical bars (toolbarVerticalBehavior, axisBehavior, visibilityPriority, ToolbarOverflowMenu), sheet placement, reserved regions and the fold, ArrangementView, onHingeChange, CameraCaptureAccessory, NavigationSplitView, adaptive TabView sidebar, ViewThatFits, AnyLayout, or when replacing UIDevice / UIScreen.main / idiom /…
Its SKILL.md is about 3.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `reference.md`).
It sits in Mobile, covering iOS development. It works with SwiftUI, iOS and Xcode. The repository describes itself as: Coding Agent Skills for modern SwiftUI development. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3a6c74b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
xcrunFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
developer.apple.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Swiftui Iphone Duo loads about 3.9k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 1,726 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from FloWritesCode/fwc-swiftui-skills at commit 3a6c74b, republished under its MIT licence (© FloWritesCode). 1,726 words, ~3,862 tokens.
.claude/skills/swiftui-iphone-duo/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Do not design a separate “Duo version” of the app.
Start with an adaptive SwiftUI interface that works across continuously changing widths and heights. Add Duo-specific behavior only when the fold, hinge, second display, or vertical system bars materially improve the experience.
The target is not “Make this app support iPhone Duo.” The target is:
Make this app excellent at every size, then use Duo's unique hardware where it creates additional value.
Before reviewing or changing layout, read the full rulebook: reference.md.
UIDevice, UIScreen.main (bounds or scale), idiom, orientation, isDuo, or isFolded for layout.ArrangementView, reserved regions, onHingeChange / UIHingeInteraction, or CameraCaptureAccessory.| Skill | When to load |
|---|---|
| swiftui-liquid-glass (this repo) | System bars and glass chrome on iOS 26+ |
| App Resizability (Apple, Xcode 27.1) | First-pass scan for resizing and Duo issues. Export for other agents with xcrun agent skills export |
Classify every change before writing code. Always complete Tier 1 before proposing Tier 2 or Tier 3.
Tier 1 — Universal adaptive improvements (do these first):
NavigationSplitView
adaptive TabView
adaptive grids
ViewThatFits
AnyLayout
size classes
container-relative sizing
system toolbars
safe-area correctnessThese benefit all Apple platforms and window sizes.
Tier 2 — Duo-aware layout (only when needed):
reserved regions (reservedRegions(kind:options:))
ArrangementView
vertical bar tuning (axisBehavior, visibilityPriority, compression, toolbarVerticalEdge)
toolbarVerticalBehavior(.disabled), only for the documented exceptions
sheet placement (presentationPlacement)
Duo-specific safe-area handlingTier 3 — Duo-exclusive experiences (only when the product benefits):
onHingeChange / UIHingeInteraction
hinge angle
CameraCaptureAccessory (scene accessory, camera apps only)
multi-scene workflows (new windows only on the inner display)Copy and track progress:
- [ ] 1. Read reference.md (start with "Platform facts")
- [ ] 2. Check the SDK: full-screen layout and vertical bars need an iOS 27.1 SDK build (Xcode 27.1)
- [ ] 3. Review screens with the decision tree
- [ ] 4. Flag red-flag patterns with file evidence
- [ ] 5. Classify each change as Tier 1 / 2 / 3
- [ ] 6. Implement Tier 1 first
- [ ] 7. Apply Tier 2/3 only when space-based layout is insufficient; gate 27.1 APIs with #available
- [ ] 8. Keep state above adaptive layout; verify continuity across widths and every pose in Device HubWalk every SwiftUI screen with the decision tree below. Flag:
UIDevice, idiom, model, isDuo, isFolded)UIScreen.main (bounds, scale, stored screens) or orientation used for ordinary layouthorizontalSizeClass == .regular treated as "iPad"viewIsAppearing) and never re-readif width > NViewThatFits, AnyLayout, adaptive grids, containerRelativeFrame / onGeometryChange.NavigationSplitView for collection → selection → detail. Prefer adaptive TabView over a hand-built sidebar: .tabViewStyle(.sidebarAdaptable) plus .defaultTabBarPlacement(.sidebar) opts into the sidebar on the inner display (on iPhone, .sidebarAdaptable alone shows a tab bar)..toolbar / ToolbarItem / ToolbarOverflowMenu inside a NavigationStack / NavigationSplitView so bars can become vertical. Give every item a title and an icon; put Close (.cancellationAction) first and Done (.topBarPinnedTrailing) next; set visibilityPriority..frame(maxWidth: 700)).ArrangementView only for one two-part experience (player + playlist, editor + inspector). Do not use it as app navigation.onHingeChange / hinge angle only for physical interaction. Layout reacts to space. Interaction may react to hinge state. For fold-aware layout, use reserved regions or ArrangementView.innerDisplay / outerDisplay as independent canvases. The only supported outer-display content is a CameraCaptureAccessory during an active camera capture session.presentationPlacement(_:).Xcode 27.1 includes the iPhone Duo simulator (Device Hub: open, close, rotate, fold). It can't run most app extensions and has no camera, so camera capture accessories need a device.
Until the specific behavior can be checked in the simulator or on a device:
The agent may:
The agent should avoid:
If Duo-specific behavior cannot yet be verified in the simulator or on a device, prefer preparation over speculative implementation.
When reviewing a SwiftUI screen, evaluate it in this order.
Does the layout work across continuously changing widths?
If no: fix the general adaptive layout first.
Is navigation manually switching between phone and tablet implementations?
If yes: investigate NavigationSplitView, adaptive TabView, or another system navigation container.
Are there fixed widths or screen-size assumptions?
If yes: replace them with container-relative layout where possible.
Does the wide layout simply stretch?
If yes: look for a sidebar, detail pane, inspector, additional columns, or supplementary content.
Could important content intersect the fold?
If yes: use reserved-region-aware positioning.
Are two related views being manually rearranged across layouts?
If yes: evaluate ArrangementView, ViewThatFits, or AnyLayout.
Is there a custom toolbar or tab bar, or toolbar items without an icon?
If yes: determine whether SwiftUI system bars can replace it and adapt vertically, and give every item a title and an icon.
Does the requested behavior genuinely depend on physical hinge position?
If no: do not use the hinge API.
If yes: use onHingeChange (UIKit: UIHingeInteraction) and hinge.status / hinge.angle.
Would the outer display provide useful supplementary information during camera capture?
If yes: evaluate a CameraCaptureAccessory. Otherwise, do not try to target the second screen.
These are strict. Full explanations and code are in reference.md.
ViewThatFits → size classes → exact geometry last.NavigationSplitView over a manually constructed HStack sidebar.GridItem(.adaptive(minimum:))).ViewThatFits when the question is “which arrangement fits?” rather than “which device am I on?”AnyLayout) over conditionally rebuilding separate view hierarchies.UIScreen.main (bounds, scale, or a stored reference) for layout. Apple discourages it and plans to deprecate main-screen references.ArrangementView only when the two views form one adaptive experience; do not substitute it for app navigation..sidebarAdaptable + .defaultTabBarPlacement(.sidebar)).hinge.angle for sidebar, columns, grid count, or navigation collapse.CameraCaptureAccessory only for supplementary content during camera capture; keep the main experience attached to the primary scene.Flag these when used for ordinary layout decisions:
UIScreen.main.bounds
UIScreen.main.scale
UIWindow(frame: UIScreen.main.bounds)
UIDevice.current.userInterfaceIdiom == .pad
UIDevice.current.orientation / statusBarOrientation / interfaceOrientation
if orientation == .landscape
if horizontalSizeClass == .regular { iPadLayout }
bounds.height == 844
view.bounds.width - view.safeAreaInsets.left * 2
if isIPhoneDuo
if isFolded { ... }Also flag:
UIToolbar / UINavigationBar / UITabBar instances).scaleAspectFill / .aspectRatio(contentMode: .fill) hero media without a focal pointtoolbarVerticalBehavior(.disabled) outside the documented exceptions, or toggled per view statePreferred replacements are in reference.md.
if isDuo / idiom / orientation / UIScreen layout branchesNavigationSplitView with preserved selectionGridItem(.adaptive(minimum:)) rather than fixed column countsViewThatFits or AnyLayout, not duplicate hierarchiesCameraCaptureAccessory, not manual display targeting© FloWritesCode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in skills/swiftui-iphone-duo of FloWritesCode/fwc-swiftui-skills.
Open the folder on GitHubat commit 3a6c74b
Swiftui Iphone Duo next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Swiftui Iphone Duo this skillFloWritesCode/fwc-swiftui-skills | 388 | — | ~3.9k | Automated safety check: Pass | MIT | |
| Update Swiftui APIsAvdLee/SwiftUI-Agent-Skill | 3.7k | — | ~1.2k | Automated safety check: Pass | MIT | |
| SwiftUI Design SkillWholiver/swiftui-design-skill | 213 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Audit Xcode Security Settingssuperagents-lab/xcode27-skills | 339 | — | ~4.6k | Automated safety check: Pass | None | |
| iOS Marketing CaptureParthJadhav/ios-marketing-capture | 262 | — | ~6.1k | Automated safety check: Pass | MIT | |
| Write AI Docsamuelhe52/AniShelf | 141 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 |
AvdLee/SwiftUI-Agent-Skill
Scan Apple's SwiftUI documentation for deprecated APIs and update the SwiftUI Expert Skill with modern replacements.
Wholiver/swiftui-design-skill
Guides the agent to design distinctive SwiftUI interfaces for iOS and macOS, with six anti-generic rules, a design direction workflow and a five-dimension review.
superagents-lab/xcode27-skills
Audit and enable security-oriented Xcode build settings. An agent skill from superagents-lab/xcode27-skills.
ParthJadhav/ios-marketing-capture
A skill your agent uses when the user wants to automate capture of marketing screenshots for a SwiftUI iOS app across multiple locales, devices, or appearances.
samuelhe52/AniShelf
Create and maintain curated AniShelf docs-ai/ records for substantial features and non-trivial, decision-shaping fixes (numbered entries with 000-plan.md before implementation and 001-action.md…
Iron-Ham/XcodePreviews
Build and capture SwiftUI previews for visual analysis. An agent skill from Iron-Ham/XcodePreviews.
FloWritesCode/fwc-swiftui-skills
Implement, review, and refactor SwiftUI features using the iOS 26+ Liquid Glass API.
Categories
Adapts and reviews SwiftUI apps for iPhone Duo (Xcode 27.1 / iOS 27.1 SDK) and continuously changing window sizes. Swiftui Iphone Duo is an agent skill from FloWritesCode/fwc-swiftui-skills.1 SDK) and continuously changing window sizes.
Swiftui Iphone Duo fits situations like: supporting the foldable iPhone Duo; vertical bars (toolbarVerticalBehavior; visibilityPriority; toolbarOverflowMenu).
Run `npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a claude-code`. Or copy the skill folder (skills/swiftui-iphone-duo in FloWritesCode/fwc-swiftui-skills) into .claude/skills/swiftui-iphone-duo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a codex`. Or copy the skill folder (skills/swiftui-iphone-duo in FloWritesCode/fwc-swiftui-skills) into .agents/skills/swiftui-iphone-duo in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FloWritesCode/fwc-swiftui-skills --skill swiftui-iphone-duo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/swiftui-iphone-duo, .gemini/skills/swiftui-iphone-duo, .github/skills/swiftui-iphone-duo and .opencode/skills/swiftui-iphone-duo in your project.
Going by SKILL.md and its folder, Swiftui Iphone Duo needs the command-line tools its instructions call (xcrun).
SKILL.md names 1 domain. As links in the text: developer.apple.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Swiftui Iphone Duo is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.9k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Swiftui Iphone Duo: Update Swiftui APIs (AvdLee/SwiftUI-Agent-Skill, 3.7k stars), SwiftUI Design Skill (Wholiver/swiftui-design-skill, 213 stars), Audit Xcode Security Settings (superagents-lab/xcode27-skills, 339 stars) and iOS Marketing Capture (ParthJadhav/ios-marketing-capture, 262 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FloWritesCode (a GitHub user) maintains it in FloWritesCode/fwc-swiftui-skills, which has 388 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.
Source: FloWritesCode/fwc-swiftui-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.