ark-ui

Identify and implement correct Ark UI surfaces for React applications.

Updated Mar 2, 2026
One-click install
npx skills add https://github.com/goddard-ai/goddard --skill ark-ui-goddard-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ark-ui
Source: https://github.com/goddard-ai/goddard/tree/main/app/.agents/skills/ark-ui
Command: npx skills add https://github.com/goddard-ai/goddard --skill ark-ui-goddard-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Build, refactor, debug, and review React UI code that uses Ark UI via @ark-ui/react or @ark-ui/react/*. Use when Codex must choose the right React Ark component, collection helper, or utility; preserve part anatomy and accessibility contracts; compose with asChild, Portal, Presence, or EnvironmentProvider; style parts with data-scope, data-part, CSS variables, and state data-* attributes; wire Field or Fieldset; work with createListCollection, useAsyncList, useListSelection, or createTreeCollection; or handle React Ark surfaces such as dialogs, menus, selects, comboboxes, date pickers, file upload, image cropper, tree view, splitter, toast, tour, locale, download, focus trap, formatting, and related utilities.

Core Features & Use Cases

  • Use Ark UI to own interaction logic, ARIA wiring, focus rules, and structural data attributes; preserve app-specific styling or state only where the surrounding code requires it.
  • Read overview-and-setup.md before changing installation, imports, or the core Ark mental model.
  • Read composition-and-refs.md before using asChild, wrapping parts in design-system components, sharing ids, or forwarding refs.
  • Read styling.md before styling Ark parts with CSS, Panda CSS, Tailwind CSS, or state data attributes.
  • Read state-management.md before reading inline state with Component.Context, calling use*Context, or controlling a component from outside its subtree.
  • Read animation-and-presence.md before coordinating entry and exit animation, present, lazyMount, unmountOnExit, or Presence.
  • Read forms.md before wiring Field, Fieldset, validation, accessible labels, or React Hook Form.
  • Read collection-lists-and-async.md before managing flat option lists or remote collection data.
  • Read list-selection.md before managing independent list selection state, multi-select behavior, or range-like selection flows outside a built-in Ark component.
  • Read tree-collection.md before editing hierarchical collections, traversal, filtering, or tree mutations.
  • Read overlays-and-transient-ui.md before editing dialogs, popovers, menus, hover cards, tooltips, tours, floating panels, or toast flows.
  • Read selection-and-picker-components.md before editing selects, comboboxes, listboxes, tags input, date pickers, color pickers, file upload, signature pad, image cropper, or tree view.
  • Read form-and-value-components.md before editing checkbox-like controls, toggles, rating, sliders, numeric inputs, pin inputs, password inputs, editable text, or timer components.
  • Read structure-navigation-and-feedback.md before editing disclosure, navigation, viewport, progress, clipboard, avatar, QR, or marquee behavior.
  • Read utilities-and-runtime.md before editing client-only rendering, download, environment, focus trap, formatting, frame, highlight, locale, JSON tree view, or swap behavior.

Quick Start

Identify the correct Ark UI surface for a React project and implement its integration in one pass.

Frequently Asked Questions about ark-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose the right Ark UI component for a React dialog or menu?

To implement the correct Ark UI component for a React dialog or menu, identify the matching Ark UI surface and apply surface selection while preserving accessibility contracts, ARIA wiring, and Ark runtime semantics.

How do I style Ark UI components using data attributes and CSS variables?

Style Ark UI components by targeting the part structure with `data-scope`, `data-part`, and state `data-*` attributes alongside CSS variables, ensuring compliance with Ark's structural data attributes for CSS, Panda CSS, or Tailwind CSS.

Can I use Ark UI with React Hook Form for field validation?

Yes, you can wire Ark UI `Field` or `Fieldset` components with React Hook Form to manage accessible labels, validation, and form state while maintaining Ark's structural compliance and accessibility contracts.

What is the best way to manage list selection state outside a built-in Ark UI component?

The best way to manage independent list selection state or multi-select behavior outside a built-in Ark UI component is to use `useListSelection` and `createListCollection` to handle flat option lists and selection flows.

How do I coordinate entry and exit animations for Ark UI overlays?

Coordinate entry and exit animations for Ark UI overlays by using `Presence`, `present`, `lazyMount`, and `unmountOnExit` properties to manage mounting behavior and animation states for dialogs, popovers, and tooltips.

Why does my Ark UI composition break when wrapping parts in design-system components?

Ark UI composition breaks when wrapping parts in design-system components if you fail to use `asChild`, share `ids`, or forward refs correctly, disrupting the Ark runtime semantics and accessibility contracts.