api-design
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Диагностика BSL и объяснение отключений правил. Используй, когда нужно запустить или разобрать диагностики BSL, АПК, EDT, BSL LS, inline/range disable markers, suppression-комментарии или стандарт v8std за диагностикой.
$ npx -y skills add IngvarConsulting/unica --skill code-diagnostics --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/code-diagnosticsContext preview
The summary Claude sees to decide when to auto-load this skill.
Диагностика BSL и объяснение отключений правил. Используй, когда нужно запустить или разобрать диагностики BSL, АПК, EDT, BSL LS, inline/range disable markers, suppression-комментарии или стандарт v8std за диагностикой.
name: code-diagnostics description: "Диагностика BSL и объяснение отключений правил. Используй, когда нужно запустить или разобрать диагностики BSL, АПК, EDT, BSL LS, inline/range disable markers, suppression-комментарии или стандарт v8std за диагностикой."
у модуля это BSL-анализатор, у объекта метаданных — его собственные проверки. Выбирать провайдера или действие не нужно. Без `at` проверяется готовность наборов исходников рабочего пространства.
пропуску. Для первой страницы курсор отсутствует, а пустая строка тоже означает первую страницу. `limit` задаёт размер страницы: по умолчанию 20, максимум 50. Продолжай по возвращённому `cursor` с теми же адресом и размером страницы; вердикт относится ко всем находкам, даже если они ещё не прочитаны.
отработали, и `diagnostics` — находки с кодом, важностью, местом и стандартом. Провалом считается `error`, а не всякая пометка: подсказка по стилю модуль не ломает.
названных фильтров `data.suppressed`.** Если анализ не завершился, `check` отказывает `provider_unavailable` и прямо говорит, что модуль не проверен. Отдельного вопроса о готовности провайдера больше нет: чистый ответ и неотработавший провайдер теперь различимы по самому ответу.
`[diagnostics.baseline]`, `passed` значит «прошёл после фильтра базовой линии»: `data.suppressed` называет его — сколько известных находок скрыто (`known`) и сколько новых осталось (`new`), с `by: baseline` и тегами поставщика/валидатора. Сломанная линия (нет файла, неверная схема) — не «чисто»: `check` отказывает и называет её причину.
передаёт их число. При действующем `[analysis].ignored_authors` (или `analysis.ignoredAuthors` в JSON) `check` отказывает `provider_unavailable` с причиной про авторский фильтр. Назови это ограничение проверки; не выдумывай число и не объявляй модуль чистым. `diff_base` сам по себе не мешает проверке одного модуля: Unica задаёт его полный модульный scope.
по имени. Если отправная точка — путь из диффа или лога сборки, переведи его в адрес аварийным `unica.resolve`; в обычном ходе работы он не нужен.
`source: "development-standard"`. Не зови анализатор, стандарты или пакетные адаптеры напрямую.
`symbol` по индексу символов, `semantic` по смыслу. Без `role` Unica ищет литерал сама.
Называй это пробелом контракта, а не обходи стороной:
всех модулей одним вызовом нет;
фильтрует находки;
Влияние правки оценивай графом вызовов: узел метода называет ветви `Caller` и `Callee`, и `unica.view {at: "<метод>.Caller"}` возвращает вызывающих.
1. Получи адрес узла: `unica.view {}` называет наборы исходников, `unica.search {corpus: "names"}` находит объект по имени, `unica.view {at}` спускается по дереву. У владельца есть ветвь `Module`, у модуля — `Method`. 2. Вызови `unica.check {at}` на модуле или объекте. Прочти `status`, `validators`, `diagnostics` и `data.suppressed`; при отказе прочти названную причину неполноты. 3. Сгруппируй находки по месту, коду и первопричине. Иди за точным диапазоном в самой находке. 4. Разгляди предмет: `unica.view {at}` на узле метода даёт подпись, контекст компиляции и собственные строки; `unica.search` находит вхождения. 5. Спроси стандарт: `unica.docs` с `source: "development-standard"` по коду, имени диагностики, токену АПК/EDT/BSL LS или соседнему фрагменту. 6. Отчитайся: причина в исходнике, затронутые диагностики, логический адрес и место, доказательство из стандарта, результат перепроверки.
This verification gate is mandatory:
считай новые находки важности `error` блокирующими.
публичного API, пути запроса или контракта общего модуля. Пока графа вызовов на поверхности нет, доказательством служит `unica.search` по имени символа — и скажи, что доказательство неполное.
пробеле контракта вместо заявления о полной проверке.
Когда inline/range disable markers или suppression-комментарии отключают диагностику строки или диапазона, считайте точный маркер частью доказательства.
Проверка одного модуля:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.check",
"arguments": { "at": "main:CommonModule.Продажи" }
}
}Стандарт за диагностикой:
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "unica.docs",
"arguments": {
"query": "АПК:14Unica (Ю́ника) — плагин для Codex, Claude Code и ZCode для разработки на 1С:Предприятии.
Проектирование и ревью API 1С: публичный программный интерфейс, служебный интерфейс, переопределяемые модули, совместимость,…
Автономный сервер отладки 1С. Используй когда нужно развернуть или проанализировать локальный автономный контур для отладки…
Фоновые и регламентные задания 1С. Используй когда нужно спроектировать, проверить или диагностировать background jobs,…
Поиск и применение паттернов БСП. Используй когда задача про длительные операции, профили групп доступа, безопасное хранение,…
Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из…
Создать пустую конфигурацию 1С (scaffold XML-исходников). Используй когда нужно начать новую конфигурацию с нуля