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).
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 / Agent | vercel-github-actions-deploy | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/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
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Cursor vs Codex for AI Workflows
Compare Cursor and Codex for AI coding workflows, repository assistance, debugging, refactoring, and reusable developer skills.
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/tokensRelated Skills
devops-deploy
DevOps e deploy de aplicacoes — Docker, CI/CD com GitHub Actions, AWS Lambda, SAM, Terraform, infraestrutura como codigo e monitoramento.
deployment-procedures
Production deployment principles and decision-making. Safe deployment workflows, rollback strategies, and verification. Teaches thinking, not scripts.
deployment-pipeline-design
Architecture patterns for multi-stage CI/CD pipelines with approval gates and deployment strategies.
kubernetes-deployment
Kubernetes deployment workflow for container orchestration, Helm charts, service mesh, and production-ready K8s configurations.
github-tools
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.
modal-deployment
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.
linux-shell-scripting
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.
iterate-pr
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.
istio-traffic-management
Comprehensive guide to Istio traffic management for production service mesh deployments.
incident-runbook-templates
Production-ready templates for incident response runbooks covering detection, triage, mitigation, resolution, and communication.
incident-response-smart-fix
[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
incident-responder
Expert SRE incident responder specializing in rapid problem resolution, modern observability, and comprehensive incident management.