What problem does it solve? Designing or changing a component's public API in the Lumen design system requires consistent decisions about layering, prop naming, state management, and cross-platform parity. Without shared conventions, components drift into inconsistent vocabularies, duplicated logic, and mismatched web/native APIs. ## Core Features & Use Cases - Layering guidance: Defines when code belongs in core/, internal/ (Base* wrappers), primitives/ (React Native), or symbols/, with rules against premature abstraction. - Composition patterns: Prescribes createSafeContext for compound components, useControllableState for controlled/uncontrolled state, and BaseProps-to-public-Props type splits. - API design rules: Enforces established prop vocabulary (appearance not variant), positive booleans, JSDoc conventions, and cross-platform parity between libs/ui-react and libs/ui-rnative. - Use Case: When adding a new size prop to Button or converting Card into a compound component, load this skill to match the existing architecture and pass its review checklist. ## Quick Start Ask the assistant to design the public API and composition for a new component in libs/ui-react following the component-architecture conventions.