Skip to content
Back to skills

Netlify

ASecurity

Netlify deploys, deploy previews, netlify.toml, serverless and edge functions. Use when deploying to Netlify, configuring netlify.toml or functions, or debugging a failed Netlify build.

  • 80 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 28, 2026
ai-agentstypescriptgobashnodedebugging

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add monkilabs/opencastle --skill netlify-deployment --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Netlify?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Netlify
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/monkilabs-netlify/badge)](https://www.skillsdirectory.com/skills/monkilabs-netlify)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: netlify-deployment
description: "Netlify deploys, deploy previews, netlify.toml, serverless and edge functions. Use when deploying to Netlify, configuring netlify.toml or functions, or debugging a failed Netlify build."
---

# Netlify Deployment

Project deployment architecture, env vars, and key files: `.opencastle/stack/deployment-config.md`. Docs: https://docs.netlify.com

`main` → production (auto). Every other branch (`feat/*`, `fix/*`, …) → deploy preview at a unique URL (auto).

## Hard limits

- Serverless functions (`netlify/functions/`): default timeout **10s**, extendable to **26s** on Pro. Anything longer must be a background function — up to **15 min**.
- Edge functions (`netlify/edge-functions/`) run on **Deno, not Node** — no Node built-ins, no npm-only packages. Use for personalization, A/B tests, geo-routing (`context.geo`).
- Functions use web-standard `Request`/`Response`. TypeScript works with no build step.

## Gotchas

- Exporting `config = { path: '/geo' }` from a function *replaces* the default `/.netlify/functions/<name>` route. Without it, the default path is the only one that works.
- Cron is a function-level `config: Config = { schedule: "0 0 * * *" }` — the schedule is **UTC**, and the request body carries `next_run`.
- Env vars are scoped and do not cascade: **Production** (`main` deploys), **Deploy previews** (all PR/branch builds), **Branch deploy** (one named branch), **Local** (`netlify dev`). A var set only on Production is undefined in previews.
- Most build failures are `NODE_VERSION` (set it under `[build.environment]` in `netlify.toml`), a stale lockfile, or a `publish` dir that does not match the actual build output.

## Commands

```bash
netlify build --debug   # reproduce the CI build locally, verbose — do this before pushing
netlify env:list        # confirm vars exist in the scope you expect
netlify status          # linked site + deploy state
```

Post-deploy, verify each critical route returns 200:

```bash
curl -fsS -o /dev/null -w '%{http_code}' https://<DEPLOY_URL>/
```

Any non-200 → read the deploy log in the Netlify UI, fix, redeploy.

Files in this skill

  • REFERENCE.md1.1 KB
  • SKILL.md3.5 KB
  • config.ts841 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…