New to Claude Skills? Learn how to install them →

sickn33 on GitHub

Core Components Library

Free

Streamline your UI development with design system patterns.

Get this skill

Free · Opens the source repo

What Core Components Library does

The Core Components Library provides a structured approach to building user interfaces using a consistent set of design system patterns and design tokens. This library is essential for developers and designers who want to ensure uniformity in their UI components, enabling them to create visually appealing and functional applications. By utilizing core components instead of raw platform components, you can maintain consistent styling and behavior across your application.

The library emphasizes the importance of design tokens, which are reusable values for spacing, colors, and typography. This approach prevents the hard-coding of values, promoting a more maintainable codebase. For instance, instead of using fixed pixel values for padding or colors, you can use semantic tokens that enhance readability and adaptability of your design. This ensures that changes to design elements can be made efficiently and consistently throughout the application.

Included in the library are various core components such as Box, HStack, VStack, Text, Button, and Input, each designed to support token-based properties. This allows developers to create layouts and interactive elements that are both functional and visually coherent. The library also provides layout patterns for screens and forms, simplifying the development process by offering pre-defined structures that can be easily integrated into your projects.

This skill is particularly useful for teams aiming to implement a design system in their projects, as it aligns development practices with design principles, fostering collaboration between designers and developers. By adopting this library, you can enhance the efficiency of your UI development workflows and ensure a high-quality user experience.

When to use it

Use this skill when developing user interfaces that require consistent styling and behavior across components.

When not to use it

This skill is not suitable for projects that do not require a design system or for those that need highly customized components outside the provided patterns.

What you can build with it

Building a Consistent UI

When developing a new application, use the Core Components Library to ensure all UI elements are styled consistently using design tokens.

Creating Responsive Layouts

Utilize the HStack and VStack components to create responsive layouts that adapt to different screen sizes without hard-coding values.

Implementing a Design System

If your team is adopting a design system, leverage this library to align development with design principles, ensuring a cohesive user experience.

How to install Core Components Library

View source

1. Install with the skills CLI

npx skills add sickn33/agentic-awesome-skills/code-showcase-core-components --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by sickn33

Core Components

When to Use

Use this skill when you need core component library and design system patterns. Use when building UI, using design tokens, or working with the component library.

Design System Overview

Use components from your core library instead of raw platform components. This ensures consistent styling and behavior.

Design Tokens

NEVER hard-code values. Always use design tokens.

Spacing Tokens

// CORRECT - Use tokens
<Box padding="$4" marginBottom="$2" />

// WRONG - Hard-coded values
<Box padding={16} marginBottom={8} />
TokenValue
$14px
$28px
$312px
$416px
$624px
$832px

Color Tokens

// CORRECT - Semantic tokens
<Text color="$textPrimary" />
<Box backgroundColor="$backgroundSecondary" />

// WRONG - Hard-coded colors
<Text color="#333333" />
<Box backgroundColor="rgb(245, 245, 245)" />
Semantic TokenUse For
$textPrimaryMain text
$textSecondarySupporting text
$textTertiaryDisabled/hint text
$primary500Brand/accent color
$statusErrorError states
$statusSuccessSuccess states

Typography Tokens

<Text fontSize="$lg" fontWeight="$semibold" />
TokenSize
$xs12px
$sm14px
$md16px
$lg18px
$xl20px
$2xl24px

Core Components

Box

Base layout component with token support:

<Box
  padding="$4"
  backgroundColor="$backgroundPrimary"
  borderRadius="$lg"
>
  {children}
</Box>

HStack / VStack

Horizontal and vertical flex layouts:

<HStack gap="$3" alignItems="center">
  <Icon name="user" />
  <Text>Username</Text>
</HStack>

<VStack gap="$4" padding="$4">
  <Heading>Title</Heading>
  <Text>Content</Text>
</VStack>

Text

Typography with token support:

<Text
  fontSize="$lg"
  fontWeight="$semibold"
  color="$textPrimary"
>
  Hello World
</Text>

Button

Interactive button with variants:

<Button
  onPress={handlePress}
  variant="solid"
  size="md"
  isLoading={loading}
  isDisabled={disabled}
>
  Click Me
</Button>
VariantUse For
solidPrimary actions
outlineSecondary actions
ghostTertiary/subtle actions
linkInline actions

Input

Form input with validation:

<Input
  value={value}
  onChangeText={setValue}
  placeholder="Enter text"
  error={touched ? errors.field : undefined}
  label="Field Name"
/>

Card

Content container:

<Card padding="$4" gap="$3">
  <CardHeader>
    <Heading size="sm">Card Title</Heading>
  </CardHeader>
  <CardBody>
    <Text>Card content</Text>
  </CardBody>
</Card>

Layout Patterns

Screen Layout

const MyScreen = () => (
  <Screen>
    <ScreenHeader title="Page Title" />
    <ScreenContent padding="$4">
      {/* Content */}
    </ScreenContent>
  </Screen>
);

Form Layout

<VStack gap="$4" padding="$4">
  <Input label="Name" {...nameProps} />
  <Input label="Email" {...emailProps} />
  <Button isLoading={loading}>Submit</Button>
</VStack>

List Item Layout

<HStack
  padding="$4"
  gap="$3"
  alignItems="center"
  borderBottomWidth={1}
  borderColor="$borderLight"
>
  <Avatar source={{ uri: imageUrl }} size="md" />
  <VStack flex={1}>
    <Text fontWeight="$semibold">{title}</Text>
    <Text color="$textSecondary" fontSize="$sm">{subtitle}</Text>
  </VStack>
  <Icon name="chevron-right" color="$textTertiary" />
</HStack>

Anti-Patterns

// WRONG - Hard-coded values
<View style={{ padding: 16, backgroundColor: '#fff' }}>

// CORRECT - Design tokens
<Box padding="$4" backgroundColor="$backgroundPrimary">


// WRONG - Raw platform components
import { View, Text } from 'react-native';

// CORRECT - Core components
import { Box, Text } from 'components/core';


// WRONG - Inline styles
<Text style={{ fontSize: 18, fontWeight: '600' }}>

// CORRECT - Token props
<Text fontSize="$lg" fontWeight="$semibold">

Component Props Pattern

When creating components, use token-based props:

interface CardProps {
  padding?: '$2' | '$4' | '$6';
  variant?: 'elevated' | 'outlined' | 'filled';
  children: React.ReactNode;
}

const Card = ({ padding = '$4', variant = 'elevated', children }: CardProps) => (
  <Box
    padding={padding}
    backgroundColor="$backgroundPrimary"
    borderRadius="$lg"
    {...variantStyles[variant]}
  >
    {children}
  </Box>
);

Integration with Other Skills

  • react-ui-patterns: Use core components for UI states
  • testing-patterns: Mock core components in tests
  • storybook: Document component variants

Limitations

  • Use this skill only when the task clearly matches its upstream source and local project context.
  • Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
  • Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.

Frequently asked questions about Core Components Library

Similar skills