netlify-forms

Implements Netlify Forms for HTML and JavaScript-rendered form submission handling.

Updated Jul 16, 2026
One-click install
npx skills add https://github.com/JamesMitofsky/tag-archive --skill netlify-forms-jamesmitofsky
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: netlify-forms
Source: https://github.com/JamesMitofsky/tag-archive/tree/main/.claude/skills/netlify-forms
Command: npx skills add https://github.com/JamesMitofsky/tag-archive --skill netlify-forms-jamesmitofsky

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Collecting form submissions normally requires building and maintaining a server-side endpoint. Netlify Forms removes that backend work, but its build-time detection, encoding rules, and SSR interception behavior cause silent submission failures that are hard to diagnose without guidance. ## Core Features & Use Cases - Static and JS-Rendered Form Setup: Register forms with the data-netlify attribute, including the static skeleton file required for React, Vue, SvelteKit, Next.js, and other SSR frameworks. - AJAX Submissions and File Uploads: Submit forms with URL-encoded fetch calls or FormData, with correct handling of content types, the 8 MB upload limit, and SSR routing pitfalls. - Spam Filtering and Notifications: Configure honeypot fields, reCAPTCHA, Akismet spam lists, and email, Slack, or webhook notifications. - Submissions API: List, paginate, and delete submissions programmatically, including retrieving spam-flagged entries. - Use Case: Add a contact form to a SvelteKit site by creating a hidden skeleton form in public/, posting URL-encoded data to the skeleton path, and verifying submissions in the Netlify Forms UI. ## Quick Start Ask the AI to add a Netlify-powered contact form to your site, including spam protection and an AJAX submission handler.

Frequently Asked Questions about netlify-forms

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a Netlify form to a static HTML site?

Add data-netlify="true" and a unique name attribute to your form tag, and Netlify detects it at build time. Form detection must be enabled in the Netlify UI, and a new deploy is required before the form starts collecting submissions.

How do I use Netlify Forms with React or SvelteKit?

JavaScript-rendered forms are invisible to Netlify's build parser, so create a static skeleton HTML file in public/ containing a hidden copy of the form with matching name and fields. Your component must also include a hidden form-name input matching that name.

Why does my Netlify form submission return 200 but show nothing in the UI?

In SSR frameworks, posting to "/" is intercepted by the SSR function and never reaches Netlify's form handler. Point the fetch call at the static skeleton file path such as /__forms.html so the request routes through the CDN origin.

Can I submit a Netlify form with JSON in a fetch request?

No, Netlify Forms does not accept JSON bodies. Send application/x-www-form-urlencoded data built with URLSearchParams, or multipart/form-data via a raw FormData object for file uploads; JSON submissions are silently not recorded.

Why did a legitimate Netlify form submission go missing?

Akismet-flagged submissions are moved to a separate Spam list and do not trigger notifications, while honeypot or failed reCAPTCHA submissions are discarded entirely. Check the Spam list in the UI or query the Submissions API with ?state=spam and mark false positives as verified.

What are the file upload limits for Netlify Forms?

Netlify Forms allows a maximum request size of 8 MB, a 30-second timeout, and one file per input field. For AJAX uploads, pass FormData directly to fetch without setting Content-Type so the browser adds the correct multipart boundary.