Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

frontend-patterns前端模式

Agent Skill

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

总安装

784

周安装

33

GitHub Stars

141

下载量

275
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/romiluz13/cc10x --skill frontend-patterns

简介

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

  • 适合生成或审查 React、Vue、Tailwind、CSS 等相关代码。
  • 使用时需结合项目现有设计系统和构建流程,避免生成孤立片段。
  • 安装命令:npx skills add https://github.com/romiluz13/cc10x --skill frontend-patterns
  • 适用于 Codex、Claude、Cursor、Gemini CLI,通过 GitHub 安装,建议配合本地预览验证效果。

SKILL.md

Frontend Patterns

Overview

User interfaces exist to help users accomplish tasks. Every UI decision should make the user's task easier or the interface more accessible.

Core principle: Design for user success, not aesthetic preference.

This skill is advisory in v10. Explicit user instructions, CLAUDE.md, repo standards, and approved plans override every suggestion here.

Reference Files

Read only the references needed for the current UI task:

  • references/ui-state-and-feedback.md for loading/error/empty/success ordering, skeleton vs spinner, and mutation feedback
  • references/accessibility-and-forms.md for WCAG-oriented checks, keyboard/focus, labels, form patterns, and mobile usability
  • references/performance-and-layout.md for responsive checks, motion, overflow, URL state, performance guardrails, and light/dark mode checks

Focus Areas (Reference Pattern)

  • React component architecture (hooks, context, performance)
  • Responsive CSS with Tailwind/CSS-in-JS
  • State management (Redux, Zustand, Context API)
  • Frontend performance (lazy loading, code splitting, memoization)
  • Accessibility (WCAG compliance, ARIA labels, keyboard navigation)

Approach (Reference Pattern)

  1. Component-first thinking - reusable, composable UI pieces
  2. Mobile-first responsive design - start small, scale up
  3. Performance budgets - aim for sub-3s load times
  4. Semantic HTML and proper ARIA attributes
  5. Type safety with TypeScript when applicable

Advisory Guardrails

Use this skill to add:

  • accessibility checks
  • responsive/layout verification
  • performance and loading-state checks
  • optional style ideas when the user explicitly wants them

Do not use this skill to override an explicit visual direction, component contract, or approved workflow.

Component Output Checklist

Every frontend deliverable should include:

  • Complete React component with props interface
  • Styling solution (Tailwind classes or styled-components)
  • State management implementation if needed
  • Basic unit test structure
  • Accessibility checklist for the component
  • Performance considerations and optimizations

Focus on working code over explanations. Include usage examples in comments.

The Iron Law

NO UI DESIGN BEFORE USER FLOW IS UNDERSTOOD

If you haven't mapped what the user is trying to accomplish, you cannot design UI.

Design Thinking (Pre-Code)

Before writing any UI code, commit to answers for:

  1. Purpose: What specific problem does this interface solve?
  2. Tone: Choose an aesthetic direction and commit to it:

- Brutally minimal, maximalist, retro-futuristic, organic/natural - Luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw - Art deco/geometric, soft/pastel, industrial/utilitarian

  1. Constraints: Framework requirements, performance budget, accessibility level
  2. Differentiation: What's the ONE thing someone will remember about this UI?

Key insight: Bold maximalism and refined minimalism both work. The enemy is indecision and generic defaults.

UI State References

Read references/ui-state-and-feedback.md before finalizing loading, error, empty, success, or mutation states. Keep the state order explicit; do not invent UI states ad hoc.

Motion & Animation

RuleDoDon't
Reduced motionHonor prefers-reduced-motionIgnore user preferences
PropertiesAnimate transform/opacity onlyAnimate width/height/top/left
TransitionsList properties explicitlyUse transition: all
Duration150-300ms for micro-interactionsToo fast (<100ms) or slow (>500ms)
InterruptibleAllow animation cancellationLock UI during animation
/* CORRECT: Compositor-friendly, respects preferences */
@media (prefers-reduced-motion: no-preference) {
  .card { transition: transform 200ms ease-out, opacity 200ms ease-out; }
  .card:hover { transform: translateY(-2px); opacity: 0.95; }
}

Accessibility And Forms

Read references/accessibility-and-forms.md when the task touches keyboard navigation, forms, labels, focus, contrast, or touch ergonomics.

Success Criteria Framework

Every UI must have explicit success criteria:

  1. Task completion: Can user complete their goal?
  2. Error recovery: Can user recover from mistakes?
  3. Accessibility: Can all users access it?
  4. Performance: Does it feel responsive?

Layout And Performance References

Read references/performance-and-layout.md for responsive checks, motion rules, overflow handling, URL state, touch/mobile, and color-mode validation.

Universal Questions (Answer First)

ALWAYS answer before designing/reviewing:

  1. What is the user trying to accomplish? - Specific task, not feature
  2. What are the steps? - Click by click
  3. What can go wrong? - Every error state
  4. Who might struggle? - Accessibility needs
  5. What's the existing pattern? - Project conventions

User Flow First

Before any UI work, map the flow:

User Flow: Create Account
1. User lands on signup page
2. User enters email
3. User enters password
4. User confirms password
5. System validates inputs (inline)
6. User clicks submit
7. System processes (loading state)
8. Success: User sees confirmation + redirect
9. Error: User sees error + can retry

For each step, identify:

  • What user sees
  • What user does
  • What feedback they get
  • What can go wrong

UX Review Checklist

CheckCriteriaExample Issue
Task completionCan user complete goal?Button doesn't work
DiscoverabilityCan user find what they need?Hidden navigation
FeedbackDoes user know what's happening?No loading state
Error handlingCan user recover from errors?No error message
EfficiencyCan user complete task quickly?Too many steps

Severity levels:

  • BLOCKS: User cannot complete task
  • IMPAIRS: User can complete but with difficulty
  • MINOR: Small friction, not blocking

Visual Design Checklist

CheckGoodBad
HierarchyClear visual priorityEverything same size
SpacingConsistent rhythmRandom gaps
AlignmentElements aligned to gridMisaligned elements
Interactive statesHover/active/focus distinctNo state changes
FeedbackClear response to actionsSilent interactions

Visual Creativity (Avoid AI Slop)

When creating frontends, avoid generic AI aesthetics:

  • Fonts: Choose distinctive typography, not defaults (avoid Inter, Roboto, Arial, system fonts)
  • Colors: Commit to cohesive palette. Dominant colors with sharp accents > safe gradients
  • Avoid: Purple gradients on white, predictable layouts, cookie-cutter Bootstrap/Tailwind defaults
  • Icons: Use SVG icons (Heroicons, Lucide, Simple Icons). NEVER use emoji as UI icons
  • Cursor: Add cursor-pointer to ALL clickable elements
  • Hover: Use color/opacity transitions. Avoid scale transforms that shift layout
  • Backgrounds: Add depth with subtle textures, gradients, or grain instead of flat colors

Make creative choices that feel designed for the specific context. No two designs should look the same.

Spatial Composition (Break the Grid)

Move beyond safe, centered layouts:

TechniqueEffectWhen to Use
AsymmetryDynamic tension, visual interestHero sections, feature highlights
OverlapDepth, connection between elementsCards, images, testimonials
Diagonal flowEnergy, movementLanding pages, marketing
Grid-breakingEmphasis, surpriseKey CTAs, focal points
Generous negative spaceLuxury, breathing roomPremium products, editorial
Controlled densityInformation-rich, productiveDashboards, data-heavy UIs

Rule: Match spatial composition to the aesthetic direction chosen in Design Thinking. Minimalist = negative space. Maximalist = controlled density.

Component Patterns

Buttons

// Primary action button with all states
<button
  type="button"
  onClick={handleAction}
  disabled={isLoading || isDisabled}
  aria-busy={isLoading}
  aria-disabled={isDisabled}
  className={cn(
    'btn-primary',
    isLoading && 'btn-loading'
  )}
>
  {isLoading ? (
    <>
      <Spinner aria-hidden />
      <span>Processing...</span>
    </>
  ) : (
    'Submit'
  )}
</button>

Forms with Validation

<form onSubmit={handleSubmit} noValidate>
  <div className="form-field">
    <label htmlFor="email">
      Email <span aria-hidden>*</span>
      <span className="sr-only">(required)</span>
    </label>
    <input
      id="email"
      type="email"
      value={email}
      onChange={handleChange}
      aria-invalid={errors.email ? 'true' : undefined}
      aria-describedby={errors.email ? 'email-error' : 'email-hint'}
      required
    />
    <span id="email-hint" className="hint">
      We'll never share your email
    </span>
    {errors.email && (
      <span id="email-error" role="alert" className="error">
        {errors.email}
      </span>
    )}
  </div>
</form>

Loading States

function DataList({ isLoading, data, error }) {
  if (isLoading) {
    return (
      <div aria-live="polite" aria-busy="true">
        <Spinner />
        <span>Loading items...</span>
      </div>
    );
  }

  if (error) {
    return (
      <div role="alert" className="error-state">
        <p>Failed to load items: {error.message}</p>
        <button onClick={retry}>Try again</button>
      </div>
    );
  }

  if (!data?.length) {
    return (
      <div className="empty-state">
        <p>No items found</p>
        <button onClick={createNew}>Create your first item</button>
      </div>
    );
  }

  return <ul>{data.map(item => <Item key={item.id} {...item} />)}</ul>;
}

Error Messages

// Inline error with recovery action
<div role="alert" className="error-banner">
  <Icon name="error" aria-hidden />
  <div>
    <p className="error-title">Upload failed</p>
    <p className="error-detail">File too large. Maximum size is 10MB.</p>
  </div>
  <button onClick={selectFile}>Choose different file</button>
</div>

Red Flags - STOP and Reconsider

If you find yourself:

  • Designing UI before mapping user flow
  • Focusing on aesthetics before functionality
  • Ignoring accessibility ("we'll add it later")
  • Not handling error states
  • Not providing loading feedback
  • Using color alone to convey information
  • Making decisions based on "it looks nice"

STOP. Go back to user flow.

Rationalization Prevention

ExcuseReality
"Most users don't use keyboard"Some users ONLY use keyboard.
"We'll add accessibility later"Retrofitting is 10x harder.
"Error states are edge cases"Errors happen. Handle them.
"Loading is fast, no need for state"Network varies. Show state.
"It looks better without labels"Unlabeled inputs are inaccessible.
"Users can figure it out"If it's confusing, fix it.

Anti-patterns Blocklist (Flag These)

Anti-patternWhy It's WrongFix
user-scalable=noBlocks accessibility zoomRemove it
maximum-scale=1Blocks accessibility zoomRemove it
transition: allPerformance + unexpected effectsList properties explicitly
outline-none without replacementRemoves focus indicatorAdd focus-visible:ring-*
<div onClick>Not keyboard accessibleUse <button> or <a>
Images without width/heightCauses layout shift (CLS)Add explicit dimensions
Form inputs without labelsInaccessibleAdd <label> or aria-label
Icon buttons without aria-labelUnnamed to screen readersAdd aria-label
Emoji icons (🚀 ✨ 💫)Unprofessional, inconsistentUse SVG icons
Hardcoded date/number formatsBreaks internationalizationUse Intl.DateTimeFormat
autoFocus everywhereDisorienting, mobile issuesUse sparingly, desktop only

Output Format

## Frontend Review: [Component/Feature]

### User Flow
[Step-by-step what user is trying to do]

### Success Criteria
- [ ] User can complete [task]
- [ ] User can recover from errors
- [ ] All users can access (keyboard, screen reader)
- [ ] Interface feels responsive

### UX Issues
| Severity | Issue | Location | Impact | Fix |
|----------|-------|----------|--------|-----|
| BLOCKS | [Issue] | `file:line` | [Impact] | [Fix] |

### Accessibility Issues
| WCAG | Issue | Location | Fix |
|------|-------|----------|-----|
| 1.4.3 | [Issue] | `file:line` | [Fix] |

### Visual Issues
| Issue | Location | Fix |
|-------|----------|-----|
| [Issue] | `file:line` | [Fix] |

### Recommendations
1. [Most critical fix]
2. [Second fix]

UI States Checklist (CRITICAL)

Before completing ANY UI component:

States

  • Error state handled and shown to user
  • Loading state shown ONLY when no data exists
  • Empty state provided for all collections/lists
  • Success state with appropriate feedback
  • Non-trivial state-order or skeleton/spinner decisions checked against references/ui-state-and-feedback.md

Buttons & Mutations

  • Buttons disabled during async operations
  • Buttons show loading indicator
  • Mutations have onError handler with user feedback
  • No double-click possible on submit buttons

Data Handling

  • State order: Error → Loading (no data) → Empty → Success
  • All user actions have feedback (toast/visual)

Final Check

Before completing frontend work:

  • User flow mapped and understood
  • All states handled (loading, error, empty, success)
  • Keyboard navigation works
  • Screen reader tested
  • Color contrast verified (4.5:1 minimum)
  • Touch targets adequate on mobile (44px+)
  • Error messages clear and actionable
  • Success criteria met
  • No emoji icons (SVG only)
  • prefers-reduced-motion respected
  • Light/dark mode contrast verified
  • cursor-pointer on all clickable elements
  • No transition: all in codebase

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

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

平台分布

Codex

37.88%
按下载量换算104

Claude

28.51%
按下载量换算78

Cursor

16.6%
按下载量换算46

Gemini CLI

9.77%
按下载量换算27

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills