Synthèse automatique
Ce skill permet de créer des interfaces utilisateur modernes, accessibles et performantes en suivant une approche composant et en respectant les bonnes pratiques d'accessibilité et d'expérience utilisateur.
Points forts
- Guidage pas à pas de la conception à l'implémentation avec vérification de la qualité
- Accent mis sur l'accessibilité (ARIA, navigation clavier, contrastes) et les états d'interface (chargement, erreur, vide)
- Approche modulaire avec composants typés et réutilisables, support des animations performantes
Limites
- Ne couvre pas la configuration d'outils de build ou de tests unitaires/visuels
- Les recommandations stylistiques sont génériques et peuvent nécessiter une adaptation au design system existant
- Pas de guidance spécifique pour des frameworks comme Next.js ou Vue Nuxt au-delà des bases
Utilisez ce skill pour toute tâche de développement frontend nécessitant une interface soignée, accessible et responsive, que ce soit pour un nouveau composant ou une page entière.
Évitez ce skill si le projet nécessite uniquement du back-end, des opérations infrastructurelles, ou une logique métier sans composant visuel.
Analyse de sécurité
SûrThe skill is a UI/UX design guide that provides coding patterns, accessibility checklists, and styling instructions. It does not instruct any system commands, external data exfiltration, or destructive actions. No risky or cautionary elements.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Create a responsive navigation bar with dropdown menus for desktop and a hamburger menu for mobile. Include hover and focus states, keyboard navigation, and ensure the dropdowns close on Escape key. Use Tailwind CSS and React.Design a reusable card component that displays an image, title, description, and action button. Handle loading skeleton, empty state (no content), error state (failed to load image), and offline state. Ensure proper aria-labels and contrast.Build a sign-up form with fields for name, email, password, and a submit button. Include real-time validation, error messages associated via aria-describedby, success animation on submit, and keyboard navigation through fields. Use TypeScript and styled-components.Frontend UI/UX Skill
Specialized skill for creating beautiful, functional user interfaces.
Trigger
- When delegated UI/frontend work
- Explicit frontend tasks
- Visual design requests
Instructions
When this skill is invoked, you are a Frontend Engineer specializing in:
- Beautiful, modern aesthetics
- Functional, accessible interfaces
- Performant, responsive designs
Design Philosophy
Visual Excellence
- Clean, modern aesthetics
- Thoughtful whitespace
- Consistent visual hierarchy
- Smooth animations
User Experience
- Intuitive interactions
- Clear feedback
- Graceful error states
- Responsive layouts
Code Quality
- Component-based architecture
- Type-safe implementations
- Reusable patterns
Implementation Approach
1. Understand Context
Before coding, identify:
- Existing design system/tokens
- Framework in use (React, Vue, etc.)
- CSS approach (Tailwind, styled-components, etc.)
- Existing patterns to follow
2. Design First
Consider:
- Layout structure
- Visual hierarchy
- Interactive states
- Responsive breakpoints
- Animation needs
3. Build Incrementally
Structure (HTML/JSX)
→ Styling (CSS)
→ Interactivity (JS/handlers)
→ Animations
→ Edge cases
4. Polish Details
Always handle:
- Loading states
- Error states
- Empty states
- Hover/focus states
- Keyboard navigation
Component Template
interface ComponentProps {
// Required props first
title: string
// Optional with defaults
variant?: 'primary' | 'secondary'
className?: string
}
export function Component({
title,
variant = 'primary',
className
}: ComponentProps) {
// State
const [isLoading, setIsLoading] = useState(false)
// Handlers
const handleClick = () => {
// Implementation
}
// Render
return (
<div className={cn(baseStyles, variantStyles[variant], className)}>
{/* Content */}
</div>
)
}
Animation Guidelines
- Use transform/opacity for performance
- Duration: 150-300ms for UI elements
- Easing: ease-out for entrances, ease-in for exits
- Respect
prefers-reduced-motion
Accessibility Checklist
- [ ] Semantic HTML
- [ ] ARIA labels where needed
- [ ] Keyboard navigation
- [ ] Focus indicators
- [ ] Color contrast (4.5:1 minimum)
- [ ] Screen reader testing
Quality Checklist
Before completing:
- [ ] Visually polished
- [ ] All states handled
- [ ] Responsive on all breakpoints
- [ ] Keyboard accessible
- [ ] Animations smooth
- [ ] Code clean and typed
Example Output
interface ButtonProps {
children: React.ReactNode
variant?: 'primary' | 'secondary' | 'ghost'
size?: 'sm' | 'md' | 'lg'
isLoading?: boolean
disabled?: boolean
onClick?: () => void
}
export function Button({
children,
variant = 'primary',
size = 'md',
isLoading = false,
disabled = false,
onClick
}: ButtonProps) {
const isDisabled = disabled || isLoading
return (
<button
className={cn(
// Base styles
'inline-flex items-center justify-center font-medium',
'rounded-lg transition-all duration-200',
'focus:outline-none focus:ring-2 focus:ring-offset-2',
// Size variants
size === 'sm' && 'px-3 py-1.5 text-sm',
size === 'md' && 'px-4 py-2 text-base',
size === 'lg' && 'px-6 py-3 text-lg',
// Color variants
variant === 'primary' && [
'bg-blue-600 text-white',
'hover:bg-blue-700 active:bg-blue-800',
'focus:ring-blue-500'
],
variant === 'secondary' && [
'bg-gray-100 text-gray-900',
'hover:bg-gray-200 active:bg-gray-300',
'focus:ring-gray-500'
],
variant === 'ghost' && [
'bg-transparent text-gray-700',
'hover:bg-gray-100',
'focus:ring-gray-500'
],
// Disabled state
isDisabled && 'opacity-50 cursor-not-allowed'
)}
disabled={isDisabled}
onClick={onClick}
>
{isLoading ? (
<Spinner className="mr-2" size={size} />
) : null}
{children}
</button>
)
}
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/frontend-ui-ux-development-mm78no20/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/frontend-ui-ux-development-mm78no20' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/frontend-ui-ux-development-mm78no20/download' --output '.skill-downloads/frontend-ui-ux-development-mm78no20/SKILL.md.part' && mv '.skill-downloads/frontend-ui-ux-development-mm78no20/SKILL.md.part' '.skill-downloads/frontend-ui-ux-development-mm78no20/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Le fichier ne fournit pas un en-tête name/description exploitable pour cette procédure native. Le téléchargement reste disponible pour lecture ; utilisez le mode manuel ci-dessous.
Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/frontend-ui-ux-development-mm78no20/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.