Claude-skill-registry deploy-helper
Assist with deployment workflow to production. Run pre-deploy checks, verify migrations, and validate deployment readiness. Use when deploying, releasing, pushing to production, or preparing a release.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/deploy-helper" ~/.claude/skills/majiayu000-claude-skill-registry-deploy-helper && rm -rf "$T"
manifest:
skills/data/deploy-helper/SKILL.mdsource content
Deploy Helper
Guides safe deployment to production.
When to Use
- "Deploy to production"
- "Release this"
- "Push to main"
- "Is this ready to deploy?"
- "Pre-deploy checklist"
Deployment Flow
1. PR merged to main ↓ 2. deploy.yml runs ↓ 3. Typecheck + Lint + Build ↓ 4. Preflight check (DB connection) ↓ 5. Apply migrations to production ↓ 6. Trigger Vercel deploy hook ↓ 7. Vercel builds and deploys
Pre-Deploy Checklist
Code Quality
-
passespnpm typecheck -
passespnpm lint -
succeedspnpm -C apps/web build - No
statements in production codeconsole.log - No hardcoded secrets
Tests
- All integration tests pass:
pnpm test:integration - Mobile tests pass:
pnpm -C apps/mobile test - New features have test coverage
Database
- Migration generated:
pnpm -C packages/db migrate:generate - Migration applied locally:
pnpm -C packages/db migrate:apply - No destructive migrations without data backup plan
- Migration reviewed for safety
Environment
- All required env vars set in Vercel
- No new env vars without updating Vercel config
- Secrets rotated if needed
Dependencies
- No security vulnerabilities:
pnpm audit - Dependencies up to date
- Lock file committed
Procedure
Step 1: Run Quality Checks
pnpm typecheck pnpm lint pnpm -C apps/web build
Step 2: Run Tests
pnpm test:integration pnpm -C apps/mobile test
Step 3: Check Migrations
# List pending migrations ls packages/db/drizzle/*.sql # Apply locally to verify pnpm -C packages/db migrate:apply
Step 4: Review Changes
git log main..HEAD --oneline git diff main...HEAD --stat
Step 5: Verify Readiness
Generate deploy readiness report:
## Deploy Readiness Report ### Quality Checks - [ ] TypeScript: {PASS|FAIL} - [ ] ESLint: {PASS|FAIL} - [ ] Build: {PASS|FAIL} ### Tests - [ ] Integration: {PASS|FAIL} - [ ] Mobile: {PASS|FAIL} ### Migrations - Pending: {count} - Reviewed: {YES|NO} ### Changes - Commits: {count} - Files changed: {count} ### Risk Level {LOW|MEDIUM|HIGH} ### Recommendation {READY TO DEPLOY | NEEDS ATTENTION}
Step 6: Deploy
If all checks pass:
git push origin main
Monitor deploy.yml workflow in GitHub Actions.
Rollback Procedure
If deployment fails:
-
Revert commit:
git revert HEAD git push origin main -
Check Vercel:
- Go to Vercel dashboard
- Redeploy previous working version
-
Database rollback (if needed):
- Migrations are forward-only
- Manual intervention required for rollback
- Contact database admin
Guardrails
- NEVER force push to main
- NEVER skip migration review
- NEVER deploy with failing tests
- NEVER deploy on Friday afternoon
- Always monitor deployment after push
- Have rollback plan ready