smithery/vanman2024

component-templates

UI component library templates (buttons, forms, cards, modals, etc.). Use when generating frontend UI components.

Installation

$ npx skills add smithery/vanman2024 --skill component-templates

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/vanman2024 · top by installs.

npx skills add smithery/vanman2024

Browse all from smithery/vanman2024

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,825 B
  • docs SUMMARY.md 140 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Component Templates Skill

Instructions

  1. Identify Component Type:

- Button, Input, Form, Card, Modal, Dropdown, etc. - Determine complexity (simple, complex, composite) - Check for existing similar components

  1. Select Template:

- Match component type to template library - Choose variant (primary, secondary, outlined, etc.) - Adapt to detected framework (React, Vue, Svelte)

  1. Generate Component:

- Load base template - Add props/properties for customization - Include accessibility features (ARIA labels, roles) - Add responsive design patterns - Include styling (CSS modules, Tailwind, styled-components)

  1. Add Variations:

- Size variants (sm, md, lg, xl) - Color variants (primary, secondary, success, danger) - State variants (disabled, loading, error)

Component Library

Basic Components

  • Button (primary, secondary, outlined, ghost, link)
  • Input (text, email, password, number, search)
  • Textarea
  • Checkbox, Radio, Switch
  • Select, Dropdown
  • Label, Badge, Tag

Form Components

  • Form wrapper
  • FormField (label + input + error)
  • FormGroup (multiple fields)
  • Validation displays

Layout Components

  • Container, Grid, Flex
  • Card, Panel
  • Header, Footer, Sidebar
  • Navigation, Breadcrumbs

Feedback Components

  • Alert, Toast, Notification
  • Modal, Dialog
  • Tooltip, Popover
  • Loading spinner, Skeleton

Data Display

  • Table, List
  • Pagination
  • Tabs, Accordion
  • Progress bar

Examples

Example 1: Button Component (React + TypeScript)

interface ButtonProps {
  variant?: 'primary' | 'secondary' | 'outline'
  size?: 'sm' | 'md' | 'lg'
  disabled?: boolean
  loading?: boolean
  onClick?: () => void
  children: React.ReactNode
}

export const Button: React.FC<ButtonProps> = ({
  variant = 'primary',
  size = 'md',
  ...props
}) => { /* implementation */ }

Example 2: Input Component (Vue)

<template>
  <div class="input-wrapper">
    <label :for="id">{{ label }}</label>
    <input
      :id="id"
      :type="type"
      :value="modelValue"
      @input="$emit('update:modelValue', $event.target.value)"
    />
  </div>
</template>

Best Practices

  • Accessibility first - Include ARIA labels, keyboard navigation
  • Responsive design - Mobile-first, breakpoint support
  • Type safety - TypeScript props, prop validation
  • Composability - Build complex from simple components
  • Theming support - CSS variables, theme context
  • Documentation - Storybook stories, usage examples

Purpose: Reusable UI component templates Used by: frontend-generator agent, /component command