netlify
Use the Netlify CLI (netlify) to create/link Netlify sites and set up CI/CD (continuous deployment) from GitHub, especially for monorepos (multiple sites in one repo like Hugo sites under sites/<domain>). Use when Avery asks to deploy a new site, connect a repo to Netlify, configure build/publish settings, set environment variables, enable deploy previews, or automate Netlify site creation.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install openclaw-skills-netlify
Repository
Skill path: skills/ajmwagar/netlify
Use the Netlify CLI (netlify) to create/link Netlify sites and set up CI/CD (continuous deployment) from GitHub, especially for monorepos (multiple sites in one repo like Hugo sites under sites/<domain>). Use when Avery asks to deploy a new site, connect a repo to Netlify, configure build/publish settings, set environment variables, enable deploy previews, or automate Netlify site creation.
Open repositoryBest for
Primary workflow: Run DevOps.
Technical facets: Full Stack, DevOps.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: openclaw.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install netlify into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/openclaw/skills before adding netlify to shared team environments
- Use netlify for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: netlify
description: Use the Netlify CLI (netlify) to create/link Netlify sites and set up CI/CD (continuous deployment) from GitHub, especially for monorepos (multiple sites in one repo like Hugo sites under sites/<domain>). Use when Avery asks to deploy a new site, connect a repo to Netlify, configure build/publish settings, set environment variables, enable deploy previews, or automate Netlify site creation.
---
# netlify
Use the `netlify` CLI to create projects (“sites”), link local folders, and configure CI/CD from GitHub.
## Pre-reqs
- `netlify --version`
- Logged in (`netlify login`) **or** provide `--auth $NETLIFY_AUTH_TOKEN`.
- Know the Netlify team/account slug you want to create sites under (optional but recommended).
Helpful checks:
```bash
netlify status
netlify sites:list
```
## Monorepo pattern (recommended)
For **one repo with multiple sites** (e.g. `sites/seattlecustomboatparts.com`, `sites/floridacustomerboatparts.com`):
- Create **one Netlify site per domain**.
- Set the site’s **Base directory** to that subfolder.
- Put a `netlify.toml` *inside that subfolder*.
This keeps each domain’s build config self-contained.
### Hugo subfolder `netlify.toml`
Create `sites/<domain>/netlify.toml`:
```toml
[build]
command = "hugo --minify"
publish = "public"
[build.environment]
HUGO_VERSION = "0.155.1"
```
(Adjust HUGO_VERSION as needed.)
## Fast workflow: create + link + init CI/CD
### 1) Create a Netlify site (project)
Run inside the site folder you want to deploy (base dir):
```bash
cd sites/<domain>
netlify sites:create --name <netlify-site-name> --account-slug <team> --with-ci
```
Notes:
- `--with-ci` starts CI hooks setup.
- If you need manual control, add `--manual`.
### 2) Link local folder to the created site
If not linked already:
```bash
netlify link
```
### 3) Connect to GitHub for continuous deployment
```bash
netlify init
```
This is usually interactive (select Git remote/repo + build settings). For automation we can pre-create `netlify.toml` and then accept defaults.
## Environment variables
Set per-site vars:
```bash
netlify env:set VAR_NAME value
netlify env:list
```
Useful for monorepos:
- `CONTACT_EMAIL` (or other shared config)
## Deploy
Manual deploys (handy for quick preview):
```bash
netlify deploy # draft deploy
netlify deploy --prod # production deploy
```
## Included scripts
- `scripts/hugo_netlify_toml.sh`: create a `netlify.toml` in a Hugo subfolder
- `scripts/netlify_monorepo_site.sh`: helper to create/link/init a site for a subfolder
When using scripts, prefer passing `NETLIFY_AUTH_TOKEN` via env for non-interactive runs.
---
## Referenced Files
> The following files are referenced in this skill and included for context.
### scripts/hugo_netlify_toml.sh
```bash
#!/usr/bin/env bash
set -euo pipefail
# Create a netlify.toml for a Hugo site whose base dir is the current folder.
# Usage:
# ./hugo_netlify_toml.sh [HUGO_VERSION]
HUGO_VERSION="${1:-0.155.1}"
cat > netlify.toml <<EOF
[build]
command = "hugo --minify"
publish = "public"
[build.environment]
HUGO_VERSION = "${HUGO_VERSION}"
EOF
echo "Wrote $(pwd)/netlify.toml (HUGO_VERSION=${HUGO_VERSION})"
```
### scripts/netlify_monorepo_site.sh
```bash
#!/usr/bin/env bash
set -euo pipefail
# Helper for monorepos: create/link/init a Netlify site for a specific subfolder.
#
# Usage:
# ./netlify_monorepo_site.sh <site_dir> <netlify_site_name> [account_slug]
#
# Examples:
# ./netlify_monorepo_site.sh sites/seattlecustomboatparts.com seattlecustomboatparts FuturePresentLabs
#
# Notes:
# - Runs netlify sites:create in <site_dir>.
# - Writes a Hugo netlify.toml (hugo --minify, publish public) if none exists.
# - Starts `netlify init` (interactive) to connect GitHub.
SITE_DIR="$1"
SITE_NAME="$2"
ACCOUNT_SLUG="${3:-}"
if [[ ! -d "$SITE_DIR" ]]; then
echo "site_dir not found: $SITE_DIR" >&2
exit 1
fi
pushd "$SITE_DIR" >/dev/null
if [[ ! -f netlify.toml ]]; then
# Default Hugo version; override by editing file later if needed.
"$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/hugo_netlify_toml.sh" "0.155.1"
fi
CREATE_ARGS=(sites:create --name "$SITE_NAME" --with-ci)
if [[ -n "$ACCOUNT_SLUG" ]]; then
CREATE_ARGS+=(--account-slug "$ACCOUNT_SLUG")
fi
echo "+ netlify ${CREATE_ARGS[*]}"
netlify "${CREATE_ARGS[@]}"
echo "+ netlify link (if prompted)"
netlify link || true
echo "+ netlify init (interactive: connect GitHub + set build settings)"
netlify init
popd >/dev/null
echo "Done. Next: commit netlify.toml (if new) and push; Netlify will deploy from GitHub."
```
---
## Skill Companion Files
> Additional files collected from the skill directory layout.
### _meta.json
```json
{
"owner": "ajmwagar",
"slug": "netlify",
"displayName": "Netlify",
"latest": {
"version": "1.0.0",
"publishedAt": 1770073959682,
"commit": "https://github.com/clawdbot/skills/commit/f0962402dc26c8cfa760ee732a05d1e5887f71b8"
},
"history": []
}
```