uikit-app-modernization — Claude Code skill: setup & guide
Updates legacy UIKit codebases for scene lifecycles and dynamic multi-window environments. It removes shared-state calls like UIScreen.main across Swift and Objective-C files.
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-codeWhat uikit-app-modernization does
This skill targets legacy UIKit applications that need multi-window and scene lifecycle support on modern iOS. It scans both Swift and Objective-C code to replace global APIs such as UIScreen.main, interfaceOrientation, and symmetric safeAreaInsets with context-specific alternatives. Dynamic measurements remain dynamic, as hardcoded literal fallbacks are forbidden.
The skill relies on an atomic deprecate-and-forward pattern whenever method signatures require adjustments. It introduces an updated method overload while keeping the older variant in place as a deprecated forwarder. Control flow branches like if/else and switch are preserved to prevent unintended execution bugs. If a substitution introduces breaking changes across modules, the skill asks for confirmation instead of guessing.
Strict atomic requirements prevent half-finished migrations: generating a partial diff or a vague placeholder comment counts as a failure. The rule set keeps edits focused strictly on target lines without altering neighboring whitespace.
What it helps with
- eliminate deprecated UIScreen.main and UIScreen.mainScreen references
- transition app lifecycle code to modern scene-based lifecycle
- correct asymmetric safe area calculations using modern insets
- introduce updated method overloads while retaining backward-compatible wrappers
Example prompts for the agent
- Migrate all UIScreen.main usages in this view controller to modern trait APIs
- Update the layout logic to handle asymmetric safeAreaInsets properly
- Refactor orientation checks away from interfaceOrientation in this module
How to install uikit-app-modernization
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-code2Manually: put the files in place
~/.claude/skills/uikit-app-modernization/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/uikit-app-modernization/
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a codex2Manually: put the files in place
.agents/skills/uikit-app-modernization/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a cursor2Manually: put the files in place
.cursor/skills/uikit-app-modernization/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install superagents-lab/xcode27-skills uikit-app-modernization2Manually: put the files in place
.github/skills/uikit-app-modernization/SKILL.md1Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a gemini-cli2Platform CLI
gemini skills install https://github.com/superagents-lab/xcode27-skills --path uikit-app-modernizationManually: put the files in place
.devin/skills/uikit-app-modernization/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about uikit-app-modernization
How to install uikit-app-modernization in Claude Code?
Run npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-code. The skill definition is saved to ~/.claude/skills/uikit-app-modernization/SKILL.md.
What does the uikit-app-modernization skill do?
It refactors UIKit codebases in Swift and Objective-C for multi-window environments. It eliminates shared-state APIs and migrates logic toward scene-based lifecycles.
How does the skill handle changes to existing method signatures?
It follows a deprecate-and-forward pattern. The skill creates a new overload accepting local context and preserves the original signature as a deprecated method that forwards calls.