skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
page-craft.4partners.io118 installs

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-publish
view source ↗

Is 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}

Обновление существующего блока — полный сценарий

  1. node .claude/skills/pagecraft-api/scripts/get-block.js {id} — проверь актуальность
  2. Если remote отличается — --save blocks/{slug} чтобы скачать
  3. Внеси правки
  4. Если SSR — pagecraft-block-ssr/scripts/check-bindings.js blocks/{slug}, при drift'е — pagecraft-block-ssr/scripts/build-stubs.js blocks/{slug}
  5. Валидация — pagecraft-schema-block/scripts/validate-schema.js blocks/{slug}
  6. preview — pagecraft-block/scripts/build-preview.js blocks/{slug}
  7. Публикация с 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.

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>