最近刷 GitHub Trending,发现一个有意思的现象:排行榜上涨得最快的项目,不是什么新框架或者新模型,而是一堆 Markdown 文件。

准确说,是 Claude Code 的 Skills——一种用 SKILL.md 文件定义的"技能包"。guizang-ppt-skill 两周拿了 5000 Star,garden-skills 拿了 2400,nature-skills 拿了 1700。这些项目的核心内容就是一个 SKILL.md 加几个脚本。

我花了两天把这些 Skill 都装了一遍、拆了一遍,记录一下过程。

Skills 是什么

Skills 是给 AI 编程助手加功能的方式。你写一个 SKILL.md 文件,描述这个技能做什么、怎么做、需要什么工具,AI 助手读了就会了。

和 MCP 不一样,Skills 不需要跑服务器,不需要配端口。就是一个文件,放在指定目录下,AI 助手下次启动时自动加载。

拿 guizang-ppt-skill 举例。你跟 Claude Code 说"帮我做个关于 AI 趋势的演示文稿",它就能生成一个带 WebGL 动效、可以左右滑动的 HTML 页面,直接浏览器打开就能演示。这个能力不是 Claude Code 自带的,是 SKILL.md 教给它的。

安装一个 Skill

以 guizang-ppt-skill 为例,安装就两步:

# 方法一:直接 clone 到 skills 目录
cd ~/.claude/skills   # 或你的 AI 助手 skills 目录
git clone https://github.com/op7418/guizang-ppt-skill.git

# 方法二:用 clawhub(Skills 的包管理器)
clawhub install guizang-ppt-skill

装完之后目录结构长这样:

skills/
  guizang-ppt-skill/
    SKILL.md          # 核心文件,AI 读这个
    references/       # 参考资料、模板
    scripts/          # 脚本文件

重启 Claude Code 或者开一个新 session,它就能读到这个 Skill 了。直接说"做一个演示文稿",不用额外配置。

SKILL.md 文件结构

拆开一个 SKILL.md 看看里面怎么写的。我拿 garden-skills 里的网页设计 Skill 做例子(有删减):

---
name: web-designer
description: "生成响应式网页设计,支持多种框架"
allowed-tools:
  - Read
  - Write
  - Edit
metadata:
  trigger: 当用户要求设计网页、生成 HTML 页面时
---

这是文件头的 YAML 部分。name 是 Skill 名字,description 告诉 AI 什么时候用它,allowed-tools 限定 Skill 能调用哪些工具,metadata.trigger 是触发条件。

后面的正文用 Markdown 写指令:

## 设计流程

1. 确认用户需求:页面类型、风格、配色
2. 选择技术栈:纯 HTML/CSS、Tailwind、React 等
3. 生成代码,写入文件
4. 提供预览方式

## 设计规范

- 移动端优先,断点设在 640px / 768px / 1024px
- 配色最多用 3 个主色
- 字体大小基准 16px

## 注意事项

- 图片用 placeholder,不要请求外部资源
- CSS 写在同一个文件里,不要分离

没有 SDK 要学,没有 API 要调。写清楚你希望 AI 怎么做就行。

写一个自己的 Skill

我写了一个日报生成 Skill 练手。需求:每天跑一遍,汇总 GitHub Trending 热门项目,生成技术日报。

先建目录:

mkdir -p ~/.claude/skills/github-daily/scripts

写 SKILL.md:

---
name: github-daily
description: "生成 GitHub Trending 技术日报"
allowed-tools:
  - Read
  - Write
  - Exec
metadata:
  trigger: 当用户要求生成技术日报、GitHub 热门项目汇总时
---

正文部分:

## 执行步骤

1. 调用 GitHub API 获取当天 trending 项目(按 stars 排序)
2. 筛选 stars > 100 的项目
3. 每个项目提取:名称、描述、语言、star 数
4. 按语言分类整理
5. 生成 Markdown 格式日报,保存到 memory/ 目录

## 输出格式

日期 + 项目列表,每个项目一行:
- 项目名 (语言) star数 - 一句话描述

## API 调用示例

GitHub Search API:
GET https://api.github.com/search/repositories
  ?q=created:>2026-05-05+stars:>100
  &sort=stars&order=desc&per_page=20

## 注意

- 无 Token 时 API 速率限制每小时 10 次
- 配了 GITHUB_TOKEN 环境变量后提高到每小时 30 次

保存后新开 session,说"帮我生成今天的 GitHub 日报"。Claude Code 读到 Skill,按步骤执行,几秒钟就出结果了。

几个值得装的 Skill

试了十几个,筛出几个实际好用的:

guizang-ppt-skill(5074 Star)

做演示文稿用的。生成的 HTML 页面有 10 种布局、5 套主题配色,带 WebGL 背景动画。比手动写 PPT 快不少。缺点是导出 PDF 时动画丢失。

仓库:github.com/op7418/guizang-ppt-skill

open-design(28064 Star)

一整套设计工具集,19 个 Skill 打包在一起,覆盖网页设计、移动端原型、视频生成。定位是"本地版 Claude Design 替代品"。8 天拿了 28000 Star,增长速度很夸张。网页原型生成质量不错,移动端原型还差点意思。

仓库:github.com/nexu-io/open-design

nature-skills(1732 Star)

学术写作方向,按 Nature 论文标准输出图表和公式排版。做科研写论文的可能用得上。

仓库:github.com/Yuan1z0825/nature-skills

agent-sprite-forge(1696 Star)

游戏开发方向,生成 2D 精灵图。输入文字描述,输出带透明通道的 PNG 帧序列和 GIF 动画。做独立游戏可以试试。

仓库:github.com/0x0funky/agent-sprite-forge

踩坑记录

装了这么多 Skill,踩了几个坑,列一下:

1. description 决定了 Skill 会不会被触发

AI 助手根据 description 判断要不要用某个 Skill。如果写得太笼统,比如"一个有用的工具",AI 经常匹配不上,你得手动提醒。写成"当用户要求生成 PPT/演示文稿/slides 时使用",匹配率高很多。

我一开始给日报 Skill 的 description 写的是"汇总信息",Claude Code 从来没主动用过它。改成"生成 GitHub Trending 技术日报"之后就正常了。

2. allowed-tools 漏写会导致执行失败

Skill 需要执行命令时(比如调 API、跑脚本),allowed-tools 里要加 Exec。漏了的话 AI 读了 Skill 知道该怎么做,但执行到一半报权限不足。

调试方法:如果 Skill 执行中断了,先检查 allowed-tools 列表。

3. 多个相似 Skill 会互相干扰

装了两个都跟"网页设计"相关的 Skill 之后,AI 有时候会纠结用哪个,或者两个混着用导致输出格式混乱。

解决办法:让 description 和 trigger 尽量具体,减少语义重叠。比如一个写"Landing Page 单页设计",另一个写"后台管理系统 Dashboard 界面"。

4. 大 Skill 拖慢启动速度

open-design 有 19 个 Skill,references 目录里文件加起来好几 MB。每次启动 session 加载时间明显变长,大概多了 3-5 秒。如果不需要全部功能,可以只拷贝需要的几个 Skill。

5. 脚本路径要写相对于 Skill 目录的

SKILL.md 里引用脚本时,路径相对于 Skill 目录。scripts/generate.py 对应的实际路径是 skills/my-skill/scripts/generate.py。我一开始写成了工作区根目录的相对路径,跑不通调了半天。

Skills 和 MCP 的区别

MCP 是让 AI 调用外部服务的协议,需要跑一个 Server,AI 通过标准接口调用它提供的工具。适合接数据库、调 API 这类场景。

Skills 更轻。不跑服务,不配协议,就是一个文档告诉 AI"遇到这类任务按这个方法做"。更接近"教程"而不是"接口"。

两者不冲突,一个 Skill 里可以调用 MCP 提供的工具。比如你可以写一个"飞书日报 Skill",用 MCP 接飞书 API,同时用 SKILL.md 定义日报格式和发送逻辑。

总结

Skills 门槛低,写一个 Markdown 文件就能用。但要写好有讲究——description 的措辞、步骤的拆分粒度、边界条件的处理,都影响 AI 的执行效果。

如果你已经在用 Claude Code 或 Cursor,建议先装两三个 trending 上的 Skill 感受一下,然后按自己的工作流写几个。比起每次从零跟 AI 解释需求,Skill 能把重复的沟通成本降下来。

GitHub Trending 上这些 Skills 项目的地址都在文章里了,直接 clone 就能用。

更多推荐