Skip to main content

AI Skills for Formwright

Formwright ships an agent skill — a machine-readable knowledge file that coding agents (Claude Code, Cursor, Copilot Workspace, etc.) load automatically when you're working on a Formwright project. The skill gives your agent accurate, up-to-date knowledge of the Formwright API so it can generate correct schemas, rules, hooks, and plugins without hallucinating.

What's inside

The skill bundles four reference files the agent reads on demand:

ReferenceContents
schema-builder.mdAll field.*, layout.*, rule.*, datasource.* helpers
react-integration.mdFormRuntimeProvider, FormRuntimeRoot, all hooks, custom renderers
plugins.mdAuthoring field / operator / effect / validator / datasource plugins
patterns.mdReady-to-use patterns: conditional fields, cascading selects, multi-step, view/edit mode, testing

Install

The skill uses the npx skills package manager. Run this once in your project or globally:

# Project-local (recommended)
npx skills add adarshaacharya/formwright --skill formwright

# Global (available in all projects)
npx skills add adarshaacharya/formwright --skill formwright -g

After install, the skill is active. You don't need to restart your editor.

:::tip Verifying install Run npx skills check to confirm the skill is installed and up to date. :::

Update

npx skills update

Usage

Once installed, just work on your form — the agent picks up the skill automatically when it detects Formwright imports or when you mention forms, schemas, or related keywords.

You can also be explicit:

"Using formwright, build a checkout form with conditional address fields"
"Add a cascading country/state select to this form"
"Write a custom operator plugin for Formwright that checks if a value starts with a prefix"

The agent will consult the skill and generate code that matches Formwright's actual API.

What the agent can do with the skill

  • Generate complete buildForm(...) schemas from a description
  • Add conditional show/hide, require, disable rules
  • Wire up FormRuntimeProvider and FormRuntimeRoot correctly
  • Write custom renderer components using useFormField, useFormArray
  • Build datasource plugins for remote option loading
  • Write custom operator and effect plugins
  • Write Vitest tests for rule behavior
  • Refactor ad-hoc RHF forms to schema-driven Formwright forms