What problem does it solve? Modal dialogs in the Toollab app follow strict conventions (layout template, event contracts, promise-based save flows), and deviating from them causes silent bugs like unhandled events, clipped dropdowns, or lost payload fields. This Skill encodes all those conventions so new or modified modals stay consistent. ## Core Features & Use Cases - Universal modal template: Enforces the standard overlay, header, body, and footer structure with exact Tailwind classes used across the app. - Event contract reference: Documents the exact events of all 12 existing modals, including the promise resolve/reject pattern and the two coexisting architectures (delegated vs autonomous API calls). - Known pitfalls catalog: Covers traps like UpdateClassModal emitting update instead of save, ConfirmationModal prop names, clipped InputSelect panels, and whitelisted payload fields in services. - Use Case: When asked to add an "Edit Student" modal, produce a component that follows the house template, emits save with {resolve, reject}, displays 422 field errors, and avoids clipped selects. ## Quick Start Create a new edit modal for the Toollab app following the modals skill conventions, with promise-based save handling and field-level validation errors.