netlify-deploy
Original:🇺🇸 English
Translated
Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys.
15installs
Added on
NPX Install
npx skill4agent add netlify/context-and-tools netlify-deployTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →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
- Network access: Deployment requires outbound network calls. If sandboxing blocks these, the agent may need to request elevated permissions or prompt the user.
- Timeouts: Deployments can take a few minutes. Use appropriate timeout values for CLI commands.
Authentication Pattern
The skill uses the pre-authenticated Netlify CLI approach:
- Check authentication status with
npx netlify status - If not authenticated, guide user through
npx netlify login - Fail gracefully if authentication cannot be established
Authentication uses either:
- Browser-based OAuth (primary): opens browser for authentication
netlify login - API Key (alternative): Set environment variable
NETLIFY_AUTH_TOKEN
Workflow
1. Verify Netlify CLI Authentication
Check if the user is logged into Netlify:
bash
npx netlify statusExpected 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 loginThis opens a browser window for OAuth authentication. Wait for user to complete login, then verify with again.
netlify statusAlternative: API Key authentication
If browser authentication isn't available, users can set:
bash
export NETLIFY_AUTH_TOKEN=your_token_hereTokens can be generated at: https://app.netlify.com/user/applications#personal-access-tokens
2. Detect Site Link Status
From output, determine:
netlify status- 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 initThis guides user through:
- Choosing team/account
- Setting site name
- Configuring build settings
- 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 deployThis creates a deploy preview with a unique URL for testing.
Production Deploy (for new sites or explicit production deployments):
bash
npx netlify deploy --prodThis deploys to the live production URL.
Deployment process:
- CLI detects build settings (from netlify.toml or prompts user)
- Builds the project locally
- Uploads built assets to Netlify
- 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 to view site or dashboard
netlify open
Handling netlify.toml
If a file exists, the CLI uses it automatically. If not, the CLI will prompt for:
netlify.toml- Build command: e.g., ,
npm run buildnext build - Publish directory: e.g., ,
dist,build.next
Common framework defaults:
- Next.js: build command , publish
npm run build.next - React (Vite): build command , publish
npm run builddist - Static HTML: no build command, publish current directory
The skill should detect framework from if possible and suggest appropriate settings.
package.jsonExample 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 --prodError Handling
Common issues and solutions:
"Not logged in"
→ Run
npx netlify login"No site linked"
→ Run or
npx netlify linknpx 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
Environment Variables
For secrets and configuration:
- Never commit secrets to Git
- Set in Netlify dashboard: Site Settings → Environment Variables
- Access in builds via
process.env.VARIABLE_NAME
Tips
- Use (no
netlify deploy) first to test before production--prod - Run to view site in Netlify dashboard
netlify open - Run to view function logs (if using Netlify Functions)
netlify logs - Use for local development with Netlify Functions
netlify dev
Reference
- Netlify CLI Docs: https://docs.netlify.com/cli/get-started/
- netlify.toml Reference: https://docs.netlify.com/configure-builds/file-based-configuration/
References
- CLI commands
- Deployment patterns
- netlify.toml guide