# iphone-duo-react-native

Скилл помогает адаптировать приложения на React Native и Expo под складной iPhone Duo: от асимметричных отступов до нативного модуля под iOS 27.1.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 432 установки · ★ 214
- Автор: mirzaaghazadeh
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mirzaaghazadeh/iphone-duo-skills/tree/HEAD/skills/iphone-duo-react-native/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/iphone-duo-react-native

## Что делает

Скилл делит адаптацию на два уровня. Первый уровень не требует нативного кода и исправляет частые ошибки интерфейса с помощью `react-native-safe-area-context` и хука `useWindowDimensions()`. В iPhone Duo отступы экрана асимметричны, поэтому симметричные формулы ломают разметку. Скилл рекомендует опираться на контрольные точки ширины вместо проверки модели устройства или ориентации.

Второй уровень объясняет создание TurboModule или нативного модуля на Swift под iOS 27.1. Через него в JavaScript передаются методы `reservedRegions(kind:)` для обхода сгиба и камеры, стрим угла шарнира через `UIHingeInteraction` и системные классы размеров.

Для проверки нативного модуля потребуется симулятор Xcode 27.1. При этом готовый нативный код не запустится в Expo Go — для проектов на Expo понадобится локальный плагин и development build.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mirzaaghazadeh/iphone-duo-skills --skill iphone-duo-react-native -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/iphone-duo-react-native/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/iphone-duo-react-native/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mirzaaghazadeh/iphone-duo-skills --skill iphone-duo-react-native -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/iphone-duo-react-native/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mirzaaghazadeh/iphone-duo-skills --skill iphone-duo-react-native -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/iphone-duo-react-native/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mirzaaghazadeh/iphone-duo-skills iphone-duo-react-native
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/iphone-duo-react-native/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mirzaaghazadeh/iphone-duo-skills --skill iphone-duo-react-native -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mirzaaghazadeh/iphone-duo-skills --path skills/iphone-duo-react-native
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/iphone-duo-react-native/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mirzaaghazadeh/iphone-duo-skills --skill iphone-duo-react-native -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mirzaaghazadeh/iphone-duo-skills/tree/HEAD/skills/iphone-duo-react-native/SKILL.md

## Когда брать
- устранить сбои разметки из-за асимметричных safe area отступов
- настроить перерисовку экранов через `useWindowDimensions` при складывании
- разделить интерфейс по контрольным точкам ширины
- пробросить события шарнира из `UIHingeInteraction` в JavaScript

## Примеры запросов агенту
- Проверь экран навигации в проекте на React Native под раскладку iPhone Duo
- Помоги написать TurboModule для передачи reservedRegions из iOS 27.1 в React Native
- Переведи обработку безопасных зон с SafeAreaView на useSafeAreaInsets

## Похожие
- [react-native-brownfield-migration](https://affpapa.org/nevibecode/skills/react-native-brownfield-migration.md) — скилл · 5200 установок
- [react-native-patterns](https://affpapa.org/nevibecode/skills/react-native-patterns.md) — скилл · 399 установок
- [vercel-react-native-skills](https://affpapa.org/nevibecode/skills/vercel-react-native-skills.md) — скилл · 255200 установок
- [react-native-architecture](https://affpapa.org/nevibecode/skills/react-native-architecture.md) — скилл · 15087 установок
- [react-native-expert](https://affpapa.org/nevibecode/skills/react-native-expert.md) — скилл · 4900 установок

Из того же набора: [mirzaaghazadeh/iphone-duo-skills](https://affpapa.org/nevibecode/by/mirzaaghazadeh/iphone-duo-skills.md) — 8 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
