Claude-skill-registry gp-ui

Use when building React UIs for TheGP applications, migrating existing UIs to @gp/ui components, integrating Tailwind v4 with @gp/ui theme, or answering questions about available components, design tokens, icons, or setup. Activate when user mentions @gp/ui, TheGP design system, or asks about GP-specific UI patterns and components.

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

@gp/ui Design System

TheGP's shared React component library with Tailwind theme integration.

Quick Reference

Import:

import { Button, Card, Layout } from '@gp/ui'
Theme:
@import "@gp/ui/theme";
in CSS Icons:
import { SearchIcon, UserIcon } from '@gp/ui'

Available Components

ComponentPurpose
ButtonPrimary actions with variants: primary, secondary, ghost, destructive
BadgeStatus indicators: success, warning, error, info, neutral
CardContainer with Card.Header, Card.Body, Card.Footer
StatCardMetric display with optional trend indicator
StatGridKey-value grid with formatting and copy support
AlertNotifications: info, warning, error, success
InputText input with label, icons, validation states
TextAreaMulti-line input with auto-resize
ModalDialog overlays (Radix-based) with sizes, controlled/uncontrolled state
DropdownMenu system (Radix-based) with items, checkboxes, submenus
TooltipHover hints (Radix-based)
TabBarHorizontal tab navigation
LayoutApp shell with header, sidebar, user menu
SidebarCollapsible navigation with responsive behavior
SkeletonLoading placeholders
LoginPageFull-screen login with branding
GPLogoTheGP logo SVG

Resources

Load these as needed:

Key Patterns

Class Merging

Always use

cn()
for combining classes:

import { cn } from '@gp/ui'
<div className={cn('base-class', condition && 'conditional-class', className)} />

Compound Components

Card, Dropdown, Tooltip use dot notation:

<Card>
  <Card.Header>Title</Card.Header>
  <Card.Body>Content</Card.Body>
</Card>

Semantic Icons

Icons named by purpose, not appearance:

import { BackIcon, SpinnerIcon, DeleteIcon } from '@gp/ui'

Theme Tokens

Custom Tailwind colors available after importing theme:

  • orange-50
    to
    orange-900
    (brand orange)
  • navy-50
    to
    navy-950
    (dark navy)
  • cream
    (off-white background)

Peer Dependencies

Apps must install:

react
,
react-dom
,
lucide-react
,
@radix-ui/react-dialog
,
@radix-ui/react-dropdown-menu
,
@radix-ui/react-tooltip
,
@radix-ui/react-label