一键导入
replace-skill-name
Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run a task through your Executor Cloud tool catalog - one MCP endpoint proxying every integration you connected (MCP servers, OpenAPI specs, GraphQL APIs), with per-tool allow/approve/block policies. OAuth Connect via the dashboard MCP panel.
Live-data research via the glim.sh MCP - web search, full page extraction, X/Twitter, Reddit, GitHub, Amazon, and YouTube transcripts - synthesized into a cited digest. Pay-per-call from the connected account balance; OAuth Connect via the dashboard MCP panel.
Read your Robinhood Agentic brokerage account via the Robinhood Trading MCP - portfolio, buying power, positions, and order history - and place a single operator-instructed trade. OAuth Connect via the dashboard MCP panel.
Business-development radar across your product family - find who's building, forking, integrating, and mentioning your products, ranked into a who-to-talk-to-this-week lead list.
Generate and send a digest on a configurable topic, optionally pulling RSS/Atom feeds as an input source alongside web + X signal
Search and curate X/Twitter behind one selector - keyword, topic roundup, a single or tracked-account digest, an X list, or the AI-agent buzz preset - clustered into signal-scored sub-narratives.
| name | [REPLACE: SKILL_NAME] |
| description | Watch Vercel deploys for [REPLACE: VERCEL_PROJECT] — alert on [REPLACE: ALERT_ON] in the last [REPLACE: LOOKBACK_HOURS] hours |
${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.
VERCEL_TOKEN — personal access token from https://vercel.com/account/tokens. Read scope is enough.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.
Resolve scope:
PROJECT="${var:-[REPLACE: VERCEL_PROJECT]}"
SCOPE_QS=""
if [ -n "${VERCEL_TEAM_ID:-}" ]; then
SCOPE_QS="&teamId=$VERCEL_TEAM_ID"
fi
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.
Parse and classify — for each deploy, capture: uid, state (READY / ERROR / CANCELED / BUILDING / QUEUED), url, target (production / preview), creator, createdAt, meta.githubCommitMessage.
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).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".
Dedup — track alerted deploy UIDs in memory/topics/[REPLACE: SKILL_NAME]-alerted.json. Never re-alert for the same UID.
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}
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.
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
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.
production-failures until the operator opts into more.