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