focus-engine — скилл для Claude Code: фокус в SwiftUI и UIKit
Скилл для ИИ-кодинга по фокусу в SwiftUI и UIKit: клавиатура, направленное перемещение, сцены и восстановление после презентаций. Пригодится, когда навигация с пульта или Tab ведёт себя не так.
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a claude-codeЧто делает focus-engine
Скилл закрывает поведение фокуса в приложениях на SwiftUI и UIKit для iOS 26+, iPadOS, macOS, tvOS и visionOS с подключёнными устройствами ввода. Внутри разборы @FocusState, .defaultFocus, focused values и scene values, .focusable(_:interactions:). Каждая тема идёт с примером кода и списком частых ошибок плюс чек-лист для ревью.
Отдельные разделы — про восстановление фокуса после закрытия листа, поповера или оверлея и про UIFocusGuide в UIKit, когда элементы лежат неровно и стрелка уходит не туда. Для tvOS есть геометрический фокус и навигация Siri Remote, для watchOS — ввод с Digital Crown, для macOS — key view loop и Full Keyboard Access. focusSection() работает на macOS 13+ и tvOS 15+, это стоит держать в голове для старых целей сборки.
Границы обозначены прямо: на visionOS взгляд и наведение указателя — это не фокус, а способ ввода. Всё про VoiceOver, Switch Control и порядок элементов в доступности отдаётся скиллу ios-accessibility. Без этого разделения запрос легко уводит агента не туда, поэтому сначала проверьте, какой именно тип фокуса вам нужен.
Какие задачи решает
- перевести фокус на следующее поле после отправки формы
- починить обход элементов по стрелкам на tvOS
- вернуть фокус на кнопку после закрытия листа
- проложить фокус через пустую область в UIKit-лэйауте
- отладить сцену с помощью
UIFocusDebugger
Примеры запросов агенту
- Фокус после отправки формы должен переходить с поля email на пароль — покажи, как это собрать на
@FocusState. - На tvOS стрелка вниз проскакивает среднюю колонку, расставь
focusSection()по группам. - После закрытия шита фокус теряется — верни его на кнопку, которая его открыла.
Как установить focus-engine
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a claude-code2Вручную: положить файлы
~/.claude/skills/focus-engine/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/focus-engine/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a codex2Вручную: положить файлы
.agents/skills/focus-engine/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a cursor2Вручную: положить файлы
.cursor/skills/focus-engine/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills focus-engine2Вручную: положить файлы
.github/skills/focus-engine/SKILL.md1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a gemini-cli2Командой платформы
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/focus-engineВручную: положить файлы
.devin/skills/focus-engine/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о focus-engine
Как установить focus-engine в Claude Code?
Добавьте скилл из репозитория командой npx skills add dpearson2699/swift-ios-skills --skill focus-engine -a claude-code. Файл скилла окажется по пути ~/.claude/skills/focus-engine/SKILL.md.
Что делает focus-engine?
Помогает агенту правильно обращаться с фокусом в SwiftUI и UIKit: @FocusState, .defaultFocus, focused values, focus sections, восстановление после презентаций, UIFocusGuide в UIKit и отладка через UIFocusDebugger.
Чем focus-engine отличается от скилла по доступности?
Этот скилл отвечает за клавиатурный фокус, навигацию с пульта и геймпада, фокус на уровне сцены. VoiceOver, Switch Control и порядок элементов доступности разбирает ios-accessibility.