Synthèse automatique
Guide de travail pour améliorer systématiquement le design d'un site personnel (Tailwind, Framer Motion, déploiement Vercel) en suivant une palette et une hiérarchie typographique prédéfinies.
Points forts
- Workflow en six étapes clair, de l'analyse au commit, avec listes de contrôle réutilisables
- Format CARIO (contexte, problèmes, options, recommandation, impact) qui force à proposer plusieurs niveaux d'effort avant d'éditer
- Exemples avant/après concrets en JSX/Tailwind directement copiables
- Palette, typographie et points de rupture responsive explicitement définis, ce qui limite les dérives visuelles
Limites
- Fortement couplé à un projet précis : palette slate/coral/cream, Tailwind, Framer Motion et déploiement Vercel automatique
- Aucune vérification d'accessibilité (contraste, tailles de texte) ni de test visuel automatisé
- Le fichier est tronqué (exemple de grille de cartes incomplet) et ne couvre que quatre pages types
À utiliser lorsqu'une page d'un site personnel Tailwind/Framer Motion semble mal agencée et qu'on veut une passe de design structurée et cohérente avec la charte existante.
À éviter sur un projet utilisant une autre stack CSS ou une autre marque, ou lorsqu'il faut refondre l'identité visuelle complète plutôt que peaufiner l'existant.
Analyse de sécurité
SûrThe skill is a design/CSS guidance document for a Next.js + Tailwind + Framer Motion personal site. Its executable surface is limited to standard npm and git commands, it explicitly requires user confirmation before making changes, and it contains no network exfiltration, destructive filesystem operations, or obfuscation. Bash usage is powerful but scoped to legitimate build/version-control tasks, so the risk is low.
- •Includes `git add . && git commit && git push` steps that auto-deploy to Vercel; scope of `git add .` could sweep unrelated files into a commit, but this is a normal dev workflow rather than a malicious action
- •Bash is used for `npm run dev`, `npm run build`, and git commands — legitimate, non-destructive purposes
- •No curl|sh, no credential/secret handling, no obfuscated payloads, no rm -rf or safety-disabling instructions
Exemples
我的首頁排版很醜,間距不一致,顏色也很亂,幫我按照專案的設計原則改善。The projects page card grid breaks on tablet. Improve the layout mobile-first with Tailwind breakpoints and add subtle Framer Motion animations.Improve the hero section on the About page: better typographic hierarchy, gradient background, and a smooth entrance animation, then verify at 375px, 768px and 1280px.name: design-improvement description: | Systematic design optimization for young-personal-site following established design principles. Ensures consistent color palette, responsive layout, and professional appearance. activation-keywords: [設計, design, UI, UX, 很醜, 不好看, 排版, layout, 顏色, color, 間距, spacing] priority: high allowed-tools: [Read, Edit, Write, Bash, Grep, Glob]
Design Improvement Skill
Purpose
Streamline design optimization with systematic improvements following project design principles.
Prevents: Inconsistent design, broken responsive layouts, brand violations Ensures: Color palette consistency, mobile-first responsive design, professional appearance
Design Principles
Color Palette
Primary: slate-blue (#475569, #64748b)
Accent: coral-orange (#fb923c, #f97316)
Background: warm-cream (#fef3c7, #fef9c3)
Gradients: Smooth transitions for visual interest
Typography
Hierarchy: h1 > h2 > h3 > p (clear distinction)
Body text: 16px+ for readability
Line-height: Consistent spacing
Hero sections: Center-aligned
Layout
Approach: Mobile-first responsive
Spacing: Tailwind utilities (p-4, gap-6, etc.)
Animations: Framer Motion (smooth, not jarring)
Workflow
1. Analyze Current Design
Issues Checklist:
- [ ] Color consistency problems?
- [ ] Layout/alignment issues?
- [ ] Typography hierarchy unclear?
- [ ] Spacing inconsistent?
- [ ] Responsive breakpoints broken?
- [ ] Animations missing/excessive?
2. Propose Improvements (CARIO)
📋 Context:
- Page: [Home/Projects/About/Speaking]
- Current state: [description]
- Issue: [what looks bad]
❓ Problems:
1. [Color inconsistency]
2. [Poor spacing]
3. [Weak hierarchy]
🎯 Options:
A. Minor tweaks (15 min, low impact)
B. Moderate redesign (30-45 min, medium impact)
C. Major overhaul (1-2 hours, high impact)
💡 Recommendation: [Option B]
- Changes: [color X→Y, spacing p-4→p-6, add gradient]
- Reasoning: [balances improvement vs time]
⚡ Impact:
- Files: [list]
- Testing: [responsive + visual]
3. Get User Confirmation
Identified [N] design improvements for [Page] page:
1. [Change 1]
2. [Change 2]
3. [Change 3]
Proceed with these improvements?
4. Implement Changes
Checklist:
- [ ] Update Tailwind classes
- [ ] Ensure responsive (sm:, md:, lg: breakpoints)
- [ ] Add/update Framer Motion animations
- [ ] Maintain color palette
- [ ] Follow typography hierarchy
Example:
// Before
<div className="p-4 bg-white">
<h1 className="text-2xl">Title</h1>
</div>
// After
<div className="p-6 md:p-8 bg-gradient-to-br from-warm-cream to-white">
<h1 className="text-3xl md:text-4xl font-bold text-slate-700 text-center mb-6">
Title
</h1>
</div>
5. Test Responsive Design
npm run dev
# Test at: Mobile (375px), Tablet (768px), Desktop (1280px)
Visual checklist:
- [ ] Mobile (< 640px): Readable, no overflow
- [ ] Tablet (640-1024px): Proper spacing
- [ ] Desktop (> 1024px): Optimal layout
- [ ] Animations: Smooth (60fps)
6. Commit and Deploy
npm run build # Verify
git add .
git commit -m "style: improve [page] design with better spacing and colors"
git push # Auto-deploys to Vercel
Common Improvements
Hero Section Enhancement
// Before: Basic section
<section className="py-12">
<h1 className="text-3xl">Welcome</h1>
</section>
// After: Enhanced with gradient + animation
<section className="py-16 md:py-24 bg-gradient-to-br from-warm-cream via-white to-blue-50">
<motion.div initial={{ opacity: 0, y: 20 }} animate={{ opacity: 1, y: 0 }}>
<h1 className="text-4xl md:text-5xl lg:text-6xl font-bold bg-gradient-to-r from-slate-600 to-slate-800 bg-clip-text text-transparent mb-6">
Welcome
</h1>
</motion.div>
</section>
Card Grid Optimization
// Before: Fixed 3-column grid
<div className="grid grid-cols-3 gap-4">
{projects.map(p => <Card {...p} />)}
</div>
// After: Responsive grid with hover animation
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 md:gap-8">
{projects.map(p => (
<motion.div whileHover={{ scale: 1.03 }}>
<Card {...p} />
</motion.div>
))}
</div>
Typography Hierarchy
// Before: Flat hierarchy
<h1>Title</h1>
<p>Body text</p>
// After: Clear hierarchy
<h1 className="text-4xl md:text-5xl font-bold text-slate-800 mb-4 leading-tight">
Title
</h1>
<p className="text-base md:text-lg text-slate-600 leading-relaxed max-w-prose">
Body text
</p>
Quality Checklist
Before committing:
Visual:
- [ ] Colors match palette (slate-blue, coral-orange, warm-cream)
- [ ] Spacing consistent (4px increments: p-4, p-6, p-8)
- [ ] Typography hierarchy clear
- [ ] Contrast WCAG AA (4.5:1 for text)
Responsive:
- [ ] Mobile (< 640px): Works
- [ ] Tablet (640-1024px): Optimized
- [ ] Desktop (> 1024px): Polished
- [ ] No horizontal scroll
- [ ] Touch targets ≥ 44px (mobile)
Performance:
- [ ] Animations smooth (60fps)
- [ ] No layout shift (CLS < 0.1)
- [ ] Next.js Image component used
Consistency:
- [ ] Matches existing pages' style
- [ ] Follows Tailwind conventions
- [ ] Framer Motion patterns consistent
- [ ] Bilingual support maintained
Anti-Patterns
❌ Breaking Responsive
// Bad: Fixed width
<div className="w-[1200px]">Content</div>
// Good: Responsive width
<div className="w-full max-w-7xl mx-auto px-4">Content</div>
❌ Inconsistent Colors
// Bad: Random colors
<div className="bg-red-500 text-purple-700">Content</div>
// Good: Follow palette
<div className="bg-warm-cream text-slate-700">Content</div>
❌ Poor Typography
// Bad: Unreadable
<p className="text-xs">Important content</p>
// Good: Readable
<p className="text-base md:text-lg">Important content</p>
Quick Reference
Spacing Scale
p-4 = 16px p-8 = 32px
p-6 = 24px p-12 = 48px
Typography Scale
text-base = 16px text-2xl = 24px text-4xl = 36px
text-lg = 18px text-3xl = 30px text-5xl = 48px
Responsive Breakpoints
sm: ≥ 640px (mobile landscape)
md: ≥ 768px (tablet)
lg: ≥ 1024px (desktop)
xl: ≥ 1280px (large desktop)
Integration
- content-update: Content + design updates together
- deploy-check: Pre-deployment design verification
Version: v1.1 | Updated: 2025-12-31 Project: young-personal-site Philosophy: "Design is not just what it looks like. Design is how it works." - Steve Jobs
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/systematic-design-improvement-mmbizjt9/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/systematic-design-improvement-mmbizjt9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/systematic-design-improvement-mmbizjt9/download' --output '.skill-downloads/systematic-design-improvement-mmbizjt9/SKILL.md.part' && mv '.skill-downloads/systematic-design-improvement-mmbizjt9/SKILL.md.part' '.skill-downloads/systematic-design-improvement-mmbizjt9/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.
Extrait original : Quick Reference
Spacing Scale
p-4 = 16px p-8 = 32px
p-6 = 24px p-12 = 48px
Typography Scale
text-base = 16px text-2xl = 24px text-4xl = 36px
text-lg = 18px text-3xl = 30px text-5xl = 48px
Responsive Breakpoints
sm: ≥ 640px (mobile landscape)
md: ≥ 768px (tablet)
lg: ≥ 1024px (desktop)
xl: ≥ 1280px (large desktop)
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
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/systematic-design-improvement-mmbizjt9/SKILL.md' && test -s '.skill-downloads/systematic-design-improvement-mmbizjt9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/design-improvement' && cp -R '.skill-downloads/systematic-design-improvement-mmbizjt9' '.claude/skills/design-improvement'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/systematic-design-improvement-mmbizjt9'openskills read 'systematic-design-improvement-mmbizjt9'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode 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/systematic-design-improvement-mmbizjt9/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.