uikit-app-modernization — скилл для Claude Code
Переводит код UIKit на многооконный режим и жизненный цикл сцен. Помогает избавиться от устаревших обращений к UIScreen.main и глобальному состоянию в Swift и Objective-C.
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-codeЧто делает uikit-app-modernization
Скилл обновляет старые приложения на UIKit под современные требования iOS. Он находит обращения к общему состоянию вроде UIScreen.main, interfaceOrientation или симметричные расчёты safeAreaInsets и заменяет их контекстными альтернативами. Инструкции запрещают скиллу подставлять литералы вместо динамических данных и ломать ветвления if или switch.
Внутри заложен строгий паттерн обновления методов: скилл создаёт новую перегрузку с нужным параметром, а старый метод помечает устаревшим и перенаправляет вызов. Бросать пустые файлы или неясные комментарии нельзя. Если автоматическая замена рискует сломать вызовы в других модулях, агент обязан спросить пользователя о решении перед правкой.
Такая строгость защищает архитектуру: частичное обновление здесь приравнивается к ошибке, поэтому миграция не оставит скрытых поломок в вызовах. Скилл работает точечно и не трогает форматирование или соседний код.
Какие задачи решает
- избавить проект от устаревших вызовов UIScreen.main и UIScreen.mainScreen
- перевести интерфейс с жизненного цикла приложения на работу со сценами
- обновить расчёты отступов с учётом асимметричных safeAreaInsets
- добавить новые перегрузки методов с сохранением устаревших обёрток
Примеры запросов агенту
- Обнови использование UIScreen.main в контроллерах этого модуля
- Переведи жизненный цикл экранов на UIScene и адаптируй safeAreaInsets
- Найди устаревшие обращения к interfaceOrientation и предложи безопасные замены
Как установить uikit-app-modernization
1Через Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-code2Вручную: положить файлы
~/.claude/skills/uikit-app-modernization/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/uikit-app-modernization/
1Через Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a codex2Вручную: положить файлы
.agents/skills/uikit-app-modernization/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a cursor2Вручную: положить файлы
.cursor/skills/uikit-app-modernization/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install superagents-lab/xcode27-skills uikit-app-modernization2Вручную: положить файлы
.github/skills/uikit-app-modernization/SKILL.md1Через Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a gemini-cli2Командой платформы
gemini skills install https://github.com/superagents-lab/xcode27-skills --path uikit-app-modernizationВручную: положить файлы
.devin/skills/uikit-app-modernization/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о uikit-app-modernization
Как установить uikit-app-modernization в Claude Code?
Выполните команду npx skills add superagents-lab/xcode27-skills --skill uikit-app-modernization -a claude-code. Файл конфигурации сохранится по пути ~/.claude/skills/uikit-app-modernization/SKILL.md.
Что делает скилл uikit-app-modernization?
Он автоматизирует рефакторинг устаревшего кода UIKit на Swift и Objective-C для поддержки многооконности. Скилл убирает обращения к глобальным экранам и переводит код на жизненный цикл сцен.
Как скилл поступает при риске сломать внешние вызовы?
Скилл использует схему сохранения обратной совместимости. Он создаёт новую перегрузку с локальным контекстом, а исходный метод оставляет в файле с пометкой deprecated и перенаправлением вызова.