Разработка и код-ревью на 1С:Предприятие 8.3 (BSL) с проверкой по РЕАЛЬНОМУ коду через MCP, а не по памяти. Используй всякий раз, когда пишешь, правишь или ревьюишь BSL-код, работаешь с общими модулями, формами, запросами, СКД, регистрами, ролями; реализуешь задачу по ЧТЗ/тех-проекту; ищешь, как устроена типовая конфигурация или что уже есть в расширении; или отвечаешь на технический вопрос «как сделать в 1С» и «где это в коде». Срабатывай даже без слов «BSL/код/ревью», если речь о реализации...
Installs into .claude/skills of the current project.
Are you the author of 1c Dev?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/vgtitov-1c-dev)
---
name: 1c-dev
description: >
Разработка и код-ревью на 1С:Предприятие 8.3 (BSL) с проверкой по РЕАЛЬНОМУ коду через MCP, а не по памяти.
Используй всякий раз, когда пишешь, правишь или ревьюишь BSL-код, работаешь с общими модулями, формами,
запросами, СКД, регистрами, ролями; реализуешь задачу по ЧТЗ/тех-проекту; ищешь, как устроена типовая
конфигурация или что уже есть в расширении; или отвечаешь на технический вопрос «как сделать в 1С» и «где это в
коде». Срабатывай даже без слов «BSL/код/ревью», если речь о реализации/правке в 1С. Нужны ДАННЫЕ живой/файловой
базы (посчитать записи, прочитать регистр, подключиться и проверить через OData) — это НЕ задача этого скилла:
вызывай `1c-tester` — он выбирает уровень в фиксированном порядке: чувствительные данные (персональные,
платёжные, зарплатные) предпочтительно через ось доступа даже при разовом чтении, а без публикации
допустим и раннер, но тогда результат обезличивает человек РУКАМИ перед отчётом, показом вовне или
передачей AI (§B.2 `references/data-access-verification.md`); разовое чтение нечувствительного
закрывается ступенью 2 (батч ENTERPRISE + раннер-EPF, без публикации и без отладочного расширения, но с
правами конфигуратора на сборку раннера); повторяемый и интерактивный доступ — по
`references/data-access-verification.md` (автономный сервер, поправки на кодировку кириллицы,
диагностика по коду ответа); не изобретай доступ вручную
(COM/скрипты) и не иди за инструкцией напрямую в `docs/data-access-architecture.md` — это документ дизайна и
обоснования, а не пошаговый рецепт. Железное правило: НЕ
выдумывай поведение 1С и сигнатуры — проверяй по реальному коду через MCP и справку платформы, после правки
прогоняй BSL Language Server. Анализ/архитектура — скилл `1c-analyst`.
---
# Разработка 1С (BSL) — писать корректный и производительный код по реальному коду
## Локализация (сначала, если есть)
Если в скилле есть каталог `references/local/` — прочитай его ПЕРЕД работой: `version-stack.md`
(версии платформы/библиотек, режим совместимости, префиксы ТВОЕЙ компании) и остальные карты.
При противоречии локальное побеждает generic. Контракт — `docs/SKILL_LOCALIZATION.md` toolkit.
Скилл разработчика: писать prod-ready BSL и ревьюить его по реальному коду и стандартам, не по памяти.
Адаптируется под любую конфигурацию/расширение — заполни конвенции своего проекта (см. ниже).
## Главное правило: спроси инструмент, не угадывай
Нейросеть врёт в деталях 1С. Источник истины — реальный код и официальная справка:
- **Перед написанием** — найди, как уже сделано: MCP-поиск по коду (find/search/read), затем grep по клонам.
Сигнатуры встроенных функций — справка платформы (MCP справки платформы под твою версию).
- **После правки** — прогони **BSL Language Server** (синтаксис + стандарты ИТС). До 3 циклов автоисправления.
- **Гвард производительности (ENFORCED)** — прогони детектор «обращение к БД в цикле»:
`python scripts/bsl_guard.py <изменённые .bsl>` (exit 1 = находки). Ловит Запрос…Выполнить()/`.ПолучитьОбъект()`/
`.Ссылка.<Реквизит>` внутри `Пока/Для` (баг печатной формы). То же на коммите — pre-commit хук на staged `*.bsl`.
- Нет поведения ни в коде, ни в справке — так и скажи. Механизм без сверки помечай **[проверить]**, не «верно».
Алгоритм поиска (MCP-first): `find_object` → `search` → `read_module` → grep по клонам. Параметром `scope`
ограничивай слой/контур или расширяй на все (`scope` задаётся в `config/layers.*.toml`; без конфига — все слои).
**Не делай вывод об отсутствии по непросмотренному слою.**
Когда файл уже найден и вопрос точечный (что вызывает эту функцию, где она объявлена, какой тип у выражения,
не сломает ли правку сигнатуры другой контекст вызова) — не гадай по тексту и не грепай заново: `bsl-ls-native`
(MCP `≥1.0`, JDK 21+) даёт `definition`/`find_references`/`call_hierarchy`/`hover`/`type_at_position` семантически,
без ложных совпадений по имени. Справка по глобальным функциям/типам платформы (сигнатуры, since/deprecated,
примеры) — тем же MCP: `global_member_info`/`global_member_search`/`type_info`.
Частые провалы AI в 1С и контр-приёмы (чек-лист самопроверки перед выдачей кода) — `references/ai-pitfalls.md`.
## Версионный стек — НАСТРОЙ ПОД СВОЙ ПРОЕКТ
Зафиксируй у себя (в `CLAUDE.md`/правилах) и СТРОГО соблюдай: версия платформы, **режим совместимости**,
версия конфигурации, версии библиотек (БСП и др.). Принцип: справку брать по версии платформы, но НЕ предлагать
API, недоступный в твоём режиме совместимости. Справка БСП — по реальной БСП своей версии (клон `1c-syntax/ssl_3_1`
или БСП внутри конфигурации).
## Запреты AI и IDE-гейт (структуру меняет человек в IDE)
Структуру конфигурации — объекты метаданных, формы, макеты, СКД, роли — создаёт/меняет ТОЛЬКО человек в IDE
(**1C:EDT** или **Конфигуратор**), не AI и не текстовый редактор. IDE — источник истины структуры и фильтр
результатов AI. Поэтому **AI НЕ делает:** создание/удаление/переименование объектов метаданных; правку
XML-метаданных, форм, макетов, СКД текстом; массовое изменение структуры исходников вне IDE; загрузку в ИБ
невалидированного IDE; передачу в AI конфиденциальных/перс-данных. **AI МОЖЕТ:** анализ/навигация BSL;
спецификации/заметки; генерация и правка `*.bsl` — **если объекты метаданных уже созданы в IDE**; рефакторинг;
анализ зависимостей; патчи/diff. Любое AI-изменение человек принимает осознанно после проверки в IDE.
## Слои контура — искать в обоих
Контур = конфигурация (основа) + подключённое расширение. Искать функционал в ОБОИХ слоях. Правки — в расширение
(типовую держать read-only baseline, встраиваться через переопределяемые/подписочные механизмы). Где какой слой и
твои конвенции — см. `references/conventions-template.md`.
## Reuse-first, БСП и производительность (prod-ready)
Прежде чем писать свою утилиту — ищи готовое в БСП и типовой (через MCP). Топ-методы БСП —
`references/bsp-reuse.md` (реквизиты пачкой, массивы/строки/данные). Производительность и кэширование —
`references/performance.md` (ПовтИсп, минимизация серверных вызовов, чтение пачкой, длительные операции,
паттерны, измерение). Стандарты кода и производительные запросы — `references/code-standards.md`. Правило:
сначала измерь узкое место, потом оптимизируй его.
## Рабочий цикл реализации (тех-проект → атомы → код → передача) — ОПЕРАЦИОННОЕ ЯДРО
Полностью — в **`references/dev-workflow.md`**. Кратко: 0) понять вход и сверить по коду; 1) декомпозиция на
атомарные задачи с исполнителем **[Разработчик/IDE]** или **[AI/код]**; 2) инструкции разработчику по НЕ-коду
(что создать в IDE) ДО кода; 3) написать код, сверяя по MCP; 4) проверка и тесты (BSL LS + сверка с приёмкой +
собственные проверки сложных мест); 5) финал prod-ready и передача пакетом. Ключевое разделение:
**структуру (метаданные/формы/СКД/права) — человек в IDE ИЛИ инструмент `1c-metadata` в пределах карты покрытия
(форматы Конфигуратора и EDT, тест-база + round-trip); код пишет и проверяет AI.**
Команда в 1C:EDT с исходниками в git — модель веток, merge request, что кладём в репозиторий и
затруднения перехода с хранилища конфигураций: **`references/edt-git-workflow.md`**. Настройка рабочего
места (платформа, Java, память IDE, каталоги, лицензия) — `docs/edt-workstation.md` toolkit'а.
## Лестница тестирования (проверка «работает» — по ступеням)
Канон — **`docs/testing-ladder.md`**, настройка агентом — `onboard/TESTING_SETUP.md`. Всегда самая нижняя
достаточная ступень: 0 статика (bsl_guard/bsl-gate/scd validate — enforced в pre-commit и upload_tree);
1 batch DESIGNER round-trip; 2 смоук-раннер (`apply.smoke` — печатные формы/СКД реально формируются, вердикт
только по файлу-результату); 3 веб-смоук (публикация «работает» = строка 200 в access.log); 4 фреймворки
(Vanessa Automation/YAxUnit/Тестер) для команд/CI. «Готово» без артефакта проверки соответствующей ступени
НЕ объявляется.
## Роли-режимы (под задачу — переключай фокус)
developer (реализация по тех-проекту) · reviewer (ревью по стандартам и устойчивости) · refactor (читаемость без
смены поведения) · performance (запросы/блокировки/кэш) · error-fixer (багфикс: сначала анализ контекста и причины).
## Механические операции с платформой
Компиляция/дамп/валидация форм, СКД, ролей — `references/platform-ops.md` (набор `cc-1c-skills`, нужна 1С-платформа).
Поведение API управляемой формы, которое ловится только рантаймом (нет плоского обхода `Элементы`,
тайминг команд командного интерфейса, команда формы не перехватывается расширением, `Параметры` вне
вызова создания, заимствованная форма) — `references/platform-form-api.md`.
## Безопасность
Токены — только в env/keychain, НИКОГДА в чат/репозиторий. Конфиденциальные/персональные данные в AI не передавать.