Skip to content
Back to skills

Deploy Prod

ASecurity

Deploy main to Vercel production the safe way (clean worktree, env baked in) and smoke it with Reelier at Level 0 — zero tokens. Use after any merge to main; Vercel git integration does NOT reliably auto-deploy main.

  • 39 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 1, 2026
ai-agentsshellnodegit

Works with

  • cli

Security analysis

A100/100

Scanned September 1, 2026

npx -y skills add seldonframe/seldonframe --skill deploy-prod --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Deploy Prod?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Deploy Prod
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/seldonframe-deploy-prod/badge)](https://www.skillsdirectory.com/skills/seldonframe-deploy-prod)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: deploy-prod
description: Deploy main to Vercel production the safe way (clean worktree, env baked in) and smoke it with Reelier at Level 0 — zero tokens. Use after any merge to main; Vercel git integration does NOT reliably auto-deploy main.
---

# deploy-prod — clean-worktree deploy + Reelier smoke

Vercel's git integration does not reliably auto-deploy main (verified 2026-07-18), and
deploying from the dirty local checkout is forbidden. This is the canonical sequence.

## Steps

1. Get the merge sha: `git fetch origin main` and note the commit to deploy.
2. Clean worktree deploy (env vars are baked at build, so this also picks up flag changes):
   ```powershell
   git worktree add "$env:TEMP\sf-main-deploy" <sha>
   Copy-Item .vercel "$env:TEMP\sf-main-deploy\.vercel" -Recurse -Force
   Set-Location "$env:TEMP\sf-main-deploy"; npx vercel deploy --prod
   ```
3. Verify: `npx vercel inspect <deployment-url>` → `target production` + `status Ready`.
4. **Smoke with Reelier (default — NOT the smoke-runner agent):**
   ```powershell
   Set-Location C:\Users\maxim\CascadeProjects\reelier
   node dist/cli.js run skills/sf-post-deploy-smoke.skill.md
   ```
   Level-0 deterministic replay: ~1-3s, 0 LLM tokens, per-step receipts in `.reelier/runs/`.
   Exit 0 = deploy smoked. This replaces a ~35-60k-token smoke-runner agent dispatch.
5. **Escalation only on divergence:** if a step fails, do NOT immediately re-run — a failed
   sentinel usually means the page copy changed (update the skill's assert) or the deploy
   is genuinely broken (check `npx vercel logs`). Dispatch the smoke-runner agent ONLY when
   the reelier failure needs judgment (e.g. deciding whether copy drift is intentional).
6. If the deploy touched migrations: verify on Neon that the new table/column exists
   (`information_schema`) — the build runs `db:migrate`, but confirm, don't assume.
7. Clean up: `git worktree remove "$env:TEMP\sf-main-deploy" --force; git worktree prune`.

## Why Reelier-first

Deterministic replay with assertions IS the smoke test: same checks every time, receipts
written, zero spend. The agent is the escalation path, not the default — the same
L0-first/escalate-on-divergence ladder the replay product itself uses. When the smoke
skill's sentinels drift because marketing copy changed, updating the assert line in
`reelier/skills/sf-post-deploy-smoke.skill.md` is the fix (and gets a changelog line).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.