vercel-github-actions-deploy

Set up GitHub Actions to deploy any Vercel project using the Git Author Override method, enabling teammates to deploy on the free Hobby plan. Use when the user asks about Vercel deployment via GitHub Actions, CI/CD for Vercel, letting teammates deploy on Vercel free plan, bypassing Vercel's Hobby plan deploy restrictions, or automating Vercel production deploys. Covers workflow setup, GitHub Secrets configuration, and package manager variants (bun, npm, pnpm).

26 stars
Complexity: medium

About this skill

This AI agent skill automates the setup of continuous deployment for Vercel projects using GitHub Actions, specifically designed to work around the limitations of Vercel's free Hobby plan. Normally, Vercel's free tier restricts deployments to the account owner, requiring an upgrade to the Pro plan for team-based CI/CD. This skill provides a clever workaround by generating a GitHub Actions workflow that temporarily rewrites the Git commit author to the account owner during the CI process, allowing any team member to trigger production deployments without incurring Pro plan costs. The skill covers the complete workflow setup, including generating the `.yml` file for GitHub Actions and providing clear instructions for configuring the necessary GitHub Secrets. It supports various package managers like npm, yarn, pnpm, and bun. This ensures that your project can enjoy automated, team-friendly deployments even on the free Vercel plan, with minimal manual intervention beyond the initial setup of API tokens and project IDs.

Best use case

The primary use case is for development teams or individual developers utilizing Vercel's free Hobby plan who need automated CI/CD pipelines and the ability for multiple team members to trigger production deployments. It's ideal for startups, open-source projects, or personal projects where upgrading to a paid Vercel plan solely for team deployment features is not feasible or desired, ensuring seamless integration and deployment automation while keeping costs down.

Set up GitHub Actions to deploy any Vercel project using the Git Author Override method, enabling teammates to deploy on the free Hobby plan. Use when the user asks about Vercel deployment via GitHub Actions, CI/CD for Vercel, letting teammates deploy on Vercel free plan, bypassing Vercel's Hobby plan deploy restrictions, or automating Vercel production deploys. Covers workflow setup, GitHub Secrets configuration, and package manager variants (bun, npm, pnpm).

A functional GitHub Actions workflow set up in your repository that automatically deploys your Vercel project to production on every push to main, accessible to all team members, while utilizing the free Hobby plan.

Practical example

Example input

Help me set up GitHub Actions to deploy my Vercel project automatically, and I'm on the free plan, so my team needs to be able to deploy.

Example output

Okay, I can help you set up a GitHub Actions workflow to deploy your Vercel project on the free Hobby plan. First, I'll generate the `.github/workflows/deploy.yml` file for you. You'll need to provide your Vercel project details and create a Vercel deploy token. Here are the steps:

1.  **Generate Workflow File:** (Provides YAML content for `deploy.yml`)
2.  **Create Vercel Deploy Token:** Go to [vercel.com/account/tokens](https://vercel.com/account/tokens), create a token, and copy it.
3.  **Find Vercel Project ID, Org ID, Project Name, and Account Email:** (Provides instructions on where to find these)
4.  **Set GitHub Secrets:** Go to your GitHub repository Settings > Secrets and variables > Actions. Add the following repository secrets:
    *   `VERCEL_TOKEN`: (Your Vercel deploy token)
    *   `VERCEL_PROJECT_ID`: (Your Vercel project ID)
    *   `VERCEL_ORG_ID`: (Your Vercel organization ID)
    *   `PROJECT_NAME`: (Your project's name on Vercel)
    *   `VERCEL_ACCOUNT_EMAIL`: (The email of the Vercel account owner)

Once these steps are completed, pushes to your main branch will trigger a Vercel deployment.

When to use this skill

  • When you need to automate Vercel deployments using GitHub Actions.
  • When your team wants to deploy Vercel projects on the free Hobby plan.
  • To bypass Vercel's Hobby plan restrictions on team deployments.
  • For setting up CI/CD for Vercel projects without upgrading to a Pro plan.

When not to use this skill

  • If your Vercel projects are already on a Pro or Enterprise plan.
  • If you are not using Vercel for your project hosting.
  • If you are not using GitHub Actions for your CI/CD.
  • If you prefer manual deployments for every change.

How vercel-github-actions-deploy Compares

Feature / Agentvercel-github-actions-deployStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/A

Frequently Asked Questions

What does this skill do?

Set up GitHub Actions to deploy any Vercel project using the Git Author Override method, enabling teammates to deploy on the free Hobby plan. Use when the user asks about Vercel deployment via GitHub Actions, CI/CD for Vercel, letting teammates deploy on Vercel free plan, bypassing Vercel's Hobby plan deploy restrictions, or automating Vercel production deploys. Covers workflow setup, GitHub Secrets configuration, and package manager variants (bun, npm, pnpm).

How difficult is it to install?

The installation complexity is rated as medium. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Vercel GitHub Actions Deploy (Git Author Override)

Deploy Vercel projects from GitHub Actions on the **free Hobby plan** — letting any teammate trigger production deploys.

## The Problem

Vercel's free plan ties deployments to the **account owner**. When a teammate pushes to `main`, Vercel checks the git commit author and rejects it. Normally requires Pro plan ($20/mo per member).

## How It Works

```
Teammate pushes to main
        ↓
GitHub Actions triggers
        ↓
Rewrites commit author to account owner (on CI runner only)
        ↓
Vercel CLI builds and deploys to production
```

- Runs on every push to `main` — by **anyone**
- Manual deploy via GitHub Actions tab (`workflow_dispatch`)
- Actual repo history stays **untouched** (rewrite only on disposable runner)
- Works on the **free Vercel plan**

## User Action Required — What You Need Before Starting

This skill generates the workflow file automatically, but **you must provide 5 values** that only you have access to. The AI assistant **cannot** obtain these for you.

### Checklist: Things You Must Do Manually

| # | Action | Where to Do It | What You Get |
|---|--------|----------------|--------------|
| 1 | **Create a Vercel deploy token** | Go to [vercel.com/account/tokens](https://vercel.com/account/tokens) → Create Token → Copy it | `VERCEL_TOKEN` |
| 2 | **Link your project to Vercel** | Run `npx vercel link` in your project root (follow prompts) | Creates `.vercel/project.json` |
| 3 | **Copy Org ID and Project ID** | Open `.vercel/project.json` → copy `orgId` and `projectId` values | `VERCEL_ORG_ID`, `VERCEL_PROJECT_ID` |
| 4 | **Know the Vercel account owner's identity** | The email and name on the Vercel account that owns the project | `DEPLOY_EMAIL`, `DEPLOY_NAME` |
| 5 | **Add all 5 secrets to GitHub** | Go to your repo → **Settings** → **Secrets and variables** → **Actions** → **New repository secret** | Secrets stored in GitHub |

**IMPORTANT:** The AI assistant will create the workflow YAML file for you, but it **cannot** create the Vercel token, link your project, or add GitHub secrets — you must do steps 1-5 yourself.

### The 5 Required GitHub Secrets

Add each of these at: `https://github.com/<owner>/<repo>/settings/secrets/actions`

| Secret Name | Where to Get It | Example Value |
|-------------|-----------------|---------------|
| `VERCEL_TOKEN` | [vercel.com/account/tokens](https://vercel.com/account/tokens) → Create Token | `pZt7x...` (long string) |
| `VERCEL_ORG_ID` | `.vercel/project.json` → `"orgId"` field | `team_aBcDeFgHiJkLmN` |
| `VERCEL_PROJECT_ID` | `.vercel/project.json` → `"projectId"` field | `prj_xYzAbCdEfGhIjK` |
| `DEPLOY_EMAIL` | Email of the person who owns the Vercel project | `owner@example.com` |
| `DEPLOY_NAME` | Display name of the Vercel project owner | `Om Sarraf` |

### How to Get the Org ID and Project ID

```bash
# Step 1: Install Vercel CLI (if not installed)
npm install -g vercel

# Step 2: Link your project
npx vercel link
# → Follow prompts: select scope, link to existing project or create new

# Step 3: A file is created at .vercel/project.json
# It looks like this:
# {
#   "orgId": "team_aBcDeFgHiJkLmN",
#   "projectId": "prj_xYzAbCdEfGhIjK"
# }

# Step 4: Make sure .vercel is gitignored
echo ".vercel" >> .gitignore
```

## Quick Start (5 min)

Once you have all 5 secrets ready, setup takes under 5 minutes.

### Step 1: Pick your workflow

Choose based on your package manager:

- **Bun** (has `bun.lock`) → `examples/deploy-bun.yml`
- **npm** (has `package-lock.json`) → `examples/deploy-npm.yml`
- **pnpm** (has `pnpm-lock.yaml`) → `examples/deploy-pnpm.yml`

Copy the chosen file to `.github/workflows/deploy.yml` in your repo.

### Step 2: Add your 5 GitHub Secrets

**(You must do this manually — see "User Action Required" above)**

Go to `https://github.com/<owner>/<repo>/settings/secrets/actions` and add:

1. `VERCEL_TOKEN`
2. `VERCEL_ORG_ID`
3. `VERCEL_PROJECT_ID`
4. `DEPLOY_EMAIL`
5. `DEPLOY_NAME`

### Step 3: Push and deploy

```bash
git add .github/workflows/deploy.yml
git commit -m "ci: add Vercel deploy workflow"
git push origin main
```

Watch it deploy in the **Actions** tab of your GitHub repo.

## Workflow Template (Bun)

```yaml
name: Deploy to Vercel

on:
  push:
    branches: [main]
  workflow_dispatch:

env:
  VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
  VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Override git author to repo owner
        run: |
          git config user.email "${{ secrets.DEPLOY_EMAIL }}"
          git config user.name "${{ secrets.DEPLOY_NAME }}"
          git commit --amend --reset-author --no-edit

      - uses: actions/setup-node@v4
        with:
          node-version: 20

      - uses: oven-sh/setup-bun@v2

      - name: Install Vercel CLI
        run: npm install -g vercel

      - name: Pull Vercel environment
        run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}

      - name: Build project
        run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}

      - name: Deploy to Vercel
        run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
```

**Using npm?** Remove the Bun step.
**Using pnpm?** Replace the Bun step with `uses: pnpm/action-setup@v4`.

See `examples/` for ready-to-use workflow files for each package manager.

## Preventing Double Deploys

If the account owner pushes, both Vercel's Git integration and GitHub Actions will deploy. To avoid this:

1. Go to **Vercel Dashboard** → your project → **Settings** → **Git**
2. Set **Ignored Build Step** command to: `exit 0`
3. Click **Save**

This disables Vercel's built-in Git deploys and lets GitHub Actions handle everything.

**(This is a manual step in the Vercel dashboard — the AI assistant cannot do this for you.)**

## Preview Deploys for PRs

To deploy previews on pull requests, change the trigger and remove `--prod`:

```yaml
on:
  pull_request:
    branches: [main]

# In the build step:
- run: vercel build --token=${{ secrets.VERCEL_TOKEN }}

# In the deploy step:
- run: vercel deploy --prebuilt --token=${{ secrets.VERCEL_TOKEN }}
```

## Environment Variables

`vercel pull` fetches all env vars from your Vercel project automatically. No need to duplicate them in GitHub Secrets.

**Note:** Your project's env vars must already be configured in the Vercel dashboard. If you haven't added them yet, go to: **Vercel Dashboard** → your project → **Settings** → **Environment Variables**.

## FAQ

**Does the author override mess with my git history?**
No. The rewrite only happens inside the disposable GitHub Actions runner. Your actual repo commits are untouched.

**Does this work with monorepos?**
Yes. Make sure `vercel link` points to the correct project. See [templates/deploy-workflow-template.md](templates/deploy-workflow-template.md#monorepo-support) for multi-project setup.

**What about environment variables?**
`vercel pull` fetches all env vars from your Vercel project automatically — but they must exist in the Vercel dashboard first.

**The deploy worked but my site didn't update?**
You might have Vercel's Git integration also deploying (race condition). Set **Ignored Build Step** to `exit 0` in Vercel project settings.

**I'm getting "VERCEL_TOKEN is not set"?**
GitHub Secrets are case-sensitive. Make sure the name is exactly `VERCEL_TOKEN`, not `vercel_token` or `Vercel_Token`.

## Additional Resources

- Full step-by-step setup guide: [templates/deploy-workflow-template.md](templates/deploy-workflow-template.md)
- Ready-to-use workflow files: [examples/](examples/)
- Vercel CLI docs: https://vercel.com/docs/cli
- GitHub Actions docs: https://docs.github.com/en/actions
- Vercel tokens page: https://vercel.com/account/tokens

Related Skills

devops-deploy

31392
from sickn33/antigravity-awesome-skills

DevOps e deploy de aplicacoes — Docker, CI/CD com GitHub Actions, AWS Lambda, SAM, Terraform, infraestrutura como codigo e monitoramento.

DevOps & InfrastructureClaudeCursorGemini

deployment-procedures

31392
from sickn33/antigravity-awesome-skills

Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.

DevOps & InfrastructureClaude

deployment-pipeline-design

31392
from sickn33/antigravity-awesome-skills

Architecture patterns for multi-stage CI/CD pipelines with approval gates and deployment strategies.

DevOps & InfrastructureClaude

kubernetes-deployment

31355
from sickn33/antigravity-awesome-skills

Kubernetes deployment workflow for container orchestration, Helm charts, service mesh, and production-ready K8s configurations.

DevOps & InfrastructureClaude

github-tools

3891
from openclaw/skills

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

DevOps & Infrastructure

modal-deployment

159
from majiayu000/claude-skill-registry

Run Python code in the cloud with serverless containers, GPUs, and autoscaling using Modal. This skill enables agents to generate code for deploying ML models, running batch jobs, serving APIs, and scaling compute-intensive workloads.

DevOps & Infrastructure

linux-shell-scripting

31392
from sickn33/antigravity-awesome-skills

Provide production-ready shell script templates for common Linux system administration tasks including backups, monitoring, user management, log analysis, and automation. These scripts serve as building blocks for security operations and penetration testing environments.

DevOps & InfrastructureClaude

iterate-pr

31392
from sickn33/antigravity-awesome-skills

Iterate on a PR until CI passes. Use when you need to fix CI failures, address review feedback, or continuously push fixes until all checks are green. Automates the feedback-fix-push-wait cycle.

DevOps & InfrastructureClaude

istio-traffic-management

31392
from sickn33/antigravity-awesome-skills

Comprehensive guide to Istio traffic management for production service mesh deployments.

DevOps & InfrastructureClaude

incident-runbook-templates

31392
from sickn33/antigravity-awesome-skills

Production-ready templates for incident response runbooks covering detection, triage, mitigation, resolution, and communication.

DevOps & InfrastructureClaude

incident-response-smart-fix

31392
from sickn33/antigravity-awesome-skills

[Extended thinking: This workflow implements a sophisticated debugging and resolution pipeline that leverages AI-assisted debugging tools and observability platforms to systematically diagnose and res

DevOps & InfrastructureClaudeGitHub Copilot

incident-responder

31392
from sickn33/antigravity-awesome-skills

Expert SRE incident responder specializing in rapid problem resolution, modern observability, and comprehensive incident management.

DevOps & InfrastructureClaude