Claude Code skill generator
Make a skill or rules file that teaches your AI coding assistant to build website forms that really send. Pick Claude Code, CLAUDE.md, AGENTS.md, Cursor or GitHub Copilot, choose your framework, and copy the result into your project. From then on, asking for a contact form gets you one that emails you through FormDoc, with labels, a spam trap and no fake “Thanks!”.
Make your skill or rules
No key yet? Get one free; the rules work with a placeholder too.
Claude Code skill
How to use the skill generator
- Choose where the rules go: a Claude Code skill, CLAUDE.md, AGENTS.md, a Cursor rule or Copilot instructions.
- Pick your framework and what visitors see after sending.
- Paste your FormDoc access key if you have one (free at app.formdoc.dev).
- Copy or download the file and save it at the path shown.
- Ask your assistant to add a contact form, then check the result with the AI form checker.
Why your assistant needs form rules
AI assistants write forms that look finished but often have nowhere to send: a submit handler that logs the data and shows success, fields without a name, or an action that needs server code your site doesn’t have. A short set of rules in the assistant’s instructions fixes this at the source. The assistant reads them before it writes code, so every form it builds posts to FormDoc and arrives in your inbox.
Which file should you use?
| File | Read by | When it’s used |
|---|---|---|
.claude/skills/formdoc-forms/SKILL.md |
Claude Code | When you ask for a form, or type /formdoc-forms |
CLAUDE.md |
Claude Code | At the start of every session in the project |
AGENTS.md |
Codex, Cursor, Gemini CLI and others; Claude Code when there’s no CLAUDE.md | Every session in the project |
.cursor/rules/formdoc-forms.mdc |
Cursor | When a request is about forms |
.github/copilot-instructions.md |
GitHub Copilot | Every chat in the repository |
A skill is the tidiest choice for Claude Code: it loads only when a form is involved, so it doesn’t take up room in every conversation. Use CLAUDE.md or AGENTS.md when you want the rules always present, for example on a site that is mostly forms.
What the rules tell the assistant
- Post to FormDoc with
method="POST"and the hiddenaccess_keyfield, and never invent a key. - Give every field a
name, a visible label and the righttypeandautocompletevalue. - Add the hidden
botcheckspam trap. - Never fake success with
console.log,setTimeoutoralert. - For React, Vue and Svelte, send the form as
FormDatawith fetch and show the real result. - Check the finished form with
npx -y @formdocdev/cli check .and fix what it finds.
Want Claude Code to check every form automatically as it writes it? Add the Claude Code hook, or install the FormDoc plugin, which bundles this skill, the hook and FormDoc’s MCP server.
Common questions
Is the skill generator free?
Yes. The generator is free, and forms on FormDoc’s Free plan receive 250 submissions a month with spam protection and email notifications.
Is it safe to put my access key in the rules?
Yes. The access key is public by design: it only lets people send you a submission, and it already appears in your site’s HTML. It can’t be used to read your submissions.
Can I use the skill in every project?
Yes. Save it as ~/.claude/skills/formdoc-forms/SKILL.md instead of inside the project, and Claude Code can use it everywhere. Leave the access key out, so the assistant asks for the right key in each project.
Does it work with assistants other than Claude?
Yes. Choose AGENTS.md for Codex, Gemini CLI and other tools that read it, a Cursor rule for Cursor, or Copilot instructions for GitHub Copilot. The rules are the same; only the file changes.