Deploy web projects to Netlify using the Netlify CLI with intelligent detection of project configuration and deployment context.
This skill automates Netlify deployments by:
sandbox_permissions=require_escalated.The skill uses the pre-authenticated Netlify CLI approach:
npx netlify status
npx netlify login
Authentication uses either:
netlify login opens browser for authenticationNETLIFY_AUTH_TOKEN environment variableCheck if the user is logged into Netlify:
npx netlify status
Expected output patterns:
If not authenticated, guide the user:
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:
export NETLIFY_AUTH_TOKEN=your_token_here
Tokens can be generated at: https://app.netlify.com/user/applications#personal-access-tokens
From netlify status output, determine:
If already linked → Skip to step 4
If not linked, attempt to link by Git remote:
# 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):
# Create new site interactively
npx netlify init
This guides user through:
Before deploying, ensure project dependencies are installed:
# For npm projects
npm install
# For other package managers, detect and use appropriate command
# yarn install, pnpm install, etc.
Choose deployment type based on context:
Preview/Draft Deploy (default for existing sites):
npx netlify deploy
This creates a deploy preview with a unique URL for testing.
Production Deploy (for new sites or explicit production deployments):
npx netlify deploy --prod
This deploys to the live production URL.
Deployment process:
After deployment, report to user:
netlify open to view site or dashboardIf a netlify.toml file exists, the CLI uses it automatically. If not, the CLI will prompt for:
npm run build, next build
dist, build, .next
Common framework defaults:
npm run build, publish .next
npm run build, publish dist
The skill should detect framework from package.json if possible and suggest appropriate settings.
# 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
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
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?
For secrets and configuration:
process.env.VARIABLE_NAME
netlify deploy (no --prod) first to test before productionnetlify open to view site in Netlify dashboardnetlify logs to view function logs (if using Netlify Functions)netlify dev for local development with Netlify Functions