一键导入
new-metadata-item
Создание нового объекта метаданных (metadataItem) по фикстурам и схемам. При добавлении новых объектов метаданных используй этот скилл.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Создание нового объекта метаданных (metadataItem) по фикстурам и схемам. При добавлении новых объектов метаданных используй этот скилл.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Finish a completed development branch by verifying tests, pushing the branch, creating a GitHub PR, merging it, deleting the remote branch, removing the git worktree, and deleting the local branch. Use when the user asks to finish the cycle, ship via PR, merge and clean up, or says this is the end of a worktree/PR cycle.
Подсвечивает пачки расхождений short round-trip (XML → модель → XML) для анализа и автоматически генерирует одиночный reproducer для выбранного diff'а после подтверждения пользователя.
Диагностирует полный metadata round-trip (XML -> модель -> YAML -> модель -> XML) и показывает single/triage diff'ы без создания reproducer.
Use when the user asks to measure YAML project validation speed or memory through the compiled standalone validation path.
Диагностирует XML -> YAML -> XML без reference и проверяет загрузку результата в файловую базу 1С через ibcmd.
Исследование прикладного объекта метаданных 1С перед реализацией — глубокий анализ фикстур, XSD, справки 1С и соседей в codebase. Рекурсивно выявляет подчинённые объекты и извлекает для них XML-фикстуры. Выдаёт консолидированный отчёт для `/write-a-prd`. Используй при добавлении нового прикладного объекта (Документ, Последовательность, Перечисление, Нумератор и т.п.).
| name | new-metadata-item |
| description | Создание нового объекта метаданных (metadataItem) по фикстурам и схемам. При добавлении новых объектов метаданных используй этот скилл. |
Скилл запускает сценарий добавления или существенной правки metadataItem. Устойчивые правила реализации живут в .agents/knowledge/metadata/.
Перед работой обязательно прочитай:
.agents/knowledge/metadata/INDEX.md.agents/knowledge/metadata/sources-of-truth.md.agents/knowledge/metadata/metadata-item-implementation.md.agents/knowledge/metadata/round-trip-cycle.md.agents/knowledge/metadata/yaml-contract.md.agents/knowledge/metadata/registries.mdНовый объект — начинай с брифа из .agents/knowledge/metadata/metadata-item-implementation.md.
Существующий объект — начинай с XML-цикла из .agents/knowledge/metadata/round-trip-cycle.md. Если XML-цикл уже зелёный и проблема только в YAML, начинай с YAML-цикла.
Не задавай всё списком. Перед каждым вопросом быстро исследуй кодовую базу и спрашивай только то, что не выводится из кода, схемы или соседей. Базовый список брифа — в .agents/knowledge/metadata/metadata-item-implementation.md.
Пункты брифа — в этом порядке, по одному:
XML-сторона:
__fixtures__/ лежит 1–3 файла с разным заполнением. Если меньше — попроси добавить до продолжения..xsd.runtimeOnly-поля) — запроси отдельным пунктом с типом и признаком runtimeOnly.index.ts — выводится из пути аргумента.YAML-сторона (обязательно спрашиваем заранее, хотя применим только на шаге 11):
types.ts / соседний metadataItem — если там уже есть XxxYAML-интерфейс, показывай его и проси подтверждения).itemTypePrefix — YAML-префикс объекта верхнего уровня (например, "Нумератор", "Документ", "Перечисление").defaultValueYAML — чтобы в YAML при экспорте опускались значения-дефолты.toYAML: false, fromYAML: false) — обычно технические/служебные.excludeIfEqualNameYAML, useAsShortValueYAML) — только если пользователь их знает; иначе — по аналогии с соседом, явно предложи.Правило для каждого пункта: если ответ виден в коде или схеме — не спрашивай, показывай пользователю что ты нашёл и проси подтверждения/корректировки.
Без брифа не начинай реализацию.
Прочитай XML-фикстуры, схему, список свойств и 1–2 похожих metadataItem. Источники истины и приоритеты — в .agents/knowledge/metadata/sources-of-truth.md.
types.tsСоздай или обнови файл типов по шаблону types.md.
rules.ts — первое приближение ⟲Создай или обнови файл правил по шаблону rules.md.
Правило: предпочитай rules.ts вместо ручных fromXML/toXML/fromYAML/toYAML.
Без регистрации round-trip не запустится. Проверь и обнови реестры по .agents/knowledge/metadata/registries.md, а привязку правила к типу делай по types.md.
index.tsСоздай или обнови index.ts в каталоге объекта и экспорт вышестоящего каталога.
Шаги 7–10 образуют цикл из .agents/knowledge/metadata/round-trip-cycle.md. Ошибка на любом шаге → фикс rules.ts → перезапуск с шага 7.
Напиши fromXML.test.ts с round-trip блоком. Шаблоны и протокол эскалации — в tests.md, порядок цикла — в .agents/knowledge/metadata/round-trip-cycle.md.
Если расхождение относится к подчинённому metadataItem, остановись и спроси пользователя: укажи имя, путь и XML-фрагмент. Не правь чужой rules.ts сам.
На каждую XML-фикстуру <name>.xml создай отдельный TS-файл __fixtures__/<name>.ts с ожидаемой формой объекта. Подробнее — fixtures-data.md.
YAML-поля на этом шаге не заполняй — <fixtureName>YAML добавляется на шаге 11 после обсуждения черновика YAML в барьере.
Существующие объекты метаданных, ещё использующие единый
data.ts, не переписывай насильно. Новая конвенция применяется к новым фикстурам; старые мигрируют при естественной правке.
Допиши в fromXML.test.ts блок it("import <name>") для каждой XML-фикстуры. Round-trip блок остаётся как регресс. Если тест падает → фикс → перезапуск XML-цикла.
Создай toXML.test.ts по tests.md. Если тест падает → фикс → перезапуск XML-цикла.
Не переходи к YAML-циклу, пока XML-цикл не завершён полностью. Сгенерируй черновик YAML по .agents/knowledge/metadata/yaml-contract.md и аналогии с соседями. Без подтверждения пользователя YAML-правила не пиши.
Шаги 11–13 образуют цикл из .agents/knowledge/metadata/round-trip-cycle.md. Ошибка на любом шаге → фикс rules.ts → перезапуск с шага 11.
Допиши YAML-часть в rules.ts, добавь <fixtureName>YAML в TS-фикстуры и напиши fromYAML.test.ts с round-trip блоком. Шаблоны — tests.md, YAML-контракт — .agents/knowledge/metadata/yaml-contract.md.
Если расхождение относится к подчинённому metadataItem, остановись и спроси пользователя: укажи имя, путь и YAML-фрагмент. Не правь чужой rules.ts сам.
Допиши в fromYAML.test.ts проверку импорта. Round-trip остаётся как регресс. Если тест падает → фикс → перезапуск YAML-цикла.
Создай toYAML.test.ts. Если тест падает → фикс → перезапуск YAML-цикла.
В финальном сообщении пользователю приведи явный список свойств, не покрытых ни одной XML-фикстурой (правила написаны, но поведение не проверено). Пользователь решает, докидывать ли фикстуру.
Формат:
Покрытие свойств фикстурами: 12/15
Непокрытые: Parent, Comment, UseStandardCommand