adding-form-field-types

Automate adding form field types to the Plate.js editor.

3|Updated Jan 8, 2026
One-click install
npx skills add https://github.com/timelessco/better-forms --skill adding-form-field-types
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adding-form-field-types
Source: https://github.com/timelessco/better-forms/tree/main/.claude/skills/adding-form-field-types
Command: npx skills add https://github.com/timelessco/better-forms --skill adding-form-field-types

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding new form field types to the Plate.js editor requires coordinating changes across editor UI, plugin wiring, slash commands, transforms, and preview/validation, which is error-prone if done manually.

Core Features & Use Cases

  • Editor UI Component: form-{type}-node.tsx
  • Plate Plugin: form-blocks-kit.tsx integration
  • Slash Command Menu: form field insertion
  • Insert Transforms, Block Menu, and Keyboard navigation
  • Preview rendering, validation hooks, and schema generation

Quick Start

Create a new field type file, register a Plate plugin, wire slash commands, and implement transforms, previews, and validation.

Frequently Asked Questions about adding-form-field-types

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

FAQPage Schema
How do I add a new form field type to my Plate.js editor?

To add a new form field type to the Plate.js editor, you create a field type file, register a Plate plugin, wire slash commands, and implement transforms, preview rendering, and validation. This coordinates changes across the editor UI and plugin wiring.

What do I need to set up when extending Plate.js with custom form blocks?

Extending Plate.js with custom form blocks requires defining a frontmatter name and description, implementing UI components like form-{type}-node.tsx, registering the plugin in form-blocks-kit.tsx, and wiring insert transforms and validation hooks.

Can I add slash command menu insertion for custom form fields in Plate.js?

Yes, you can add slash command menu insertion for custom form fields in Plate.js. The implementation involves wiring the slash command menu to trigger insert transforms, enabling block menu access and keyboard navigation for the new field type.

Why does manually adding form field types to Plate.js cause errors?

Manually adding form field types to Plate.js causes errors because it requires coordinating changes across editor UI components, plugin wiring, slash commands, transforms, and preview validation simultaneously, making the process error-prone without automation.

Does adding form fields in Plate.js require schema generation and validation hooks?

Yes, adding form fields in Plate.js requires schema generation and validation hooks. The implementation must cover preview rendering and validation hooks to ensure the new field type integrates correctly with the editor's data handling.

What is the best way to implement preview rendering for Plate.js form field nodes?

The best way to implement preview rendering for Plate.js form field nodes is to build a dedicated UI component, such as form-{type}-node.tsx, and register it through the form-blocks-kit.tsx plugin integration to ensure proper editor rendering and validation.