Token导航 LogoToken导航TokenDH.com
前端设计权限需确认github未标认证来源可访问clear审计通过

frontend-design前端设计

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

442

周安装

19

GitHub Stars

公开资料未说明

下载量

155
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:frontend-design(前端设计)
来源仓库:https://github.com/wade56754/ai_ad_spend02
仓库路径:skills/frontend-design
安装命令:
npx skills add https://github.com/wade56754/ai_ad_spend02 --skill frontend-design
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/wade56754/ai_ad_spend02 --skill frontend-design

简介

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。

  • 适合生成或审查 React、Next.js、Vue、Tailwind、CSS 等代码。
  • 需结合项目现有设计系统、路由和构建方式使用。frontend-design 属于前端设计类 Skill,可作为该场景下的辅助能力补充。
  • 避免只生成孤立片段,应配合本地预览确认视觉效果。
  • 建议保留项目已有事实,不要将未确认信息写成确定结论。

SKILL.md

Frontend Design Skill - 前端设计指导

1. Purpose

提供前端 UI/UX 设计指导,确保设计系统一致性、组件可复用性和用户体验质量。

核心职责:

  • UI 组件设计和结构规划
  • 设计系统一致性审查
  • 响应式设计和布局优化
  • 可访问性 (a11y) 检查
  • CSS/Tailwind 最佳实践

2. Design Principles

2.1 设计系统核心原则

原则描述检查点
一致性统一的视觉语言和交互模式颜色、间距、字体、圆角
层次感清晰的信息层级和视觉重点标题大小、颜色对比、空间分布
可预测用户可预期的交互行为按钮反馈、加载状态、错误提示
可访问符合 WCAG 2.1 AA 标准对比度、键盘导航、屏幕阅读器

2.2 颜色系统

/* 主色调 - 品牌色 */
--primary: hsl(222, 47%, 11%);      /* 深蓝 */
--primary-foreground: hsl(0, 0%, 100%);

/* 语义色 */
--success: hsl(142, 71%, 45%);      /* 绿色 - 成功 */
--warning: hsl(38, 92%, 50%);       /* 橙色 - 警告 */
--destructive: hsl(0, 84%, 60%);    /* 红色 - 危险/错误 */

/* 中性色 */
--muted: hsl(210, 40%, 96%);
--muted-foreground: hsl(215, 16%, 47%);

2.3 间距系统

/* Tailwind 间距规范 */
spacing-1: 0.25rem (4px)   /* 紧凑元素间距 */
spacing-2: 0.5rem  (8px)   /* 小间距 */
spacing-4: 1rem    (16px)  /* 标准间距 */
spacing-6: 1.5rem  (24px)  /* 卡片内边距 */
spacing-8: 2rem    (32px)  /* 区块间距 */

2.4 字体层级

级别Tailwind Class使用场景
H1text-2xl font-bold页面标题
H2text-xl font-semibold区块标题
H3text-lg font-medium卡片标题
Bodytext-sm正文
Captiontext-xs text-muted-foreground辅助说明

3. Component Patterns

3.1 页面布局模式

// 标准页面结构
<div className="space-y-6">
  {/* 页面头部 */}
  <div className="flex items-center justify-between">
    <h1 className="text-2xl font-bold">页面标题</h1>
    <Button>主操作</Button>
  </div>

  {/* 筛选区域 */}
  <Card>
    <CardHeader>
      <CardTitle className="text-lg">筛选条件</CardTitle>
    </CardHeader>
    <CardContent>
      {/* 筛选组件 */}
    </CardContent>
  </Card>

  {/* 内容区域 */}
  <Card>
    <CardContent className="pt-6">
      {/* 主体内容 */}
    </CardContent>
  </Card>
</div>

3.2 卡片组件模式

// 数据卡片
<Card>
  <CardHeader className="pb-2">
    <CardTitle className="text-sm font-medium text-muted-foreground">
      标题
    </CardTitle>
  </CardHeader>
  <CardContent>
    <div className="text-2xl font-bold">数值</div>
    <p className="text-xs text-muted-foreground">
      辅助说明
    </p>
  </CardContent>
</Card>

// KPI 指标卡
<div className="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
  <MetricCard title="总收入" value="¥125,000" change="+12.5%" />
  <MetricCard title="总成本" value="¥98,000" change="-5.2%" />
  <MetricCard title="毛利" value="¥27,000" />
  <MetricCard title="CPL" value="¥45.5" />
</div>

3.3 表格组件模式

// 使用 DataTable 组件
import { DataTable } from "@/components/ui/data-table/DataTable";

const columns = [
  { accessorKey: "id", header: "ID" },
  { accessorKey: "name", header: "名称" },
  {
    accessorKey: "status",
    header: "状态",
    cell: ({ row }) => (
      <StatusBadge status={row.original.status} />
    ),
  },
  {
    id: "actions",
    cell: ({ row }) => (
      <DropdownMenu>
        {/* 操作菜单 */}
      </DropdownMenu>
    ),
  },
];

<DataTable columns={columns} data={data} />

3.4 表单组件模式

// 使用 react-hook-form + zod
import { useForm } from "react-hook-form";
import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod";

const schema = z.object({
  name: z.string().min(1, "名称不能为空"),
  amount: z.number().positive("金额必须大于 0"),
});

function MyForm() {
  const form = useForm({
    resolver: zodResolver(schema),
    defaultValues: { name: "", amount: 0 },
  });

  return (
    <Form {...form}>
      <form onSubmit={form.handleSubmit(onSubmit)} className="space-y-4">
        <FormField
          control={form.control}
          name="name"
          render={({ field }) => (
            <FormItem>
              <FormLabel>名称</FormLabel>
              <FormControl>
                <Input {...field} />
              </FormControl>
              <FormMessage />
            </FormItem>
          )}
        />
        <Button type="submit">提交</Button>
      </form>
    </Form>
  );
}

4. State Display Patterns

4.1 状态标签 (StatusBadge)

// 状态颜色映射 - 对齐设计系统
const statusVariants = {
  // 日报状态
  raw_submitted: { label: "已提交", variant: "outline" },
  trend_ok: { label: "趋势正常", variant: "secondary" },
  final_confirmed: { label: "已确认", variant: "default" },

  // 充值状态
  pending: { label: "待处理", variant: "outline" },
  approved: { label: "已批准", variant: "default" },
  rejected: { label: "已拒绝", variant: "destructive" },

  // 账户状态
  active: { label: "活跃", variant: "default" },
  suspended: { label: "暂停", variant: "warning" },
  dead: { label: "死号", variant: "destructive" },
};

4.2 加载和错误状态

// 使用 DataStateManager 组件
import { DataStateManager } from "@/components/ui/data-state-manager";

<DataStateManager
  isLoading={isLoading}
  error={error}
  isEmpty={!data?.length}
  loadingComponent={<TableSkeleton rows={5} />}
  errorComponent={<ErrorMessage message={error?.message} />}
  emptyComponent={<EmptyState message="暂无数据" />}
>
  <DataTable columns={columns} data={data} />
</DataStateManager>

5. Responsive Design

5.1 断点系统

断点尺寸适用设备
sm640px手机横屏
md768px平板竖屏
lg1024px平板横屏/小笔记本
xl1280px桌面
2xl1536px大屏桌面

5.2 响应式布局模式

// 网格布局
<div className="grid gap-4 md:grid-cols-2 lg:grid-cols-4">
  {/* 卡片组件 */}
</div>

// 侧边栏布局
<div className="flex flex-col lg:flex-row gap-6">
  <aside className="w-full lg:w-64 shrink-0">
    {/* 侧边栏 */}
  </aside>
  <main className="flex-1">
    {/* 主内容 */}
  </main>
</div>

// 隐藏/显示
<Button className="hidden md:inline-flex">桌面按钮</Button>
<Button className="md:hidden">移动按钮</Button>

6. Accessibility Checklist

6.1 基础要求

  • 所有交互元素可通过键盘访问
  • 焦点顺序合理且可见
  • 颜色对比度 >= 4.5:1 (正文) / 3:1 (大文本)
  • 表单元素有关联的 label
  • 图片有 alt 属性

6.2 ARIA 使用

// 加载状态
<div aria-busy={isLoading} aria-live="polite">
  {isLoading ? <Spinner /> : <Content />}
</div>

// 对话框
<Dialog>
  <DialogContent aria-labelledby="dialog-title" aria-describedby="dialog-desc">
    <DialogTitle id="dialog-title">标题</DialogTitle>
    <DialogDescription id="dialog-desc">描述</DialogDescription>
  </DialogContent>
</Dialog>

// 按钮
<Button aria-label="删除项目">
  <TrashIcon />
</Button>

7. Design Review Checklist

7.1 视觉一致性检查

检查项验证方法优先级
颜色使用对照颜色系统变量P0
间距一致使用 Tailwind 标准间距P0
字体层级对照字体规范P0
圆角一致统一使用 rounded-mdP1
阴影一致Card 使用 shadow-smP1

7.2 交互设计检查

检查项验证方法优先级
按钮反馈hover/active/disabled 状态P0
加载状态有明确的加载指示P0
错误提示用户友好的错误信息P0
成功反馈Toast 或状态更新P1

7.3 组件复用检查

检查项验证方法优先级
使用注册组件对照 COMPONENT_REGISTRY.mdP0
避免重复造轮子检查现有组件库P0
Props 接口一致使用标准化 PropsP1

8. Anti-Patterns (禁止模式)

8.1 样式禁止

// ❌ 内联样式
<div style={{ color: "red", marginTop: 20 }}>

// ✅ Tailwind 类
<div className="text-destructive mt-5">

// ❌ 硬编码颜色值
<div className="bg-[#ff0000]">

// ✅ 使用语义化变量
<div className="bg-destructive">

// ❌ 魔法数字
<div className="w-[347px] h-[89px]">

// ✅ 使用标准尺寸
<div className="w-80 h-24">

8.2 组件禁止

// ❌ 手写表格
<table>
  <thead>...</thead>
  <tbody>...</tbody>
</table>

// ✅ 使用 DataTable
<DataTable columns={columns} data={data} />

// ❌ 自定义 Loading
<div className="spinner animate-spin">...</div>

// ✅ 使用 Skeleton 或 Loader
<Skeleton className="h-8 w-full" />

// ❌ 手写 Modal
<div className="fixed inset-0 z-50">...</div>

// ✅ 使用 Dialog
<Dialog>
  <DialogContent>...</DialogContent>
</Dialog>

9. Prompt Template

<SYSTEM>
你是"前端设计 Agent",负责 UI/UX 设计决策和组件结构规划。

必须遵守的规则:
1. 遵循 UI_DESIGN_SYSTEM.md 设计规范
2. 使用 COMPONENT_REGISTRY.md 中的注册组件
3. 优先使用 shadcn/ui 和 Tailwind CSS
4. 确保响应式设计和可访问性
5. 保持设计系统一致性

技术栈:
- React 18+ / Next.js 14+
- Tailwind CSS
- shadcn/ui 组件库
- TypeScript
</SYSTEM>

<CONTEXT>
<DOC name="UI_DESIGN_SYSTEM">
{{UI_DESIGN_SYSTEM}}
</DOC>

<DOC name="COMPONENT_REGISTRY">
{{COMPONENT_REGISTRY}}
</DOC>
</CONTEXT>

<TASK>
{{TASK}}
</TASK>

<THINKING_CHAIN>
1. **需求分析**
   - 理解设计目标和用户场景
   - 识别需要的组件和布局

2. **设计系统检查**
   - 对照颜色、间距、字体规范
   - 确认可用的组件

3. **组件规划**
   - 选择合适的组件
   - 规划组件层次和数据流

4. **响应式考虑**
   - 确定断点策略
   - 规划不同屏幕布局

5. **可访问性检查**
   - 确保键盘可访问
   - 添加必要的 ARIA 属性

6. **输出设计方案**
   - 提供代码示例
   - 说明设计决策
</THINKING_CHAIN>

10. Version History

版本日期变更
v1.02026-01-02初始版本

文档控制: Owner: wade | Baseline: UI_DESIGN_SYSTEM.md, COMPONENT_REGISTRY.md

适合场景

01

前端页面设计

02

生成更有辨识度的 UI

03

避免模板化 AI 页面

04

需要统一视觉方向时

能力概览

能力 1

建立明确视觉方向

能力 2

约束排版、色彩、动效和空间布局

能力 3

提醒避免通用模板化设计

能力 4

要求生成可运行的前端实现

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.78%
按下载量换算45

windsurf

19.97%
按下载量换算31

trae

17.94%
按下载量换算28

qoder

12.64%
按下载量换算20

OpenCode

6.53%
按下载量换算10

Cursor

3.53%
按下载量换算5

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills