components
Guides the creation of React components using shadcn/ui as a base with compound component patterns.
Skill by ZevaGuillo
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zevaguillo-components
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/components
What's inside
- Skill name
components- Description
- Guides the creation of React components using shadcn/ui as a base with compound component patterns. Use this skill when creating a new UI component, extending shadcn components, or deciding component composition strategy.
- License
- MIT
- Instructions
- 125 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (10)
- SKILL.md
- component-slots.md · rules/
- compound-components.md · rules/
- props-typing.md · rules/
- shadcn-base.md · rules/
- tailwind-tokens.md · rules/
- variants-pattern.md · rules/
- component.template.tsx · templates/
- component.variants.ts · templates/
- compound-component.template.tsx · templates/
SKILL.md (first lines)
# Skill: components
> React components with shadcn/ui base, compound patterns, and Tailwind semantic tokens.
## When to Apply
Activate this skill when:
- Creating a new UI component
- Extending shadcn/ui components
- Deciding component composition strategy
- Building compound components
- Implementing component variants
- Typing component props
## Quick Reference
- `[PATTERN]` Use shadcn/ui as base foundation
- `[PATTERN]` Composition over inheritance
- `[MUST]` Tailwind semantic tokens (no hardcoded values)
- `[PREFERRED]` Compound components for complex states
- `[PREFERRED]` Variants via prop, not new components
- `[MUST]` Type-safe props with interfaces
- `[MUST]` Use `cn()` for conditional classes
## Rules
| Priority | Rule | Impact | Reference File |
|----------|------|--------|-----------------|
| 1 | shadcn/ui as base | High | `rules/shadcn-base.md` |
| 2 | Compound components | High | `rules/compound-components.md` |
| 3 | Tailwind semantic tokens | High | `rules/tailwind-tokens.md` |
| 4 | Component slots | Medium | `rules/component-slots.md` |
| 5 | Variants pattern | Medium | `rules/variants-pattern.md` |
| 6 | Props typing | High | `rules/props-typing.md` |
## Detail by Category
### shadcn/ui Base
Use shadcn/ui components as foundation:
- `Button`, `Input`, `Select` — Form elements
- `Card`, `Dialog`, `Sheet` — Layout containers
- `Table`, `Tabs`, `Accordion` — Complex patterns
- Always extend, never fork
### Tailwind Tokens
Use semantic tokens from shadcn theme:
- `primary`, `primary-foreground` — Main brand color
- `secondary`, `secondary-foreground` — Secondary color
- `muted`, `muted-foreground` — Subtle backgrounds
- `accent`, `accent-foreground` — Interactive highlights
- `destructive`, `destructive-foreground` — Error states
- `border`, `ring` — Borders and focus rings
- `radius` — Border radius token
**Never use:** `bg-blue-500`, `text-gray-700` — Always use theme tokens.
### Compound Components
Build complex UIs with composable parts:
```tsx
// Compound: Card
<Card>
<CardHeader>
<CardTitle>Title</CardTitle>
<CardDescription>Description</CardDescription>
</CardHeader>
<CardContent>Content</CardContent>
<CardFooter>Footer</CardFooter>
</Card>
```
### Variants
One prop, multiple styles — not new components:
```tsx
// ✅ One component with variants
<Button variant="default" />
<Button variant="destructive" />
<Button variant="outline" />
<Button variant="ghost" />
<Button variant="link" />
// ❌ Not: <DestructiveButton />
```
---
## Templates
- `templates/component.template.tsx` — Basic component with cn()
- `templates/compound-component.template.tsx` — Compound component pattern
- `templates/component.variants.ts` — Variants with cva
## Tailwind Theme Structure
```js
// tailwind.config.js - tokens are customizable
colors: {
primary: { DEFAULT: "...", foreground: "..." },
secondary: { DEFAULT: "...", foreground: "..." },
muted: { DEFAULT: "...", foreground: "..." },
accent: { DEFAULT: "...", foreground: "..." },
destructive: { DEFAULT: "...", foreground: "..." },
border: "...",
ring: "...",
radius: "...",
}
```
## Anti-Patterns
- ❌ Using hardcoded colors (`bg-blue-500`)From ZevaGuillo/frontend-skills, MIT.
More from ZevaGuillo/frontend-skills
- 0.409score
project-setup
ZevaGuillo
Scaffolds a new frontend project or feature following screaming architecture by feature.
SkillDFreshness: DClaude Code +9 - 0.409score
api-fetching
ZevaGuillo
Implements data fetching following a three-layer pattern (api → repository → hook) with TanStack Query.
SkillDFreshness: DClaude Code +9 - 0.409score
forms
ZevaGuillo
Implements forms using React Hook Form with Zod validation.
SkillDFreshness: DClaude Code +9 - 0.380score
nextjs-integration
ZevaGuillo
Adapts the feature architecture to Next.js App Router, TanStack Start, or Vite SPA.
SkillDFreshness: DClaude Code +9 - 0.380score
tailwind-styling
ZevaGuillo
Configures a dynamic theming system using semantic design tokens and a Tailwind CSS preset.
SkillDFreshness: DClaude Code +9 - 0.380score
state-management
ZevaGuillo
Implements state management patterns using Zustand for client-side global state.
SkillDFreshness: DClaude Code +9 - 0.226score
performance-optimization
ZevaGuillo
Enforces code quality principles in React and TypeScript including SOLID, KISS, YAGNI, and DRY.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Mar 30, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/ZevaGuillo/frontend-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ZevaGuillo
- 0.409score
api-fetching
ZevaGuillo
Implements data fetching following a three-layer pattern (api → repository → hook) with TanStack Query.
SkillDFreshness: DClaude Code +9 - 0.409score
forms
ZevaGuillo
Implements forms using React Hook Form with Zod validation.
SkillDFreshness: DClaude Code +9 - 0.409score
project-setup
ZevaGuillo
Scaffolds a new frontend project or feature following screaming architecture by feature.
SkillDFreshness: DClaude Code +9 - 0.380score
nextjs-integration
ZevaGuillo
Adapts the feature architecture to Next.js App Router, TanStack Start, or Vite SPA.
SkillDFreshness: DClaude Code +9 - 0.380score
state-management
ZevaGuillo
Implements state management patterns using Zustand for client-side global state.
SkillDFreshness: DClaude Code +9 - 0.380score
tailwind-styling
ZevaGuillo
Configures a dynamic theming system using semantic design tokens and a Tailwind CSS preset.
SkillDFreshness: DClaude Code +9
Cite this page
components skill. Agent Mart. https://agentmart.dev/skills/zevaguillo-components (last updated 2026-10-24)