Hash ark-ui

Headless component library for React. Use when building UI components with @ark-ui/react, implementing accessible form inputs, overlays, navigation patterns, or needing guidance on Ark UI's data attributes, composition (asChild), and state management patterns.

install
source · Clone the upstream repo
git clone https://github.com/hashintel/hash
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/hashintel/hash "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.codex/skills/ark-ui" ~/.claude/skills/hashintel-hash-ark-ui-67c6ee && rm -rf "$T"
manifest: .codex/skills/ark-ui/SKILL.md
source content

Ark UI

Headless component library providing accessible, unstyled React primitives for building custom UI components with full control over styling and behavior.

Key Patterns

  • Root pattern:
    Slider.Root
    ,
    Slider.Track
    , etc.
  • CSS styling:
    [data-scope="slider"][data-part="track"]
  • State styling:
    [data-state="open"]
    ,
    [data-state="checked"]
  • Composition: Use
    asChild
    to render as custom element while keeping behavior
  • State access: Use
    Component.Context
    with render props
  • Programmatic control: Use hooks like
    useAccordion()

Core Concepts

TopicURL
Getting Startedhttps://ark-ui.com/react/docs/overview/getting-started
Styling (data attributes)https://ark-ui.com/react/docs/guides/styling
Composition (asChild)https://ark-ui.com/react/docs/guides/composition
Component Statehttps://ark-ui.com/react/docs/guides/component-state
Animationhttps://ark-ui.com/react/docs/guides/animation
Forms Integrationhttps://ark-ui.com/react/docs/guides/forms
Refshttps://ark-ui.com/react/docs/guides/ref
Closed Componentshttps://ark-ui.com/react/docs/guides/closed-components

Components

Form Inputs

ComponentURL
Checkboxhttps://ark-ui.com/react/docs/components/checkbox
Comboboxhttps://ark-ui.com/react/docs/components/combobox
Color Pickerhttps://ark-ui.com/react/docs/components/color-picker
Date Pickerhttps://ark-ui.com/react/docs/components/date-picker
Editablehttps://ark-ui.com/react/docs/components/editable
Fieldhttps://ark-ui.com/react/docs/components/field
Fieldsethttps://ark-ui.com/react/docs/components/fieldset
File Uploadhttps://ark-ui.com/react/docs/components/file-upload
Listboxhttps://ark-ui.com/react/docs/components/listbox
Number Inputhttps://ark-ui.com/react/docs/components/number-input
Password Inputhttps://ark-ui.com/react/docs/components/password-input
Pin Inputhttps://ark-ui.com/react/docs/components/pin-input
Radio Grouphttps://ark-ui.com/react/docs/components/radio-group
Selecthttps://ark-ui.com/react/docs/components/select
Signature Padhttps://ark-ui.com/react/docs/components/signature-pad
Sliderhttps://ark-ui.com/react/docs/components/slider
Switchhttps://ark-ui.com/react/docs/components/switch
Tags Inputhttps://ark-ui.com/react/docs/components/tags-input

Overlays and Popups

ComponentURL
Dialoghttps://ark-ui.com/react/docs/components/dialog
Floating Panelhttps://ark-ui.com/react/docs/components/floating-panel
Hover Cardhttps://ark-ui.com/react/docs/components/hover-card
Menuhttps://ark-ui.com/react/docs/components/menu
Popoverhttps://ark-ui.com/react/docs/components/popover
Toasthttps://ark-ui.com/react/docs/components/toast
Tooltiphttps://ark-ui.com/react/docs/components/tooltip
Tourhttps://ark-ui.com/react/docs/components/tour

Layout and Navigation

ComponentURL
Accordionhttps://ark-ui.com/react/docs/components/accordion
Carouselhttps://ark-ui.com/react/docs/components/carousel
Collapsiblehttps://ark-ui.com/react/docs/components/collapsible
Paginationhttps://ark-ui.com/react/docs/components/pagination
Scroll Areahttps://ark-ui.com/react/docs/components/scroll-area
Splitterhttps://ark-ui.com/react/docs/components/splitter
Stepshttps://ark-ui.com/react/docs/components/steps
Tabshttps://ark-ui.com/react/docs/components/tabs
Tree Viewhttps://ark-ui.com/react/docs/components/tree-view

Display and Feedback

ComponentURL
Avatarhttps://ark-ui.com/react/docs/components/avatar
Clipboardhttps://ark-ui.com/react/docs/components/clipboard
Marqueehttps://ark-ui.com/react/docs/components/marquee
Progress Circularhttps://ark-ui.com/react/docs/components/progress-circular
Progress Linearhttps://ark-ui.com/react/docs/components/progress-linear
QR Codehttps://ark-ui.com/react/docs/components/qr-code
Rating Grouphttps://ark-ui.com/react/docs/components/rating-group
Timerhttps://ark-ui.com/react/docs/components/timer

Selection and Toggle

ComponentURL
Angle Sliderhttps://ark-ui.com/react/docs/components/angle-slider
Segment Grouphttps://ark-ui.com/react/docs/components/segment-group
Togglehttps://ark-ui.com/react/docs/components/toggle
Toggle Grouphttps://ark-ui.com/react/docs/components/toggle-group

Collections

CollectionURL
Async Listhttps://ark-ui.com/react/docs/collections/async-list
List Collectionhttps://ark-ui.com/react/docs/collections/list-collection
List Selectionhttps://ark-ui.com/react/docs/collections/list-selection
Tree Collectionhttps://ark-ui.com/react/docs/collections/tree-collection

Utilities

UtilityURL
Client Onlyhttps://ark-ui.com/react/docs/utilities/client-only
Download Triggerhttps://ark-ui.com/react/docs/utilities/download-trigger
Environmenthttps://ark-ui.com/react/docs/utilities/environment
Focus Traphttps://ark-ui.com/react/docs/utilities/focus-trap
Format Bytehttps://ark-ui.com/react/docs/utilities/format-byte
Format Numberhttps://ark-ui.com/react/docs/utilities/format-number
Format Relative Timehttps://ark-ui.com/react/docs/utilities/format-relative-time
Framehttps://ark-ui.com/react/docs/utilities/frame
Highlighthttps://ark-ui.com/react/docs/utilities/highlight
JSON Tree Viewhttps://ark-ui.com/react/docs/utilities/json-tree-view
Localehttps://ark-ui.com/react/docs/utilities/locale
Presencehttps://ark-ui.com/react/docs/utilities/presence