sql2er — скилл

Скилл строит ER-диаграммы в нотации Чена из SQL и DBML, приводит раскладку в порядок и выгружает SVG, PNG, drawio и HTML.

  • 194 ★ репозитория
  • Последний коммит
Скилл

Минимальный доступ

Почему такой уровень

  • Скилл запускает локальный скрипт и пишет файлы состояния и выгрузки рядом с вашим проектом.
Все причины и проверки

ystemsrx/sql-to-er

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/sql2er

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Минимальный доступИнструмент ничего не запускает и не ходит в сеть.

  • Скилл запускает локальный скрипт и пишет файлы состояния и выгрузки рядом с вашим проектом.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл `sql2er` работает с CLI `skills/sql2er/scripts/sql2er-agent.mjs`. Команда `generate --input schema.sql --state er.json` строит диаграмму Чена из операторов `CREATE TABLE` или кода DBML и сохраняет все в одном JSON-файле состояния. Флаг `--hide-attrs` убирает атрибуты для обзорной схемы, а `--comment` берет подписи из комментариев. Дальше агент читает диагностику `describe`: пересечения, наложения, несвязные компоненты. Раскладку правят командами `layout optimal`, `attrs compact`, `swap`, `move`, `nudge` и `rotate 90`, подписи связей задают через `labels`. Итог выгружается командой `export` в SVG, PNG, drawio или HTML, а перед сдачей агент смотрит картинку глазами. Для ручной подгонки HTML содержит встроенный редактор.

Для кого. Разработчикам и студентам, которым нужна аккуратная ER-диаграмма схемы базы без входа в онлайн-сервисы и ручной раскладки.

Подходит, если

  • Из файла `schema.sql` надо получить диаграмму Чена для отчета или курсовой работы.
  • Схему с десятками таблиц показывают как скелет без атрибутов для общего обзора.
  • Диаграмму из DBML экспортируют в drawio, чтобы дорисовать вручную.
  • Есть несколько несвязных групп таблиц, и их выгружают отдельными файлами с `--split`.

Не подходит, если

  • Нужна логическая модель, а не диаграмма Чена: автор советует dbdiagram.io.
  • Схема только в базе, а текста SQL или DBML нет.
  • Требуется реверс-инжиниринг подключением к работающей базе.

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

Построй диаграмму Чена из schema.sql, поправь раскладку так, чтобы не было пересечений, и выгрузи SVG и drawio.

Ограничения

Скилл строит диаграммы по тексту SQL или DBML и не подключается к базе. Видимость атрибутов задается при `generate`, экспорт ее не меняет. Повторная генерация сбрасывает позиции, поэтому подписи правят до подбора раскладки. Для запуска нужен Node.js. Лицензия AGPL-3.0 требует открывать код производных сетевых сервисов. Основная документация написана по-китайски. Перед сдачей экспортируйте SVG или PNG и просмотрите их: метки и узлы не должны накладываться.

Как отключить. Удалите папку скилла `sql2er` из каталога скиллов агента. Файлы состояния и выгрузки (`er.json`, `er.svg`) хранятся в вашем проекте, удалите их вручную.

Частые вопросы

Как поставить скилл?

Командой `npx skills add ystemsrx/sql-to-ER`. Скилл лежит в `skills/sql2er/`, рядом есть справочники `commands.md` и `data-model.md`.

Какие форматы выгрузки есть?

SVG, PNG, drawio, JSON и HTML. Для HTML задайте `--lang zh` или `--lang en`, если нужна переносимая страница с редактором.

Как скрыть атрибуты?

Добавьте `--hide-attrs` к `generate`. Видимость атрибутов задается при генерации, экспорт ее не меняет.

Как разобраться с пересечениями?

Запустите `layout optimal`, а для локального пересечения попробуйте `swap`. Если проблема в атрибутах, сравните `attrs compact` и `attrs moderate`.

Есть ли веб-версия?

Да, проект включает бесплатную веб-страницу на React и Vite, где вставляют SQL или DBML и получают диаграмму. Скилл использует тот же движок.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Официальный

MCP-сервер для редактора ERD-диаграмм: агент добавляет таблицы, связи и индексы, а правки сразу видны на холсте в VS Code, Obsidian и JetBrains

MCP-серверРасширенный доступ1,7 тыс.Звезды репозитория

Скилл визуализации данных для агентов: превращает данные в аккуратные интерактивные HTML-графики и целые отчеты с единым визуальным языком

СкиллМинимальный доступ6,8 тыс.Звезды репозитория

ReskillSQL разбирает неудачные SQL-запросы агента и выпускает версии скилла query-writing после проверки на отложенной выборке.

СкиллРасширенный доступ184Звезды репозитория

Python-библиотека и MCP-сервер отдают модели только нужные вопросу и разрешенные роли таблицы, сокращая схему в промпте

MCP-серверШирокий доступ136Звезды репозитория

Скилл и CLI для анализа таблиц: чистка с записанными решениями, статистика на нужном уровне, PDF-отчет и отдельный аудит.

СкиллРасширенный доступ96Звезды репозитория

Шаблон для аналитиков данных: AGENTS.md, CLAUDE.md и набор скиллов по Python, SQL, Polars и диагностике моделей.

СкиллМинимальный доступ115Звезды репозитория

Коротко о README

Проект начинался как бесплатная веб-страница без входа, потому что популярные сервисы требуют регистрации или платы и рисуют диаграммы неряшливо. Затем появился установщик скилла для агентов и CLI с состоянием в JSON.

Бейдж для README

Исходный SKILL.md

---
name: sql2er
description: Use when the user wants a Chen-model ER diagram from SQL CREATE TABLE statements or DBML, wants to rearrange or clean up an existing sql2er state, wants a skeleton-only overview with attributes hidden at generate time, or needs drawio/svg/png/json/html exports with final visual review.
---

# sql2er

Use the bundled CLI from the repo root:

```bash
AGENT=skills/sql2er/scripts/sql2er-agent.mjs
```

State lives in one JSON file passed with `--state <path>`; reuse the same state path for every command in a diagram session.

## Core workflow

1. Generate the diagram:

```bash
node $AGENT generate --input schema.sql --state er.json
```

Use `--hide-attrs` only when the user wants an overview/skeleton, the schema is dense, or attributes are not important. Attribute visibility is fixed at `generate`; export never adds or removes attributes. If fields, PKs, or column-level semantics matter, generate with attributes.

Use `--comment` when table/column/ref comments carry readable business labels. Set labels before tuning layout because regenerating resets positions.

If generated names are not semantic enough, relabel nodes before layout tuning:

```bash
node $AGENT labels mode comment --state er.json
node $AGENT labels set rel-orders-users-user_id-7 "placed by" --state er.json
node $AGENT labels batch --file labels.json --state er.json
```

2. Inspect diagnostics:

```bash
node $AGENT describe --state er.json
```

Use `DIAGNOSTICS` for structural decisions: crossings, overlaps, disconnected components, attribute overlaps, and attribute-line crossings. Use the ASCII map only as a rough orientation aid.
If `PARSER WARNINGS` is present, fix every reported issue. If an issue cannot be fixed, report it to the user.
Copy exact entity ids from the `ENTITIES` block for manual position edits.

Сообщить о проблеме