dialkit

Adds a DialKit floating control panel for tuning React animations and visual properties at runtime.

2|Updated Apr 15, 2026
One-click install
npx skills add https://github.com/tommylower/cortex --skill dialkit-tommylower
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dialkit
Source: https://github.com/tommylower/cortex/tree/main/design/tools/dialkit
Command: npx skills add https://github.com/tommylower/cortex --skill dialkit-tommylower

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires dialkit, motion.

What problem does it solve? Tuning animation springs, spacing, colors, and other visual values in a React app normally requires editing code and reloading for every tweak. This Skill installs and configures DialKit, a development-only floating panel with sliders, toggles, color pickers, and spring editors wired to live UI values, so values can be adjusted visually and then hardcoded. ## Core Features & Use Cases - Dev-only panel setup: Configures a two-file Next.js App Router pattern (dynamic import plus NODE_ENV guard) so DialKit's JavaScript and CSS never reach production bundles. - Live value tuning: Uses useDialKit with config types like sliders, toggles, color pickers, spring and easing editors, plus a scrubbable timeline via dialkit/timeline. - Token-scoped dials: Rebinds CSS custom properties on a component root via data-dial attributes so tuning one component does not repaint the whole site in token-driven codebases. - Use Case: While polishing a card component, dial its blur, opacity, spring bounce, and spacing live in the browser, then hardcode the final values as defaults. ## Quick Start Set up DialKit in my Next.js app so I can tune this component's spring animation and spacing with a floating dev panel.

Frequently Asked Questions about dialkit

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

FAQPage Schema
How do I add a live control panel for tuning animations in React?▼

Install dialkit and motion as dev dependencies, render DialRoot in a dynamically imported client component, and call useDialKit with a config object. Sliders, toggles, color pickers, and spring editors then update the component's values live in the browser.

How to keep DialKit out of a Next.js production bundle?▼

Split the panel into two files: one client component importing dialkit/styles.css and DialRoot, and a guard component using next/dynamic with ssr false plus a NODE_ENV development check. The static CSS import must live behind the dynamic import since a NODE_ENV guard alone does not remove it.

Does DialKit work with frameworks other than React?▼

Yes. DialKit provides createDialKit from dialkit/solid and dialkit/svelte, useDialKit from dialkit/vue, and a framework-free build at dialkit/vanilla. The React entry requires the motion peer dependency at version 11.0.0 or higher.

How do I scope dials to one component in a token-driven codebase?▼

Stamp the component root with a data-dial attribute and write a style element rebinding its CSS custom properties, like [data-dial="path-card"] { --space-inset: 2rem }. Custom properties inherit, so only that subtree repaints instead of the whole site.

Why does a tokens-only prebuild gate reject my dial config?▼

A tokens-only gate scans files for raw hex literals, and a free color picker dial introduces one. Prefer a role swap like --color-sand: var(--color-slate-light), keep color dials out of gated files, or grandfather the file.

What are the limitations of DialKit token scoping?▼

A descendant reading the same CSS variable moves with its parent, and two uses of one role inside a single component cannot be separated since they share the variable. Separating those requires a real component prop instead of token rebinding.