# neo4j-migration-skill

Переводит код драйверов Neo4j и запросы Cypher со старых версий 4.x и 5.x на актуальные, включая Cypher 25. Пригодится перед апгрейдом зависимости.

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

## Что делает

Скилл проходит по проекту и собирает всё, что придётся править: строки Cypher в исходниках, файлы `.cypher`, аннотации `@Query` в OGM/SDN, зависимости из `requirements.txt`, `package.json`, `pom.xml`, `*.csproj` и `go.mod`. Сначала сканирование, потом правки — так ничего не теряется по дороге.

Дальше идёт замена по таблицам. Для Cypher это квантификаторы путей вместо `[:REL*1..5]`, `elementId(n)` вместо `id(n)`, `CALL (x) { ... }` вместо импорта через `WITH`, `CALL IN TRANSACTIONS` вместо `PERIODIC COMMIT`. Для драйверов — переименования пакетов, убранные методы вроде `read_transaction`, новые исключения. Языки: Python, JavaScript/Node.js, Java, .NET, Go.

Есть подвох с `elementId()`: он возвращает строку вида `"4:abc123:0"`, а не целое число. Код, который хранил или сравнивал идентификатор как `int`, придётся править отдельно. В Python-драйвере 6.x драйверы и сессии больше не закрываются сами при сборке мусора — нужен явный `with` или `.close()`. Скилл не пишет новые запросы Cypher и не занимается администрированием базы: для этого есть соседние скиллы того же репозитория.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-migration-skill -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-migration-skill -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-migration-skill -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install neo4j-contrib/neo4j-skills neo4j-migration-skill
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-migration-skill -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/neo4j-contrib/neo4j-skills --path neo4j-migration-skill
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add neo4j-contrib/neo4j-skills --skill neo4j-migration-skill -a opencode
```

### Claude.ai

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

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

## Когда брать
- найти все устаревшие вызовы API перед апгрейдом драйвера
- переписать запросы Cypher под синтаксис Cypher 25
- починить предупреждения о deprecated-методах после обновления версии
- заменить `id(n)` на `elementId(n)` и поправить типы в коде
- собрать список зависимостей Neo4j по всем языкам проекта

## Примеры запросов агенту
- Просканируй проект и покажи все устаревшие вызовы Neo4j перед миграцией
- Переведи запросы Cypher в этом файле на Cypher 25
- Обнови Python-драйвер с 5.x на 6.x и покажи диффы

## Похожие
- [spring-data-neo4j](https://affpapa.org/nevibecode/skills/spring-data-neo4j.md) — скилл · 3800 установок
- [neo4j-docker-client-generator](https://affpapa.org/nevibecode/agents/neo4j-docker-client-generator.md) — субагент · 183 установки
- [migration](https://affpapa.org/nevibecode/skills/migration.md) — скилл · 103900 установок
- [migration-architect](https://affpapa.org/nevibecode/skills/migration-architect.md) — скилл · 632 установки
- [deprecation-and-migration](https://affpapa.org/nevibecode/skills/deprecation-and-migration.md) — скилл · 57400 установок
- [database-migration](https://affpapa.org/nevibecode/skills/database-migration.md) — скилл · 17549 установок

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

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

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