formio-react-formlisted
Install: claude install-skill formio/ai
# Embedding a Form.io form in React
> **Nested sub-skill.** This file lives at `plugin/skills/formio-react/formio-react-form/SKILL.md` and is **loaded by path** from `formio-react`'s embed branch. Its `name` frontmatter exists so recursive-scan clients classify it correctly; it is not a separately-registered top-level skill, so do not invoke it by frontmatter name.
Getting a form onto a React page and controlling it from React. One API does the mounting:
```tsx
<Form src={formJson} submission={submission} onSubmit={handleSubmit} />
```
## Scope — mounting here, behaviour in `formio-form`
This skill covers only what differs **because the host is React**: mounting, the event surface, the live instance, the lifecycle contract, the provider, styling, and build environments.
Everything that lives in the **form definition** is owned by [`formio-form`](../../formio-form/SKILL.md) and reached by link, never restated here: conditionals, calculated values, validation rules, component logic, external data sources and cascading selects, wizard page logic, and the JSON Logic primer. That content is identical whatever renders the form, and a second copy is a copy that drifts.
When a React embedding question turns out to be a definition question — "how do I hide this field when that one is empty", asked inside a React app — route to the matching `formio-form` reference rather than answering locally.
## Preflight — the Form.io MCP server
**Check this when you reach your first Form.i