Catalog all Vercel projects with deployment status, domains, and framework info
Today is ${today}. Your task is to catalog all Vercel projects into a structured reference file.
Fetch all projects.
Primary — WebFetch (works reliably in sandbox):
Use WebFetch to fetch https://api.vercel.com/v9/projects?limit=100 with header Authorization: Bearer $VERCEL_TOKEN.
If WebFetch doesn't support auth headers, try curl:
curl -s "https://api.vercel.com/v9/projects?limit=100" \
-H "Authorization: Bearer $VERCEL_TOKEN" | jq '.'
If ${var} is set (team slug), add &teamId=${var} to the URL.
If both fail (sandbox blocks auth curl and WebFetch can't add headers): check if .xai-cache/vercel-projects.json exists (pre-fetched by workflow) and read from there.
For each project, extract:
For latest deployment info, use WebFetch or curl:
curl -s "https://api.vercel.com/v6/deployments?projectId=PROJECT_ID&limit=1&target=production" \
-H "Authorization: Bearer $VERCEL_TOKEN" | jq '.deployments[0] | {url, readyState, createdAt}'
Categorize each project:
Write the catalog to memory/topics/vercel.md:
# Vercel Projects — ${today}
## Live
| Project | Framework | Domain | Last Deploy | Repo |
|---------|-----------|--------|-------------|------|
| name | nextjs | example.vercel.app | YYYY-MM-DD | owner/repo |
## Idle
...
## Stale
...
## Errored
...
---
### Project Details
#### project-name
**URL:** https://domain.vercel.app
**Framework:** Next.js / static / etc.
**Repo:** linked repo or "not connected"
**Last Deploy:** date, status
**Domains:** list of custom domains if any
Cross-reference with repos. If memory/topics/repos.md exists, note which GitHub repos
have Vercel projects and which don't (potential candidates for deploy-prototype).
Update memory index. Add a pointer in memory/MEMORY.md if not already there.
Notify. Send via ./notify:
vercel-projects: cataloged N projects (L live, I idle, S stale, E errored)
saved to memory/topics/vercel.md
Log. Append to memory/logs/${today}.md.
VERCEL_TOKEN — Required. Vercel API bearer token.The sandbox may block curl with auth headers (env var expansion fails). Fallback chain:
$VERCEL_TOKEN header (may be blocked).xai-cache/vercel-projects.json (pre-fetched by workflow if available)pagination.next field, fetch the next page.