Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React).

MITAuto-check passedFrontend & Design

Install Openforms Mui

skills CLI
$ npx skills add BlackBeltTechnology/pi-agent-dashboard --skill openforms-mui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install BlackBeltTechnology/pi-agent-dashboard openforms-mui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/BlackBeltTechnology/pi-agent-dashboard.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/pi-forms-bpmn/.pi/skills/openforms-mui .claude/skills/openforms-mui && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
openforms-mui
GitHub stars
315
Token cost
~2.3k tokens
SKILL.md length
830 words
Files
87 (incl. references)
Skills in repo
66
Repo updated
First seen
Licence
MIT

At a glance

Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React).

  • Works in 2 steps: Vite dev → blank. Vite emits absolute… → Static build without CORS → blank. In…
  • The user wants to design an OpenForms form
  • SKILL.md covers What this skill is (and is not), Where it lives, Using the component in a project and Preview & diagnose (CLI), plus 5 more sections
  • Runs JavaScript scripts from its folder; calls npm, npx and node

What it does

Openforms Mui is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React). Use when the user wants to design an OpenForms form, render an OpenForms schema with Material UI, convert an OpenForms JSON schema into a React MUI form, preview a form schema, or debug conditional-logic / calculated fields / cross-field validation in an OpenForms schema. This is the OpenForms form-builder schema (github.com/henriquefps/open-forms) — NOT the "open-form.dev" documents-as-code…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 90 other files, including reference files (for example `references/a11y.md`, `references/field-widget-map.md` and `references/hu-locale.md`).

It sits in Frontend & Design, covering Design systems. It works with React and GitHub. The repository describes itself as: Real-time web dashboard for pi coding-agent sessions. Multi-session view, live chat mirroring, integrated terminal, diff viewer, pi-flows execution, and mobile-first remote… The licence is MIT.

When your agent uses it

  • The user wants to design an OpenForms form
  • Render an OpenForms schema with Material UI
  • Convert an OpenForms JSON schema into a React MUI form
  • Preview a form schema

Example prompts

  • “open-form.dev”
  • “/openforms-mui”

Requirements

  • Python 3
  • Node.js

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Vite dev → blank. Vite emits absolute asset paths (/main.tsx,
  2. Static build without CORS → blank. In the opaque-origin iframe a

What it can do on your machine

Read from SKILL.md and the folder at commit e23e533. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • npx
    • node
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Openforms Mui loads about 2.3k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 144 tokens; SKILL.md has 830 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~144
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from BlackBeltTechnology/pi-agent-dashboard at commit e23e533, republished under its MIT licence (© BlackBeltTechnology). 830 words, ~2,285 tokens.

Download SKILL.mdSave it as .claude/skills/openforms-mui/SKILL.md (or your agent's skills folder). This skill also uses 86 other files; get the full folder from GitHub.
name
openforms-mui
description
Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React). Use when the user wants to design an OpenForms form, render an OpenForms schema with Material UI, convert an OpenForms JSON schema into a React MUI form, preview a form schema, or debug conditional-logic / calculated fields / cross-field validation in an OpenForms schema. This is the OpenForms *form-builder* schema (github.com/henriquefps/open-forms) — NOT the "open-form.dev" documents-as-code framework, which this skill does not cover.

openforms-mui

Runtime interpreter that renders an OpenForms FormSchemaJSON as MUI. Walk the schema on every render — no code generation, no emitted per-form files. The component mirrors the upstream OpenFormRenderer API so migration is a mechanical substitution.

What this skill is (and is not)

  • Is: a React + MUI runtime for the visual form-builder schema from github.com/henriquefps/open-forms (Apache 2.0). It implements all 14 field types, both conditional-logic systems, calculated fields, and validation.
  • Is not: the open-form.dev "documents as code" framework. If a request is about open-form.dev, this skill does not apply.

Where it lives

~/.pi/agent/skills/openforms-mui/
  SKILL.md
  references/            # load only the one you need
    schema.md            # FormSchemaJSON structure
    field-widget-map.md  # 14 types → MUI widget → value shape
    logic.md             # CNF andGroups, operators, formula grammar
    theme-bridge.md      # tokens → createTheme(); host theme provider
    a11y.md              # matrix / repeater / signature pitfalls
    hu-locale.md         # Hungarian conventions (opt-in via locale)
  tools/                 # the TypeScript library + preview harness
    src/                 # component, schema, logic, validation, theme, i18n
    preview/             # Vite three-panel harness + CLI
    tests/               # vitest suite
    mockups/             # approved token layer (tokens.css, ui-contract.tokens.json)

The skill is user-global — usable from any working directory, with no assumption about any particular project or document archive.

Using the component in a project

tsx
import { OpenFormsMui } from "openforms-mui"; // resolves to tools/src/index.ts

<OpenFormsMui
  schema={schema}
  answers={initialAnswers}
  readOnly={false}
  locale="en"                 // "hu" enables the Hungarian UI dictionary
  onSubmit={(answers, meta) => {
    // answers: upstream-shaped, keyed by field key (applicable fields only)
    // meta.submissionContext: your supplementary data, segregated from answers
    // meta.diagnostics: non-blocking findings (e.g. disabled/calculated violations)
  }}
  onFieldChange={(all) => {/* COMPLETE state incl. retained hidden values — not the payload */}}
/>
Single-instance resolution (required)

This is the first user-global skill to ship a package.json with installed dependencies. A consuming project that imports the component out of this directory must resolve React, react-dom, @mui/material, @mui/x-date-pickers, @emotion/react and @emotion/styled to one instance — a second React instance makes hooks throw an invalid hook call, and Emotion/MUI theme context break because they rely on module-level singletons.

These packages are declared as peerDependencies (the consumer supplies them) and additionally as devDependencies (so the preview harness runs standalone). They are never plain dependencies.

Resolve to one instance at the bundler level:

  • Vite: resolve.dedupe: ["react", "react-dom", "@mui/material", "@emotion/react", "@emotion/styled"]
  • Webpack: resolve.alias each of the above to the consumer's copy, or use resolve.dedupe/a single node_modules.
  • A monorepo: hoist these packages so one copy is shared.

The preview harness and the vitest config already dedupe; a regression test (tests/singleton.test.tsx) pins single-instance resolution.

Preview & diagnose (CLI)

From tools/:

bash
npm run diagnose -- path/to/schema.json      # print findings; exit 1 on any error
npm run preview  -- path/to/schema.json       # three-panel Vite harness
npm run preview  -- path/to/schema.json --reference   # side-by-side upstream 1.0.7

The harness shows: the rendered MUI form (with a Rendered form ↔ Schema source view switch), the live answers JSON with validation errors, and a CNF rule-debug panel showing each condition's operand values and outcome. It reloads on schema-file save (answers preserved) and inspects mobile/tablet/ desktop widths. --reference loads the pinned upstream vanilla renderer in an isolated frame for fidelity checking — this is the only place upstream code is loaded and it is never part of the shipped library.

Rendering a form on the pi-dashboard canvas

The npm run preview harness is a Vite dev server — great for local inspection, but it does not render on the pi-dashboard canvas. The dashboard loads a loopback canvas(kind:"url") target inside a sandbox="allow-scripts" iframe with no allow-same-origin (opaque origin), proxied under /live/<id>/. Two things break there:

  1. Vite dev → blank. Vite emits absolute asset paths (/main.tsx, /@vite/client) and the harness fetches /__schema.json; under the /live/<id>/ prefix these resolve to the dashboard root → 404 → blank.
  2. Static build without CORS → blank. In the opaque-origin iframe a <script type="module"> is fetched in CORS mode with Origin: null, so the static server must send Access-Control-Allow-Origin: * or the module is blocked (a plain python3 -m http.server renders blank).

Working recipe (reusable assets live in tools/):

bash
cd tools
# 1. Static build with RELATIVE base + statically-imported schema:
#    preview/canvas-app.tsx, preview/canvas-index.html, vite.canvas.config.ts
npx vite build --config vite.canvas.config.ts        # → canvas-dist/
cp canvas-dist/canvas-index.html canvas-dist/index.html   # proxy root serves it
# 2. Serve with CORS headers (canvas-serve.mjs sets Access-Control-Allow-Origin: *)
node canvas-serve.mjs 5181

Then canvas(target:{kind:"url", url:"http://127.0.0.1:5181/"}). To point the canvas at a different schema, edit the static import in preview/canvas-app.tsx (it imports ../demo-schema.json) and rebuild. Self-verify before touching the canvas by iframing your own server with sandbox="allow-scripts" and screenshotting — that reproduces the exact dashboard sandbox. See the global skill canvas-webapp (bundled with the pi-dashboard extension) for the full rationale and pitfalls (IPv6-only Vite binds, kill %1 not persisting across tool calls).

Show full SKILL.md (292 more words)Show less

Guided schema authoring (natural language → FormSchemaJSON)

  1. Read the description; enumerate the fields, their types, and any repetition, conditional visibility, requiredness, or cross-field constraints.
  2. Choose types from references/field-widget-map.md. Model a repeating group as a repeater, a single-choice grid as a matrix, a derived number as a calculated number (isCalculated + formulaExpression).
  3. Express conditions as CNF andGroups (AND between groups, OR within) per references/logic.md. Cross-form constraints go in root crossFieldRules.
  4. Run npm run diagnose -- schema.json. Resolve every error finding before presenting the schema as complete (warnings/infos are advisory).
  5. npm run preview -- schema.json and iterate.

Iteration loop

Interpret → serve preview → run the automated accessibility check → correct findings → repeat until no serious or critical violations remain. The bundled a11y test (tests/a11y.test.tsx) runs axe over a schema covering all 14 field types; use it as the gate.

Deferred scope (do not attempt)

  • Remote option loading (optionsType: "api" / optionsUrl): unsupported. Such a field renders disabled with an empty option list and a diagnostic — that diagnostic is expected, not a bug to fix.
  • Upstream visual builder (builder.js): not integrated. Schemas are authored by hand, by an agent, or exported from the upstream builder.

Attribution & provenance

The schema contract originates from OpenForms (github.com/henriquefps/open-forms), which is Apache 2.0 licensed. This skill is a clean-room re-implementation from the published schema reference and observed semantics — no upstream renderer or builder source is vendored. The pinned reference version is 1.0.7 (see tools/src/provenance.ts, the single source of truth used by both this attribution and --reference mode).

Upstream publishes no npm package and its public repository is a single squashed commit mirrored from a private repo, so no release cadence can be assumed. Our TypeScript types and diagnostics pin the schema contract; --reference mode is the mechanism for detecting upstream behavioural drift.

© BlackBeltTechnology, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 86 other files (references) in packages/pi-forms-bpmn/.pi/skills/openforms-mui of BlackBeltTechnology/pi-agent-dashboard.

  • SKILL.md
  • references/a11y.md
  • references/field-widget-map.md
  • references/hu-locale.md
  • references/logic.md
  • references/schema.md
  • references/theme-bridge.md
  • tools/.npmignore
  • tools/canvas-serve.mjs
  • tools/demo-schema.json
  • tools/mockups/tokens.css
  • tools/mockups/ui-contract.tokens.json
  • tools/package-lock.json
  • tools/package.json
  • tools/preview/RenderPanel.tsx
  • tools/preview/canvas-app.tsx
  • tools/preview/canvas-index.html
  • … and 70 more

Open the folder on GitHubat commit e23e533

Compare with similar skills

Openforms Mui next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Openforms Mui compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openforms Mui this skillBlackBeltTechnology/pi-agent-dashboard315—~2.3kAutomated safety check: PassMIT
Scraps Reviewgetsentry/sentry46k—~1.2kAutomated safety check: NotesCustom licence
Creative Tim UI Blockscreativetimofficial/ui12k—~2.1kAutomated safety check: NotesMIT
Cosscrafter-station/petdex4.2k—~1.4kAutomated safety check: PassMIT
Ss Learnbitjaru/styleseed972—~1.3kAutomated safety check: PassMIT
UI/UX Design System AdvisorGalaxy-Dawn/claude-scholar5.7k1 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Scraps Review

    getsentry/sentry

    Official

    Filter large Sentry Scraps design-system migration PRs for review by separating mechanical import-path changes, generated baseline updates, snapshot mocks, and pure renames from substantive…

    46k GitHub stars~1.2k tokensUpdated today
    Frontend & DesignAuto-check: notes
  • Creative Tim UI Blocks

    creativetimofficial/ui

    Helps install, generate and review Creative Tim UI blocks: shadcn/ui-based React and Tailwind sections that follow a restrained, production-minded design philosophy.

    12k GitHub stars~2.1k tokensUpdated 6 mo ago
    Frontend & DesignAuto-check: notes
  • Coss

    crafter-station/petdex

    Helps implement coss UI components correctly. An agent skill from crafter-station/petdex.

    4.2k GitHub stars~1.4k tokensUpdated 9 days ago
    Frontend & DesignAuto-check passed
  • Ss Learn

    bitjaru/styleseed

    Capture a human-approved UI design lesson as a privacy-minimized local StyleSeed candidate, review it, and prepare an opt-in share package without transmitting project code, prompts, screenshots, or…

    972 GitHub stars~1.3k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed
  • UI/UX Design System Advisor

    Galaxy-Dawn/claude-scholar

    Turns a vague UI request into a concrete design system with style, palette, typography and layout guidance from a search script, plus stack-specific implementation advice.

    5.7k GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Design Style

    Castor6/tactus

    A skill your agent uses whenever the user asks to build, create, design, develop, improve, or style any frontend interface or visual element.

    376 GitHub starsUsed in 1 repo~2.1k tokens
    Frontend & DesignAuto-check passed

More from BlackBeltTechnology/pi-agent-dashboard

All 66 skills in this repo
  • Browser

    BlackBeltTechnology/pi-agent-dashboard

    Browser automation via the agent-browser CLI. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    315 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Pi Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Monitor and control the pi-dashboard server. An agent skill from BlackBeltTechnology/pi-agent-dashboard.

    315 GitHub starsUsed in 1 repo~2.2k tokens
    Auto-check passed
  • CI Troubleshoot

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose failed GitHub Actions runs for pi-agent-dashboard: the 11-file workflow taxonomy, affected-test selection, the release pipeline, known failure modes, and how to read gh run logs and…

    315 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Debug Dashboard

    BlackBeltTechnology/pi-agent-dashboard

    Diagnose problems in the running pi-agent-dashboard system: server.log, /api/health, bridge WebSocket connectivity, vitest triage, known-issue FAQ entries.

    315 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Implement

    BlackBeltTechnology/pi-agent-dashboard

    Disciplined implementation in pi-agent-dashboard: the rebuild matrix (extension→reload, server→restart, client→build+restart, openspec-apply→full rebuild) plus the project's code discipline rules.

    315 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Session To Guideline

    BlackBeltTechnology/pi-agent-dashboard

    Turn a pi session into a Markdown "how-we-did-it" collaboration guideline: reads the session's JSONL transcript and synthesizes a reusable playbook of which prompts worked, what had to be steered…

    315 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Works with

Questions about Openforms Mui

What does Openforms Mui do?

Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React). Openforms Mui is an agent skill from BlackBeltTechnology/pi-agent-dashboard. Author, render, preview and debug OpenForms FormSchemaJSON form definitions as idiomatic, themed, accessible MUI (React).

When should I use Openforms Mui?

Openforms Mui fits situations like: the user wants to design an OpenForms form; render an OpenForms schema with Material UI; convert an OpenForms JSON schema into a React MUI form; preview a form schema.

How do I install Openforms Mui in Claude Code?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill openforms-mui -a claude-code`. Or copy the skill folder (packages/pi-forms-bpmn/.pi/skills/openforms-mui in BlackBeltTechnology/pi-agent-dashboard) into .claude/skills/openforms-mui in your project. Claude Code loads it when a task matches its description.

How do I install Openforms Mui in Codex?

Run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill openforms-mui -a codex`. Or copy the skill folder (packages/pi-forms-bpmn/.pi/skills/openforms-mui in BlackBeltTechnology/pi-agent-dashboard) into .agents/skills/openforms-mui in your project. Codex loads it when a task matches its description.

Can I use Openforms Mui in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlackBeltTechnology/pi-agent-dashboard --skill openforms-mui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openforms-mui, .gemini/skills/openforms-mui, .github/skills/openforms-mui and .opencode/skills/openforms-mui in your project.

What does Openforms Mui need to run?

Going by SKILL.md and its folder, Openforms Mui needs JavaScript for the scripts in its folder and the command-line tools its instructions call (npm, npx, node and python3). Our summary lists: Python 3; Node.js.

Does Openforms Mui access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Openforms Mui safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Openforms Mui use?

Openforms Mui is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openforms Mui use?

About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.

What are the alternatives to Openforms Mui?

Skills that share tags, products or a category with Openforms Mui: Scraps Review (getsentry/sentry, 46k stars), Creative Tim UI Blocks (creativetimofficial/ui, 12k stars), Coss (crafter-station/petdex, 4.2k stars) and Ss Learn (bitjaru/styleseed, 972 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openforms Mui?

BlackBeltTechnology (a GitHub organization) maintains it in BlackBeltTechnology/pi-agent-dashboard, which has 315 GitHub stars. The repository holds 66 skills in this directory. The repository was last updated on October 8, 2026.

Source: BlackBeltTechnology/pi-agent-dashboard on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.