pagecraft-block-publish
Публикация блока PageCraft — формирование changelog (140 символов, на русском), preflight-проверка remote-версии, вызов publish-block, обработка конфликтов версий. Используй когда пользователь говорит «опубликуй», «залей», «отправь блок», «обнови блок», или когда orchestrator pagecraft-block направляет в «Фаза 9 — Публикация». Вызывай через тул `Skill(pagecraft-block-publish)`, не через `Read .../SKILL.md`.
How do I install this agent skill?
npx skills add https://page-craft.4partners.io --skill pagecraft-block-publishIs this agent skill safe to install?
No partner audit is available yet. Read the source before installing.
What does this agent skill do?
⚡ Этот скилл — для вызова через тул
Skill(pagecraft-block-publish), не черезRead .../SKILL.md. Если ты сюда попал черезRead— остановись, вызовиSkill(pagecraft-block-publish). Содержимое то же, но система правильно учтёт делегирование.
PageCraft Publish
Скилл-обёртка над операцией публикации. Сам не содержит скриптов — дёргает pagecraft-api/scripts/publish-block.js и pagecraft-api/scripts/get-block.js. Здесь — правила и флоу.
Когда триггерится
Триггер по словам: «опубликуй», «залей», «отправь блок», «обнови блок», «выпусти версию», «push блок». Реже — «закоммить блок» (но это про git, не путать).
Алгоритм
1. Препроверка перед публикацией
Перед запуском publish-block убедиться, что блок готов:
block.jsonсуществуетschema.jsonсуществует и валидна — прогнатьpagecraft-schema-block/scripts/validate-schema.js blocks/{slug}. Если упало — поправить и не публиковать.- Если блок SSR (
schema.jsonсодержитbindingSlots) — прогнатьpagecraft-block-ssr/scripts/check-bindings.js blocks/{slug}. Если drift — поправить шаблон → пересобрать стабы → только потом публиковать. - preview.html актуальна — пересобрать
pagecraft-block/scripts/build-preview.js blocks/{slug}.
Если что-то из этого падает — не публиковать, объяснить пользователю причину.
2. Changelog
Запросить или предложить changelog. Правила:
- Максимум 140 символов.
- На русском.
- Только суть — что изменилось для пользователя, не «refactor», «cleanup», «вынес в функцию».
- Глагол в прошедшем времени или существительное: «Добавил полное-ширинное изображение», «Поддержка тёмной темы», «Фикс отступов на мобильных».
Если пользователь не предложил — сгенерировать вариант на основе diff'а и спросить «такой changelog подойдёт?».
3. Preflight для существующего блока
Если в block.json уже есть id (блок ранее публиковался):
node .claude/skills/pagecraft-api/scripts/get-block.js {id}
Сравнить remote-version с локальной. Если remote ушёл вперёд — кто-то другой обновил блок, локальные правки могут затереть чужое. Не публиковать. Показать пользователю:
⚠ Remote-версия (X) отличается от локальной (Y).
Скачай актуальную и переноси правки руками:
node .claude/skills/pagecraft-api/scripts/get-block.js {id} --save blocks/{slug}
publish-block.js сам делает этот preflight и выходит с ошибкой при конфликте — но проактивная проверка позволяет дать пользователю чёткое сообщение раньше.
4. Запуск публикации
node .claude/skills/pagecraft-api/scripts/publish-block.js blocks/{slug} --changelog "Описание"
Скрипт:
- Создаст блок (если
idпустой) или обновит (еслиidесть) - Запишет новые
idиversionвblock.json - Вернёт результат
5. Сообщение пользователю
🚀 Опубликовано!
📦 ID: {id}
📌 Версия: {version}
📝 {changelog}
Обновление существующего блока — полный сценарий
node .claude/skills/pagecraft-api/scripts/get-block.js {id}— проверь актуальность- Если remote отличается —
--save blocks/{slug}чтобы скачать - Внеси правки
- Если SSR —
pagecraft-block-ssr/scripts/check-bindings.js blocks/{slug}, при drift'е —pagecraft-block-ssr/scripts/build-stubs.js blocks/{slug} - Валидация —
pagecraft-schema-block/scripts/validate-schema.js blocks/{slug} - preview —
pagecraft-block/scripts/build-preview.js blocks/{slug} - Публикация с changelog'ом —
pagecraft-api/scripts/publish-block.js blocks/{slug} --changelog "..."
Что не делает этот скилл
- Не делает HTTP-запросы напрямую — это
pagecraft-api. - Не подаёт блок в глобальный каталог на рассмотрение — это
pagecraft-block-catalog(следующий шаг после публикации). - Не работает с
git, не создаёт PR, не пушит в репо. Публикация в PageCraft и git-операции — независимы. - Не правит блок. Изменения вносятся через
pagecraft-schema-block/pagecraft-markdown-block/pagecraft-block-ssr/pagecraft-block-design.
Типичные ошибки
- Changelog «refactor» / «improvements» / «v2» — бессмыслица для пользователей блока. Описать суть.
- Changelog длиннее 140 символов — обрежется или будет отклонён.
- Публикация без preview — пользователь не увидит, что закоммитил визуально.
- Публикация со старым
bindings_snapshotпри изменившемся upstream —data-stubs.jsonбудет рассинхронизирован с реальным API. - Публикация при конфликте версий — затирание чужих правок. Сначала pull → merge → publish.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/page-craft.4partners.io/pagecraft-block-publish">View pagecraft-block-publish on skillZs</a>