What problem does it solve? Building settings pages means wiring up repetitive form controls, persistence callbacks, and pending states by hand. This Skill explains how to use the shadcn-settings package, which renders a complete settings UI from a plain-data field schema while the host app keeps full ownership of where values are stored. ## Core Features & Use Cases - Schema-driven rendering: Declare fields as JSON-serialisable SettingsFieldSchema objects with built-in string, password, textarea, select, and switch types rendered by SettingsList. - Commit semantics and pending states: Text inputs commit on blur while selects and switches commit immediately, with the useCommit hook showing a spinner during async onCommit persistence. - Custom controls and layouts: Register custom field types via the renderers map, choose card/inline/ghost variants, and add deep-link anchors per field. - Use Case: You need an API-key and model-selection settings panel in a React app. Define three field objects, pass getValue and an async onCommit that saves to your backend, and the list renders with labels, links, and save spinners. ## Quick Start Ask the AI to add a settings field or build a settings panel using the shadcn-settings SettingsList component with your field schema and persistence callbacks.