Анализатор SQL/1С-запросов

SQL Query Analyzer

Скилл на чистом Python разбирает пакетный запрос 1С на подзапросы и временные таблицы, строит граф зависимостей и отдает его в JSON

Скилл

Низкий риск

Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.

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

  • Только текстовый разбор запроса, не обращается к базе данных и не выполняет запросы
  • Результат работы это локальный JSON-файл или вывод в консоль
Все причины и проверки
Российский стек

lytkinam/sql-query-analyzer

Установка

В терминале, через 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.

Понадобится: Node.js

Сверено с репозиторием 25 сент. 2026, коммит 949a20a.

Текст для агента

Скопируй папку 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, субагенты и ревью кода

ПлагинСредний рискБез VPN292,5 тыс.Звезды репозитория
Выбор редакции

Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура

СкиллНизкий риск271,4 тыс.Звезды репозитория
Выбор редакции

Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации

CLIСредний рискБез VPN139,3 тыс.Звезды репозитория

Референсные MCP-серверы

Model Context Protocol servers

Официальный

Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything

MCP-серверСредний риск90,6 тыс.Звезды репозитория
Foxx AIАнализатор SQL/1С-запросов

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.