Анализатор SQL/1С-запросов
SQL Query Analyzer
Скилл на чистом Python разбирает пакетный запрос 1С на подзапросы и временные таблицы, строит граф зависимостей и отдает его в JSON
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Только текстовый разбор запроса, не обращается к базе данных и не выполняет запросы
- Результат работы это локальный JSON-файл или вывод в консоль
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/sql-query-analyzerОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a claude-code -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .claude/skills
cp -R "$tmp/skill" .claude/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a cursor -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a github-copilot -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .github/skills
cp -R "$tmp/skill" .github/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a codex -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a gemini-cli -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .devin/skills
cp -R "$tmp/skill" .devin/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Бывший Windsurf.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a cline -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .cline/skills
cp -R "$tmp/skill" .cline/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a roo -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .roo/skills
cp -R "$tmp/skill" .roo/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Форк Roo Code, папки .roo те же.
Выполните в терминале в папке проекта
npx skills add lytkinam/sql-query-analyzer --skill sql-query-analyzer -a opencode -yУтилита skills ставит текущую версию из репозитория. Чтобы скилл работал во всех проектах, добавьте флаг -g.
Без сторонних утилит, из коммита 949a20a
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Выполните в терминале в папке проекта
tmp=$(mktemp -d)
git clone --filter=blob:none --no-checkout https://github.com/lytkinam/sql-query-analyzer.git "$tmp"
git -C "$tmp" sparse-checkout set --no-cone /skill/
git -C "$tmp" checkout 949a20a9dacb7ca2f6adcd66da7c048ca0de4d8b
mkdir -p .agents/skills
cp -R "$tmp/skill" .agents/skills/sql-query-analyzerКоманды для macOS и Linux, на Windows выполните их в Git Bash.
Скопируй папку skill/ из репозитория lytkinam/sql-query-analyzer в каталог скиллов агента, зависимостей ставить не нужно, дальше вызови python analyze_1c_query.py <файл.sql> --detailed --summary из scripts/.
Другие способы из описания автора
git clone https://github.com/lytkinam/sql-query-analyzer.gitЗависимостей нет, только стандартная библиотека Python 3.8+.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Инструмент разбирает монолитный пакетный запрос на языке запросов 1С (или эквивалентный SQL) с командами ПОМЕСТИТЬ, ИЗ, СОЕДИНЕНИЕ, ОБЪЕДИНИТЬ ВСЕ, УНИЧТОЖИТЬ и вложенными подзапросами на управляемый набор узлов и строит граф зависимостей по временным таблицам. Результат это JSON с узлами (имя, тип: временная таблица, результат или подзапрос, развернутый текст, родитель, дети, читаемые таблицы, признак неиспользуемой заглушки) и ребрами зависимостей между ними, плюс список удаляемых временных таблиц. Работает как импортируемый Python-модуль, как CLI с чтением из файла или stdin и детальным режимом, где UNION разбивается на части. Зависимостей, кроме стандартной библиотеки Python 3.8+, нет. Отдельный SKILL.md оформляет проект как скилл с готовыми скриптами анализа и генерации Markdown-отчета.
Для кого. Для 1С-разработчиков и аналитиков, которым нужно быстро разобрать многослойный отчетный запрос на составные части и понять, какая временная таблица от какой зависит.
Подходит, если
- Нужно разобрать длинный пакетный запрос отчета на подзапросы и увидеть граф зависимостей временных таблиц
- Нужен JSON-формат для дальнейшей автоматической обработки структуры запроса
- Нужно найти неиспользуемые временные таблицы, созданные, но никем не читаемые
Не подходит, если
- Нужно выполнение запроса или оптимизация плана выполнения, а не структурный разбор текста
- Запрос использует синтаксис вне поддерживаемого набора команд, разбор может быть неполным
Пример запроса к агенту
Разбери этот пакетный запрос отчета на временные таблицы и покажи граф зависимостейОграничения
Поддерживаемый синтаксис ограничен таблицей из README: временные таблицы, источники, соединения, объединение, уничтожение, псевдонимы, комментарии и вложенные подзапросы, более сложные конструкции языка запросов 1С могут разбираться некорректно. Инструмент чисто структурный: он не проверяет запрос на ошибки исполнения и не обращается к базе данных.
Как отключить. Удалите папку скилла из каталога скиллов вашего агента или клон репозитория.
Проверка безопасности
- Только текстовый разбор запроса, не обращается к базе данных и не выполняет запросы
- Результат работы это локальный JSON-файл или вывод в консоль
Коротко о README
README дает таблицу соответствия синтаксиса 1С и SQL, установку без зависимостей, три способа запуска (Python-модуль, CLI из файла или stdin, детальный режим), параметры функции analyze_sql_query и полное описание формата результата с полями узлов и ребер. Отдельно упомянуты тесты через tests.py и структура проекта из четырех файлов. Лицензия в README не указана явно.
SKILL.md
--- name: sql-query-analyzer description: | Анализатор пакетных SQL/1C-запросов. Разбирает запрос на подзапросы, строит граф зависимостей по временным таблицам (ВТ) и возвращает JSON. Применяется для структурного разбора сложных 1С-запросов отчетов НПО (в частности, форма 0420258 и других многослойных запросов). --- # SQL-QUERY-ANALYZER - Skill анализа 1C/SQL-запросов ## Назначение Разбор монолитных пакетных запросов 1С (ВЫБРАТЬ / SELECT с ПОМЕСТИТЬ / INTO) на управляемый набор компонентов с построением графа зависимостей.
Частые вопросы
Нужны ли внешние библиотеки?
Нет, инструмент использует только стандартную библиотеку Python 3.8+.
Что означает detailed режим?
В нем узлы ОБЪЕДИНИТЬ ВСЕ/UNION ALL разбиваются на дочерние узлы Часть_N вместо одного общего узла.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything