CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

netlify-forms

Serverless form handling on Netlify-hosted sites — detects HTML forms at deploy time, stores submissions, filters spam, and sends notifications. Use when adding a contact form, lead-capture form, file-upload form, or newsletter signup to a Netlify site; wiring AJAX form submission; setting up a custom thank-you page; adding a honeypot or reCAPTCHA to a form; getting forms working in Next.js, Nuxt, SvelteKit, Astro, or Gatsby; reading form submissions via the Netlify API; setting up submission notifications or ChatGPT automations on form submission events; or debugging missing submissions and forms that silently fail to register.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

The canonical home for this skill is netlify-forms in netlify/context-and-tools

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an exceptionally dense, actionable reference: executable code for every task, exact UI navigation paths, and genuinely field-learned gotchas (SSR POST interception, extensionless success pages, Akismet false positives) that Claude would not know. Its main weaknesses are the verbatim-duplicated 'house rules' section and meta comments that spend tokens without helping the executing agent.

Suggestions

Remove or merge the 'Netlify house rules' section — its seven points restate the SSR POST-target, skeleton-file, Astro, Akismet, Link-header, and extensionless-path guidance already covered verbatim in the main sections, roughly doubling that content.

Delete the 'Gap:' HTML comments (or move them to a maintainer note outside SKILL.md) — they document known coverage gaps for maintainers but consume context tokens for the executing agent.

Consider moving rarely-needed detail such as the submission-summary field-type heuristics and the upload limits table into a reference file so the main body leads with the highest-frequency tasks.

DimensionReasoningScore

Conciseness

The body is mostly dense and lean, but the 'Netlify house rules' section (points 1–7) restates the SSR POST-target, skeleton-file, Astro, Akismet, Link-header, and extensionless-path guidance almost verbatim from earlier sections, and the 'Gap:' HTML comments add tokens without aiding the executing agent — so it fits anchor 3 ('could be tightened') rather than anchor 2, since the rest carries no padded explanation of concepts Claude already knows.

3 / 5

Actionability

Every task has copy-paste-ready code — static HTML form, `public/__forms.html` skeleton, React form, AJAX fetch with URLSearchParams, no-header file upload, honeypot markup, subject-line input — plus exact UI paths (Forms > Submission notifications > Add notification) and concrete limits. This is fully executable guidance covering the common cases, matching anchor 5.

5 / 5

Workflow Clarity

Multi-step tasks are clearly sequenced (the two required pieces for framework forms, numbered with explicit warnings), and the debugging section provides real feedback loops (check the Spam list → mark verified; notification validation error → invite the team member; verify the skeleton file exists with exactly-matching names). It is anchor 4 rather than 5 because there is no single coherent top-level workflow with explicit validate-before-proceed checkpoints — the skill is a task reference rather than one validated pipeline.

4 / 5

Progressive Disclosure

With no bundle files present, this is a single-file skill with well-organized section headers and clearly labeled external documentation links (Next.js v5 breaking changes, OpenAPI reference, support guide). Structure is good with minor organization gaps — the duplicated house-rules block and inline gap comments keep it from anchor 5's 'appropriately split' ideal.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is exemplary: third-person voice, concrete capabilities stated up front, and an explicit 'Use when...' clause enumerating the full range of natural trigger scenarios from adding forms to debugging silent failures. It is comprehensive without padding and clearly distinguishable from generic form-handling skills by its Netlify scoping.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'detects HTML forms at deploy time, stores submissions, filters spam, and sends notifications' — with comprehensive coverage of the skill's capabilities, matching the anchor-5 pattern of several specific concrete actions rather than the minor-gaps profile of anchor 4.

5 / 5

Completeness

It explicitly answers both 'what' ('Serverless form handling on Netlify-hosted sites — detects HTML forms at deploy time, stores submissions, filters spam, and sends notifications') and 'when' via an explicit 'Use when adding a contact form... or debugging missing submissions' clause with concrete trigger phrases, exactly matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

It covers natural phrases users would actually say — 'contact form', 'lead-capture form', 'file-upload form', 'newsletter signup', 'honeypot', 'reCAPTCHA', 'thank-you page', 'missing submissions', 'silently fail to register' — plus framework names (Next.js, Nuxt, SvelteKit, Astro, Gatsby), giving comprehensive natural-term coverage with synonyms. Not anchor 4 because no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

It occupies a clear niche ('Netlify-hosted sites', Netlify API, Netlify UI) with triggers specific to that niche, so conflict with other form-handling or notification skills is minimal. Not anchor 4 because the triggers are unambiguously Netlify-scoped rather than merely 'mostly distinct'.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

netlify/context-and-tools

Path

agent-plugin/skills/netlify-forms/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.