<< All versions
Skill v1.0.0
currentLLM-judged scan90/100schwarzit/onyx/onyx-components
──Details
PublishedOctober 21, 2026 at 12:38 PM
Content Hashsha256:e3f16735185c206e...
Git SHA666498e599ce
──Files
Files (1 file, 2.8 KB)
SKILL.md2.8 KBactive
SKILL.md · 56 lines · 2.8 KB
version: "1.0.0" name: onyx-components description: Best practices and dynamic API lookup instructions for Onyx UI components. Use when implementing UI features, forms, or building Vue templates. license: Apache-2.0
Onyx Components
Implement and configure Onyx Vue 3 UI components using authoritative API definitions.
Rule: Mandatory Dynamic API Lookups (MCP)
Onyx component APIs are dynamic and change across versions. NEVER guess or assume props, events, or slots.
Action Components (Buttons & Links)
- Props-based Links: Components like
OnyxButton,OnyxIconButton,OnyxSystemButton,OnyxMenuItem, andOnyxNavItemsupport alinkprop. Do not wrap these components in raw<a>tags; pass the URL to thelinkprop. - Headless Links: Use the
useLinkcomposable (const { navigate, isActive } = useLink()) orOnyxRouterLinkfor custom unstyled navigation components.
Composition
- Compose, don't reinvent. Data page = OnyxHeadline + OnyxTabs + OnyxDataGrid. Dashboard = OnyxCard + OnyxHeadline + OnyxFlyoutMenu + OnyxSystemButton.
- Always use the recommended components for a slot. These are usually mentioned in the API description of the slot itself.
- Always use the appropriate Onyx component instead of building components from scratch: E.g.
OnyxButton,OnyxSystemButtonorOnyxIconButtoninstead of<button>OnyxInput,OnyxTimepicker,OnyxDatepickerorOnyxStepperinstead of<input>OnyxTextareainstead of<textarea>OnyxSelectinstead<select>OnyxDatagridinstead of<table>OnyxSidebarinstead of building a sidebar from scratch
Form Elements
- Labels & Messages: Always configure standard
MessageandLabelPositionsproperties consistently. - Loading State: Implement built-in
Skeletonloading states when loading form data. - Accessibility: Use proper labels for complex multi-input forms (
date-picker,radio-group,checkbox-group).
Cards & Layout Structure
- Nest and structure basic components (
Accordion,Cards,Badge,Tag) inside the Onyx grid layout (seeonyx-foundation) to prevent layout breaking.
Data presentation
- Tabular data: Always prefer the use of the
OnyxDataGridover theOnyxTablecomponent.
Validation & Quality Check
After writing or updating components, you MUST run the following verification steps:
- Type Check: Run TypeScript verification (e.g.,
npx vue-tsc --noEmitornpm run type-check) to confirm no invalid props or event bindings exist. - Linter Check: Run standard project linters (e.g.,
npm run lintoreslint .) to confirm code style and rules are respected. - Manual Verification: Confirm all slots and custom events mapped conform to the authoritative API fetched from the MCP.