Agent skill

Core Components

by core-ds in core-ds/core-components

Work with @alfalab/core-components React UI library — imports, theming, MCP tools, and component patterns

MITAuto-check passedFrontend & Design

Install Core Components

skills CLI
$ npx skills add core-ds/core-components --skill core-components -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install core-ds/core-components core-components --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/core-ds/core-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/mcp/src/skills .claude/skills/core-components && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
core-components
GitHub stars
137
Token cost
~3.1k tokens
SKILL.md length
714 words
Files
2
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Work with @alfalab/core-components React UI library — imports, theming, MCP tools, and component patterns

  • Works in 5 steps: Use semantic prop names - prefer view,… → Leverage built-in variants - most… → Use breakpoints for responsive - set… → …
  • Tasks that involve Theming and dark mode
  • SKILL.md covers Description, Context, MCP Tools and Import Patterns, plus 8 more sections
  • Calls yarn

What it does

Core Components is an agent skill from core-ds/core-components. Work with @alfalab/core-components React UI library — imports, theming, MCP tools, and component patterns

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `MCP.md`).

It sits in Frontend & Design, covering Theming and dark mode and MCP servers. It works with React. The licence is MIT.

When your agent uses it

  • Tasks that involve Theming and dark mode
  • Tasks that involve MCP servers

Example prompts

  • “/core-components”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Use semantic prop names - prefer view, size, status over custom styling
  2. Leverage built-in variants - most components have pre-defined views
  3. Use breakpoints for responsive - set once at root, components inherit
  4. Use dataTestId - for testing automation
  5. Check component demos - always verify with official examples

What it can do on your machine

Read from SKILL.md and the folder at commit 4c64730. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • yarn

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use yarn, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Core Components loads about 3.1k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 714 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from core-ds/core-components at commit 4c64730, republished under its MIT licence (© core-ds). 714 words, ~3,054 tokens.

Download SKILL.mdSave it as .claude/skills/core-components/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
core-components
description
Work with @alfalab/core-components React UI library — imports, theming, MCP tools, and component patterns
license
MIT

Core Components Skill

Description

This skill provides guidance for working with the @alfalab/core-components React component library. It contains patterns, conventions, and best practices for using components effectively.

Context

  • Library: @alfalab/core-components
  • Components: ~100 components available
  • Structure: Desktop/Mobile responsive variants, theme support, TypeScript

MCP Tools

  • Always use MCP tools to get component data — never read source files, CHANGELOG.md, package.json, or *.mdx docs directly from the filesystem.
  • If a tool returns "not found" — do not guess or invent the component API.

For tool reference and workflow: read MCP.md.

Available tools: component_list, component_info, component_demo, component_changelog.

Import Patterns

Installation
bash
# Main library
yarn add @alfalab/core-components

# Required peer dependencies
yarn add @alfalab/core-components-config @alfalab/core-components-stack-context

Both peer packages are mandatory for the library to function correctly.

Note: Starting from @alfalab/core-components@49 the peer package names changed:

  • @alfalab/core-config → @alfalab/core-components-config
  • @alfalab/stack-context → @alfalab/core-components-stack-context

If the project uses @alfalab/core-components below v49, install the old package names instead.

  • @alfalab/core-components-config — provides CoreConfigContext and useCoreConfig for global configuration of responsive components (breakpoint, client type, portal container). See CoreConfig section.
  • @alfalab/core-components-stack-context — provides StackingContext and stackingOrder constants for z-index management. Used internally by overlay components (Modal, Popover, Toast, etc.). Rarely used directly.
Import Rule

Always import from the root package @alfalab/core-components/<component>:

tsx
import { Button } from '@alfalab/core-components/button';

Never use individual packages (@alfalab/core-components-button). Root imports are the required pattern for this library.

Build Variants

Components are shipped in three build variants:

tsx
// ES5 (default)
import { Button } from '@alfalab/core-components/button';

// ES5 with CSS Modules
import { Button } from '@alfalab/core-components/button/cssm';

// ES2020
import { Button } from '@alfalab/core-components/button/modern';
Desktop/Mobile Variants

Some components have responsive variants:

VariantImport path
Responsive (default)@alfalab/core-components/button
Desktop only@alfalab/core-components/button/desktop
Mobile only@alfalab/core-components/button/mobile
tsx
// Responsive (auto-detects viewport)
import { Button } from '@alfalab/core-components/button';

// Explicit desktop variant
import { ButtonDesktop } from '@alfalab/core-components/button/desktop';

// Explicit mobile variant
import { ButtonMobile } from '@alfalab/core-components/button/mobile';

Use responsive variant with breakpoint prop for automatic switching, or explicit variants when you need platform-specific behavior.

Common Patterns

Loading States
tsx
<Button loading={isLoading} onClick={handleClick}>
    Submit
</Button>
Addons/Slots
tsx
<Button leftAddons={<Icon />} rightAddons={<Badge />}>
    Label
</Button>
Typography
tsx
// Titles — use Typography package
import { Typography } from '@alfalab/core-components/typography';

<Typography.Title tag="h1" view="xlarge">Page title</Typography.Title>
<Typography.TitleResponsive tag="h2" view="large">Section title</Typography.TitleResponsive>

// Inline/block text — use Text package
import { Text } from '@alfalab/core-components/text';

<Text tag="p" view="primary-medium">Body text</Text>
<Text tag="span" view="secondary-small" rowLimit={2}>Truncated text</Text>
Icons
tsx
import { CDNIcon } from '@alfalab/core-components/cdn-icon';

// Mono icon — inherits color from parent
<CDNIcon name="monkey_m" color="#FF5733" />

// Color icon — name contains "_color"
<CDNIcon name="monkey_color_m" />

// With fallback on load error
<CDNIcon name="monkey_m" fallback={<span>?</span>} onError={() => console.warn('Icon failed')} />

Theming

Themes Package

Themes are shipped as separate package @alfalab/core-components-themes:

bash
yarn add @alfalab/core-components-themes
Available Themes
ThemePackage pathPurpose
Mobile@alfalab/core-components-themes/mobile.cssMobile application styling
Site@alfalab/core-components-themes/site.cssSite/website styling
Corp@alfalab/core-components-themes/corp.cssCorporate styling
Click@alfalab/core-components-themes/click.cssClick banking styling
Intranet@alfalab/core-components-themes/intranet.cssIntranet styling
Dark Mode
css
@import '@alfalab/core-components-themes/dark.css';
Color Palettes

Default palette is bluetint. Additional palettes available:

PaletteCSS
Bluetint@alfalab/core-components/vars/colors-bluetint.css
Decorative@alfalab/core-components/vars/colors-decorative.css
Qualitative@alfalab/core-components/vars/colors-qualitative.css
Sequential@alfalab/core-components/vars/colors-sequential.css
PFM@alfalab/core-components/vars/colors-pfm.css
Students@alfalab/core-components/vars/colors-students.css

Import color palette:

css
@import '@alfalab/core-components/vars/colors-bluetint.css';

Import color in JS:

tsx
import { colorLightDecorativeOrange } from '@alfalab/core-components/vars/colors-decorative.module';

CoreConfig

Global configuration for responsive components. Instead of setting breakpoint on each component, use the context provider.

Parameters
ParameterTypeDefaultDescription
breakpointnumber1024Viewport width for switching mobile/desktop
client'desktop' | 'mobile''desktop'Target client for SSR
getPortalContainer() => Element | null | undefined-Custom container for portals
Usage
tsx
import { CoreConfigContext } from '@alfalab/core-components/config';

const coreConfig = {
    breakpoint: 1024,
    client: 'desktop',
};

<CoreConfigContext.Provider value={coreConfig}>
    <App />
</CoreConfigContext.Provider>;
Using config in components
tsx
import { useCoreConfig } from '@alfalab/core-components/config';

const MyComponent = () => {
    const config = useCoreConfig();

    return <div>Breakpoint: {config.breakpoint}</div>;
};

CSS Variables

The library provides CSS custom properties for styling.

Import All Variables
css
@import '@alfalab/core-components/vars';

Or import as JS variables:

tsx
import * as vars from '@alfalab/core-components/vars';

vars.gap2xl === '32px'; // true
Available Variable Sets
CategoryImport path
All variables@alfalab/core-components/vars
Gaps/Spacing@alfalab/core-components/vars/gaps.css
Border radius@alfalab/core-components/vars/border-radius.css
Shadows (bluetint)@alfalab/core-components/vars/shadows-bluetint.css
Typography@alfalab/core-components/vars/typography.css
Mixins@alfalab/core-components/vars/mixins.css
Show full SKILL.md (308 more words)Show less

Best Practices

  1. Use semantic prop names - prefer view, size, status over custom styling
  2. Leverage built-in variants - most components have pre-defined views
  3. Use breakpoints for responsive - set once at root, components inherit
  4. Use dataTestId - for testing automation
  5. Check component demos - always verify with official examples

Component Categories

CategoryComponents
TypographyTitle, TitleResponsive, TitleMobile, Text
IconsCDNIcon
InputsInput, Textarea, Checkbox, Radio, Switch, Select, MaskedInput
ButtonsButton, ActionButton, IconButton, CustomButton
LayoutGrid, Gap, Space, Stack, Plate
NavigationTabs, SidePanel, NavigationBar, Pagination
FeedbackToast, Notification, Spinner, ProgressBar
Data DisplayBadge, Tag, Amount, Skeleton, Status
ModalsModal, Drawer, BottomSheet, Popover
FormsFormControl, Slider, DateInput, FileUploadItem

Troubleshooting

  • Component not found: Check if desktop/mobile variant is exported
  • Props not working: Verify correct prop name via component_info
  • Styling issues: Ensure theme CSS is imported
  • Type errors: Check prop types via component_info

When to Use This Skill

  • Creating new UI with core-components
  • Finding appropriate component for a use case
  • Understanding component API and props
  • Looking up demo examples
  • Migrating from legacy components
  • Checking what changed between component versions
  • Migrating from older versions of components to newer ones
  • Migrating from deprecated components to current ones

Deprecated Components Migration

If the user references a deprecated component, inform them that it is no longer supported and no MCP data is available for it. Then offer to help migrate to the replacement:

ComponentName is deprecated and is not available in the current version of MCP. The recommended replacement is ReplacementName. Would you like me to help migrate to it?

Do not attempt to use the deprecated component's API or guess its props — always redirect to the replacement.

DeprecatedReplacement
ConfirmationV1Confirmation
FileUploadItemV1FileUploadItem
PassCodeV1PassCode
PatternLockV1PatternLock
AlertPlate
BadgeStatusBadge
CalendarInputUniversalDateInput
DateInputUniversalDateInput
DateRangeInputUniversalDateInput
DateTimeInputUniversalDateInput
TimeInputUniversalDateInput
IntlPhoneInputInternationalPhoneInput
LoaderSpinner
Migration workflow

When a user's code uses a deprecated component:

1. Identify the replacement from the table above
2. component_info("ReplacementName")   → check the new API
3. component_demo("ReplacementName")   → find a relevant demo
4. Rewrite usage with the new component API

© core-ds, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in packages/mcp/src/skills of core-ds/core-components.

  • SKILL.md
  • MCP.md

Open the folder on GitHubat commit 4c64730

Compare with similar skills

Core Components next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Core Components compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Core Components this skillcore-ds/core-components137—~3.1kAutomated safety check: PassMIT
MCP Developmentcoollabsio/coolify63k1 repos~949Automated safety check: PassMIT
UI UX Pro Maxsaoudi-h/solar-icons18218 repos~11kAutomated safety check: NotesCustom licence
Ask Sonnerleepokai/Codync1864 repos~1.8kAutomated safety check: WarnMIT
Tailwind CSS Patternsever-works/ever-works1583 repos~1.6kAutomated safety check: NotesAGPL-3.0
Golemuigolemui/golemui113—~2.2kAutomated safety check: PassMIT

Similar skills

  • MCP Development

    coollabsio/coolify

    A skill your agent uses for Laravel MCP development. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 1 repo~949 tokens
    Frontend & DesignAuto-check passed
  • UI UX Pro Max

    saoudi-h/solar-icons

    UI/UX design intelligence for web and mobile. An agent skill from saoudi-h/solar-icons.

    182 GitHub starsUsed in 18 repos~11k tokens
    Frontend & DesignAuto-check: notes
  • Ask Sonner

    leepokai/Codync

    Guide to Sonner, the React toast library — install and wire up the Toaster, pick the right toast() call, promise and loading toasts, updating, dismissing and persisting toasts, styling, theming and…

    186 GitHub starsUsed in 4 repos~1.8k tokens
    Frontend & DesignAuto-check: warnings
  • Tailwind CSS Patterns

    ever-works/ever-works

    Provides comprehensive Tailwind CSS utility-first styling patterns including responsive design, layout utilities, flexbox, grid, spacing, typography, colors, and modern CSS best practices.

    158 GitHub starsUsed in 3 repos~1.6k tokens
    Frontend & DesignAuto-check: notes
  • Golemui

    golemui/golemui

    Build, validate, and debug GolemUI forms in React, Angular, Vue, Lit, or vanilla JS.

    113 GitHub stars~2.2k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • UI Design System

    try-works/role-model

    React UI component systems with TailwindCSS + Radix + shadcn/ui.

    117 GitHub stars~5k tokensUpdated yesterday
    Frontend & DesignAuto-check passed

More from core-ds/core-components

  • Core Components Code Review

    core-ds/core-components

    Review a Pull Request or diff in the @alfalab/core-components UI library — correctness bugs, public API/breaking changes, accessibility, keyboard/focus/pointer interaction, component states…

    137 GitHub stars~5.4k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Core Components

What does Core Components do?

Work with @alfalab/core-components React UI library — imports, theming, MCP tools, and component patterns. Core Components is an agent skill from core-ds/core-components.

When should I use Core Components?

Core Components fits situations like: tasks that involve Theming and dark mode; tasks that involve MCP servers.

How do I install Core Components in Claude Code?

Run `npx skills add core-ds/core-components --skill core-components -a claude-code`. Or copy the skill folder (packages/mcp/src/skills in core-ds/core-components) into .claude/skills/core-components in your project. Claude Code loads it when a task matches its description.

How do I install Core Components in Codex?

Run `npx skills add core-ds/core-components --skill core-components -a codex`. Or copy the skill folder (packages/mcp/src/skills in core-ds/core-components) into .agents/skills/core-components in your project. Codex loads it when a task matches its description.

Can I use Core Components in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add core-ds/core-components --skill core-components -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/core-components, .gemini/skills/core-components, .github/skills/core-components and .opencode/skills/core-components in your project.

What does Core Components need to run?

Going by SKILL.md and its folder, Core Components needs the command-line tools its instructions call (yarn).

Does Core Components access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Core Components safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Core Components use?

Core Components is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Core Components use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Core Components?

Skills that share tags, products or a category with Core Components: MCP Development (coollabsio/coolify, 63k stars), UI UX Pro Max (saoudi-h/solar-icons, 182 stars), Ask Sonner (leepokai/Codync, 186 stars) and Tailwind CSS Patterns (ever-works/ever-works, 158 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Core Components?

core-ds (a GitHub organization) maintains it in core-ds/core-components, which has 137 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.

Source: core-ds/core-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.