Claude-skill-registry component-scaffold
Scaffold a new UI component following Pierre design system patterns
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/component-scaffold" ~/.claude/skills/majiayu000-claude-skill-registry-component-scaffold && rm -rf "$T"
manifest:
skills/data/component-scaffold/SKILL.mdsource content
Component Scaffold
Create a new React component following the Pierre design system conventions.
Component: $ARGUMENTS
Generate a component with:
-
File Location:
frontend/src/components/[ComponentName].tsx -
Standard Structure:
// ABOUTME: [Brief description of what this component does] // ABOUTME: Part of the Pierre admin dashboard import React from 'react'; import clsx from 'clsx'; import { Button, Card, CardHeader, Badge } from './ui'; interface [ComponentName]Props { // Define props with TypeScript className?: string; } export const [ComponentName]: React.FC<[ComponentName]Props> = ({ className, ...props }) => { return ( <Card className={clsx('', className)}> {/* Component content */} </Card> ); };
-
Requirements:
- Use design system components (Button, Card, Badge, etc.)
- Use
color classes onlypierre-* - Follow Tailwind spacing scale
- Include loading and error states if applicable
- Add TypeScript interfaces for all props
-
If this is a form component:
- Use
class for inputsinput-field - Use
class for labelslabel - Include validation error display
- Use
for submitButton variant="primary"
- Use
-
If this is a list component:
- Use
for each itemCard - Include empty state
- Include loading skeleton state
- Use
for status indicatorsBadge
- Use
After scaffolding, run
/design-review to validate compliance.