sql2er — скилл
Скилл строит ER-диаграммы в нотации Чена из SQL и DBML, приводит раскладку в порядок и выгружает SVG, PNG, drawio и HTML.
- 194 ★ репозитория
- Последний коммит
Минимальный доступ
Почему такой уровень
- Скилл запускает локальный скрипт и пишет файлы состояния и выгрузки рядом с вашим проектом.
Установка
- Работает в
В терминале, через 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
Скилл визуализации данных для агентов: превращает данные в аккуратные интерактивные HTML-графики и целые отчеты с единым визуальным языком
ReskillSQL разбирает неудачные SQL-запросы агента и выпускает версии скилла query-writing после проверки на отложенной выборке.
Python-библиотека и MCP-сервер отдают модели только нужные вопросу и разрешенные роли таблицы, сокращая схему в промпте
Скилл и CLI для анализа таблиц: чистка с записанными решениями, статистика на нужном уровне, PDF-отчет и отдельный аудит.
Шаблон для аналитиков данных: AGENTS.md, CLAUDE.md и набор скиллов по Python, SQL, Polars и диагностике моделей.
Коротко о 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.