Nick Shirokov 98ece6206e fix(web-test): add startsWith matching to findClickTargetScript
The button/link search in findClickTargetScript jumped from exact
to includes matching, causing "Поступление" to match "Поступление
билетов" instead of "Поступление (акты, накладные, УПД)" when the
shorter name appeared first in DOM order. Add startsWith step for
both name and label between exact and includes matching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 19:03:34 +03:00
2026-02-11 11:35:47 +03:00

1C Skills for Claude Code

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

Набор Claude Code Skills для работы с артефактами 1С:Предприятия 8.3. Позволяет создавать и модифицировать обработки, отчёты, объекты конфигурации, макеты печатных форм и другие объекты из XML-исходников, не запоминая детали формата.

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

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

МойПроект/
├── .claude/skills/    ← скопировать из этого репозитория
├── src/               ← исходники (создаются навыками)
└── ...

Не обязательно запоминать команды и параметры — просто опишите задачу своими словами, 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С — навигация, формы, таблицы, отчёты, тестирование Подробнее
Утилиты /img-grid Наложение сетки на изображение для определения пропорций колонок

Требования

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

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

Навыки совместимы с Cursor, GitHub Copilot, Kiro, OpenAI Codex, Gemini CLI и OpenCode. Скрипт 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 --undo cursor             # удалить копию

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

Платформа Целевой каталог Автоактивация Слеш-команды
Claude Code .claude/skills/ да /epf-init, /mxl-compile, ...
Cursor .cursor/skills/ да через меню команд
GitHub Copilot .github/skills/ да /skills в чате
Kiro .kiro/skills/ да через steering
OpenAI Codex .codex/skills/ да $skill-name
Gemini CLI .gemini/skills/ да нет
OpenCode .opencode/skills/ да через skill tool

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

Переключение рантайма (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-to-python.py    # Переключение навыков на Python-рантайм
└── switch-to-powershell.py # Возврат на PowerShell-рантайм
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      # Гайд: подсистемы и командный интерфейс
├── db-guide.md             # Гайд: базы данных 1С
├── web-guide.md            # Гайд: веб-публикация через Apache
├── web-test-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%