netlify-deploy
Deploy projects to Netlify with the Netlify CLI. Use when the user wants to link a repo, validate deploy settings, run a deploy, or choose between preview and production flows.
Best use case
netlify-deploy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Deploy projects to Netlify with the Netlify CLI. Use when the user wants to link a repo, validate deploy settings, run a deploy, or choose between preview and production flows.
Teams using netlify-deploy should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/netlify-deploy/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How netlify-deploy Compares
| Feature / Agent | netlify-deploy | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Deploy projects to Netlify with the Netlify CLI. Use when the user wants to link a repo, validate deploy settings, run a deploy, or choose between preview and production flows.
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.
SKILL.md Source
# Netlify Deployment Skill Deploy web projects to Netlify using the Netlify CLI with intelligent detection of project configuration and deployment context. ## Overview This skill automates Netlify deployments by: - Verifying Netlify CLI authentication - Detecting project configuration and framework - Linking to existing sites or creating new ones - Deploying to production or preview environments ## Prerequisites - **Netlify CLI**: Installed via npx (no global install required) - **Authentication**: Netlify account with active login session - **Project**: Valid web project in current directory - When sandboxing blocks the deployment network calls, rerun with `sandbox_permissions=require_escalated`. - The deployment might take a few minutes. Use appropriate timeout values. ## Authentication Pattern The skill uses the **pre-authenticated Netlify CLI** approach: 1. Check authentication status with `npx netlify status` 2. If not authenticated, guide user through `npx netlify login` 3. Fail gracefully if authentication cannot be established Authentication uses either: - **Browser-based OAuth** (primary): `netlify login` opens browser for authentication - **API Key** (alternative): Set `NETLIFY_AUTH_TOKEN` environment variable ## Workflow ### 1. Verify Netlify CLI Authentication Check if the user is logged into Netlify: ```bash npx netlify status ``` **Expected output patterns**: - ✅ Authenticated: Shows logged-in user email and site link status - ❌ Not authenticated: "Not logged into any site" or authentication error **If not authenticated**, guide the user: ```bash npx netlify login ``` This opens a browser window for OAuth authentication. Wait for user to complete login, then verify with `netlify status` again. **Alternative: API Key authentication** If browser authentication isn't available, users can set: ```bash export NETLIFY_AUTH_TOKEN=your_token_here ``` Tokens can be generated at: https://app.netlify.com/user/applications#personal-access-tokens ### 2. Detect Site Link Status From `netlify status` output, determine: - **Linked**: Site already connected to Netlify (shows site name/URL) - **Not linked**: Need to link or create site ### 3. Link to Existing Site or Create New **If already linked** → Skip to step 4 **If not linked**, attempt to link by Git remote: ```bash # Check if project is Git-based git remote show origin # If Git-based, extract remote URL # Format: https://github.com/username/repo or git@github.com:username/repo.git # Try to link by Git remote npx netlify link --git-remote-url <REMOTE_URL> ``` **If link fails** (site doesn't exist on Netlify): ```bash # Create new site interactively npx netlify init ``` This guides user through: 1. Choosing team/account 2. Setting site name 3. Configuring build settings 4. Creating netlify.toml if needed ### 4. Verify Dependencies Before deploying, ensure project dependencies are installed: ```bash # For npm projects npm install # For other package managers, detect and use appropriate command # yarn install, pnpm install, etc. ``` ### 5. Deploy to Netlify Choose deployment type based on context: **Preview/Draft Deploy** (default for existing sites): ```bash npx netlify deploy ``` This creates a deploy preview with a unique URL for testing. **Production Deploy** (for new sites or explicit production deployments): ```bash npx netlify deploy --prod ``` This deploys to the live production URL. **Deployment process**: 1. CLI detects build settings (from netlify.toml or prompts user) 2. Builds the project locally 3. Uploads built assets to Netlify 4. Returns deployment URL ### 6. Report Results After deployment, report to user: - **Deploy URL**: Unique URL for this deployment - **Site URL**: Production URL (if production deploy) - **Deploy logs**: Link to Netlify dashboard for logs - **Next steps**: Suggest `netlify open` to view site or dashboard ## Handling netlify.toml If a `netlify.toml` file exists, the CLI uses it automatically. If not, the CLI will prompt for: - **Build command**: e.g., `npm run build`, `next build` - **Publish directory**: e.g., `dist`, `build`, `.next` Common framework defaults: - **Next.js**: build command `npm run build`, publish `.next` - **React (Vite)**: build command `npm run build`, publish `dist` - **Static HTML**: no build command, publish current directory The skill should detect framework from `package.json` if possible and suggest appropriate settings. ## Example Full Workflow ```bash # 1. Check authentication npx netlify status # If not authenticated: npx netlify login # 2. Link site (if needed) # Try Git-based linking first git remote show origin npx netlify link --git-remote-url https://github.com/user/repo # If no site exists, create new one: npx netlify init # 3. Install dependencies npm install # 4. Deploy (preview for testing) npx netlify deploy # 5. Deploy to production (when ready) npx netlify deploy --prod ``` ## Error Handling Common issues and solutions: **"Not logged in"** → Run `npx netlify login` **"No site linked"** → Run `npx netlify link` or `npx netlify init` **"Build failed"** → Check build command and publish directory in netlify.toml or CLI prompts → Verify dependencies are installed → Review build logs for specific errors **"Publish directory not found"** → Verify build command ran successfully → Check publish directory path is correct ## Troubleshooting ### Escalated Network Access If deployment fails due to network issues (timeouts, DNS errors, connection resets), rerun the deploy with escalated permissions (use `sandbox_permissions=require_escalated`). The deploy requires escalated network access when sandbox networking blocks outbound requests. Example guidance to the user: ``` The deploy needs escalated network access to deploy to Netlify. I can rerun the command with escalated permissions—want me to proceed? ``` ## Environment Variables For secrets and configuration: 1. Never commit secrets to Git 2. Set in Netlify dashboard: Site Settings → Environment Variables 3. Access in builds via `process.env.VARIABLE_NAME` ## Tips - Use `netlify deploy` (no `--prod`) first to test before production - Run `netlify open` to view site in Netlify dashboard - Run `netlify logs` to view function logs (if using Netlify Functions) - Use `netlify dev` for local development with Netlify Functions ## Reference - Netlify CLI Docs: https://docs.netlify.com/cli/get-started/ - netlify.toml Reference: https://docs.netlify.com/configure-builds/file-based-configuration/ ## Bundled References (Load As Needed) - [CLI commands](references/cli-commands.md) - [Deployment patterns](references/deployment-patterns.md) - [netlify.toml guide](references/netlify-toml.md)
Related Skills
deployments-cicd
Vercel deployment and CI/CD expert guidance. Use when deploying, promoting, rolling back, inspecting deployments, building with --prebuilt, or configuring CI workflow files for Vercel.
deploy-to-vercel
Deploy applications and websites to Vercel. Use when the user requests deployment actions like "deploy my app", "deploy and give me the link", "push this live", or "create a preview deployment".
workflow
Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause/resume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.
verification
Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.
vercel-storage
Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.
vercel-services
Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.
vercel-sandbox
Vercel Sandbox guidance — ephemeral Firecracker microVMs for running untrusted code safely. Supports AI agents, code generation, and experimentation. Use when executing user-generated or AI-generated code in isolation.
vercel-queues
Vercel Queues guidance (public beta) — durable event streaming with topics, consumer groups, retries, and delayed delivery. $0.60/1M ops. Powers Workflow DevKit. Use when building async processing, fan-out patterns, or event-driven architectures.
vercel-functions
Vercel Functions expert guidance — Serverless Functions, Edge Functions, Fluid Compute, streaming, Cron Jobs, and runtime configuration. Use when configuring, debugging, or optimizing server-side code running on Vercel.
vercel-flags
Vercel Flags guidance — feature flags platform with unified dashboard, Flags Explorer, gradual rollouts, A/B testing, and provider adapters. Use when implementing feature flags, experimentation, or staged rollouts.
vercel-firewall
Vercel Firewall and security expert guidance. Use when configuring DDoS protection, WAF rules, rate limiting, bot filtering, IP allow/block lists, OWASP rulesets, Attack Challenge Mode, or any security configuration on the Vercel platform.
vercel-cli
Vercel CLI expert guidance. Use when deploying, managing environment variables, linking projects, viewing logs, managing domains, or interacting with the Vercel platform from the command line.