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

databases — скилл для Claude Code: MongoDB и PostgreSQL в одном гайде

Скилл с единым справочником по MongoDB и PostgreSQL: схемы, запросы, индексы, миграции, бэкапы и администрирование.

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

Что делает databases

Скилл databases держит в одном месте два справочника: документную MongoDB и реляционную PostgreSQL. Внутри — восемь файлов-референсов: CRUD и операторы запросов MongoDB, агрегационные пайплайны, индексы, Atlas; для PostgreSQL — SELECT с JOIN и CTE, оконные функции, работа в psql, разбор EXPLAIN, управление пользователями и репликация. Плюс таблица различий: модель данных, схема, язык запросов, транзакции, масштабирование.

Есть три Python-скрипта в scripts/. db_migrate.py генерирует и применяет миграции для обеих баз, db_backup.py делает бэкап и восстановление, db_performance_check.py ищет медленные запросы и советует индексы. Запускаются из командной строки с флагами вроде --db mongodb или --db postgres. Значит, для этих скриптов нужен установленный Python.

Скилл также помогает выбрать базу под задачу: MongoDB — когда схема часто меняется или нужен шардинг по серверам, PostgreSQL — когда важны ACID-транзакции и сложные связи между таблицами. Обе поддерживают JSON, полнотекстовый поиск и геозапросы. Если в проекте уже есть жёсткая схема и отчётность на SQL, тащить сюда MongoDB ради гибкости не стоит.

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

  • выбрать между MongoDB и PostgreSQL под конкретную задачу
  • собрать агрегационный пайплайн вместо серии ручных запросов
  • построить составной индекс под частый фильтр
  • сгенерировать и применить миграцию схемы
  • найти медленный запрос и понять, какой индекс добавить

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

  • помоги спроектировать схему для интернет-магазина: MongoDB или PostgreSQL?
  • напиши агрегационный пайплайн для заказов по дням
  • разбери план запроса через EXPLAIN и предложи индексы

Как установить databases

1Через Skills CLI (Vercel)

npx skills add mrgoonie/claudekit-skills --skill databases -a claude-code

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

~/.claude/skills/databases/SKILL.md

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

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

Вопросы о databases

Как установить databases в Claude?

Выполните npx skills add mrgoonie/claudekit-skills --skill databases -a claude-code. Скилл встанет в ~/.claude/skills/databases/SKILL.md.

Что делает скилл databases?

Даёт агенту справочники по MongoDB и PostgreSQL: запросы, агрегации, индексы, миграции, бэкапы и администрирование. Плюс скрипты для миграций, бэкапа и проверки производительности.

Какие инструменты нужны для скриптов?

Скрипты лежат в scripts/ и запускаются через python, например python scripts/db_backup.py --db postgres --output /backups/. Для работы с базами понадобятся mongosh или psql.

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

SKILL.md · MIT
---
name: databases
description: Work with MongoDB (document database, BSON documents, aggregation pipelines, Atlas cloud) and PostgreSQL (relational database, SQL queries, psql CLI, pgAdmin). Use when designing database schemas, writing queries and aggregations, optimizing indexes for performance, performing database migrations, configuring replication and sharding, implementing backup and restore strategies, managing database users and permissions, analyzing query performance, or administering production databases.
license: MIT
---

# Databases Skill

Unified guide for working with MongoDB (document-oriented) and PostgreSQL (relational) databases. Choose the right database for your use case and master both systems.

## When to Use This Skill

Use when:
- Designing database schemas and data models
- Writing queries (SQL or MongoDB query language)
- Building aggregation pipelines or complex joins
- Optimizing indexes and query performance
- Implementing database migrations
- Setting up replication, sharding, or clustering
- Configuring backups and disaster recovery
- Managing database users and permissions
- Analyzing slow queries and performance issues
- Administering production database deployments

## Database Selection Guide

### Choose MongoDB When:
- Schema flexibility: frequent structure changes, heterogeneous data
- Document-centric: natural JSON/BSON data model
- Horizontal scaling: need to shard across multiple servers
- High write throughput: IoT, logging, real-time analytics
- Nested/hierarchical data: embedded documents preferred
- Rapid prototyping: schema evolution without migrations

**Best for:** Content management, catalogs, IoT time series, real-time analytics, mobile apps, user profiles

### Choose PostgreSQL When:
- Strong consistency: ACID transactions critical
- Complex relationships: many-to-many joins, referential integrity
- SQL requirement: team expertise, reporting tools, BI systems
- Data integrity: strict schema validation, constraints
- Mature ecosystem: extensive tooling, extensions
- Complex queries: window functions, CTEs, analytical workloads

**Best for:** Financial systems, e-commerce transactions, ERP, CRM, data warehousing, analytics

### Both Support:
- JSON/JSONB storage and querying
- Full-text search capabilities
- Geospatial queries and indexing
- Replication and high availability
- ACID transactions (MongoDB 4.0+)
- Strong security features

## Quick Start

### MongoDB Setup

```bash
# Atlas (Cloud) - Recommended
# 1. Sign up at mongodb.com/atlas
# 2. Create M0 free cluster
# 3. Get connection string

# Connection
mongodb+srv://user:[email protected]/db

# Shell
mongosh "mongodb+srv://cluster.mongodb.net/mydb"

# Basic operations
db.users.insertOne({ name: "Alice", age: 30 })
db.users.find({ age: { $gte: 18 } })
db.users.updateOne({ name: "Alice" }, { $set: { age: 31 } })
db.users.deleteOne({ name: "Alice" })
```

### PostgreSQL Setup

```bash
# Ubuntu/Debian
sudo apt-get install postgresql postgresql-contrib

# Start service
sudo systemctl start postgresql

# Connect
psql -U postgres -d mydb

# Basic operations
CREATE TABLE users (id SERIAL PRIMARY KEY, name TEXT, age INT);
INSERT INTO users (name, age) VALUES ('Alice', 30);
SELECT * FROM users WHERE age >= 18;
UPDATE users SET age = 31 WHERE name = 'Alice';
DELETE FROM users WHERE name = 'Alice';
```

## Common Operations

### Create/Insert
```javascript
// MongoDB
db.users.insertOne({ name: "Bob", email: "[email protected]" })
db.users.insertMany([{ name: "Alice" }, { name: "Charlie" }])
```

```sql
-- PostgreSQL
INSERT INTO users (name, email) VALUES ('Bob', '[email protected]');
INSERT INTO users (name, email) VALUES ('Alice', NULL), ('Charlie', NULL);
```

### Read/Query
```javascript
// MongoDB
db.users.find({ age: { $gte: 18 } })
db.users.findOne({ email: "[email protected]" })
```

```sql
-- PostgreSQL
SELECT * FROM users WHERE age >= 18;
SELECT * FROM users WHERE email = '[email protected]' LIMIT 1;
```

### Update
```javascript
// MongoDB
db.users.updateOne({ name: "Bob" }, { $set: { age: 25 } })
db.users.updateMany({ status: "pending" }, { $set: { status: "active" } })
```

```sql
-- PostgreSQL
UPDATE users SET age = 25 WHERE name = 'Bob';
UPDATE users SET status = 'active' WHERE status = 'pending';
```

### Delete
```javascript
// MongoDB
db.users.deleteOne({ name: "Bob" })
db.users.deleteMany({ status: "deleted" })
```

```sql
-- PostgreSQL
DELETE FROM users WHERE name = 'Bob';
DELETE FROM users WHERE status = 'deleted';
```

### Indexing
```javascript
// MongoDB
db.users.createIndex({ email: 1 })
db.users.createIndex({ status: 1, createdAt: -1 })
```

```sql
-- PostgreSQL
CREATE INDEX idx_users_email ON users(email);
CREATE INDEX idx_users_status_created ON users(status, created_at DESC);
```

## Reference Navigation

### MongoDB References
- **[mongodb-crud.md](references/mongodb-crud.md)** - CRUD operations, query operators, atomic updates
- **[mongodb-aggregation.md](references/mongodb-aggregation.md)** - Aggregation pipeline, stages, operators, patterns
- **[mongodb-indexing.md](references/mongodb-indexing.md)** - Index types, compound indexes, performance optimization
- **[mongodb-atlas.md](references/mongodb-atlas.md)** - Atlas cloud setup, clusters, monitoring, search

### PostgreSQL References
- **[postgresql-queries.md](references/postgresql-queries.md)** - SELECT, JOINs, subqueries, CTEs, window functions
- **[postgresql-psql-cli.md](references/postgresql-psql-cli.md)** - psql commands, meta-commands, scripting
- **[postgresql-performance.md](references/postgresql-performance.md)** - EXPLAIN, query optimization, vacuum, indexes
- **[postgresql-administration.md](references/postgresql-administration.md)** - User management, backups, replication, maintenance

## Python Utilities

Database utility scripts in `scripts/`:
- **db_migrate.py** - Generate and apply migrations for both databases
- **db_backup.py** - Backup and restore MongoDB and PostgreSQL
- **db_performance_check.py** - Analyze slow queries and recommend indexes

```bash
# Generate migration
python scripts/db_migrate.py --db mongodb --generate "add_user_index"

# Run backup
python scripts/db_backup.py --db postgres --output /backups/

# Check performance
python scripts/db_performance_check.py --db mongodb --threshold 100ms
```

## Key Differences Summary

| Feature | MongoDB | PostgreSQL |
|---------|---------|------------|
| Data Model | Document (JSON/BSON) | Relational (Tables/Rows) |
| Schema | Flexible, dynamic | Strict, predefined |
| Query Language | MongoDB Query Language | SQL |
| Joins | $lookup (limited) | Native, optimized |
| Transactions | Multi-document (4.0+) | Native ACID |
| Scaling | Horizontal (sharding) | Vertical (primary), Horizontal (extensions) |
| Indexes | Single, compound, text, geo, etc | B-tree, hash, GiST, GIN, etc |

## Best Practices

**MongoDB:**
- Use embedded documents for 1-to-few relationships
- Reference documents for 1-to-many or many-to-many
- Index frequently queried fields
- Use aggregation pipeline for complex transformations
- Enable authentication and TLS in production
- Use Atlas for managed hosting

**PostgreSQL:**
- Normalize schema to 3NF, denormalize for performance
- Use foreign keys for referential integrity
- Index foreign keys and frequently filtered columns
- Use EXPLAIN ANALYZE to optimize queries
- Regular VACUUM and ANALYZE maintenance
- Connection pooling (pgBouncer) for web apps

## Resources

- MongoDB: https://www.mongodb.com/docs/
- PostgreSQL: https://www.postgresql.org/docs/
- MongoDB University: https://learn.mongodb.com/
- PostgreSQL Tutorial: https://www.postgresqltutorial.com/

© mrgoonie · MIT · mrgoonie/claudekit-skills

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

Все скиллы по теме «Данные и базы» →
database-management-patterns manutej Скилл-справочник по работе с PostgreSQL и MongoDB: проектирование схем, индексы, транзакции, репликация и шардирование. CX Codex +1 466установок database-backups devops-skills Скилл для ИИ-агента: помогает настроить автоматические бэкапы PostgreSQL, MySQL и MongoDB и проверить, что из них реально восстанавливаются данные. CX Codex +1 405установок prisma-orm-setup prisma Проводит агента по настройке Prisma ORM: определить версию, подключить базу, проверить соединение. Новые приложения сажает на Prisma ORM 8. CX Codex +1 67 900установок optimize-database-performance davila7 Слэш-команда для Claude, которая разбирает запросы, индексы и схему базы и предлагает, что переписать. Пригодится, когда страница тормозит на выборке. 794установок database-administrator VoltAgent Community Субагент анализирует базы данных, настраивает производительность, репликацию, резервное копирование и восстановление. Подходит для production-инфраструктуры. 452установок postgresql devops-skills Помогает администрировать PostgreSQL: настраивать репликацию, резервные копии и параметры производительности. Пригодится при развёртывании и тюнинге БД. CX Codex +1 419установок

Из того же набора20

ai-multimodal Скилл для работы с аудио, видео, изображениями и PDF через Gemini API. Пригодится, когда надо расшифровать запись, разобрать скриншот или вытащить таблицу из документа. CX Codex +1 530установок context-engineering Скилл помогает проектировать контекст ИИ-агентов, уменьшать расход токенов и устранять деградацию внимания в сложных пайплайнах. CX Codex +1 495установок shopify Скилл для разработки под Shopify: приложения, расширения чекаута и админки, темы на Liquid, работа с GraphQL и REST API. CX Codex +1 450установок web-testing Скилл для веб-тестирования: юнит, интеграция, E2E, нагрузка, безопасность, визуальные регрессии и доступность. Пригодится, когда нужно навести порядок в тестах проекта. CX Codex +1 442установок docs-seeker Ищет актуальную техническую документацию через формат llms.txt, каталог context7.com и утилиту Repomix. Помогает загрузить точный контекст по библиотекам. CX Codex +1 403установок repomix Скилл собирает весь репозиторий в один файл, удобный для передачи в LLM. Пригодится, когда надо дать агенту контекст проекта или разобрать чужую библиотеку. CX Codex +1 402установок better-auth Скилл проводит агента по подключению Better Auth: email-пароли, OAuth, 2FA, passkeys и роли. Пригодится, когда в проект нужно встроить вход и сессии. CX Codex +1 390установок web-frameworks Скилл-группа для фуллстек-разработки: подсказывает агенту, как собирать приложения на Next.js, монорепозитории на Turborepo и подключать иконки RemixIcon. CX Codex +1 372установок

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

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