What problem does it solve? Collecting form submissions normally requires building and maintaining a backend endpoint, database storage, and spam protection. Netlify Forms removes that server-side work, but it has non-obvious setup rules — especially for React, Next.js, and other SSR frameworks where forms are not detected at build time and submissions silently fail. ## Core Features & Use Cases - Static HTML Forms: Add data-netlify="true" and a unique form name to any HTML form for automatic build-time detection and submission collection. - JavaScript-Rendered Forms: Create a static skeleton file (e.g. public/__forms.html) so Netlify's build parser can detect forms rendered by React, Vue, Next.js, SvelteKit, Remix, or Nuxt, and POST to the skeleton path instead of / in SSR apps. - Spam Filtering & Uploads: Configure honeypot fields, reCAPTCHA, and file uploads (8 MB limit, one file per input) with correct FormData handling. - Notifications & API Access: Set up email, Slack, and webhook notifications, and query submissions programmatically via the Netlify API. - Use Case: You add a contact form to a Next.js site deployed on Netlify, but submissions never appear in the dashboard. This Skill guides you to create the __forms.html skeleton and point your fetch call at it, fixing the silent failure. ## Quick Start Add a contact form to my Netlify site using Netlify Forms, including spam protection and a working AJAX submission handler.