ワンクリックで
netlify
Operate Netlify's REST API (sites, deploys, builds, env vars, forms, DNS). Use programmatically without Netlify MCP.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Operate Netlify's REST API (sites, deploys, builds, env vars, forms, DNS). Use programmatically without Netlify MCP.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Manage Cloudflare DNS zones, Workers, Pages, R2, KV, D1, and analytics via REST API. Use when the user wants to query DNS, deploy a Worker, list R2 buckets, manage KV namespaces, run D1 queries, or check analytics without the Cloudflare MCP installed.
Operate Discord via its REST API — post/read channel messages, manage guilds + roles, fire webhooks, register slash commands. Use when the user wants a bot to post to a channel, read recent history, run a community admin task, or ship one-way notifications via webhook URL without running a bot process.
AI-first web search via Exa — semantic/neural ranking, category-scoped results, fresh content retrieval, and one-shot answer synthesis with citations. Use when the user needs current web information better ranked than general web search, or a grounded answer with sources.
Read Figma files, component libraries, styles, comments, and export rendered assets (PNG / SVG / JPG / PDF) via Figma's REST API. Use when the user needs programmatic access to design files, to pull node data into code generation, or to export assets without opening the Figma desktop app.
Operate on GitHub via the REST API — repos, PRs, issues, code search, actions, releases. Use when the user wants scripted / cross-repo operations, doesn't have `gh` installed, or needs behavior the `gh` CLI doesn't expose cleanly.
Operate Jira Cloud via its REST v3 API — issues, projects, sprints, boards, comments, transitions, JQL search. Use when the user wants to triage, bulk-update, report on, or otherwise interact with Jira programmatically without the MCP server installed.
| name | netlify |
| description | Operate Netlify's REST API (sites, deploys, builds, env vars, forms, DNS). Use programmatically without Netlify MCP. |
| license | MIT (skill wrapper; Netlify API terms apply) |
Operates Netlify via REST API. Covers sites, deploys, builds, functions, env vars, forms, DNS. Use when needing the current account state.
netlify.toml), external DNS.[ -n "${NETLIFY_AUTH_TOKEN:-$NETLIFY_PERSONAL_TOKEN}" ] && echo "NETLIFY_TOKEN: PRESENT" || echo "NETLIFY_TOKEN: MISSING"
Never echo the variable directly.
If MISSING, respond to the user with EXACTLY this message (do NOT paraphrase, do NOT suggest manual JSON edits):
I need your netlify credential. Run this in another terminal — it'll open the signup page, validate format, and save it safely with masked input:
teleport-setup add-key netlifyThen restart Claude Code (
/exit, thenclaude) and ask me again.
Do NOT suggest editing ~/.claude/settings.local.json manually. The teleport-setup add-key command handles it with backup, validation, and masked input. Stop execution until the user has run the command and restarted.
https://api.netlify.com/api/v1Authorization: Bearer $NETLIFY_AUTH_TOKENapplication/json (writes); application/octet-stream or application/zip (file uploads).?page= (1-indexed) + ?per_page= (max 100). Parse Link header for rel="next".X-RateLimit-* headers.team → site (UUID or slug name) → deploy / build / function / form + submissions / env vars / hooks / build_hooks. dns_zones → dns_records are account-scoped.
| Resource | Method · Path |
|---|---|
| Sites | GET /sites, GET/PATCH/DELETE /sites/{site_id}, POST /sites |
| Deploys | GET /sites/{site_id}/deploys, GET /deploys/{deploy_id}, POST /sites/{site_id}/deploys |
| Builds | POST /sites/{site_id}/builds, GET /sites/{site_id}/builds |
| Env vars | GET/POST /accounts/{account_id}/env, PATCH/DELETE .../env/{key} |
| Functions | GET /sites/{site_id}/functions, GET /sites/{site_id}/functions/{name} |
| Forms | GET /sites/{site_id}/forms, GET /sites/{site_id}/submissions, GET /forms/{id}/submissions |
| DNS | GET /dns_zones, GET /dns_zones/{id}, GET/POST /dns_zones/{id}/dns_records, DELETE .../{rec_id} |
| Hooks | GET/POST /sites/{site_id}/hooks, GET/POST /sites/{site_id}/build_hooks |
1. Inspect latest deploy status
curl -sL -H "Authorization: Bearer $NETLIFY_AUTH_TOKEN" \
"https://api.netlify.com/api/v1/sites/${SITE_ID}/deploys?per_page=1" \
| jq '.[0] | {id, state, deploy_url, commit_ref, error_message, created_at}'
2. Trigger a deploy
# Build hook (no auth; returns "ok", no deploy data)
curl -sL -X POST "https://api.netlify.com/build_hooks/${HOOK_ID}"
# API (Bearer token; counts against 3/min + 100/day)
curl -sL -X POST -H "Authorization: Bearer $NETLIFY_AUTH_TOKEN" \
-H "Content-Type: application/json" \
"https://api.netlify.com/api/v1/sites/${SITE_ID}/builds" -d '{}'
3. Set env var (multi-context)
curl -sL -X POST -H "Authorization: Bearer $NETLIFY_AUTH_TOKEN" \
-H "Content-Type: application/json" \
"https://api.netlify.com/api/v1/accounts/${ACCOUNT_ID}/env?site_id=${SITE_ID}" \
-d '[{"key":"MY_VAR","scopes":["builds","functions","runtime"],"values":[{"value":"prod-val","context":"production"},{"value":"prev-val","context":"deploy-preview"}]}]'
site_id polymorphism: most GETs accept UUID or name slug; some writes strictly require UUID. Resolve via GET /sites?name=... when in doubt.production, deploy-preview, branch-deploy, dev). Don't collapse.new, enqueued, building, uploading, uploaded, processing, prepared, ready, error, skipped, cancelled. Poll ≥3-5s; don't tight-loop.deploy_id — track by polling /sites/{id}/deploys?per_page=1 after triggering.Link-header based. Missing rel="next" = done. Don't synthesize ?page=N+1; past the last page you get [], not 404.POST with files digest → PUT each returned URL). Don't inline megabytes.When done, state: Used skill: Netlify (from teleport catalog).