pagecraft-provider
Подключение провайдера публикации (сейчас 4CMS) к сайту PageCraft и проверка, какой провайдер уже привязан. Используй, когда пользователь говорит «подключи 4cms к сайту», «проверь, есть ли провайдер у сайта», «обнови 4cms-токен у сайта», «какой провайдер у сайта».
How do I install this agent skill?
npx skills add https://page-craft.4partners.io --skill pagecraft-providerIs this agent skill safe to install?
No partner audit is available yet. Read the source before installing.
What does this agent skill do?
PageCraft Provider
Этот skill учит агента управлять провайдером публикации сайта в PageCraft через V1 REST API: проверять, какой провайдер привязан, и привязывать/обновлять 4CMS.
Когда применять
- В брифе пользователя есть API-токен 4CMS, который надо привязать к сайту — например, при автоматическом онбординге сайта из интеграции.
- Нужно узнать, есть ли у сайта провайдер публикации (и какой именно), перед публикацией страниц через
pagecraft-pages. - Нужно обновить (ротировать) 4CMS-токен у существующего сайта.
Жёсткие правила
-
Перед
pages-publishВСЕГДА вызывайnode scripts/provider-get.mjs <site_id>.- Если
provider_type: null— провайдера нет. Публикация невозможна. Сообщи пользователю и предложи привязать 4CMS (provider-fourcms-set.mjs) или подключить провайдера в UI. - Если
provider_type: "fourcms"— публикация через 4CMS, можно идти дальше. - Если
provider_type: "ftp"— публикация через FTP. Этот skill токен FTP не настраивает (нет соответствующего V1-эндпоинта); сообщи пользователю что настройка делается в UI PageCraft.
- Если
-
PUT — это полная замена, а не мёрж.
provider-fourcms-set.mjsзатирает любой предыдущий конфиг (включая FTP). Если у сайта стоялftpи пользователь хочет переключиться наfourcms— это ок, но предупреди пользователя что прежние FTP-настройки будут удалены и их придётся ввести заново при возврате к FTP. -
Никогда не печатай токен в stdout / в логи. Передавай через CLI-аргумент или флаг
--stdin. В сценариях для других людей предпочитай--stdinчтобы токен не попал в историю shell. -
Валидность токена против реального 4CMS API не проверяется. Токен просто сохраняется. Реальная проверка произойдёт при первой публикации страницы. Если хочешь быть уверен — после
provider-fourcms-set.mjsсделай тестовую публикацию страницы черезpagecraft-pagesи убедись, что 4CMS вернул ID статьи.
Окружение
PAGECRAFT_API_KEY— обязательная переменная: API-ключpb_xxxx...(создаётся в UI PageCraft → API keys).PAGECRAFT_API_URL— опциональная: базовый host, по умолчаниюhttps://page-craft.4partners.io(префикс/api/v1добавляется автоматически). Legacy-имяPAGE_CRAFT_API(host с/api/v1) ещё поддерживается как fallback.
Скрипты
| Команда | Endpoint | Когда вызывать |
|---|---|---|
node scripts/provider-get.mjs <site_id> | GET /sites/{id}/provider | Перед публикацией / для проверки текущего состояния |
node scripts/provider-fourcms-set.mjs <site_id> <api_token> | PUT /sites/{id}/provider/fourcms | Привязать 4CMS или обновить токен |
node scripts/provider-fourcms-set.mjs <site_id> --stdin | то же | То же, но токен из stdin (безопаснее) |
Workflow
Шаг 1. Узнать текущего провайдера
node scripts/provider-get.mjs 1
Ответ:
{ "provider_type": "fourcms" }
или
{ "provider_type": null }
Возможные значения: "fourcms", "ftp", null.
Шаг 2. Привязать 4CMS
Прямым аргументом:
node scripts/provider-fourcms-set.mjs 1 tk_xxxxxxxxxxxxxxxx
Через stdin (рекомендуется в скриптах):
echo -n "tk_xxxxxxxxxxxxxxxx" | node scripts/provider-fourcms-set.mjs 1 --stdin
Ответ:
{ "provider_type": "fourcms" }
Шаг 3. Перепроверить
node scripts/provider-get.mjs 1
# → {"provider_type": "fourcms"}
Композиция с pagecraft-pages
Типичный полный сценарий онбординга:
pagecraft-provider(этот skill) —provider-get→ если null,provider-fourcms-set.pagecraft-s3—s3-status→s3-uploadдля медиа (если нужно).pagecraft-pages— собрать страницу из блоков и опубликовать (pages-publish).
Не пытайся опубликовать страницу через pagecraft-pages без привязанного провайдера — 4CMS-публикация упадёт.
Коды ошибок
| Код | Причина |
|---|---|
| 401 | Нет / неверный PAGECRAFT_API_KEY |
| 404 | Сайт не существует или принадлежит другому пользователю |
| 422 | Пустой api_token |
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-provider">View pagecraft-provider on skillZs</a>