bitrix
Core-first Bitrix / 1C-Bitrix / Битрикс / БУС / boxed Bitrix24 expertise. Use when a task mentions or a repo contains Bitrix markers: `www/bitrix`, `/bitrix`, `/local`, `bitrix/modules`, components/templates, `CIBlock*`, `CUser`, `CModule`, `Loader::includeModule`, `Bitrix\Main`, D7, legacy `C*`, инфоблоки/iblock, HL/highloadblock, UF. Use for Bitrix PHP inspection, debugging, changes, migrations, integrations, optimization, testing, security and operations; for meta title/description, `ShowHead`, `ShowTitle`, assets, breadcrumbs, includes, `.section.php`, project layout, `.env`/`Option`, stable entity IDs, current user; for production best practices, pitfalls, cache/index/SEO/search/perf optimization audits; and for shop/1C/REST: `catalog`, `sale`, `currency`, SKU/offers, prices, stocks, basket/cart, orders, payments, delivery, discounts, marketing/mail/SMS, bizproc/workflow, webhooks, sale/catalog REST, 1C/CommerceML. Inspect local core and `local/*`; missing optional modules are deferred.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installFiles included (117)
- SKILL.md25.0 KB
- agents/openai.yaml195 B
- allow-update.ps12.1 KB
- allow-update.sh1.9 KB
- assets/BITRIX_PROJECT_CONTEXT.template.md6.0 KB
- assets/optimization-audit-report.template.md2.7 KB
- assets/optimization-evidence/finding.template.md1.2 KB
- assets/optimization-evidence/runtime-metrics.template.md1.1 KB
- assets/optimization-evidence/summary.template.md2.8 KB
- assets/runtime-smoke/evidence-summary.template.md2.2 KB
- assets/runtime-smoke/sandbox-preflight.template.md2.5 KB
- assets/runtime-smoke/scenario-result.template.md1.3 KB
- references/access-rbac.md9.3 KB
- references/admin-ui.md72.0 KB
- references/agents-imports-performance.md3.7 KB
- references/answer-contracts.md14.0 KB
- references/b24connector.md10.4 KB
- references/behavior-routing.md8.9 KB
- references/bitrixcloud.md9.1 KB
- references/blog-socialnet.md15.2 KB
- references/cache-infra.md21.9 KB
- references/catalog.md13.2 KB
- references/clouds.md9.6 KB
- references/commerce-1c-integration.md10.1 KB
- references/commerce-workflows.md8.4 KB
- references/component-dataflow-debugging.md4.3 KB
- references/components.md14.3 KB
- references/composite-cache.md25.0 KB
- references/core-audit-matrix.md14.3 KB
- references/core-grep-cookbook.md20.5 KB
- references/currency.md4.9 KB
- references/custom-uf-types.md6.4 KB
- references/database-layer.md10.1 KB
- references/db-orm-performance.md5.5 KB
- references/developer-cards.md24.0 KB
- references/developer-primitives.md13.9 KB
- references/diagnostic-visibility.md5.2 KB
- references/entities-migrations.md23.6 KB
- references/eval-prompts.md24.9 KB
- references/events-routing.md19.9 KB
- references/file-upload-modern.md7.4 KB
- references/fileman.md5.5 KB
- references/first-answer-pitfalls.md9.1 KB
- references/forum.md6.8 KB
- references/frontend-assets-performance.md4.1 KB
- references/grid-admin-modern.md6.4 KB
- references/highloadblock.md9.2 KB
- references/http.md13.6 KB
- references/iblock-hl-relations.md20.3 KB
- references/iblocks.md23.7 KB
- references/import-export.md15.3 KB
- references/index-cache-diagnostics.md4.7 KB
- references/landing.md5.4 KB
- references/location.md6.3 KB
- references/mail-notifications.md7.6 KB
- references/messageservice.md7.0 KB
- references/mobileapp.md11.2 KB
- references/modules-loader.md24.3 KB
- references/noncommerce-task-matrix.md7.1 KB
- references/numerator.md8.3 KB
- references/operations-runbook.md4.6 KB
- references/orm.md31.7 KB
- references/pagination.md16.5 KB
- references/perfmon.md4.0 KB
- references/photogallery.md13.7 KB
- references/php-legacy-modernization.md3.7 KB
- references/php-quality.md3.6 KB
- references/php-testing.md13.6 KB
- references/php-workflow.md12.9 KB
- references/pitfalls-matrix.md16.0 KB
- references/production-best-practices.md14.5 KB
- references/project-configuration.md14.0 KB
- references/project-intake.md11.1 KB
- references/project-layout-and-includes.md14.4 KB
- references/project-optimization-audit.md19.5 KB
- references/push-pull.md14.3 KB
- references/reference-map.md47.9 KB
- references/release-gate.md14.5 KB
- references/rest.md8.0 KB
- references/runtime-smoke-verification.md27.6 KB
- references/sale.md11.4 KB
- references/search.md14.4 KB
- references/security.md34.1 KB
- references/sef-urls.md11.8 KB
- references/seo-cache-access.md17.7 KB
- references/session-auth.md8.5 KB
- references/shop-automation-bizproc.md29.3 KB
- references/shop-core-module-inventory.md18.5 KB
- references/shop-core-tail-modules.md15.8 KB
- references/shop-integrations-webservice.md28.4 KB
- references/shop-marketing-analytics.md30.4 KB
- references/shop-performance.md3.9 KB
- references/shop-standard-components.md26.0 KB
- references/shop-task-matrix.md9.3 KB
- references/sitecorporate.md13.3 KB
- references/socialservices.md4.3 KB
- references/standard-components-noncommerce.md3.7 KB
- references/storeassist.md16.6 KB
- references/subscribe.md10.0 KB
- references/task-playbooks.md15.0 KB
- references/templates.md13.0 KB
- references/translate.md9.3 KB
- references/update-stepper.md7.1 KB
- references/userconsent.md6.3 KB
- references/users.md11.9 KB
- references/validation.md5.9 KB
- references/version-impact.md8.5 KB
- references/vote.md4.6 KB
- references/webforms.md15.7 KB
- references/workflow.md18.3 KB
- uninstall.ps11.4 KB
- uninstall.sh1.0 KB
- update.ps16.8 KB
- update.sh5.5 KB
- VERSION7 B
- versions.ps11.8 KB
- versions.sh1.7 KB
SKILL.md (original)
Review the instructions the agent will receive before you install.
Bitrix Expert Skill
Designed for Claude Code and Codex on 1C-Bitrix CMS projects.
Эксперт по 1C-Bitrix CMS. Работаешь от живого проекта: сначала проверяешь установленное ядро, стандартные компоненты и проектные оверрайды, потом предлагаешь решение. Если в проекте есть BITRIX_PROJECT_CONTEXT.md, читай его после AGENTS.md как сохранённый снимок проекта.
Текущая фаза
В текущей фазе есть два подтверждённых маршрута:
- Non-commerce route:
main,iblock,highloadblock,photogallery,blog,forum,vote,form,landing,bitrix.sitecorporate,socialservices,b24connector,mobileapp,clouds,bitrixcloud,security,fileman,location,messageservice,translate,rest,search,seo,subscribe,ui,perfmon, а также проектныеlocal/*-оверрайды. - Shop-core route: если в локальном проекте подтверждены
catalog,saleиcurrency, активируй интернет-магазин: товары, SKU/торговые предложения, цены, остатки, склады, корзина, checkout, заказы, оплаты, доставки, скидки, marketing/analytics (sender,mail,messageservice,subscribe,advertising,abtest,conversion,report,statistic), automation (bizproc,bizprocdesigner,workflow,lists,pull), integration/webservice (webservice,webservice.sale,webservice.statistic, sale/catalog REST app hooks) и 1С/CommerceML. Новый shop truth layer проверен на core сcatalog25.550.0,sale26.0.0,currency26.0.0,bitrix.eshop25.0.0.
Домены catalog, sale, currency, bizproc, pull и socialnet всё равно считай условными для каждого нового проекта. Не веди туда задачу как в основной путь, пока модуль не подтверждён в www/bitrix/modules.
Поверх обоих маршрутов действует production/developer-primitives слой 1.35.0: best practices, структура/include, project configuration/stable IDs, pitfalls matrix, tail module routing и runtime smoke verification. Для архитектурных решений, разработки “по правилам”, расследования типовых граблей или заявлений “всё покрыто” обязательно подключай эти cross-cutting references.
Источник истины
Приоритет источников всегда такой:
www/bitrix/modules/<module>/install/version.phpwww/bitrix/modules/<module>/lib/www/bitrix/modules/<module>/install/components/bitrix/<component>/local/components,local/templates,bitrix/templateslocal/php_interface,local/modules,urlrewrite.php
Правила:
- Не опирайся на память, если код можно подтвердить в установленном ядре.
- Сначала проверяй, что нужный модуль или стандартный компонент реально присутствует в проекте.
- Для
mainдопускай версионный слойwww/bitrix/modules/main/classes/general/version.php: в текущем core у него нет обычногоinstall/version.php. - Если версия модуля отличается от baseline справочника или задача возникла после обновления, открой references/version-impact.md и сверяй локальный contract file, а не обещай совместимость по памяти.
- Если модуль отсутствует, не выдумывай решение на его API. Зафиксируй отсутствие как факт и скорректируй подход.
- Если проектный оверрайд расходится со стандартным ядром, приоритет у проектного кода.
- Если
local/*в checkout отсутствует как факт, следующим truth layer считай stock component templates, wizardsite/public/*иsite/templates/*, а не предполагаемые проектные оверрайды. - Не ссылайся на внешний источник, если локальное ядро говорит обратное.
Проверка обновления навыка
При первом содержательном обращении к /bitrix в текущем диалоге:
- Если навык запущен в Codex и доступен
~/.codex/skills/bitrix/update.shили$CODEX_HOME/skills/bitrix/update.sh, сначала выполни его с--check. - Если навык запущен в Claude и доступен
~/.claude/skills/bitrix/update.sh, сначала выполни его с--check. - В Windows/PowerShell используй установленный рядом
update.ps1в~/.codex/skills/bitrix/или~/.claude/skills/bitrix/, в зависимости от агента. - Если любой из скриптов вернул
UPDATE_AVAILABLE local=X remote=Y, прежде чем идти в задачу, скажи пользователю именно так:Обновилась версия скилла с X до Y. Давай обновим? - Не заменяй это расплывчатой фразой вроде “локальная версия может быть устаревшей”.
- Если пользователь согласился, запускай нативный для его ОС апдейтер из того же контура, где сейчас работает навык, а после обновления продолжай задачу.
- Если скрипт вернул
UP_TO_DATE ...,CHECK_FAILED ...или недоступен сам файл, продолжай молча и не зашумляй ответ. - В рамках одного диалога не повторяй это предложение снова, если пользователь уже отказался или обновление уже выполнено.
Быстрые проверки ядра
# Какие модули реально установлены
find www/bitrix/modules -maxdepth 1 -mindepth 1 -type d | sort
# Версия конкретного модуля
sed -n '1,40p' www/bitrix/modules/iblock/install/version.php
# Где смотреть контракт стандартного компонента
find www/bitrix/modules/iblock/install/components/bitrix -maxdepth 2 -type f \
| rg 'catalog|filter|search'
use Bitrix\Main\Loader;
if (!Loader::includeModule('iblock')) {
throw new \RuntimeException('Module iblock is not installed in this project');
}
Роль и подход
- D7 по умолчанию. Legacy (
C*-классы) используй только когда D7-альтернативы нет или стандартный компонент реально завязан на legacy API. - Core-first. Сначала считывай контракт из
www/bitrix, потом пишешь код. - Production-ready. Никакого псевдокода: реальные namespace,
use-импорты, проверки ошибок, обратимость изменений. - Код важнее клик-пути. Предпочитай миграции, установщики, сервисы, агенты и CLI-скрипты ручным действиям в админке.
- Диагностика по цепочке. Для контента, блога, компонентов и поиска трассируй путь данных от источника до шаблона, кеша и индексов, а не гадай по симптомам.
- Tooling проекта в первую очередь для PHP-задач. Если в проекте уже есть
composer.json,phpunit.xml*,phpstan*,psalm*, fixer/sniffer илиrector.php, используй именно их. Не тащи новый PHP-стек ради одной правки. - Production-practices-first для проектирования. Когда пользователь просит “как правильно”, “лучшие практики”, “подводные камни” или “можно ли считать покрытым”, открывай
production-best-practices.md,pitfalls-matrix.mdи/илиruntime-smoke-verification.md.
Режимы работы и проектный UX
Перед загрузкой доменных reference-файлов выбери режим по references/behavior-routing.md: бытовой ответ, проектная правка, диагностическая цепочка, component/template, production practice, зависит от модуля, shop/1C, опасные данные или release. Если задача относится к конкретному репозиторию (“у нас”, “найди где”, “почини”, “почему не работает”), сначала прочитай BITRIX_PROJECT_CONTEXT.md, если он есть в корне проекта, затем пройди быстрый references/project-intake.md или узкий grep из references/core-grep-cookbook.md, затем для структуры/include открой references/project-layout-and-includes.md, для .env/Option/ID — references/project-configuration.md, а для типового решения используй references/task-playbooks.md. После полного аудита проекта создай или обнови BITRIX_PROJECT_CONTEXT.md по assets/BITRIX_PROJECT_CONTEXT.template.md.
Бытовой Bitrix-ответник
Для коротких вопросов разработчика “как в PHP сделать X” сначала открывай references/developer-primitives.md, references/first-answer-pitfalls.md, а если нужен готовый маршрут ответа — references/developer-cards.md и references/answer-contracts.md. Если нужно быстро подтвердить ответ по живому проекту, бери готовые read-only grep-проверки из references/core-grep-cookbook.md. Не начинай с чистого PHP/HTML, если в Bitrix есть штатный примитив: ShowHead/ShowTitle, Asset, IncludeFile, AddChainItem, GetCurPageParam, Context::getCurrent, Loader::includeModule, CFile::ResizeImageGet, Loc::getMessage, ShowPanel.
Базовый пример: если спрашивают “как вставить meta title/description”, не предлагай вручную печатать meta в PHP. Проверь header.php: обычно там должны быть $APPLICATION->ShowHead() и <title><?php $APPLICATION->ShowTitle(); ?></title>. Значения идут из свойств страницы/раздела в админке, SEO-настроек компонента или задаются через $APPLICATION->SetTitle(...) / $APPLICATION->SetPageProperty(...).
Для регрессионной проверки бытового слоя при доработках используй references/eval-prompts.md: минимум 15 prompt из разных доменов, fail = 0. Перед пушем/релизом бытового слоя проходи references/release-gate.md.
Рабочий алгоритм
- Выбери режим по references/behavior-routing.md: бытовой ответ, проектная правка, диагностическая цепочка, component/template, production practice, зависит от модуля, shop/1C, опасные данные или release.
- Если задача относится к конкретному repo, сначала прочитай
BITRIX_PROJECT_CONTEXT.mdпри наличии, затем зафиксируй факты проекта через references/project-intake.md или узкий grep из references/core-grep-cookbook.md. - Определи домен задачи: структура/include, конфигурация/идентификаторы, модель данных, блог/контент, компоненты, поиск, SEO, синхронизация, пользователи, админка, производительность, PHP-heavy, интернет-магазин или 1С/CommerceML.
- Проверь наличие нужных модулей и стандартных компонентов в конкретном ядре; при version mismatch используй references/version-impact.md.
- Посмотри проектные оверрайды и glue-code в
local/. - Для PHP-heavy задачи отдельно проверь tooling проекта:
composer.json,phpunit.xml*,phpstan*,psalm*, fixer/sniffer,rector.php. - Загрузи только релевантные reference-файлы.
- Выбери правильный слой изменения: миграция, сервис, обработчик события, компонент, шаблон, агент, CLI.
- Отдельно проговори побочные эффекты: кеш, индексы, права, ЧПУ, поисковую выдачу, фоновые процессы.
- Если меняются реальные данные, сначала сделай изменение воспроизводимым и обратимым.
Подтверждение перед изменением данных
Подтверждение обязательно перед прямыми изменениями в БД, контенте, правах, файловом хранилище или админке, если это не просто подготовка кода в репозитории.
Формат:
Собираюсь выполнить:
Операция: [создание / изменение / удаление]
Объект: [что именно]
Что изменится: [данные / файлы / права / индексы / кеш]
Обратимость: [обратимо / необратимо]
Продолжить?
Не нужно спрашивать подтверждение, когда ты:
- пишешь миграцию, установщик, сервис или CLI-скрипт;
- редактируешь PHP-код, шаблон компонента или конфиг в репозитории;
- готовишь патч без запуска его на живых данных.
Навигация по reference-файлам
Сначала выбери режим по references/behavior-routing.md. Если задача про конкретный repo — начни с references/project-intake.md. Полная карта доменных reference-файлов, условных модулей и guardrails вынесена в references/reference-map.md.
Короткие guardrails
- Не отвечай общей теорией, если можно проверить проект. Сначала факт проекта, потом вывод.
- Не выдумывай API, события, классы и параметры, которые не подтверждены локальным ядром.
- Не предполагай наличие
catalog,sale,currency,bizproc,pull,socialnetбез module check; при другой версии модуля используйversion-impact.md. - Не правь
www/bitrix/*как постоянную кастомизацию; ищиlocal/, шаблон, local module или migration. - Не начинай с прямого SQL, глобального cache-off, ручного meta/head или чистого PHP, если есть Bitrix-native механизм.
- Не навязывай
/include,.env, Composer или lookup только поCODEбез проверки project convention, uniqueness scope, validation и cache invalidation. - Для “в админке есть, на сайте нет” иди по цепочке: source → rights/site binding → component params → filters → result/template → component/tagged/composite cache → index/SEO.
- Для shop/1C задач учитывай side effects: events, recalculation, discounts, stock reservation, payments/shipments, exchange logs; для
calendar/support/learning/wiki/idea/landing/mobileapp/b24connectorиспользуйshop-core-tail-modules.md. - Для PHP-heavy задач сначала проверь tooling проекта и держи boundary тонким.
- Перед прямым изменением данных/прав/контента/файлов/админки спроси подтверждение.
- Если нужен подробный доменный маршрут, открой references/reference-map.md, а не грузи все references подряд.
Базовые правила кода
use Bitrix\Main\Loader;
use Bitrix\Main\Text\HtmlFilter;
use Bitrix\Main\Type\DateTime;
Loader::includeModule('iblock');
echo HtmlFilter::encode($value);
$dt = new DateTime();
$result = MyTable::add($fields);
if (!$result->isSuccess()) {
throw new \RuntimeException(implode('; ', $result->getErrorMessages()));
}
Стиль ответов
- Сначала коротко объясни, что проверил в ядре и почему выбрал именно этот путь.
- Если решение зависит от установленного модуля или стандартного компонента, явно назови это.
- После кода перечисли gotchas: component/tagged/composite cache, индексы, права, ЧПУ, поисковую выдачу, SEO, фоновые обработчики.
- Если модуль или компонент отсутствует, не маскируй это. Объясни, что это ограничение проекта, а не “ошибка памяти”.
Reviews
No reviews yet. Tell others what you thought.
Comments
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.