图为 2026.1.23 拍摄于湘湖逍遥庄园

本文通过解析一个在社区中比较火的 agent skill 来切入,首先介绍如何使用这个 skill,并且分析它的 skill 文件组成。上手使用这个实例后,你就会对 agent skill 有一个非常具象的理解。

前置要求

在阅读本文之前,请确保你已经了解并使用过 claude code,如果还没用上这个强大的工具,请参考大橘子的文章配置并使用:开源模型质变:Claude Code 超级小白入门指南


skill 的设计初衷

如果我直接告诉你 skill 是一个文件,里面包含 skill.md,还有包含其他资源文件和 python 执行脚本,你大概率还是不理解它是什么,接下来我准备循序渐进的介绍它。

首先针对同样一个任务,比如说让大模型设计一个网站;

对于普通人和一个前端设计专家来说,他们实现的效果是截然不同的。

普通人几乎是完全依赖大模型本身的认知来设计网站;

而专家可以将自己的领域知识用提示词的方式告诉大模型如何更好的设计网站,再结合大模型的理解和执行能力,就能能够做出出色的网站。

注意:以上说的大模型,具体指代claude code 等 agent 产品形态,底层基于LLM驱动。

那有没有一种方式可以将这种专家经验沉淀下来,让其他人也能共用?这就是 skills 的核心设计初衷之一。

接下来我们再来看在 claude code 里面,一个具体的 agent skill 是怎么实现的。

最近看到社区一个比较专业的 agent skill,叫 ui-ux-pro-max-skill,我们从这个开源 skill 来切入,它是一个用来设计前端页面和交互的专业技能。项目名称也很语义化,ui 就是用户界面(User Interface), ux 是用户体验(User Experience)。pro max 是当前终端产品一贯的命名风格,代表更专业更极致的含义。

目前在 github 上已经收获 2w 多 star,今天我们就拿它来深入分析。

这是它的官网主页,红框里框起来的是目前主流的 AI 开发平台或工具,在这些平台上都可以使用这个技能。

如何使用 skill

将当前这个项目克隆下来后,直接在当前目录下启动 claude code 就可以直接使用它。

不一会儿,一个像样的网站就自动生成好了,所以有的文件都写入了本地文件夹 blog下面,并且遵从指令使用了 react 技术栈来完成编码。

当然你也可以指定其他的技术栈(例如 vue),如果不指定技术栈,默认是会一份包含所有内容的 html。

生成的网站长这样:

我们观察一下 claude code 的输出日志,看看它是如何完成这个任务的。

首先 claude code 根据用户的 prompt 识别到了当前任务可以使用 /ui-ux-pro-max 这个技能来实现,于是它就会参照这个技能里定义的工作流来完成这个网站的设计和实现。

接下来它执行了一系列的 python 脚本获取设计方案。

脚本执行成功之后,它读取了所有的设计指南,然后开始一步步编码。

看到这里,你或许会意识到:后续的编码都是 claude code 本身的能力了;

这个 skill 只是为了帮助了 claude code 拿到了更详细的设计指南和最佳实践

我们用一句话指令当然也可能让 claude code 产出博客网站的代码,但是生成的效果不确定性会非常高,加上了专业的设计指南和最佳实践的约束之后,同样的底层模型驱动下,生成效果肯定会好很多。


如何实现 skill

我们来分析下这个开源的 skill 是如何实现的。

在项目的目录下,我们可以看到很多个文件夹,这个开源的技能包实现了对多个 coding agent 平台的兼容支持,意味着我们可以在多个AI 开发工具(涵盖 cursor、windsurf、 Antigravity)中使用它。其中最典型的是 claude code。

skill.md 文件

我们重点看一下在 claude code 里面,它是如何实现这个 skill 的。

这里只需要关注.claude/skill/ui-ux-pro-max这个文件夹即可。

有两种方式实现 skills,第一种就是将 skill 写在项目下的 ./claude/skill 目录下,它是项目维度上的;

第二种是将 skill 安装到全局的 .claude 目录下,这样就可以在任意位置使用这个技能。

首先看一下 skill.md 文件的头部

---
name: ui-ux-pro-max
description: "UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples."
---

这是技能文件的元数据。

  • name:技能名称
  • description:技能描述。

claude code 初始接收用户指令的时候,仅会在上下文携带这两个字段的信息。

skill.md 文件里后面所有的正文,都是用来这个技能的使用细节。

我们看到正文里核心包含这些内容:

## When to Apply
...

## Quick Reference
...
## Prerequisites
...
## How to Use This Skill
### Step 1: Analyze User Requirements
### Step 2: Generate Design System (REQUIRED)
### Step 3: Supplement with Detailed Searches (as needed)
...

正文里详细描述了

  • 什么时候使用这个技能?
  • 技能使用的前置检查条件
  • 使用这个技能的详细步骤

claude code 是编程领域强大的 agent,后文我将直接用 agent 来指代 claude code。

脚本执行文件

当 agent 判断需要使用这个技能之后,就会详细参考正文里的步骤来使用该技能。

例如步骤二里详细说明了要执行一个 python 脚本来获取设计指南

这个脚本就在 skill 目录下这个位置

我们看到在 script 目录下一共有三个脚本,其中 search.py 用来查找合适的设计方案。而 core.py 和 design_system.py 是在 search.py 内部会调用的模块文件。

内置数据库

那么它的搜索功能是如何实现的呢?

我们看到这里还有个 data 文件夹,里面包含很多 csv 文件

这么多的表格数据实际上就是技能内置的用来提供设计指南的核心知识库。

文件作用记录数
styles.csvUI风格定义(玻璃态、极简、暗黑等)50种风格
colors.csv配色方案97个调色板
typography.csv字体搭配57组字体
ux-guidelines.csvUX最佳实践99条规则
charts.csv图表类型推荐25种图表
products.csv产品类型建议各行业模板
landing.csv落地页结构CTA策略
icons.csv图标库信息图标资源
web-interface.csvWeb界面指南通用规则
ui-reasoning.csv推理规则100条行业规则
react-performance.csvReact性能优化性能指南

在 stack 目录下,定义了覆盖多个技术栈的最佳实践经验的数据13个技术栈的专属指南:

  • html-tailwind - Tailwind CSS最佳实践
  • react - React Hooks和性能
  • nextjs - Next.js SSR和路由
  • vue - Vue Composition API
  • svelte - Svelte响应式
  • flutter - Flutter Widgets
  • swiftui - SwiftUI视图
  • react-native - RN组件
  • shadcn - shadcn/ui组件
  • 等等...

有了这些经验沉淀的数据,再搭配上特定的搜索算法,就能实现 为生成网站的需求 快速提供专业的设计方案和最佳实践方案。

思考 skill 的本质

前文我们提到:编码都是 coding agent 本身的能力;

这份 skill 只是为 AI 提供了更详细的设计指南和最佳实践。最终传递给 AI 在它写代码之前的 prompt,已经被专业化改写过了,不再是最初的手写的提示词。

在这个改写的过程中,借助了脚本执行来搜索 csv 数据库的各种设计资源。

这些 csv 数据文件本质上也是这个 skill 的知识库。

值得注意的是,这些脚本文件也好,csv 知识库也好,并不是一股脑都传递给 agent 的上下文。

而是在执行任务的过程中按需加载的,这也是官方提到的 progressive disclosure(渐进式披露)

Level 1:元数据(始终被加载)

元数据就是 skill.md 头部的两个字段说明

---
name: ui-ux-pro-max
description: "UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 9 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient. Integrations: shadcn/ui MCP for component search and examples."
---

如果当前具备多个 skill 技能,而每个 skill 文件夹又有众多文件。只有这个元数据会被加载进 agent 的初始上下文,agent 起初只需要知道有哪些技能可用,什么时候用对应的技能即可。

Level 2:skill.md 正文(触发式加载)

## When to Apply
...

## Quick Reference
...
## Prerequisites
...
## How to Use This Skill
### Step 1: Analyze User Requirements
### Step 2: Generate Design System (REQUIRED)
### Step 3: Supplement with Detailed Searches (as needed)
...

skill.md 的正文定义了使用技能的详细指导描述,这部分内容也可能比较多,仅当 agent 判断当前的任务需要使用到这个技能的时候,才会被加载进当前 agent 的上下文用于指导后续如何使用技能。

对了,claude code 之类的coding agent 是用 bash 命令来动态读到 skill.md 文件内容的。

Level 3:知识库和代码(按需加载)

在刚刚这个 skill 案例中,csv 数据表属于知识库文件,python 脚本属于代码文件。

这些资源文件也是在执行任务过程中按照指导的 workflow 来按需加载的。

scripts/
  ├── core.py              (10K) - 核心搜索引擎:BM25算法、CSV配置
  ├── design_system.py     (43K) - 设计系统生成器:多域搜索、推理引擎、持久化
  └── search.py            (5K)  - CLI入口:参数解析、命令分发、输出格式化

总结一下: progressive disclosure(渐进式披露) 这个特性确保了在 skill 执行过程中,仅有相关的资源或者代码会被加载进 agent 的上下文,无关内容不会占用上下文。因为上下文窗口的空间太宝贵了,且会很大程度影响 AI 生成的质量。

总结

agent skill 是什么?

  • 用来完成特定任务的专业技能包
  • 技能包里始终包含 skill.md ,用来描述什么时候可以使用技能,如何使用技能
  • 技能包里可能包含脚本执行文件,用来辅助技能的使用
  • 技能包里可能包含知识库,可以分为多个文件,可以被自定义的脚本读取,也可以直接被 agent 的通用 bash 能力读取。

为什么会出现 agent skill,它解决了什么问题?

  • 现阶段的 Agent 通过集成 LLM 与 MCP 工具执行能力,使大模型不再局限于对话,而是具备了实际执行任务的能力。这种能力在部分标准化、通用型场景中已经取得了不错的效果,但在更复杂的业务领域,仍然高度依赖专家级的工作流设计领域知识的系统化沉淀
  • mcp 的出现解决了工具调用的可复用性问题;而 skill 规范的出现解决了“专家级任务执行能力”的可复用性问题;
  • 有了 skill 规范之后,我们可以把【专家如何使用 Agent 完成某类任务】封装成一个可复用可执行、并且可组合的能力单元;
  • 如果没有 skill 这一层的抽象,你仍然可以用传统的 workflow 来解决问题,但是那样太固化了不灵活;或者高度依赖 agent 的即时推理能力和临时 prompt,这两种方式都难以支撑复杂业务场景的长期演进。

以上是我的个人理解,欢迎交流。


本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com