К основному содержанию
скилл CX Codex

sqlalchemy-postgres — скилл для Claude Code: обзор и установка

Скилл настраивает асинхронную работу с SQLAlchemy 2.0, Pydantic v2 и PostgreSQL. Помогает спроектировать модели, настроить сессии для FastAPI и управлять миграциями Alembic.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add cfircoo/claude-code-toolkit --skill sqlalchemy-postgres -a claude-code
Открыть на GitHub

Что делает sqlalchemy-postgres

Скилл организует архитектуру базы данных на стеке SQLAlchemy 2.0, Pydantic v2, Alembic и PostgreSQL. Он автоматически активируется при упоминании моделей, миграций, CRUD или пула соединений. Внутри заложено чёткое разделение ответственности: ORM-модели хранятся в models/, схемы валидации в schemas/, а доступ к данным изолирован в слое repositories/.

Настройка рассчитана строго на PostgreSQL и драйвер asyncpg. Другие СУБД стек не поддерживает. Скилл требует типизации колонок через Mapped[] и mapped_column, а также чтения данных в Pydantic через ConfigDict(from_attributes=True). Для асинхронных сессий и внедрения зависимостей в FastAPI генерируются готовые фабрики.

Какие задачи решает

  • развернуть асинхронный слой базы данных на PostgreSQL с нуля
  • создать типизированные модели SQLAlchemy 2.0 со схемами Pydantic v2
  • настроить асинхронные миграции через Alembic
  • изолировать операции выборки и сохранения в паттерне Repository

Примеры запросов агенту

  • Настрой подключение к PostgreSQL через asyncpg и подготовь базовые модели SQLAlchemy
  • Создай модель пользователя User с полями id и name, а также схему UserRead в Pydantic
  • Сгенерируй асинхронную миграцию Alembic для добавления новой таблицы

Как установить sqlalchemy-postgres

1Через Skills CLI (Vercel)

npx skills add cfircoo/claude-code-toolkit --skill sqlalchemy-postgres -a claude-code

2Вручную: положить файлы

~/.claude/skills/sqlalchemy-postgres/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/sqlalchemy-postgres/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о sqlalchemy-postgres

Как установить sqlalchemy-postgres в Claude Code?

Выполните в терминале команду npx skills add cfircoo/claude-code-toolkit --skill sqlalchemy-postgres -a claude-code. Также можно скопировать файл скилла по пути ~/.claude/skills/sqlalchemy-postgres/SKILL.md.

С какими базами данных работает скилл?

Стек рассчитан исключительно на PostgreSQL с асинхронным драйвером asyncpg. Поддержка SQLite или MySQL в правилах не предусмотрена.

Какие соглашения по коду навязывает этот скилл?

Он предписывает использовать типизацию SQLAlchemy 2.0 через Mapped[], маппинг в Pydantic через from_attributes=True и разделять проект на каталоги models/, schemas/ и repositories/.

Исходный текст

SKILL.md · MIT
---
name: sqlalchemy-postgres
description: Expert guidance for SQLAlchemy 2.0 + Pydantic + PostgreSQL. Use when setting up database layers, defining models, creating migrations, or any database-related work. Automatically activated for DB tasks.
---

<essential_principles>
## SQLAlchemy 2.0 + Pydantic + PostgreSQL Best Practices

This skill provides expert guidance for building production-ready database layers.

### Stack
- **SQLAlchemy 2.0** with async support (asyncpg driver)
- **Pydantic v2** for validation and serialization
- **Alembic** for migrations
- **PostgreSQL** only

### Core Principles

**1. Separation of Concerns**
```
models/       # SQLAlchemy ORM models (database layer)
schemas/      # Pydantic schemas (API layer)
repositories/ # Data access patterns
services/     # Business logic
```

**2. Type Safety First**
Always use SQLAlchemy 2.0 style with `Mapped[]` type annotations:
```python
from sqlalchemy.orm import Mapped, mapped_column

class User(Base):
    __tablename__ = "users"
    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column(String(100))
```

**3. Async by Default**
Use async engine and sessions for FastAPI:
```python
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession
engine = create_async_engine("postgresql+asyncpg://...")
```

**4. Pydantic-SQLAlchemy Bridge**
Keep models and schemas separate but mappable:
```python
# Schema reads from ORM
class UserRead(BaseModel):
    model_config = ConfigDict(from_attributes=True)
```

**5. Repository Pattern**
Abstract database operations for testability and clean code.
</essential_principles>

<intake>
What do you need help with?

1. **Setup database layer** - Initialize SQLAlchemy + Pydantic + Alembic from scratch
2. **Define models** - Create SQLAlchemy models with Pydantic schemas
3. **Create migration** - Generate and manage Alembic migrations
4. **Query patterns** - Async CRUD, joins, eager loading, optimization
5. **Full implementation** - Complete database layer for a feature
</intake>

<routing>
| Response | Workflow |
|----------|----------|
| 1, "setup", "initialize", "start" | workflows/setup-database.md |
| 2, "model", "define", "create model" | workflows/define-models.md |
| 3, "migration", "alembic", "schema change" | workflows/create-migration.md |
| 4, "query", "crud", "repository" | workflows/query-patterns.md |
| 5, "full", "complete", "feature" | Run setup → define-models → create-migration |

**Auto-detection triggers (use this skill when user mentions):**
- database, db, sqlalchemy, postgres, postgresql
- model, migration, alembic
- repository, crud, query
- async session, connection pool
</routing>

<reference_index>
## Domain Knowledge

| Reference | Purpose |
|-----------|---------|
| references/best-practices.md | Production patterns, security, performance |
| references/patterns.md | Repository, Unit of Work, common queries |
| references/async-patterns.md | Async session management, FastAPI integration |
</reference_index>

<workflows_index>
| Workflow | Purpose |
|----------|---------|
| workflows/setup-database.md | Initialize complete database layer |
| workflows/define-models.md | Create models + schemas + relationships |
| workflows/create-migration.md | Alembic migration workflow |
| workflows/query-patterns.md | CRUD operations and optimization |
</workflows_index>

<quick_reference>
## File Structure
```
src/
├── db/
│   ├── __init__.py
│   ├── base.py          # DeclarativeBase
│   ├── session.py       # Engine + async session factory
│   └── dependencies.py  # FastAPI dependency
├── models/
│   ├── __init__.py
│   └── user.py          # SQLAlchemy models
├── schemas/
│   ├── __init__.py
│   └── user.py          # Pydantic schemas
├── repositories/
│   ├── __init__.py
│   ├── base.py          # Generic repository
│   └── user.py          # User repository
└── alembic/
    ├── alembic.ini
    ├── env.py
    └── versions/
```

## Essential Imports
```python
# Models
from sqlalchemy import String, Integer, ForeignKey, DateTime
from sqlalchemy.orm import Mapped, mapped_column, relationship, DeclarativeBase

# Async
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_sessionmaker

# Pydantic
from pydantic import BaseModel, ConfigDict, Field
```

## Connection String
```python
# PostgreSQL async
DATABASE_URL = "postgresql+asyncpg://user:pass@localhost:5432/dbname"
```
</quick_reference>

<success_criteria>
Database layer is complete when:
- [ ] Async engine and session factory configured
- [ ] Base model with common fields (id, created_at, updated_at)
- [ ] Models use Mapped[] type annotations
- [ ] Pydantic schemas with from_attributes=True
- [ ] Alembic configured for async
- [ ] Repository pattern implemented
- [ ] FastAPI dependency for session injection
- [ ] Connection pooling configured for production
</success_criteria>

© cfircoo · MIT · cfircoo/claude-code-toolkit

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →
mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой