ss-component
$
npx mdskill add bitjaru/styleseed/ss-component- For full-page scaffolding → use `/ss-page` - For composed multi-component patterns → use `/ss-pattern` - For tweaking an existing component — just edit the file directly - For non-StyleSeed projects (no `components/ui/` directory or no Tailwind v4)
SKILL.md
.github/skills/ss-componentView on GitHub ↗
--- name: ss-component description: Generate a new UI component following the StyleSeed design conventions argument-hint: [component-name] [description] allowed-tools: Read, Write, Edit, Grep, Glob, Bash --- # UI Component Generator ## When NOT to use - For full-page scaffolding → use `/ss-page` - For composed multi-component patterns → use `/ss-pattern` - For tweaking an existing component — just edit the file directly - For non-StyleSeed projects (no `components/ui/` directory or no Tailwind v4) Generate a new component: **$0** Description: $ARGUMENTS ## Instructions 1. First, read the design system seed for context: - Read `CLAUDE.md` for component conventions - Read `css/theme.css` for available design tokens - Read `components/ui/button.tsx` as a reference pattern 2. Follow these conventions strictly: - Use `function` declaration (not `const`) - Add `data-slot="component-name"` attribute - Use `cn()` from `@/components/ui/utils` for all className merging - Use `React.ComponentProps<>` for prop typing - Always support `className` prop for overrides - Use CVA (`class-variance-authority`) if the component has variants - Use semantic color tokens (`bg-card`, `text-foreground`) — never inline hex 3. Design token usage: - Colors: `text-foreground`, `bg-card`, `text-brand`, `text-muted-foreground`, `border-border` - Shadows: `shadow-[var(--shadow-card)]`, `shadow-[var(--shadow-elevated)]` - Radius: `rounded-md`, `rounded-lg`, `rounded-2xl` - Spacing: multiples of 6px (`p-1.5`, `p-3`, `p-6`) - Motion: `duration-[var(--duration-fast)]`, `ease-[var(--ease-default)]` 4. Typography rules: - Display (36-48px): `leading-none tracking-[-0.02em]` - Heading (18-24px): `leading-snug tracking-[-0.01em]` - Body (14-17px): `leading-normal` (default tracking) - Caption uppercase (10-13px): `tracking-[0.05em]` - Use `size-*` shorthand instead of `w-* h-*` - Use `ms-*/me-*` instead of `ml-*/mr-*` (logical properties) 5. Accessibility requirements: - Minimum touch target: 44x44px (`min-h-11 min-w-11`) - Support `aria-*` attributes passthrough - Use `focus-visible:ring-2 focus-visible:ring-ring` for keyboard focus - Respect `prefers-reduced-motion` for animations 6. Export the component as a named export (not default) 7. Place the file in the appropriate directory: - Primitive/reusable → `src/components/ui/` - Composed pattern → `src/components/patterns/`
More from bitjaru/styleseed
- ss-a11yAudit a component or page for accessibility issues and fix them
- ss-auditAudit screens for UX issues using Nielsen's heuristics and modern mobile UX best practices
- ss-copyGenerate UX microcopy (button labels, error messages, empty states, toasts) following a casual-but-polite voice and tone
- ss-feedbackAdd appropriate user feedback states (loading, success, error, empty) to a component or page
- ss-flowDesign user flows and navigation structure following proven UX patterns
- ss-lintQuick automated lint — detects common design system violations in seconds
- ss-motionApply a named StyleSeed motion to a component — either one of the 5 personality seeds (Spring/Silk/Snap/Float/Pulse × entrance/exit/hover/press/layout) or a distinctive keyword move from the motion library (toggle-flip, toggle-curtain, reveal-blur, pop-in, shimmer, …). Translates vibe words into framer-motion code from one source of truth.
- ss-pageScaffold a new mobile page/screen using the StyleSeed layout patterns
- ss-patternGenerate a composed UI pattern (card layout, list, form section, grid, etc.) using design system primitives
- ss-reviewReview UI code for design system compliance, accessibility, and best practices