Updating a Widget
Use the widget-update skill to modify a widget's settings schema, default values, metadata, layout, or preview image. The skill updates widget-config.json, the TypeScript interfaces, and the preview component together — in one pass — so they stay in sync.
When to use
Ask Claude to update a widget when you want to:
- Add, rename, or remove a setting
- Change a default value for an existing setting
- Add a conditional field (e.g. show field X when Y is selected)
- Hide a setting from the end user
- Update widget metadata — title, description, tags
- Update the widget preview image or layout
How to invoke
In your terminal, navigate to your widget's repository and start Claude Code there:
cd path/to/your-widget
claude
At the Claude Code prompt, describe the change in natural language. For example:
add a "max items" numeric setting that defaults to 10
rename the "title" setting to "header text"
update the preview image to ./assets/new-preview.png
These are natural-language requests to Claude — not shell commands. The skill recognizes phrases like add a setting, change default value, rename setting, update preview, add conditional field, hide setting from user, and similar.
What the skill updates
In a single pass, the skill keeps these files in sync:
widget-config.json— the settings schema, defaults, metadata, and layout.- TypeScript interfaces — type definitions that mirror the settings schema.
- The preview component — the visual that shows in the Micro App Library.
After it makes the changes, Claude will summarize what changed and ask for confirmation before saving.
Background
The settingsSchema in widget-config.json is consumed by @invent/json-settings, Invent's wrapper around react-jsonschema-form (RJSF) v5. The skill knows the available custom widgets (InputWidget, SelectWidget, CheckboxWidget, CodeEditorWidget, ColorWidget, etc.) and applies the correct ui:widget value when you add a setting.