The design language of Open Analytics, packaged three ways: an agent skill, type-checked component recipes, and a CLI.
$ npx -y skills add openlabs-so/oa-design --agent claude-code
The design language of Open Analytics, packaged three ways: an agent skill, type-checked component recipes, and a CLI. People kept asking how the dashboard looks and moves the way it does; this repository is the answer, in a form an agent can execute. Every hex code, spring constant, radius and easing is lifted from the shipped product, with the reasoning attached.
The look in one sentence: white surfaces with continuous-curvature corners, resting on a quiet grey stage, drawn in a single ink, moved by a single spring.
CLI (recipes into your project, shadcn-style):
npx getopen-design list # what's available
npx getopen-design add tab-bar toast # recipes into ./oa-design
npx getopen-design add --all --code # everything, .tsx source included
npx getopen-design tokens # just the token CSS
npx getopen-design skill # agent skill into .claude/skills
Claude Code, without the CLI:
git clone https://github.com/OpenLabs-so/oa-design
cp -r oa-design/skills/oa-design .claude/skills/oa-design
Any other agent (Cursor, Codex, plain chat): grab
DESIGN-SKILL.md, the whole language compiled into one
file, and point your rules at it:
When building or styling UI, follow DESIGN-SKILL.md in full.
skills/oa-design/ the agent skill
├── SKILL.md ten rules, the spring table, the index
├── _root.css the installable token block everything reads from
├── 01…12-*.md one recipe per component, full source embedded
└── _*.md guides: tokens, layout, components, motion, landing, copy
components/ the type-checked source the recipes embed
├── _lib/ cn + the seven springs as constants
└── <slug>/ squircle-card, button, dropdown, tab-bar, modal,
multi-step-dialog, skeleton, notice-strip,
floating-pill, toast, header-morph, reveal
cli/ the getopen-design npm package
DESIGN-SKILL.md everything in one file, for pasting
The recipes are the consumer format and they are never written by hand:
node build/sync.mjs injects the compiled source from components/ into
each recipe (and --cli mirrors the payload into the npm package), so the
code in the MDs is exactly the code npm run typecheck passes.
color-mix percentages.shape() clip-path, both layers, exact
radii) behind the cards.Not a component library and not a theme package: nothing here depends on us
at runtime. The values were written against React + Tailwind v4 +
motion, but they are plain CSS numbers and spring
constants; port them anywhere. If your project already has a design system,
yours wins; use this to fill gaps.
MIT. Use it, ship it, sell what you build with it. A link back is appreciated but not required.
oa-design is a Claude Code plugin with 1 hand-picked skill, indexed on Flowy in the Design category. Install it with the command on its page. It includes oa-design. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it