Set up a Codex monitor for Vercel deployments and preview URLs. Use when the user invokes /vercel or $vercel, asks Codex to watch or monitor a Vercel deployment, waits for a Vercel preview or PR preview to become ready, or wants to be notified with both the deployment URL and preview URL once Vercel is READY.
76
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Monitor one immutable Vercel deployment for the remotion project and notify the
current task when that exact deployment becomes ready or fails.
dpl_...) or the immutable automatic
deployment hostname (<project>-<random>-<scope>.vercel.app).remotion project and the remotion Vercel scope. Ignore the
bugs project unless the user explicitly asks for it.Prefer these sources, in order:
Vercel – remotion check on the active GitHub PR. Its dashboard URL has
the form https://vercel.com/remotion/remotion/<deployment-id-suffix>.remotion row in the Vercel bot's PR comment.vercel list remotion --scope remotion --format=json, matched to the exact PR,
commit SHA, or branch in .deployments[].meta.The final path segment of a dashboard URL becomes the deployment ID by prefixing
it with dpl_. For example:
https://vercel.com/remotion/remotion/AbCd1234 -> dpl_AbCd1234The Preview link in a Vercel PR comment is normally a branch alias. Preserve it
for the final notification, but do not use it for state checks.
When using vercel list, select the newest deployment that matches all available
identity fields:
.name == "remotion".meta.githubPrId == <PR number>, when a PR is known.meta.githubCommitSha == <full commit SHA>, when a commit is knownDo not silently fall back to a different commit. If no exact deployment can be identified, ask for the Vercel dashboard URL, PR number, or commit SHA.
Run the bundled checker from the repository root:
python3 .agents/skills/vercel/scripts/check-deployment.py <deployment-id-or-url>The checker calls:
vercel inspect <deployment-id-or-immutable-url> \
--scope remotion \
--format=jsonIt validates the project, rejects moving aliases, and emits normalized JSON.
Use its state field:
READY: success.ERROR, CANCELED, or CANCELLED: failure.BUILDING, QUEUED, or INITIALIZING: still in progress.UNKNOWN: not terminal. Report the diagnostic only if it persists or prevents
creation of a trustworthy monitor.HTTP probing may be used after READY as an optional reachability check. It must
never promote a non-ready or unknown deployment to READY.
Use the Codex automation tool to create a one-minute heartbeat with a bounded count, normally 30 attempts. The heartbeat prompt must be self-contained and include:
Use this prompt shape:
Monitor this exact Vercel deployment until it reaches a terminal state.
Pinned deployment: <dpl_id_or_immutable_hostname>
Dashboard: <dashboard_url>
Preview alias (reporting only; never use for state): <preview_url_or_unknown>
Context: <project/pr/branch/commit>
From the repository root, run:
python3 .agents/skills/vercel/scripts/check-deployment.py <pinned_deployment>
Only the JSON `state` is authoritative.
- READY: reply "Vercel deployment is ready" and include Dashboard and Preview.
- ERROR, CANCELED, or CANCELLED: reply with the failure state and include both links.
- BUILDING, QUEUED, INITIALIZING, or UNKNOWN: stay quiet and check again next time.
Never curl the preview URL to determine readiness. After reporting a terminal
state, delete or pause this heartbeat if its automation ID is available.Before creating a heartbeat, run the checker once. If the deployment is already terminal, report immediately instead. Otherwise, tell the user which exact deployment is being watched and the cadence.
77354de
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.