crontap-replace-vercel-cron — скилл для Claude Code: Vercel Cron
Переносит расписание Vercel Cron в Crontap, сохраняя защищённый HTTP-маршрут и план отката. Нужен для внешнего планировщика.
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a claude-codeЧто делает crontap-replace-vercel-cron
Скилл переносит расписание из vercel.json в Crontap, а Vercel оставляет средой выполнения. Он помогает проверить production-хост и метод маршрута, добавить секретный заголовок, протестировать запрос и сохранить исходную семантику часового пояса.
В сценарии есть инструменты create_schedule, pause_schedule и resume_schedule. Перед переключением скилл предлагает подключить MCP по адресу https://mcp.crontap.com/mcp или использовать API с $CRONTAP_CLIENT_ID и $CRONTAP_API_KEY; доступ к raw API требует Ultra. Маршрут должен отвечать 401 без секрета, а обработчик — учитывать идемпотентность при постановке задач в очередь.
После создания расписания проверяются часовой пояс, следующие запуски и первая запись истории. Старое расписание Vercel нужно отключить, потому что два активных планировщика создают дублирующие побочные эффекты. Для отката скилл предусматривает паузу Crontap и восстановление Vercel Cron.
Какие задачи решает
- перенести расписание из
vercel.jsonво внешний планировщик - защитить cron-маршрут секретным заголовком
- проверить первый запуск и побочный эффект задачи
- подготовить откат на Vercel Cron
- избежать двойного запуска при переключении
Примеры запросов агенту
- Перенеси расписание из
vercel.jsonв Crontap и сохрани текущий маршрут. - Проверь production-маршрут, добавь защиту заголовком и подготовь безопасное переключение.
- Покажи план отката на Vercel Cron и проверь первый запуск новой задачи.
Как установить crontap-replace-vercel-cron
1Через Skills CLI (Vercel)
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a claude-code2Вручную: положить файлы
~/.claude/skills/crontap-replace-vercel-cron/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/crontap-replace-vercel-cron/
1Через Skills CLI (Vercel)
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a codex2Вручную: положить файлы
.agents/skills/crontap-replace-vercel-cron/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a cursor2Вручную: положить файлы
.cursor/skills/crontap-replace-vercel-cron/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Crontap/skills crontap-replace-vercel-cron2Вручную: положить файлы
.github/skills/crontap-replace-vercel-cron/SKILL.md1Через Skills CLI (Vercel)
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a gemini-cli2Командой платформы
gemini skills install https://github.com/Crontap/skills --path skills/crontap-replace-vercel-cronВручную: положить файлы
.devin/skills/crontap-replace-vercel-cron/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о crontap-replace-vercel-cron
Как установить crontap-replace-vercel-cron в Claude Code?
Выполните npx skills add Crontap/skills --skill crontap-replace-vercel-cron -a claude-code, затем используйте файл ~/.claude/skills/crontap-replace-vercel-cron/SKILL.md.
Что делает crontap-replace-vercel-cron?
Скилл переносит расписание Vercel Cron в Crontap, сохраняя HTTP-маршрут, защиту, часовой пояс и возможность отката. Он также проверяет первый запуск и отсутствие параллельного расписания.
Что нужно для работы скилла?
Можно подключить MCP по адресу https://mcp.crontap.com/mcp. Альтернатива — $CRONTAP_CLIENT_ID и $CRONTAP_API_KEY, но raw API доступен на тарифе Ultra.
Исходный текст
SKILL.md · MIT
---
name: crontap-replace-vercel-cron
description: >
Move a Vercel Cron schedule to Crontap while keeping the existing protected
HTTP route, timezone intent, and rollback path. Use when a user wants an
external scheduler for a Vercel deployment or has outgrown native cron limits.
license: MIT
metadata:
version: "1.0.0"
group: patterns-migrations
order: 8
title: Replace Vercel Cron
summary: Move a Vercel cron to a protected endpoint with finer timing, pause controls, and searchable run history.
bestFor: Protected routes, faster cadences, and safe cutovers
guide: https://crontap.com/blog/vercel-cron-hourly-limit-and-how-to-beat-it
guideTitle: Vercel Cron limits and alternatives
tools: create_schedule,pause_schedule,resume_schedule
---
# Replace Vercel Cron
Keep Vercel as the runtime and move only the clock. Crontap calls the deployed
route over HTTPS.
## Prerequisites
Before using the required tools, check whether they are available. If any are
missing, stop and offer the user exactly two choices:
1. Connect Crontap MCP at `https://mcp.crontap.com/mcp`. MCP access works on
every Crontap tier.
2. Configure `$CRONTAP_CLIENT_ID` and `$CRONTAP_API_KEY` for the raw API. Raw
API access requires Ultra.
Do not silently choose a path or continue until the user selects one.
- Read the existing `vercel.json` cron path and expression.
- Confirm the production hostname and route method.
- Protect the route with a dedicated secret header.
- Make the handler idempotent before cutover.
## Cutover workflow
1. Add or verify route authentication in the Vercel application.
2. Test the protected production route with a controlled request.
3. Choose a cutover time and explain the brief overlap or gap risk.
4. Remove or disable the `vercel.json` schedule.
5. Create the matching Crontap schedule immediately.
6. Verify the resolved timezone, next runs, and first history entry.
7. Keep a rollback plan: pause Crontap, restore the Vercel cron, then deploy.
Do not leave both clocks enabled. Two schedulers can create duplicate side
effects even when both are operating correctly.
## MCP examples
Create the replacement:
```json
{
"tool": "create_schedule",
"arguments": {
"url": "https://app.example.com/api/cron/daily-report",
"cron": "0 9 * * 1-5",
"timezone": "UTC",
"method": "GET",
"headers": {
"Authorization": "Bearer <secret-from-secure-store>"
},
"label": "Vercel daily report"
}
}
```
Pause for rollback or maintenance:
```json
{
"tool": "pause_schedule",
"arguments": {
"scheduleId": "<schedule-id>"
}
}
```
Resume the same configuration:
```json
{
"tool": "resume_schedule",
"arguments": {
"scheduleId": "<schedule-id>"
}
}
```
Confirm the selected ID before pause or resume.
## Protected route pattern
Compare the request authorization header with a server-only environment
variable. Return 401 before performing work when it does not match. Do not use
a secret in the query string or route path.
If the route queues work, persist the logical schedule period as an idempotency
key before enqueueing. Return success only after the queue accepts the job.
## REST fallback
REST creation requires Ultra API access:
```bash
curl --fail-with-body https://api.crontap.com/v1/schedule \
-X POST \
-H "ClientId: $CRONTAP_CLIENT_ID" \
-H "ApiKey: $CRONTAP_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"url": "https://app.example.com/api/cron/daily-report",
"interval": "0 9 * * 1-5",
"timezone": "UTC",
"verb": "GET",
"headers": {
"Authorization": "Bearer <secret-from-secure-store>"
},
"label": "Vercel daily report"
}'
```
Use MCP for non-Ultra accounts.
## Verification
- Confirm the old Vercel schedule is absent from the deployed configuration.
- Confirm only one Crontap schedule targets the route.
- Verify a 401 without the secret and success with the secret.
- Inspect the first real run and the application-level side effect.
## Safety and plan limits
- Never paste the production route secret into the skill, repository, or chat.
- Pause before restoring the old scheduler during rollback.
- Preserve the original cadence's UTC semantics unless the user explicitly
chooses a local IANA timezone.
- On a cap or cadence error, present the returned four-option ladder and
smallest viable option.
## Troubleshooting
- A Vercel 401 means the configured schedule header and route secret differ.
- A 404 often means the route is not deployed on the hostname being called.
- Duplicate output means both clocks are active or endpoint idempotency failed.
- A timeout may require durable queueing instead of long synchronous work.
## References
- [Crontap Agent Skills catalogue](https://crontap.com/skills)
- [Vercel Cron limits and alternatives](https://crontap.com/blog/vercel-cron-hourly-limit-and-how-to-beat-it)
- [Vercel Cron alternative](https://crontap.com/use-cases/vercel-cron-alternative)
- [Cron troubleshooting](https://crontap.com/guides/cron-troubleshooting)
- [Cron job monitoring](https://crontap.com/cron-job-monitoring)
© Crontap · MIT · Crontap/skills