realitykit — скилл для Claude Code: AR и 3D на iOS
Скилл для сборки AR-сцен на RealityKit и ARKit: RealityView, якоря, рейкасты, жесты. Пригодится, когда нужен 3D-контент в iOS-приложении.
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a claude-codeЧто делает realitykit
Скилл описывает работу с RealityKit и ARKit в одном месте: как собрать RealityView, загрузить сущности и модели USDZ, привязать объект к плоскости или точке в мире. Отдельный блок — рейкасты. Автор разводит два похожих механизма: ray(through:in:to:) даёт луч камеры в координатах RealityKit, а hitTest(point:in:query:mask:) бьёт по сущностям с CollisionComponent. Для пересечения с реальной поверхностью нужен ARKit-запрос ARRaycastQuery и ARSession.raycast(_:), после чего якорь ставится через AnchorEntity(raycastResult:). Если перепутать эти пути, объект приземлится в пустоту — это повод проверить код до тестов на устройстве.
Внутри — разделы по настройке проекта, созданию и загрузке сущностей, якорям, жестам, пониманию сцены, плюс список частых ошибок и чек-лист для ревью. Целевые версии — Swift 6.3 и iOS 26+. Для базового AR ничего дополнительно подключать не нужно, но в Info.plist должен быть NSCameraUsageDescription. Перед показом AR-интерфейса скилл советует проверять ARWorldTrackingConfiguration.isSupported и держать запасной вариант: content.camera = .virtual.
Сущности здесь строятся по ECS: поведение и интерактивность добавляются компонентами — PhysicsBodyComponent, CollisionComponent, InputTargetComponent. Без последнего жест по объекту не сработает.
Какие задачи решает
- собрать AR-сцену на RealityView в SwiftUI
- загрузить модель USDZ и поставить её в сцену
- привязать объект к столу или стене через AnchorEntity
- разобраться, когда нужен hitTest, а когда ARKit-рейкаст
- добавить жесты и физику сущностям через компоненты
Примеры запросов агенту
- Собери экран с RealityView и покажи синюю сферу в 50 см от камеры
- Загрузи модель robot из USDZ и привяжи её к горизонтальной плоскости пола
- Почему мой объект не реагирует на тап — проверь, есть ли у сущности InputTargetComponent
Как установить realitykit
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a claude-code2Вручную: положить файлы
~/.claude/skills/realitykit/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/realitykit/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a codex2Вручную: положить файлы
.agents/skills/realitykit/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a cursor2Вручную: положить файлы
.cursor/skills/realitykit/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills realitykit2Вручную: положить файлы
.github/skills/realitykit/SKILL.md1Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a gemini-cli2Командой платформы
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/realitykitВручную: положить файлы
.devin/skills/realitykit/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill realitykit -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о realitykit
Как установить realitykit в Claude?
Одной командой: npx skills add dpearson2699/swift-ios-skills --skill realitykit -a claude-code. Файл скилла окажется в ~/.claude/skills/realitykit/SKILL.md.
Что делает скилл realitykit?
Описывает сборку AR и 3D на iOS: RealityView, загрузку сущностей и USDZ, якоря, рейкасты, жесты и понимание сцены. Внутри есть разбор частых ошибок и чек-лист для ревью.
Что нужно подготовить до работы со скиллом?
Добавить NSCameraUsageDescription в Info.plist. Для базового AR отдельных разрешений не требуется, а перед показом AR-интерфейса стоит проверять ARWorldTrackingConfiguration.isSupported.