在 Cursor 中打造你的专属前端“AI 助手”:Agent Skills 实战指南 什么是 Agent Skills?

在 Cursor 中打造你的专属前端“AI 助手”:Agent Skills 实战指南 什么是 Agent Skills?

文章目录


一、什么是 Agent Skills?

简单来说,Agent Skills 是一种标准化的方式,用来封装特定任务的知识和工作流。
如果说 MCP (Model Context Protocol) 是给 AI 装上了“手”(让它能连接数据库、Github),那么 Skills 就是给 AI 的“操作说明书”(告诉它怎么用这双手去搬砖)。
它和 .cursorrules 的区别在于:.cursorrules (全局规则): 就像公司的“员工手册”,是 AI 必须时刻记住的(Always on),适合放通用的代码风格(比如“永远使用 TypeScript”)。Agent Skills (技能): 就像“特定的任务SOP”,AI 只有在需要的时候(Context Relevant)才会去加载它,或者通过 / 命令手动触发。这大大节省了 Token,也让 AI 更专注。

二、使用步骤

1.下载官方提供的agent-skills文档

链接:github:https://github.com/anthropics/skills

在这里插入图片描述

2.cursor中使用

在cursor中新建.cursor目录加skills目录,把从Github上下载的skills拷贝到该目录下。上

在这里插入图片描述


在这里插入图片描述

这是参考frontend-design这个skills来设计的网站,会发现精美许多。

在这里插入图片描述


在这里插入图片描述

三、如何设计自己的skills

通过别人提供好的skils文档来生成

在这里插入图片描述


在cursor中输入提示词,cursor会自动扫描你文件下的skill.md文档进行生成。

在这里插入图片描述

四、实战:打造一个“生成标准 React 组件”的 Skill

假设我们团队有一个严格的组件开发规范:

  1. 组件必须是 Function Component。
  2. 必须使用 CSS Modules。
  3. 必须包含一个 interface 定义 Props。
  4. 文件结构必须是文件夹形式。

我们来写一个 Skill 教会 Cursor 怎么做。

第一步:创建目录

在你的项目根目录下(或者全局 ~/.cursor/skills),创建一个存放技能的文件夹:

.cursor/ skills/ react-component-gen/ <-- 技能名称文件夹 SKILL.md <-- 核心定义文件 

第二步:编写 SKILL.md

这是核心部分。SKILL.md 包含两部分:Frontmatter (元数据)Markdown 正文 (指令)

.cursor/skills/react-component-gen/SKILL.md 中写入:

--- name: react-component-gen description: Generate a new React functional component with CSS Modules and TypeScript interfaces following team standards. disable-model-invocation: false --- # React Component Generator Use this skill when the user asks to create a new UI component, page, or widget. ## [...](asc_slot://start-slot-9)Instructions 1. **Analyze the Request**: Identify the component name and props required. 2. **Directory Structure**: - Create a folder named exactly as the component (PascalCase). - Inside, create `index.tsx` and `styles.module.scss`. 3. **Code Standards**: - **index.tsx**: - Use `FC` type from 'react'. - Import styles as `import styles from './styles.module.scss'`. - Define an interface `[ComponentName]Props`. - Export the component as default. - **styles.module.scss**: - Create a root class `.container`. - Use BEM naming convention for inner elements if needed. ## [...](asc_slot://start-slot-11)Template Example If the user asks for a "Button", generate: ```tsx // Button/index.tsx import React, { FC } from 'react'; import styles from './styles.module.scss'; export interface ButtonProps { label: string; onClick: () => void; } const Button: FC<ButtonProps> = ({ label, onClick }) => { return ( <button className={styles.container} onClick={onClick}> {label} </button> ); }; export default Button; 
### [...](asc_slot://start-slot-13)第三步:启用并使用 1. **启用**:确保你的 Cursor 是较新版本(部分功能可能在 Beta/Nightly 通道)。打开设置 -> `Rules` 或 `Features`,确保 Agent Skills 相关的开关已打开。 2. **自动触发**: * 打开 Cursor 的 Agent 聊天框(CMD+L 或 CMD+K)。 * 输入:“帮我写一个 UserCard 组件,包含头像和名字。” * 你会发现 Agent 会自动识别意图,加载 `react-component-gen` 技能,并严格按照你的模板生成代码! 3. **手动触发**: * 输入 `/`,你应该能看到 `react-component-gen` 出现在命令列表中。 ## [...](asc_slot://start-slot-15)进阶玩法:带脚本的 Skill (自动化重构) 前端经常需要做一些批量重构,比如“找出所有硬编码的颜色并替换为 Tailwind 类名”。我们可以给 Skill 配上脚本。 

.cursor/skills/refactor-color/
SKILL.md
scripts/
find-hex.js <-- 一个扫描文件的脚本

**SKILL.md**: ```markdown --- name: refactor-color description: Refactor hardcoded hex colors to Tailwind utility classes. --- # Color Refactoring ## [...](asc_slot://start-slot-17)Instructions 1. Run the script `scripts/find-hex.js` to locate hex codes in the current file. 2. For each hex code found, map it to the closest Tailwind color (e.g., `#ef4444` -> `text-red-500`). 3. Rewrite the code. 

这样,AI 就不只是在“瞎猜”,而是真正执行了你写的工具脚本来辅助它工作。

总结:为什么你应该开始用 Skills?

  1. 团队规范统一:把这个 .cursor 文件夹提交到 Git 仓库,新入职的同事 git pull 下来,他的 AI 助手立刻学会了全套团队规范,不用手把手教。
  2. 减少上下文污染:只在写组件时加载组件规范,写测试时加载测试规范,让 AI 的脑子更清醒。
  3. 沉淀最佳实践:把那些你每次都要重复敲的 Prompt,固化成代码资产。

💡 个人心得
不要试图把所有东西都塞进 .cursorrules。把 .cursorrules 当作宪法(不可动摇的原则),把 Agent Skills 当作SOP 手册(针对具体任务的流程)。

快去试试在你的项目里加一个 Skill 吧!如果你有更好玩的 Skill 创意(比如自动写 Code Review 意见),欢迎在评论区分享!👇

Read more

Java Web Spring Boot企业员工薪酬关系系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

Java Web Spring Boot企业员工薪酬关系系统系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

💡实话实说: C有自己的项目库存,不需要找别人拿货再加价。 摘要 随着信息技术的快速发展,企业人力资源管理逐渐向数字化、智能化转型。薪酬管理作为企业人力资源管理的核心模块之一,其效率与准确性直接影响员工的满意度和企业的运营成本。传统的薪酬管理多依赖手工操作或简单的电子表格,存在数据冗余、计算错误、安全性低等问题。因此,开发一套高效、安全且可扩展的企业员工薪酬关系系统具有重要的现实意义。该系统能够实现薪酬数据的自动化处理、多维度统计分析和可视化展示,为企业决策提供数据支持。关键词:企业薪酬管理、数字化、自动化、数据安全、人力资源管理。 本系统基于Spring Boot 2框架开发,采用前后端分离架构,前端使用Vue 3实现动态交互,后端通过MyBatis-Plus高效操作MySQL 8.0数据库。系统功能模块包括员工信息管理、薪酬计算与发放、薪资统计分析、权限控制等。员工信息管理模块支持增删改查操作,薪酬计算模块支持自定义薪资规则和批量处理,统计分析模块提供多维度的数据可视化报表。系统采用JWT进行身份认证,确保数据安全性,并通过Redis缓存提升性能。关键词:Spring B

Qwen3-32B开源部署新范式:Clawdbot提供CLI命令行工具+Web UI双操作入口

Qwen3-32B开源部署新范式:Clawdbot提供CLI命令行工具+Web UI双操作入口 1. 为什么你需要一个“更轻、更稳、更顺手”的Qwen3-32B用法? 你是不是也遇到过这些情况? 下载完Qwen3-32B模型,光是装Ollama、拉镜像、配环境变量就折腾掉一整个下午;好不容易跑起来,发现每次调用都要写curl命令或改Python脚本;想给同事演示,还得临时搭个前端页面——结果UI丑、响应慢、连历史对话都存不住。 Clawdbot不是又一个“封装一层API”的工具。它把Qwen3-32B真正变成了你电脑里一个开箱即用的本地AI伙伴: * 不用碰Docker Compose文件,不用记端口映射规则,一条命令就能启动; * 命令行里直接聊天、批量提问、导出记录,像用ls、cat一样自然; * Web界面干净清爽,支持多轮对话、上下文记忆、自定义系统提示,打开浏览器就能用; * 所有交互都走本地,模型不上传、数据不出设备、请求不经过第三方服务器。 这不是“能跑就行”的部署,而是为真实使用场景打磨出来的双入口工作流——CLI适合开发者快速验证和集成,Web

深入剖析 WebHostView:浏览器内核中的桌面级 Web 宿主

深入剖析 WebHostView:浏览器内核中的桌面级 Web 宿主

引言 随着桌面级 Web 应用需求的增加,浏览器内核的角色逐渐从一个单纯的网页渲染引擎演化为一个“Web 运行时平台”,为更多类型的应用场景提供支持。在这一过程中,WebHostView 作为一个关键组件,担当了将传统的网页浏览功能与桌面应用深度融合的桥梁。它的出现不仅解决了浏览器原生 Tab 模型无法满足桌面应用需求的问题,也推动了浏览器从“Web 浏览器”向“Web 应用平台”的演变。 本文将详细分析 WebHostView 的设计理念、功能架构及其在 360 浏览器中的具体应用,探讨它如何打破传统浏览器内核的局限,成为一种全新的系统级 Web 宿主。 1. 浏览器内核的架构演变 传统浏览器内核架构 在传统的浏览器架构中,WebContents 作为网页渲染的核心,绑定于浏览器的标签页(Tab)、WebUI(chrome:// 页面)以及扩展视图(Extension View)。这些宿主形态都属于浏览器界面的一部分,通常具备以下共同特点: * 标签页(Tab)

ctfshow Web入门命令执行29-124全通关详解(看这一篇就够啦~)

文章目录 * 命令执行 * web29-web31:基础注入 * web29 * web30 * web31 * web32-web36:参数逃逸 * web32 * web33 * web34-36 * web37-web39:文件包含+伪协议命令执行 * web37 * web38 * web39 * web40:无参数RCE * web41:无字母RCE * web42-web53:绕过无回显RCE * web42 * web43 * web44 * web45 * web46 * web47-web49 * web50 * web51 * web52 * web52 * web53 * web54:关键词模糊匹配 * web55-web57:字符集受限 RCE * web55 * web56 * we