# migrate

Скилл ведёт разработчика через миграции схемы EF Core, смену версии .NET и обновление NuGet. На каждом шаге он готовит план отката и запускает тесты.

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

## Что делает

Скилл распределяет задачи по двум направлениям: миграция схемы базы данных и обновление компонентов .NET. Основной поток рассчитан на Entity Framework Core. Перед созданием файлов скилл находит изменённые сущности с помощью MCP-инструментов `find_symbol` и `find_references`. Имя миграции задаётся строго по совершённому действию, как `AddOrderShippingAddress`.

У `database update` нет режима dry-run. Поэтому скилл сначала создаёт идемпотентный SQL-скрипт через `dotnet ef migrations script`. Он анализирует полученный SQL на потерю данных и опасные блокировки таблиц. Если миграция уже попала в базу данных, скилл запрещает менять её код напрямую. В таких случаях он генерирует отдельную новую миграцию.

Пакеты NuGet обновляются строго по одному. После каждого обновления агент прогоняет `dotnet build` и `dotnet test`. Это позволяет сразу найти источник ошибки при поломке сборки. Перед апгрейдом версии фреймворка инструмент проверяет граф проектов через `get_project_graph` и требует создать отдельную ветку в Git как план отката.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill migrate -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill migrate -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill migrate -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install codewithmukesh/dotnet-claude-kit migrate
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill migrate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/codewithmukesh/dotnet-claude-kit --path skills/migrate
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add codewithmukesh/dotnet-claude-kit --skill migrate -a opencode
```

### Claude.ai

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

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

## Когда брать
- сформировать миграцию EF Core с понятным именем действия
- проверить сгенерированный SQL на удаление колонок перед накатом
- обновить версию .NET и SDK через пошаговый сценарий
- обновить устаревшие NuGet-пакеты по одному без скрытых поломок

## Примеры запросов агенту
- /migrate
- добавь миграцию для нового свойства ShippingAddress в заказе
- обнови уязвимые nuget пакеты по одному

## Похожие
- [migrate-dotnet10-to-dotnet11](https://affpapa.org/nevibecode/skills/migrate-dotnet10-to-dotnet11.md) — скилл · 3400 установок
- [migrate-dotnet9-to-dotnet10](https://affpapa.org/nevibecode/skills/migrate-dotnet9-to-dotnet10.md) — скилл · 3400 установок
- [dotnet-backend-patterns](https://affpapa.org/nevibecode/skills/dotnet-backend-patterns.md) — скилл · 19076 установок
- [dotnet-patterns](https://affpapa.org/nevibecode/skills/dotnet-patterns.md) — скилл · 4600 установок
- [api-design](https://affpapa.org/nevibecode/skills/aaronontheweb-api-design.md) — скилл · 660 установок
- [dotnet-project-structure](https://affpapa.org/nevibecode/skills/dotnet-project-structure.md) — скилл · 658 установок

## Другие версии с тем же именем
- [migrate · alirezarezvani](https://affpapa.org/nevibecode/skills/migrate.md) — 1586 установок
- [migrate · toss](https://affpapa.org/nevibecode/skills/toss-migrate.md) — 313 установок
- [migrate · parcadei](https://affpapa.org/nevibecode/skills/parcadei-migrate.md) — 481 установка
- [migrate · launchdarkly](https://affpapa.org/nevibecode/skills/launchdarkly-migrate.md) — 1800 установок
- [migrate · incluud](https://affpapa.org/nevibecode/skills/incluud-migrate.md) — 363 установки

Из того же набора: [codewithmukesh/dotnet-claude-kit](https://affpapa.org/nevibecode/by/codewithmukesh/dotnet-claude-kit.md) — 47 карточек

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

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