frontend-design-ultimate by kesslerio/frontend-design-ultimate-clawhub-skill
npx skills add https://github.com/kesslerio/frontend-design-ultimate-clawhub-skill --skill frontend-design-ultimate仅凭文本需求即可创建独特、生产级的静态站点。无需设计稿,无需 Figma——只需描述您想要什么,就能获得大胆、令人难忘的设计。
技术栈 : React 18 + TypeScript + Tailwind CSS + shadcn/ui + Framer Motion 输出 : Vite(静态 HTML)或 Next.js(支持 Vercel)
"Build a SaaS landing page for an AI writing tool. Dark theme,
editorial typography, subtle grain texture. Pages: hero with
animated demo, features grid, pricing table, FAQ accordion, footer."
在编写任何代码之前,确定一个大胆的美学方向:
选择一种并完全投入——犹豫不决的设计会失败:
| 风格基调 | 特点 |
|---|---|
| 极度简约 | 稀疏、单色、大字体、原始边缘 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 分层、密集、重叠元素、受控的混乱 |
| 复古未来主义 | 霓虹点缀、几何形状、CRT美学 |
| 有机/自然 | 柔和曲线、大地色调、手绘元素 |
| 奢华/精致 | 微妙的动画、优质字体、克制的调色板 |
| 杂志/社论 | 强网格、戏剧性标题、留白作为特色 |
| 粗野主义/原始 | 暴露结构、强烈对比、反设计 |
| 装饰艺术/几何 | 金色点缀、对称、华丽图案 |
| 柔和/粉彩 | 圆角、柔和的渐变、友好 |
| 工业/实用 | 功能性强、等宽字体、数据密集 |
什么是人们会记住的那一件事?一个英雄动画?字体处理?色彩组合?不寻常的布局?
禁止使用:Inter、Roboto、Arial、系统字体、Open Sans
应该做:选择独特、有个性、能提升设计品质的字体。
| 使用场景 | 方法 |
|---|---|
| 展示/标题 | 大胆个性——Clash、Cabinet Grotesk、Satoshi、Space Grotesk(谨慎使用)、Playfair Display |
| 正文文本 | 精致的可读性——Instrument Sans、General Sans、Plus Jakarta Sans |
| 等宽/代码 | DM Mono、JetBrains Mono、IBM Plex Mono |
| 配对策略 | 对比字重(细展示字体 + 粗正文字体),对比样式(衬线体 + 几何无衬线体) |
字号递进:使用 3 倍或更大的跳跃,而不是胆怯的 1.5 倍增量。
禁止使用:白色背景上的紫色渐变、均匀分布的五色调色板
应该做:
--primary、--accent、--surface、--text:root {
--bg-primary: #0a0a0a;
--bg-secondary: #141414;
--text-primary: #fafafa;
--text-secondary: #a1a1a1;
--accent: #ff6b35;
--accent-hover: #ff8555;
}
优先级:一个精心编排的页面加载效果 > 零散的微交互
高影响力时刻:
animation-delay)实现方式:
禁止使用:居中、对称、可预测的布局
应该做:
禁止使用:纯白/灰色背景
应该做:
/* 微妙的颗粒叠加层 */
.grain::before {
content: '';
position: fixed;
inset: 0;
background: url("data:image/svg+xml,...") repeat;
opacity: 0.03;
pointer-events: none;
}
详细 CSS 请参见 references/mobile-patterns.md。
| 模式 | 桌面端 | 移动端修复方案 |
|---|---|---|
| 带隐藏视觉效果的英雄区域 | 2 列网格 | 切换到 display: flex(非网格) |
| 大型选择列表 | 水平滚动 | 带分类标题的手风琴 |
| 多列表单 | 并排显示 | 垂直堆叠 |
| 状态/提示卡片 | 内联 | align-items: center + text-align: center |
| 功能网格 | 3-4 列 | 单列 |
/* 平板 - 堆叠侧边栏 */
@media (max-width: 1200px) { }
/* 移动端 - 完全单列 */
@media (max-width: 768px) { }
/* 小屏移动端 - 紧凑间距 */
@media (max-width: 480px) { }
@media (max-width: 768px) {
.hero-title { font-size: 32px; } /* 从 ~48px */
.section-title { font-size: 24px; } /* 从 ~32px */
.section-subtitle { font-size: 14px; } /* 从 ~16px */
}
# 1. 初始化
bash scripts/init-vite.sh my-site
cd my-site
# 2. 开发
npm run dev
# 3. 构建静态文件
npm run build
# 输出: dist/
# 4. 打包为单个 HTML(可选)
bash scripts/bundle-artifact.sh
# 输出: bundle.html
# 1. 初始化
bash scripts/init-nextjs.sh my-site
cd my-site
# 2. 开发
npm run dev
# 3. 部署到 Vercel
vercel
my-site/
├── src/
│ ├── components/ # React 组件
│ ├── lib/ # 工具函数,cn()
│ ├── styles/ # 全局 CSS
│ ├── config/
│ │ └── site.ts # 可编辑的内容配置
│ ├── App.tsx
│ └── main.tsx
├── index.html
├── tailwind.config.ts
└── package.json
my-site/
├── app/
│ ├── layout.tsx
│ ├── page.tsx
│ └── privacy/page.tsx
├── components/
├── lib/
├── config/
│ └── site.ts
└── tailwind.config.ts
将所有可编辑内容保存在一个文件中:
// config/site.ts
export const siteConfig = {
name: "Acme AI",
tagline: "Write better, faster",
description: "AI-powered writing assistant",
hero: {
badge: "Now in beta",
title: "Your words,\nsupercharged",
subtitle: "Write 10x faster with AI that understands your style",
cta: { text: "Get Started", href: "/signup" },
secondaryCta: { text: "Watch Demo", href: "#demo" },
},
features: [
{ icon: "Zap", title: "Lightning Fast", description: "..." },
// ...
],
pricing: [
{ name: "Free", price: 0, features: [...] },
{ name: "Pro", price: 19, features: [...], popular: true },
],
faq: [
{ q: "How does it work?", a: "..." },
],
footer: {
links: [...],
social: [...],
}
}
在最终确定任何设计之前运行此检查:
预装了 10 个常用组件(button、badge、card、accordion、dialog、navigation-menu、tabs、sheet、separator、avatar、alert)。使用 npx shadcn@latest add [name] 添加更多,或使用 npx shadcn@latest add --all 安装全部。
完整组件参考请参见 references/shadcn-components.md。
着陆页最常用的:
Button、Badge —— 行动号召和标签Card —— 功能卡片、定价层级Accordion —— 常见问题解答部分Dialog —— 模态框、视频播放器NavigationMenu —— 头部导航Tabs —— 功能展示Carousel —— 用户评价输入:
"Portfolio site for a photographer. Minimal, editorial feel. Grid gallery with lightbox, about section, contact form."
设计决策:
输出:完整的 Next.js 项目,包含响应式图库、灯箱组件和带验证的联系表单。
基于 Anthropic 的 frontend-design、web-artifacts-builder 和社区 frontend-design-v2 技能。
每周安装量
132
代码仓库
首次出现
2026年2月13日
安全审计
安装于
cursor130
codex129
opencode129
gemini-cli128
kimi-cli127
cline127
Create distinctive, production-grade static sites from text requirements alone. No mockups, no Figma — just describe what you want and get bold, memorable designs.
Stack : React 18 + TypeScript + Tailwind CSS + shadcn/ui + Framer Motion
Output : Vite (static HTML) or Next.js (Vercel-ready)
"Build a SaaS landing page for an AI writing tool. Dark theme,
editorial typography, subtle grain texture. Pages: hero with
animated demo, features grid, pricing table, FAQ accordion, footer."
Before writing any code, commit to a BOLD aesthetic direction :
Pick ONE and commit fully — timid designs fail:
| Tone | Characteristics |
|---|---|
| Brutally Minimal | Sparse, monochrome, massive typography, raw edges |
| Maximalist Chaos | Layered, dense, overlapping elements, controlled disorder |
| Retro-Futuristic | Neon accents, geometric shapes, CRT aesthetics |
| Organic/Natural | Soft curves, earth tones, hand-drawn elements |
| Luxury/Refined | Subtle animations, premium typography, restrained palette |
| Editorial/Magazine | Strong grid, dramatic headlines, whitespace as feature |
| Brutalist/Raw | Exposed structure, harsh contrasts, anti-design |
| Art Deco/Geometric | Gold accents, symmetry, ornate patterns |
| Soft/Pastel | Rounded corners, gentle gradients, friendly |
| Industrial/Utilitarian | Functional, monospace, data-dense |
What's the ONE thing someone will remember? A hero animation? Typography treatment? Color combination? Unusual layout?
BANNED : Inter, Roboto, Arial, system fonts, Open Sans
DO : Distinctive, characterful choices that elevate the design.
| Use Case | Approach |
|---|---|
| Display/Headlines | Bold personality — Clash, Cabinet Grotesk, Satoshi, Space Grotesk (sparingly), Playfair Display |
| Body Text | Refined readability — Instrument Sans, General Sans, Plus Jakarta Sans |
| Monospace/Code | DM Mono, JetBrains Mono, IBM Plex Mono |
| Pairing Strategy | Contrast weights (thin display + bold body), contrast styles (serif + geometric sans) |
Size Progression : Use 3x+ jumps, not timid 1.5x increments.
BANNED : Purple gradients on white, evenly-distributed 5-color palettes
DO :
Dominant + Sharp Accent : 70-20-10 rule (primary-secondary-accent)
CSS Variables : --primary, --accent, --surface, --text
Commit to dark OR light : Don't hedge with gray middle-grounds
High contrast CTAs : Buttons should pop dramatically
:root { --bg-primary: #0a0a0a; --bg-secondary: #141414; --text-primary: #fafafa; --text-secondary: #a1a1a1; --accent: #ff6b35; --accent-hover: #ff8555; }
Priority : One orchestrated page load > scattered micro-interactions
High-Impact Moments :
animation-delay)Implementation :
BANNED : Centered, symmetrical, predictable layouts
DO :
BANNED : Solid white/gray backgrounds
DO :
Gradient meshes (subtle, not garish)
Noise/grain textures (SVG filter or CSS)
Geometric patterns (dots, lines, shapes)
Layered transparencies
Dramatic shadows for depth
Blur effects for glassmorphism
/* Subtle grain overlay */ .grain::before { content: ''; position: fixed; inset: 0; background: url("data:image/svg+xml,...") repeat; opacity: 0.03; pointer-events: none; }
See references/mobile-patterns.md for detailed CSS.
| Pattern | Desktop | Mobile Fix |
|---|---|---|
| Hero with hidden visual | 2-column grid | Switch to display: flex (not grid) |
| Large selection lists | Horizontal scroll | Accordion with category headers |
| Multi-column forms | Side-by-side | Stack vertically |
| Status/alert cards | Inline | align-items: center + text-align: center |
| Feature grids | 3-4 columns | Single column |
/* Tablet - stack sidebars */
@media (max-width: 1200px) { }
/* Mobile - full single column */
@media (max-width: 768px) { }
/* Small mobile - compact spacing */
@media (max-width: 480px) { }
@media (max-width: 768px) {
.hero-title { font-size: 32px; } /* from ~48px */
.section-title { font-size: 24px; } /* from ~32px */
.section-subtitle { font-size: 14px; } /* from ~16px */
}
# 1. Initialize
bash scripts/init-vite.sh my-site
cd my-site
# 2. Develop
npm run dev
# 3. Build static files
npm run build
# Output: dist/
# 4. Bundle to single HTML (optional)
bash scripts/bundle-artifact.sh
# Output: bundle.html
# 1. Initialize
bash scripts/init-nextjs.sh my-site
cd my-site
# 2. Develop
npm run dev
# 3. Deploy to Vercel
vercel
my-site/
├── src/
│ ├── components/ # React components
│ ├── lib/ # Utilities, cn()
│ ├── styles/ # Global CSS
│ ├── config/
│ │ └── site.ts # Editable content config
│ ├── App.tsx
│ └── main.tsx
├── index.html
├── tailwind.config.ts
└── package.json
my-site/
├── app/
│ ├── layout.tsx
│ ├── page.tsx
│ └── privacy/page.tsx
├── components/
├── lib/
├── config/
│ └── site.ts
└── tailwind.config.ts
Keep all editable content in one file:
// config/site.ts
export const siteConfig = {
name: "Acme AI",
tagline: "Write better, faster",
description: "AI-powered writing assistant",
hero: {
badge: "Now in beta",
title: "Your words,\nsupercharged",
subtitle: "Write 10x faster with AI that understands your style",
cta: { text: "Get Started", href: "/signup" },
secondaryCta: { text: "Watch Demo", href: "#demo" },
},
features: [
{ icon: "Zap", title: "Lightning Fast", description: "..." },
// ...
],
pricing: [
{ name: "Free", price: 0, features: [...] },
{ name: "Pro", price: 19, features: [...], popular: true },
],
faq: [
{ q: "How does it work?", a: "..." },
],
footer: {
links: [...],
social: [...],
}
}
Run this before finalizing any design:
10 common components pre-installed (button, badge, card, accordion, dialog, navigation-menu, tabs, sheet, separator, avatar, alert). Add more with npx shadcn@latest add [name] or install all with npx shadcn@latest add --all.
See references/shadcn-components.md for full component reference.
Most used for landing pages:
Button, Badge — CTAs and labelsCard — Feature cards, pricing tiersAccordion — FAQ sectionsDialog — Modals, video playersNavigationMenu — Header navTabs — Feature showcasesCarousel — TestimonialsInput :
"Portfolio site for a photographer. Minimal, editorial feel. Grid gallery with lightbox, about section, contact form."
Design Decisions :
Output : Complete Next.js project with responsive gallery, lightbox component, and contact form with validation.
Based on Anthropic's frontend-design, web-artifacts-builder, and community frontend-design-v2 skills.
Weekly Installs
132
Repository
First Seen
Feb 13, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykPass
Installed on
cursor130
codex129
opencode129
gemini-cli128
kimi-cli127
cline127
TanStack Table 中文指南:React 无头表格库,实现排序过滤分页
486 周安装