# nitro-fetch

Скилл для ИИ-ассистентов, который подсказывает реальные API react-native-nitro-fetch вместо выдуманных: fetch, WebSocket, TextDecoder, префетчинг.

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

## Что делает

Скилл описывает семейство пакетов `react-native-nitro-fetch`, `react-native-nitro-websockets` и `react-native-nitro-text-decoder` — нативную замену сетевого стека в React Native на `URLSession` для iOS и `Cronet` для Android через Nitro Modules. Внутри — таблица маршрутизации: вопрос про прогрев кэша ведёт в `references/prefetching.md`, про axios — в `references/axios-adapter.md`, про трассировку — в `references/perfetto-profiling.md`. Ассистент читает нужный файл перед тем, как писать код.

Отдельно разобраны три темы. Префетчинг: `prefetchOnAppStart(...)` и `prewarmOnAppStart(...)` проигрывают сохранённые запросы и открытия сокетов на каждом холодном старте, поэтому к моменту запуска JS ответ уже в кэше. Подключение нативного клиента: явные импорты или глобальная подмена `globalThis.fetch`. Диагностика: `NetworkInspector` пишет HTTP и WS на границе JS, а нативные трейсы Perfetto и Instruments показывают DNS, TLS и TTFB.

Ставить нужно после `npm install react-native-nitro-fetch react-native-nitro-modules`, а для сокетов и декодера — ещё `react-native-nitro-websockets` и `react-native-nitro-text-decoder`. Затем пересобрать приложение: `pod install` для iOS и свежий `./gradlew` для Android. Ничего не включается само — каждый режим подключается вручную по файлам из `references/`. Если холодный GET остаётся медленным после добавления `prefetch`, проверьте `prefetchKey` — это первое, на что стоит смотреть.

## Установка

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

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install margelo/react-native-skills react-native-nitro-fetch
```

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add margelo/react-native-skills --skill react-native-nitro-fetch -a opencode
```

### Claude.ai

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

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

## Когда брать
- заменить встроенный fetch на нативный без переписывания вызовов
- прогреть кэш до монтирования экрана
- открыть wss-соединение раньше, чем загрузится React Native
- перевести существующий WebSocket на NitroWebSocket
- найти медленный API по разбивке DNS, TLS и TTFB

## Примеры запросов агенту
- Как прогреть wss-соединение в этом проекте?
- Сделай так, чтобы axios ходил через nitro-fetch
- Почему холодный GET всё ещё медленный после prefetch?

## Похожие
- [expo-data-fetching](https://affpapa.org/nevibecode/skills/expo-data-fetching.md) — скилл · 27500 установок
- [react-native-app](https://affpapa.org/nevibecode/skills/react-native-app.md) — скилл · 503 установки
- [prefetch](https://affpapa.org/nevibecode/skills/prefetch.md) — скилл · 1500 установок
- [nitro](https://affpapa.org/nevibecode/skills/nitro.md) — скилл · 2600 установок
- [expo-web-to-native](https://affpapa.org/nevibecode/skills/expo-web-to-native.md) — скилл · 19600 установок
- [Senior Frontend Developer](https://affpapa.org/nevibecode/prompts/senior-frontend-developer.md) — промпт · ★ 174597

Из того же набора: [margelo/react-native-skills](https://affpapa.org/nevibecode/by/margelo/react-native-skills.md) — 3 карточки

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

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