What problem does it solve? Declarative modal patterns require managing local open state for every dialog, which adds boilerplate and bugs. This Skill guides you to build imperative modals with createModal and confirmModal from @lobehub/ui/base-ui, so dialogs open with a single function call and no local state. ## Core Features & Use Cases - Imperative Modal Creation: Define a content component plus a createXxxModal factory using createModal, with options like title, width, maskClosable, and semantic styles. - Confirmation Dialogs: Use confirmModal with okText, cancelText, and async onOk handlers for destructive or confirmation flows. - Correct Close Handling: Learn why cleanup callbacks must attach to onOpenChangeComplete instead of onOpenChange, since close() from useModalContext bypasses base-ui's dismissal path. - Use Case: You need a settings dialog in a React feature folder. Create MyFeatureContent.tsx with useModalContext for closing, export createMyFeatureModal from index.tsx, mount the base-ui ModalHost once at the app root, and trigger the modal from a button onClick. ## Quick Start Ask the AI to create an imperative base-ui modal for a feature using createModal with a separate content component and confirm the ModalHost is mounted.