Nick Shirokov 9cbda1989a test(meta-compile/document-journal): preRun creates documents with referenced attributes
Journal column references require the referenced document attribute to
actually exist at load time. Previously the test DSL relied on the
verify-snapshots stub mechanism, which creates minimal Document stubs
without the specific attributes the column refs point to → load failed
with "Неизвестный объект метаданных - Document.ПриходнаяНакладная.Attribute.Склад".
This was listed as D5 in the 2026-04-05 FINDINGS log ("low priority,
complex to implement").

Now the test case declares preRun steps that create both documents
with the exact attributes its journal columns reference (Склад on one,
Контрагент on both). Column "Контрагент" gained explicit references
(was a shorthand string before) because the platform rejects journal
columns without at least one reference at load time.

Regenerated the snapshot (gained Documents/ subtree from preRun output).
verify-snapshots --skill meta-compile is now 30/30 green with -StrictLog.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:00:34 +03:00
2026-02-11 11:35:47 +03:00

1C Skills for Claude Code

Work in progress — навыки находятся в стадии тестирования, отладки и оптимизации.

Набор навыков для AI-агентов (в первую очередь для Claude Code), помогающий охватить полный цикл разработки на платформе 1С:Предприятие 8.3 — от создания конфигураций, расширений, внешних обработок и отчётов до загрузки изменений в информационную базу, обновления, запуска, публикации на веб-сервере (портативная версия Apache), тестирования через веб-клиент и записи видеоинструкций.

Навыки дают модели готовые абстракции над XML-форматами и CLI конфигуратора — чтобы работать с сутью задачи, а не с деталями реализации. А веб-тестирование даёт ей глаза и руки для взаимодействия с интерфейсом 1С.

Быстрый старт

Скопируйте каталог .claude/skills/ из этого репозитория в корень вашего проекта. Навыки станут доступны при запуске Claude Code из этого каталога.

МойПроект/
├── .claude/skills/    ← скопировать сюда
└── ...

Или используйте скрипт установки:

git clone https://github.com/Nikolay-Shirokov/cc-1c-skills.git tools/cc-1c-skills

# Копия (рекомендуется): независимая копия, обновление — повторный запуск
python tools/cc-1c-skills/scripts/switch.py claude-code --project-dir .

# Ссылки (экспериментально): обновления подхватываются через git pull
python tools/cc-1c-skills/scripts/switch.py claude-code --project-dir . --link

# Интерактивный режим: пошаговый выбор платформы, способа установки и рантайма
python tools/cc-1c-skills/scripts/switch.py

Не обязательно запоминать команды и параметры — просто опишите задачу своими словами, Claude сам подберёт нужные навыки. Слеш-команды (например /epf-init МояОбработка) тоже работают — для точного контроля.

Группы навыков

Группа Навыки Описание Гайд
Внешние обработки (EPF) 7 навыков /epf-* Создание, сборка, разборка, валидация обработок из XML-исходников Подробнее
Внешние отчёты (ERF) 4 навыка /erf-* Создание, сборка, разборка, валидация внешних отчётов Подробнее
Универсальные операции /template-add, /template-remove, /help-add, /form-remove Добавление/удаление макетов, форм, справки для любых объектов Подробнее
Табличный документ (MXL) 4 навыка /mxl-* Анализ, создание, компиляция макетов печатных форм Подробнее
Управляемые формы (Form) 6 навыков /form-* Создание, анализ, генерация, модификация, валидация управляемых форм Подробнее
Роли (Role) 3 навыка /role-* Анализ прав роли, создание из JSON DSL, валидация Подробнее
Схема компоновки (СКД) 4 навыка /skd-* Анализ, генерация из JSON DSL, точечное редактирование, валидация схем компоновки данных Подробнее
Метаданные конфигурации 5 навыков /meta-* Создание, анализ, редактирование, удаление, валидация объектов метаданных (23 типа) Подробнее
Корневая конфигурация 4 навыка /cf-* Создание, анализ, редактирование, валидация корневых файлов конфигурации Подробнее
Расширения (CFE) 5 навыков /cfe-* Создание, заимствование, перехват методов, валидация, анализ расширений Подробнее
Подсистемы (Subsystem) 4 навыка /subsystem-* Анализ, создание, редактирование, валидация подсистем конфигурации Подробнее
Командный интерфейс (CI) 2 навыка /interface-* Редактирование и валидация CommandInterface.xml подсистем Подробнее
Базы данных (DB) 9 навыков /db-* Создание баз, загрузка/выгрузка конфигураций, обновление БД, загрузка из Git Подробнее
Веб-публикация (Web) 4 навыка /web-* Публикация баз через Apache, статус, остановка, удаление публикаций Подробнее
Тестирование (Web) /web-test Взаимодействие с веб-клиентом 1С — навигация, формы, таблицы, отчёты, тестирование Подробнее
Запись видео (Web) /web-test Запись видеоинструкций с субтитрами, подсветкой и TTS-озвучкой Подробнее
Утилиты /img-grid Наложение сетки на изображение для определения пропорций колонок

Требования

  • Windows с PowerShell 5.1+ (входит в Windows) — рантайм по умолчанию
  • 1С:Предприятие 8.3 — для сборки/разборки EPF/ERF (навыки генерации XML работают без платформы)
  • Node.js 18+ — для /web-test (тестирование через браузер)

Другие AI-платформы

Навыки построены на открытом стандарте Agent Skills и совместимы с любой платформой, поддерживающей этот формат. Скрипт switch.py копирует навыки в нужный каталог с перезаписью путей:

python scripts/switch.py                                       # интерактивный режим
python scripts/switch.py cursor                                # скопировать навыки для Cursor
python scripts/switch.py cursor --runtime python               # Cursor + Python-рантайм
python scripts/switch.py claude-code --project-dir /my/proj    # установить копию в проект
python scripts/switch.py claude-code --project-dir /my/proj --link  # ссылки вместо копий
python scripts/switch.py --undo cursor                         # удалить копию / ссылки

Если репозиторий склонирован внутрь проекта (например, в tools/cc-1c-skills), используйте --project-dir для установки навыков в целевой проект.

Ссылки vs копии. Флаг --link (экспериментальный) создаёт directory junction (Windows) или symlink (Linux/Mac) вместо копирования файлов. Обновления в источнике автоматически подхватываются во всех подключённых проектах — достаточно git pull. Ссылки доступны только для платформы Claude Code (для остальных платформ требуется перезапись путей в SKILL.md). Удаление ссылок: --undo — безопасно удаляет только ссылки, не трогая источник.

Известные ограничения --link: Node.js резолвит __dirname через junction к реальному пути источника, а не к каталогу проекта. Это может приводить к тому, что навыки с Node.js-скриптами (например, /web-test) будут записывать файлы в каталог репозитория навыков вместо каталога проекта. При возникновении проблем переключитесь на копирование (без --link).

Поддерживаемые платформы:

Платформа Целевой каталог switch.py <platform>
Claude Code .claude/skills/ claude-code
Augment .augment/skills/ augment
Cline .cline/skills/ cline
Cursor .cursor/skills/ cursor
GitHub Copilot .github/skills/ copilot
Kilo Code .kilocode/skills/ kilo
Kiro .kiro/skills/ kiro
OpenAI Codex .codex/skills/ codex
Gemini CLI .gemini/skills/ gemini
OpenCode .opencode/skills/ opencode
Roo Code .roo/skills/ roo
Windsurf .windsurf/skills/ windsurf
Agent Skills .agents/skills/ agents

Некоторые платформы (Augment, Cline, VS Code/Copilot) также сканируют .claude/skills/ как fallback — для них копирование необязательно, но switch.py даёт явный контроль над путями.

Автоактивация — основной режим: просто опишите задачу своими словами, ассистент сам подберёт нужный навык по description в SKILL.md. Слеш-команды (например /epf-init) — для точного контроля, когда нужно вызвать конкретный навык.

Переключение рантайма (PowerShell ↔ Python)

На Windows рекомендуется PS1-рантайм (по умолчанию). Python-порты — для Linux/Mac или если PowerShell недоступен. PS1-скрипты — мастер-версия; Python-порты производные (см. Python Porting Guide).

python scripts/switch.py --runtime python      # переключить на Python
python scripts/switch.py --runtime powershell  # вернуть на PowerShell

Дополнительные зависимости Python-рантайма:

  • lxml>=4.9.0 — для навыков, работающих с DOM (edit/validate/info)
  • psutil>=5.9.0 — для web-навыков (управление Apache)

Параметры скриптов идентичны для обоих рантаймов — переключение меняет только интерпретатор в вызовах. Подробнее: Python Porting Guide.

Спецификации

Полный индекс с оглавлением по всем 44 типам объектов: Сводный индекс спецификаций

Структура репозитория

.claude/skills/          # Навыки Claude Code
├── epf-init/            # Создание обработки
├── epf-add-form/        # Добавление формы к обработке
├── epf-build/           # Сборка EPF
├── epf-dump/            # Разборка EPF
├── epf-bsp-init/        # Регистрация БСП
├── epf-bsp-add-command/ # Команда БСП
├── epf-validate/        # Валидация обработки
├── erf-init/            # Создание внешнего отчёта
├── erf-build/           # Сборка ERF
├── erf-dump/            # Разборка ERF
├── erf-validate/        # Валидация отчёта
├── template-add/        # Добавление макета (универсальный)
├── template-remove/     # Удаление макета (универсальный)
├── form-add/            # Добавление формы (универсальный)
├── form-remove/         # Удаление формы (универсальный)
├── help-add/            # Добавление справки (универсальный)
├── mxl-info/            # Анализ макета
├── mxl-validate/        # Валидация макета
├── mxl-compile/         # Компиляция макета из JSON
├── mxl-decompile/       # Декомпиляция макета в JSON
├── form-info/           # Анализ структуры управляемой формы
├── form-compile/        # Компиляция формы из JSON
├── form-validate/       # Валидация формы
├── form-edit/           # Добавление элементов в форму
├── form-patterns/       # Справочник паттернов компоновки форм
├── role-info/           # Анализ прав роли
├── role-compile/        # Создание роли из JSON DSL
├── role-validate/       # Валидация роли
├── skd-info/            # Анализ схемы компоновки данных
├── skd-compile/         # Компиляция СКД из JSON DSL
├── skd-edit/            # Точечное редактирование СКД (25 операций)
├── skd-validate/        # Валидация СКД
├── meta-info/           # Структура объекта метаданных
├── meta-compile/        # Создание объекта метаданных
├── meta-edit/           # Редактирование объекта метаданных
├── meta-remove/         # Удаление объекта метаданных
├── meta-validate/       # Валидация объекта метаданных
├── cf-info/             # Анализ структуры конфигурации
├── cf-init/             # Создание пустой конфигурации
├── cf-edit/             # Редактирование конфигурации
├── cf-validate/         # Валидация конфигурации
├── cfe-init/            # Создание расширения
├── cfe-borrow/          # Заимствование объектов
├── cfe-patch-method/    # Перехват методов
├── cfe-validate/        # Валидация расширения
├── cfe-diff/            # Анализ и сравнение
├── subsystem-info/      # Анализ структуры подсистемы
├── subsystem-compile/   # Создание подсистемы из JSON
├── subsystem-edit/      # Редактирование подсистемы
├── subsystem-validate/  # Валидация подсистемы
├── interface-edit/      # Редактирование CommandInterface.xml
├── interface-validate/  # Валидация CommandInterface.xml
├── db-list/             # Управление реестром баз данных
├── db-create/           # Создание информационной базы
├── db-dump-cf/          # Выгрузка конфигурации в CF
├── db-load-cf/          # Загрузка конфигурации из CF
├── db-dump-xml/         # Выгрузка конфигурации в XML
├── db-load-xml/         # Загрузка конфигурации из XML
├── db-update/           # Обновление конфигурации БД
├── db-run/              # Запуск 1С:Предприятие
├── db-load-git/         # Загрузка изменений из Git
├── web-publish/         # Публикация базы через Apache
├── web-info/            # Статус Apache и публикаций
├── web-stop/            # Остановка Apache
├── web-unpublish/       # Удаление публикации
├── web-test/            # Тестирование через веб-клиент 1С
└── img-grid/            # Сетка для анализа изображений
scripts/
└── switch.py              # Переключение платформы и рантайма (13 платформ)
docs/
├── epf-guide.md            # Гайд: внешние обработки и отчёты
├── mxl-guide.md            # Гайд: табличный документ
├── form-guide.md           # Гайд: управляемые формы
├── role-guide.md           # Гайд: роли
├── skd-guide.md            # Гайд: схема компоновки данных
├── meta-guide.md           # Гайд: объекты метаданных конфигурации
├── cf-guide.md             # Гайд: корневые файлы конфигурации
├── cfe-guide.md            # Гайд: расширения конфигурации (CFE)
├── subsystem-guide.md      # Гайд: подсистемы и командный интерфейс
├── v8-project-guide.md     # Гайд: конфигурация проекта (.v8-project.json)
├── db-guide.md             # Гайд: базы данных 1С
├── web-guide.md            # Гайд: веб-публикация через Apache
├── web-test-guide.md       # Гайд: тестирование через веб-клиент
├── web-test-recording-guide.md # Гайд: запись видеоинструкций
├── 1c-epf-spec.md          # Спецификация XML-формата (EPF)
├── 1c-erf-spec.md          # Спецификация XML-формата (ERF)
├── 1c-form-spec.md         # Спецификация управляемых форм
├── 1c-help-spec.md         # Спецификация встроенной справки
├── 1c-config-objects-spec.md # Спецификация объектов конфигурации
├── build-spec.md           # Пакетный режим конфигуратора 1С
├── 1c-spreadsheet-spec.md  # Спецификация табличного документа
├── mxl-dsl-spec.md         # Спецификация MXL DSL
├── form-dsl-spec.md        # Спецификация Form DSL
├── meta-dsl-spec.md        # Спецификация Meta DSL
├── 1c-role-spec.md         # Спецификация ролей (Rights.xml)
├── 1c-dcs-spec.md          # Спецификация СКД (DataCompositionSchema)
├── skd-dsl-spec.md         # Спецификация SKD DSL
├── role-dsl-spec.md        # Спецификация Role DSL
├── 1c-extension-spec.md    # Спецификация расширений конфигурации (CFE)
├── 1c-subsystem-spec.md    # Спецификация подсистем и командного интерфейса
├── web-spec.md             # Спецификация веб-публикации (VRD, httpd.conf, Apache)
└── python-porting-guide.md # Руководство по Python-портам навыков
S
Description
Languages
Python 41.6%
PowerShell 38.9%
JavaScript 18.6%
1C Enterprise 0.8%