Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aaione-frontend-patterns
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/frontend-patterns
What's inside
- Skill name
frontend-patterns- Description
- 前端开发模式 — React、Next.js、状态管理、性能优化和 UI 最佳实践。
- License
- MIT
- Instructions
- 644 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: 644 lines (spec recommends under 500)
Files (2)
- SKILL.md
- openai.yaml · agents/
SKILL.md (first lines)
# 前端开发模式
React、Next.js 和高性能用户界面的现代前端模式。
## 何时使用
- 构建 React 组件(组合、props、渲染)
- 管理状态(useState、useReducer、Zustand、Context)
- 实现数据获取(SWR、React Query、服务端组件)
- 优化性能(记忆化、虚拟化、代码分割)
- 处理表单(验证、受控输入、Zod schema)
- 处理客户端路由和导航
- 构建可访问、响应式的 UI 模式
## 隐私和数据边界
前端示例应使用合成或通用领域数据。不要收集、记录、持久化或显示凭据、访问令牌、SSN、健康数据、支付详情、私人电子邮件、电话号码或其他敏感个人数据,除非用户明确请求具有适当验证、编辑和访问控制的范围实现。
避免在未经明确批准的情况下添加分析、跟踪像素、第三方脚本或外部数据接收器。处理用户数据时,优先使用最小权限 API、记录前的客户端编辑,以及每个边界的服务端验证。
## 组件模式
### 组合优于继承
```typescript
// 正确:组件组合
interface CardProps {
children: React.ReactNode
variant?: 'default' | 'outlined'
}
export function Card({ children, variant = 'default' }: CardProps) {
return <div className={`card card-${variant}`}>{children}</div>
}
export function CardHeader({ children }: { children: React.ReactNode }) {
return <div className="card-header">{children}</div>
}
export function CardBody({ children }: { children: React.ReactNode }) {
return <div className="card-body">{children}</div>
}
// 使用
<Card>
<CardHeader>标题</CardHeader>
<CardBody>内容</CardBody>
</Card>
```
### 复合组件
```typescript
interface TabsContextValue {
activeTab: string
setActiveTab: (tab: string) => void
}
const TabsContext = createContext<TabsContextValue | undefined>(undefined)
export function Tabs({ children, defaultTab }: {
children: React.ReactNode
defaultTab: string
}) {
const [activeTab, setActiveTab] = useState(defaultTab)
return (
<TabsContext.Provider value={{ activeTab, setActiveTab }}>
{children}
</TabsContext.Provider>
)
}
export function TabList({ children }: { children: React.ReactNode }) {
return <div className="tab-list">{children}</div>
}
export function Tab({ id, children }: { id: string, children: React.ReactNode }) {
const context = useContext(TabsContext)
if (!context) throw new Error('Tab 必须在 Tabs 内使用')
return (
<button
className={context.activeTab === id ? 'active' : ''}
onClick={() => context.setActiveTab(id)}
>
{children}
</button>
)
}
// 使用
<Tabs defaultTab="overview">
<TabList>
<Tab id="overview">概览</Tab>
<Tab id="details">详情</Tab>
</TabList>
</Tabs>
```
### Render Props 模式
```typescript
interface DataLoaderProps<T> {
url: string
children: (data: T | null, loading: boolean, error: Error | null) => React.ReactNode
}
export function DataLoader<T>({ url, children }: DataLoaderProps<T>) {
const [data, setData] = useState<T | null>(null)
const [loading, setLoading] = useState(true)
const [error, setError] = useState<Error | null>(null)
useEffect(() => {
fetch(url)
.then(res => res.json())
.then(setData)
.catch(setError)
.finally(() => setLoading(false))From aaione/everything-claude-code-zh, MIT.
More from aaione/everything-claude-code-zh
- 0.559score
brand-voice
aaione
从真实的帖子、文章、发布说明、文档或网站副本构建来源衍生的写作风格配置文件,然后在内容、外展和社交工作流中重用该配置文件。当用户想要声音一致性而不使用通用 AI 写作套路时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
agent-payment-x402
aaione
为 AI 智能体添加 x402 支付执行,包含每任务预算、支出控制和托管钱包。通过 agentwallet-sdk 支持 Base,通过 OKX Payments / OKX Agent Payments Protocol 支持 X Layer。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
video-editing
aaione
用于剪切、结构和增强真实素材的 AI 辅助视频编辑工作流。涵盖从原始捕获到 FFmpeg、Remotion、ElevenLabs、fal.ai 和 Descript 或 CapCut 中的最终打磨的完整管道。当用户想要编辑视频、剪切素材、创建 vlog 或构建视频内容时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
fal-ai-media
aaione
通过 fal.ai MCP 进行统一媒体生成 — 图像、视频和音频。涵盖文本到图像 (Nano Banana)、文本/图像到视频 (Seedance、Kling、Veo 3)、文本到语音 (CSM-1B) 和视频到音频 (ThinkSound)。当用户想要使用 AI 生成图像、视频或音频时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
everything-claude-code
aaione
everything-claude-code 的开发约定和模式。使用 Conventional Commits 的 JavaScript 项目。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
agent-sort
aaione
通过使用并行的仓库感知审查传递将技能、命令、规则、钩子和额外内容分类到 DAILY 与 LIBRARY 存储桶中,为特定仓库构建有证据支持的 ECC 安装计划。当 ECC 应修剪到项目实际需要的内容而不是加载完整包时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
exa-search
aaione
通过 Exa MCP 进行网络、代码和公司研究的神经搜索。当用户需要网络搜索、代码示例、公司情报、人员查找或使用 Exa 的神经搜索引擎进行 AI 驱动的深度研究时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
content-engine
aaione
为 X、LinkedIn、TikTok、YouTube、新闻简报和重新利用的多平台活动创建平台原生内容系统。当用户想要社交帖子、线程、脚本、内容日历或一个源资产在平台间干净适应时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
deep-research
aaione
使用 firecrawl 和 exa MCP 进行多来源深度研究。搜索网络、综合发现并提供带有来源归属的引用报告。当用户想要对任何主题进行彻底研究并具有证据和引用时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
article-writing
aaione
使用从提供的示例或品牌指导派生的独特声音撰写文章、指南、博客文章、教程、新闻简报和其他长篇内容。当用户想要超过一段的精心编写的内容时使用,尤其是当声音一致性、结构和可信度重要时。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
documentation-lookup
aaione
通过 Context7 MCP 使用最新的库和框架文档,而不是训练数据。激活设置问题、API 参考、代码示例,或当用户命名框架(例如 React、Next.js、Prisma)时。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
crosspost
aaione
跨 X、LinkedIn、Threads 和 Bluesky 的多平台内容分发。使用 content-engine 模式适应每个平台的内容。从不发布跨平台的相同内容。当用户想要跨社交平台分发内容时使用。
SkillCFreshness: C★ 29Claude Code +9
Signals
- Stars
- 29
- Forks
- 14
- Open issues
- 1
- Last commit (this folder)
- May 31, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from aaione
- 0.559score
brand-voice
aaione
从真实的帖子、文章、发布说明、文档或网站副本构建来源衍生的写作风格配置文件,然后在内容、外展和社交工作流中重用该配置文件。当用户想要声音一致性而不使用通用 AI 写作套路时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
video-editing
aaione
用于剪切、结构和增强真实素材的 AI 辅助视频编辑工作流。涵盖从原始捕获到 FFmpeg、Remotion、ElevenLabs、fal.ai 和 Descript 或 CapCut 中的最终打磨的完整管道。当用户想要编辑视频、剪切素材、创建 vlog 或构建视频内容时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
agent-payment-x402
aaione
为 AI 智能体添加 x402 支付执行,包含每任务预算、支出控制和托管钱包。通过 agentwallet-sdk 支持 Base,通过 OKX Payments / OKX Agent Payments Protocol 支持 X Layer。
SkillCFreshness: C★ 29Claude Code +9 - 0.557score
fal-ai-media
aaione
通过 fal.ai MCP 进行统一媒体生成 — 图像、视频和音频。涵盖文本到图像 (Nano Banana)、文本/图像到视频 (Seedance、Kling、Veo 3)、文本到语音 (CSM-1B) 和视频到音频 (ThinkSound)。当用户想要使用 AI 生成图像、视频或音频时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
content-engine
aaione
为 X、LinkedIn、TikTok、YouTube、新闻简报和重新利用的多平台活动创建平台原生内容系统。当用户想要社交帖子、线程、脚本、内容日历或一个源资产在平台间干净适应时使用。
SkillCFreshness: C★ 29Claude Code +9 - 0.554score
agent-sort
aaione
通过使用并行的仓库感知审查传递将技能、命令、规则、钩子和额外内容分类到 DAILY 与 LIBRARY 存储桶中,为特定仓库构建有证据支持的 ECC 安装计划。当 ECC 应修剪到项目实际需要的内容而不是加载完整包时使用。
SkillCFreshness: C★ 29Claude Code +9
Cite this page
frontend-patterns skill. Agent Mart. https://agentmart.dev/skills/aaione-frontend-patterns (last updated 2026-10-24)