framework/skills/tool-usage/code-analysis/syntax-checking/SKILL.md
Проверка синтаксиса (Syntax Checking). Навык учит агента **правильно использовать возможности проверки синтаксиса** BSL-кода.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework syntax-checkingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Любое изменение BSL-кода → немедленная проверка. Без проверки агент может «успешно» завершить задачу с нерабочим кодом.
Два уровня проверки — разная стоимость:
| Инструмент | Скорость | Когда использовать |
|------------|----------|-------------------|
| get_diagnostics (LSP) | Быстро (секунды) | После каждого изменения, промежуточные проверки |
| v8-runner syntax … | Медленно (десятки секунд — минуты) | Финальная проверка: перед коммитом, перед PR, после крупного рефакторинга |
Серверная проверка теперь делается только через CLI v8-runner — отдельные MCP-tools check_syntax/build_project/dump_config упразднены. Подробности команд и правил выбора — в навыке v8-runner (framework/skills/tool-usage/v8-runner/).
| Триггер | Действие |
|---------|----------|
| После изменения BSL-кода | get_diagnostics — быстрая проверка |
| Итеративная правка (цикл edit → check) | get_diagnostics |
| После рефакторинга / rename_symbol | get_diagnostics по затронутым файлам |
| Ошибка компиляции | get_diagnostics для локализации |
| Перед коммитом / перед PR | v8-runner syntax … — финальная проверка |
| Завершение задачи | v8-runner syntax … — финальный вердикт |
get_diagnostics(uri) — LSP-диагностика изменённого файла.error-уровень — исправить и повторить.warning — оценить критичность.Выбор команды зависит от format/builder в v8project.yaml (см. v8-runner/references/config-and-backends.md):
# Designer-модули (требует Designer + Designer-формат)
v8-runner build
v8-runner syntax designer-modules --server --thin-client
# Designer-конфигурация
v8-runner build
v8-runner syntax designer-config
# EDT
v8-runner build
v8-runner syntax edt
Тесты (v8-runner test yaxunit …, test va) делают build сами — отдельный build перед ними не нужен.
При расхождении LSP и v8-runner syntax — ориентироваться на v8-runner как финальный вердикт.
| Поле | Действие |
|------|----------|
| success: true | Продолжать |
| success: false | Исправить errors (каждая: file, line, message, severity) |
| warnings | Оценить критичность |
| Таймаут | Сузить scope (--source-set <NAME>) или вернуться к LSP по конкретным модулям |
Severity: error (блокирует компиляцию) > warning > information / hint.
Suppression-комментарий — это улика, а не декоративный шум. Из него извлекают конкретные коды и проверяют обоснованность отключения.
| Инструмент | Синтаксис |
|------------|-----------|
| АПК | //{ АПК:142 - комментарий … //} |
| BSL Language Server | // BSLLS:LineLength-off … // BSLLS:LineLength-on |
| EDT | // @suppress-warning("module-empty-method") или //@skip-check |
ask_1c_ai («расшифруй диагностику АПК:142»); для BSL LS — ITS-документация по имени правила; для EDT — документация правил EDT.Комментарий не содержит ни кода диагностики, ни ссылки на стандарт — обязательно флагировать для ревью.
// Плохо — нет кода, нет обоснования:
// BSLLS:LineLength-off
ОченьДлиннаяСтрокаБезПояснения = ...
// BSLLS:LineLength-on
// Хорошо — код + диапазон + обоснование:
// BSLLS:LineLength-off // АПК:142: строка формирования запроса, разбиение ухудшает читаемость (ITS: стандарт 720)
ТекстЗапроса = "SELECT ... FROM ...";
// BSLLS:LineLength-on
| Capability / CLI | Назначение | Стоимость |
|------------------|------------|-----------|
| get_diagnostics (MCP lsp-bsl-bridge) | LSP-диагностика файла | Быстро — основной инструмент |
| v8-runner syntax designer-modules | Проверка Designer-модулей через платформу | Медленно — только финальная проверка |
| v8-runner syntax designer-config | Проверка Designer-конфигурации | Медленно |
| v8-runner syntax edt | Проверка EDT-проекта | Медленно |
v8-runner syntax … может занимать десятки секунд — минуты. Для длительных прогонов используй инструмент Monitor:
Bash run_in_background: true), перенаправь stdout в файл лога.ERROR:|error:|Ошибок:|success — уведомление придёт при первом совпадении.error: / Ошибок: 0 / success.Для коротких прогонов (--source-set <NAME>) Monitor не обязателен — достаточно синхронного запуска.
| Ошибка | Обходной путь |
|--------|---------------|
| LSP не запущен | v8-runner syntax … как fallback |
| Команда syntax … не поддерживается для текущего format/builder | См. v8-runner/references/config-and-backends.md; не изобретать raw 1cv8/ibcmd-флаги |
| Таймаут на полной проверке | Сузить через --source-set <NAME>; LSP по конкретным модулям |
| Проект EDT не найден | Проверить format/builder и source-set в v8project.yaml |
| Непонятные errors | navigate_symbol к месту ошибки; ask_ai_assistant |
depends_on:
tools
Diagnostics for Vanessa Automation runs. Use when a feature scenario failed, artifacts were not created, or you need to classify a failure after launch.
tools
Creating and refining Vanessa Automation feature scenarios based on real project requirements. Use when you need to write or update a scenario test, not just run it.
tools
--- name: v8-session-manager description: Use when working with the 1С session manager (v8-session-manager) - launch, configuration, connecting 1С clients, reading session_list, calling proxied MCP-tools from 1С extensions, diagnostics. Triggers: mention of `v8-session-manager`, `session_list`, 1С extension MCP showcase, error “no active sessions” / “session_id required”, connecting a client to the manager via `mcpMode=ws`. provides_capabilities: # Built-in manager tools — always available whi
tools
Use when Codex needs to manage v8-runner on local 1C projects through the CLI: configure v8project.yaml, initialize infobases or EDT workspaces, build sources from Designer or EDT, run syntax checks and tests, dump infobase changes, convert source formats, load or export artifacts, launch 1C clients, or choose safe 1C automation command sequences.