# migrating-claude-agent-sdk-to-pydantic-ai

Скилл ведёт миграцию Python-приложения с Claude Agent SDK на Pydantic AI. Нужен, когда в коде есть импорт claude_agent_sdk.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 308 установок · ★ 145
- Автор: pydantic
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/pydantic/skills/tree/HEAD/skills/migrating-claude-agent-sdk-to-pydantic-ai/SKILL.md
- Обновлён: 2026-10-16
- HTML: https://affpapa.org/nevibecode/skills/migrating-claude-agent-sdk-to-pydantic-ai

## Что делает

Скилл разбирает исходный код перед тем, как что-то менять. Он читает инструкции репозитория, зависимости, тесты и точку входа, фиксирует версии Claude Agent SDK, встроенного Claude CLI, Pydantic AI и Harness. Потом прослеживает один реальный запрос от `query()` или `ClaudeSDKClient` через промпты, инструменты, события, состояние, согласования и побочные эффекты. Так появляется база для характеризационного теста.

Дальше выбирается минимальная цель. Ядро — `pydantic_ai.Agent`: вызовы модели, цикл агента, типизированные зависимости, инструменты, стриминг, MCP, лимиты. `pydantic-ai-harness` добавляется только под реально наблюдаемое поведение: файловые и shell-инструменты, планирование, память, субагенты, Agent Skills. Аутентификация, базы, очереди и деплой остаются в приложении.

Есть места, где перенос ломается тихо. `allowed_tools` в Claude Agent SDK означает автосогласование, а не ограничение доступности и не изоляцию — эти три вещи скилл советует разводить отдельно. `message_history` в Pydantic AI явно переигрывает нормализованные сообщения, а `conversation_id` только связывает запуски и не заменяет токен возобновления сессии Claude. Хуки сверяются по точке срабатывания, порядку и обработке ошибок, и для любого видимого контракта требуется golden trace. Перемотка файлов, пресеты промптов Claude и упаковка плагинов остаются пробелами, если конкретному вызывающему коду они не нужны.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add pydantic/skills --skill migrating-claude-agent-sdk-to-pydantic-ai -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add pydantic/skills --skill migrating-claude-agent-sdk-to-pydantic-ai -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add pydantic/skills --skill migrating-claude-agent-sdk-to-pydantic-ai -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install pydantic/skills migrating-claude-agent-sdk-to-pydantic-ai
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/migrating-claude-agent-sdk-to-pydantic-ai/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add pydantic/skills --skill migrating-claude-agent-sdk-to-pydantic-ai -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/pydantic/skills --path skills/migrating-claude-agent-sdk-to-pydantic-ai
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add pydantic/skills --skill migrating-claude-agent-sdk-to-pydantic-ai -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/pydantic/skills/tree/HEAD/skills/migrating-claude-agent-sdk-to-pydantic-ai/SKILL.md

## Когда брать
- перевести Python-приложение с `claude_agent_sdk` на Pydantic AI
- сохранить наблюдаемое поведение агента, а не форму API
- развести доступность инструментов, автосогласование и изоляцию
- сверить порядок срабатывания хуков до и после миграции
- убрать `claude-agent-sdk` из зависимостей после переноса

## Примеры запросов агенту
- Разбери этот репозиторий и предложи план миграции с Claude Agent SDK на Pydantic AI
- Проследи один запрос от `query()` и покажи, какие контракты придётся сохранить
- Проверь, нужен ли здесь `pydantic-ai-harness`, или хватит ядра

## Похожие
- [migrating-ai-sdk-to-common-ai](https://affpapa.org/nevibecode/skills/migrating-ai-sdk-to-common-ai.md) — скилл · 348 установок
- [agent-sdk-verifier-py](https://affpapa.org/nevibecode/agents/agent-sdk-verifier-py.md) — субагент · ★ 44635
- [migrating-airflow-2-to-3](https://affpapa.org/nevibecode/skills/migrating-airflow-2-to-3.md) — скилл · 1100 установок
- [migrating-motoko-actors](https://affpapa.org/nevibecode/skills/migrating-motoko-actors.md) — скилл · 4300 установок
- [migrating-to-workflow-sdk](https://affpapa.org/nevibecode/skills/migrating-to-workflow-sdk.md) — скилл · 734 установки
- [migrating-workflow-v4-to-v5](https://affpapa.org/nevibecode/skills/migrating-workflow-v4-to-v5.md) — скилл · 310 установок

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

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