Skip to content
cccskills
FreePublished on GitHub

[REPLACE: SKILL_NAME]

Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours

The English summary is being prepared. Showing the original description.

Works withVercel
See how to install

Files included (1)

  • SKILL.md4.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

${var} — Optional. Override the Vercel project slug. If empty, watches [REPLACE: VERCEL_PROJECT].

Today is ${today}. Watch Vercel deployments for [REPLACE: VERCEL_PROJECT] and alert on [REPLACE: ALERT_ON] within the last [REPLACE: LOOKBACK_HOURS] hours.

Required secrets

  • VERCEL_TOKEN — personal access token from https://vercel.com/account/tokens. Read scope is enough.
  • (optional) VERCEL_TEAM_ID — if the project lives under a team, set this so the API queries the right scope.

If either secret is missing, log DEPLOY_WATCH_NO_TOKEN and exit cleanly — never abort the workflow.

Steps

  1. Resolve scope:

    PROJECT="${var:-[REPLACE: VERCEL_PROJECT]}"
    SCOPE_QS=""
    if [ -n "${VERCEL_TEAM_ID:-}" ]; then
      SCOPE_QS="&teamId=$VERCEL_TEAM_ID"
    fi
    
  2. Fetch recent deploys — Vercel API v6 lists deployments for a project:

    SINCE_MS=$(( $(date -u +%s) * 1000 - [REPLACE: LOOKBACK_HOURS] * 3600 * 1000 ))
    URL="https://api.vercel.com/v6/deployments?projectId=$PROJECT&since=$SINCE_MS$SCOPE_QS&limit=20"
    curl -sf -H "Authorization: Bearer $VERCEL_TOKEN" "$URL" > .vercel-deploys.json || \
      echo "DEPLOY_WATCH_FETCH_FAIL: $?"
    

    Make every Vercel call in-run with ./secretcurl (write the key as {VERCEL_TOKEN} — a bare $VERCEL_TOKEN on the line is refused by the Bash permission layer). Read-only status checks and any irreversible action (e.g. triggering a deploy) both run in-run — the irreversible one as the skill's final, fail-closed action. Never defer a read.

  3. Parse and classify — for each deploy, capture: uid, state (READY / ERROR / CANCELED / BUILDING / QUEUED), url, target (production / preview), creator, createdAt, meta.githubCommitMessage.

  4. Apply the alert filter — [REPLACE: ALERT_ON] is one of:

    • production-failures → alert when target=production AND state in {ERROR, CANCELED}.
    • any-failures → alert on any state in {ERROR, CANCELED}.
    • slow-builds → alert when build time > 10× the last-week median for this project.
    • all → alert on every state transition (noisy — only useful while debugging the skill).
  5. Compare against last-success baseline — if alerting on a failure, also fetch the most recent successful production deploy and include in the notification: "last green: [commit] · [N hours] ago".

  6. Dedup — track alerted deploy UIDs in memory/topics/[REPLACE: SKILL_NAME]-alerted.json. Never re-alert for the same UID.

  7. Notify on every new alert via ./notify:

    *Deploy alert — [REPLACE: VERCEL_PROJECT]*
    ${state}: ${commit_message}
    ${target} build by ${creator} · ${ago}
    Last green: ${last_green_commit} · ${last_green_ago}
    Inspect: https://vercel.com/${owner}/${PROJECT}/${uid}
    
  8. Write a roll-up to output/articles/[REPLACE: SKILL_NAME]-${today}.md: total deploys, success/fail counts per target, average build time, list of failed UIDs with commit messages.

  9. Log to memory/logs/${today}.md:

    ## [REPLACE: SKILL_NAME]
    - **Deploys (${LOOKBACK_HOURS}h)**: total=N, ready=X, error=Y, canceled=Z, building=W
    - **Alerts fired**: N (deduped from M raw matches)
    - **Status**: DEPLOY_OK | DEPLOY_QUIET (no deploys) | DEPLOY_ALERT | DEPLOY_DEGRADED
    

Network note

The Vercel API requires Authorization: Bearer {VERCEL_TOKEN}. A bare $SECRET on a command line is refused by the Bash permission layer, so make every Vercel call in-run with ./secretcurl (write the key as the {VERCEL_TOKEN} placeholder — it keeps the secret off the line). Both the read-only status checks and any irreversible action (like triggering a deploy) run in-run; the irreversible one goes last, as the skill's final fail-closed action. Never defer a read.

Constraints

  • Dedup is non-negotiable. Re-running the same alert for the same deploy will train operators to mute the channel — once alerted, never again unless the deploy changes state.
  • Production beats preview for alerting. A failed preview deploy is interesting but not urgent. Default to production-failures until the operator opts into more.
  • Compare against baseline. A failed build means more when paired with "last green was 3 hours ago" than alone.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Mention/keyword sweep on social platforms for [REPLACE: KEYWORDS] — trends, sentiment, top posts

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Price and volume tracker for [REPLACE: TOKEN_SYMBOL] with anomaly alerts above [REPLACE: ALERT_THRESHOLD_PCT]% movement

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

First-touch review of newly opened PRs on [REPLACE: WATCHED_REPO] — verdict + welcoming comment + label

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Digest of the most interesting new posts on [REPLACE: TOPIC] from RSS feeds and the open web

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

Summary of the [REPLACE: CHANNEL_PLATFORM] channel [REPLACE: CHANNEL_NAME] — top [REPLACE: TOP_N_THREADS] threads + open questions

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

5 concrete real-life actions, leverage-scored against open loops with specificity and anti-fluff gates

The English summary is being prepared. Showing the original description.

aeonfun/aeon777Updated Oct 18, 2026

See all skills by aeonfun

Report a problem with this skill