frontend-design
Skill1 starsChanged 5 months agoMITView on GitHub
Builds web components, pages, applications, landing pages, and styled web UIs. Creates distinctive, production-grade frontend interfaces that avoid generic AI aesthetics.
We split this skill into the rules it gives an agent
15 rules. 0 are common, 12 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 180 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 24
Check package.json for framework (next, nuxt, svelte, astro, vite)
- Distinctive: line 25
Check for Tailwind config → use Tailwind classes.
- Distinctive: line 26
Check for existing component library (shadcn, radix, vuetify) → extend it, don't fight it
- Very specific: line 46
How to set up routes: Create 5 page files (e.g., Next.js app/1/page.tsx through app/5/page.tsx, or Vite with react-router).
- Distinctive: line 69
NEVER submit variations with same layout, different colors.
- Distinctive: line 86
Use these for NEW projects without an existing design system.
- Distinctive: line 196
Don't scatter micro-interactions.
- Distinctive: line 204
Don't add framer-motion as a new dependency just for entrance animations — CSS handles it fine.
- Distinctive: line 210
Before delivering any design, verify:
- Very specific: line 254
Ask: "What vibe? Minimal/bold/playful/professional?"
- Distinctive: line 256
Wait for feedback on favorites
- Distinctive: line 258
Don't converge on safe choices
- Distinctive: line 264
design-taste: Use for architecture-level design decisions, design system creation, visual identity.
- Distinctive: line 265
redesign: Use when upgrading existing UI.
- Distinctive: line 266
pp3p: Run after building to polish the output.
“Common” is measured: kept by at least 6 in 10 of the 180 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Frontend Design Skill
This skill steers the model away from generic AI aesthetics toward distinctive, production-grade frontend. Pair with design-taste for architecture-level decisions.
Arguments & Stack Detection
$ARGUMENTS = raw user input after skill nameParse first:
--files path1,path2— scope to specific files--stack react|vue|svelte|vanilla— override auto-detection--single— skip multi-variation, build one design--iterate— refine existing designs from user feedback- Remaining text = the design brief
Auto-detect stack (don't assume React + Tailwind):
- Check
package.jsonfor framework (next, nuxt, svelte, astro, vite) - Check for Tailwind config → use Tailwind classes. No config → use CSS modules or vanilla CSS
- Check for existing component library (shadcn, radix, vuetify) → extend it, don't fight it
- No
package.json→ plain HTML/CSS
Time budget: 25 min for multi-variation. 10 min for single component. If >15 files touched, stop and confirm scope.
Error Handling
- No frontend project detected: "This directory has no frontend files. Point me at the right directory or describe what to create."
- Existing design system found: Respect it. Don't override brand colors/fonts with recommendations below. Extend, don't replace.
- Dev server won't start: Build the files anyway. Note: "Dev server failed — files are written, start manually."
- User wants something banned below: Bans are defaults, not laws. If the user explicitly wants glassmorphism or blue buttons, do it well.
Multi-Variation Technique
For landing pages or aesthetic-focused UI, generate 5 distinct designs on routes /1-/5 with navigation bar.
How to set up routes: Create 5 page files (e.g., Next.js app/1/page.tsx through app/5/page.tsx, or Vite with react-router). Add a sticky nav with links between them.
Why this works:
- Within context, the model knows the other 4 designs
- It actively makes each one unique from the others
- Roll enough times, steer to what you like
Skip for: bug fixes, existing design systems, --single flag, or explicitly conservative requests.
What "Distinct" Means
Each variation must differ in AT LEAST 3 dimensions:
| Dimension | Options |
| Layout structure | Asymmetric, centered, sidebar, split, full-bleed |
| Typography family/pairing | Serif+sans, mono+display, single bold family |
| Color palette | Dark mode, warm earth, cool minimal, high contrast |
| Visual density | Minimal (lots of white), rich (layered elements) |
| Theme | Light, dark, colorful, monochrome |
NEVER submit variations with same layout, different colors. That's lazy.
Iteration Workflow (The Core Value)
After initial 5 designs:
- User identifies favorites — "I like #2 and #4"
- User explains what resonated — "The chunky type on #2, the color blocking on #4"
- Generate 5 more inspired by those elements
- Repeat until you have a solid starting point
Font Recommendations
Use these for NEW projects without an existing design system. If the project already has fonts, keep them.
Display / Headers
| Font | Vibe |
| Fraunces | Quirky serif, character |
| Playfair Display | Elegant, editorial |
| DM Serif Display | Clean, modern serif |
| Bebas Neue | Tall, condensed, bold |
| Archivo Black | Heavy, impactful |
| Syne | Distinctive, geometric |
| Space Mono | Technical, code-y |
| JetBrains Mono | Developer aesthetic |
Body Text
| Font | Vibe |
| Outfit | Modern, clean |
| Plus Jakarta Sans | Warm, friendly |
| Nunito Sans | Rounded, approachable |
| Source Sans 3 | Neutral, readable |
| Manrope | Geometric, modern |
| Work Sans | Clean, professional |
Pairings That Work
/* Elegant editorial */
--font-display: 'Fraunces', serif;
--font-body: 'Source Sans 3', sans-serif;
/* Bold modern */
--font-display: 'Bebas Neue', sans-serif;
--font-body: 'Outfit', sans-serif;
/* Technical/dev */
--font-display: 'Space Mono', monospace;
--font-body: 'Manrope', sans-serif;
/* Warm and approachable */
--font-display: 'Syne', sans-serif;
--font-body: 'Plus Jakarta Sans', sans-serif;Color Palettes
Dark Mode
/* Deep navy + bright accent */
--bg: #0a0f1a; --surface: #141b2d; --text: #e4e8f0; --accent: #00d4aa;
/* True black + gold */
--bg: #000000; --surface: #111111; --text: #ffffff; --accent: #c9a227;
/* Warm dark */
--bg: #1a1612; --surface: #2d2620; --text: #f5f0eb; --accent: #e07a5f;Light Mode
/* Warm cream */
--bg: #faf6f1; --surface: #ffffff; --text: #1a1612; --accent: #c25b3f;
/* Cool minimal */
--bg: #f8fafc; --surface: #ffffff; --text: #0f172a; --accent: #0ea5e9;
/* High contrast */
--bg: #ffffff; --surface: #f1f5f9; --text: #000000; --accent: #dc2626;Distinctive Accent Colors
Warm terracotta (#c25b3f), Deep teal (#0d9488), Burnt orange (#ea580c), Gold/ochre (#c9a227), Coral (#f97316), Deep purple (#7c3aed — only if intentional).
Layout Patterns
Adapt these to the detected stack. Examples shown in JSX + Tailwind — translate to Vue templates, Svelte markup, or plain HTML as needed.
Asymmetric Hero
12-col grid: 5-col text left, 7-col visual right, min-h-screenSplit Screen
flex row, each half w-1/2, min-h-screen, contrasting backgroundsOffset Grid
3-col grid with staggered mt offsets for visual rhythmOverlap Elements
relative container + absolute decorative element + z-indexed contentMotion
Don't scatter micro-interactions. Do one orchestrated page-load animation with staggered entrance (opacity 0→1, y 20→0, 0.1s delay per item).
Stack-aware implementation:
- React:
framer-motionvariants if already installed, CSS keyframes if not - Vue:
<Transition>/<TransitionGroup>built-ins - Svelte:
transition:fly/transition:fadebuilt-ins - Vanilla: CSS
@keyframes+animation-delaywith intersection observer
Don't add framer-motion as a new dependency just for entrance animations — CSS handles it fine.
Accessibility Pre-Flight
Before delivering any design, verify:
- Color contrast — WCAG AA minimum (4.5:1 body text, 3:1 large text)
- Focus indicators — visible focus ring on all interactive elements
- Semantic HTML — headings in order, buttons for actions, links for navigation
- Reduced motion — wrap animations in
prefers-reduced-motionmedia query
See design-taste for the full a11y checklist.
Execution Principles
- Commit to a direction — Restrained precision is as bold as maximalist chaos
- Intentionality over intensity — Every choice should feel purposeful
- Space is a design element — Use generous whitespace
- Hierarchy through size — Big headlines, readable body
- One accent, not five — Pick one color, use it sparingly
- Responsive by default — Verify mobile unless told otherwise
Defaults to Avoid
These are defaults, not absolutes. If the user explicitly requests one, do it well.
Fonts (avoid for new projects):
- Inter, Roboto, Arial as display fonts (fine as body text in apps with existing systems)
Colors (avoid):
- Purple/pink/blue gradients on white (#1 AI slop indicator)
Patterns (avoid):
- Hero → features grid → pricing → footer (predictable)
- Card grids with uniform rounded corners
- Glassmorphism everywhere
- 3 centered feature cards
- Blue primary buttons
- Geometric blob SVGs
- Shadcn defaults unchanged
When User Says "Make It Look Good"
- Ask: "What vibe? Minimal/bold/playful/professional?"
- Generate 5 variations on /1-/5 (unless
--single) - Wait for feedback on favorites
- Iterate with steering
- Don't converge on safe choices
Integration
- design-taste: Use for architecture-level design decisions, design system creation, visual identity. frontend-design is for building; design-taste is for deciding.
- redesign: Use when upgrading existing UI. frontend-design is for new builds.
- pp3p: Run after building to polish the output.
Output Format
After generating designs:
SUCCESS: Generated [N] design variations on routes /1-/[N]
METRIC: variations=[count] dimensions_varied=[list]
Navigation: [localhost URL]
Ready for feedback — which designs resonate?For single components:
SUCCESS: Created [component type] with [key characteristics]
METRIC: files=[paths]Other versions186 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 186
- anthropics/skills★ 186ksame name
- bytedance/deer-flow★ 85ksame name
- anthropics/claude-plugins-official★ 46ksame name
- novuhq/novu★ 40ksame name
- Dokploy/dokploy★ 38ksame name
- markmead/hyperui★ 12ksame name
- mengxi-ream/read-frog★ 10ksame name
- 1weiho/open-slide★ 9.6ksame name
- basketikun/infinite-canvas★ 9.5ksame name
- mfts/papermark★ 9.2ksame name
176 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use brief-to-tasks, file-reading and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
julianoczkowskiSkillbrief-to-tasks
Break a design brief into an ordered checklist of independently buildable tasks using vertical slices. Saves as a markdown checklist. Use when user wants to break down work, create tasks from a brief, plan implementation order, or mentions "tasks" or "breakdown".
Also in 7 projects that use this
SeifBenayedSkillfile-reading
Use this skill when a file has been uploaded but its content is NOT in your context — only its path at /mnt/user-data/uploads/ is listed in an uploaded_files block. This skill is a router: it tells you which tool to use for each file type (pdf, docx, xlsx, csv, json, images, archives, ebooks) so you read the right amount the right way instead of blindly running cat on a binary. Triggers: any mention of /mnt/user-data/uploads/, an uploaded_files section, a file_path tag, or a user asking about an uploaded file you have not yet read. Do NOT use this skill if the file content is already visible in your context inside a documents block — you already have it.
Also in 6 projects that use this
yawningwhaleAISkillalbert-dm
Reply to DMs and messages the way Albert would. Use when the user asks "how would Albert reply to this", pastes a conversation and wants an Albert-style response, or asks you to draft/write a DM in Albert's voice. Albert sells AI voice agents / automations to local service businesses (Go High Level, lead follow-up, bookings).
Also in 5 projects that use this
yawningwhaleAISkillinstantly-campaign
Create a new Instantly cold-email campaign in the proven 5-email structure of the user's top-performing campaign (~16% reply rate). Use when the user wants to launch a new outbound campaign, write a cold email sequence, create an Instantly campaign, draft outreach for a new service or niche, or set up a sales sequence.
Also in 6 projects that use this
HK-hubSkillteach-impeccable
One-time setup that gathers design context for your project and saves it to your AI config file. Run once to establish persistent design guidelines.
Also in 17 projects that use this
huyvpSkillcost-reducer
Reduce cloud, infrastructure, and operational costs while maintaining performance. Use when writing database queries, configuring cloud resources, optimizing bundles, setting up caching, choosing between services, sizing instances, configuring CDN, managing storage, or reviewing code for cost inefficiencies. Covers AWS/GCP/Vercel pricing, database optimization, serverless tuning, image pipelines, observability costs, and FinOps practices.
Also in 9 projects that use this
- +3 more from yawningwhaleAI
In this repository54 other files it gives its agents.
- AGENTS.mdAGENTS.md
- skills/deep-recon/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- adversarial-researchSkill
- algorithmic-artSkill
- api-integrationSkill
- breakdownSkill
- c4-architectSkill
- canvas-designSkill
- coding-agentsSkill
- compound-engineeringSkill
- context-budgetSkill
- counterfactualSkill
- critiqueSkill
- d3js-visualizationSkill
- data-analyst-agentSkill
- database-migrationsSkill
- deep-reconSkill
- design-tasteSkill
- doc-coauthoringSkill
- e2b-sandboxSkill
- ecosystem-auditSkill
- excalidraw-diagramSkill
- executing-plansSkill
- fullstack-agentSkill
- grillSkill
- kickoffSkill
- mcp-builderSkill
- model-migrationSkill
- naming-the-machineSkill
- full-output-enforcementSkill
- package-researchSkill
- pdf-generationSkill
- pp2pSkill
- pp3pSkill
- prompt-engineerSkill
- prompt-groundingSkill
- redesignSkill
- requesting-code-reviewSkill
- reverse-engineer-to-learnSkill
- review-changesSkill
- scratchpadSkill
- shipSkill
- slack-gif-creatorSkill
- sprint-architectSkill
- techdebtSkill
- test-and-fixSkill
- threat-modelSkill
- verification-before-completionSkill
- visual-verdictSkill
- webapp-testingSkill
- web-asset-generatorSkill
- whatdidimissSkill
- writing-plansSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

