发生了什么
2026 年上半年,一个看似简单的文件格式正在改变 AI 编程工具的使用方式:SKILL.md。
先看几个数字:
| 项目 | GitHub Stars | 核心数据 |
|---|---|---|
| ECC (Everything Claude Code) | 205K+ | 60 个专业 Agent、232 个 Skill、75 个 Slash Command、1,282 项安全扫描 |
| Taste Skill | 32K+ | 开源 Skill 文件集合,专注于消除 AI 生成的前端"套路感" |
| stop-slop | 8.5K+ | 专门清除 AI 写作痕迹的 Skill |
| awesome-agent-skills (VoltAgent) | -- | 1,000+ 个精选 Skill,来自官方团队和社区 |
| claude-skills collection | -- | 337 个 Skill、30+ 个 Agent、70+ 自定义命令 |
这些项目在半年前几乎不存在。现在它们加起来的 Star 数已经超过了大部分编程框架。
为什么是现在:AI 编程工具(Claude Code、Cursor、Codex CLI、Gemini CLI)都支持了同一种机制——通过 Markdown 文件给 Agent 注入专业指令。开发者发现,与其每次在 Prompt 里重复描述"怎么做好一件事",不如写成一个文件,按需加载。于是 Skill 文件生态开始爆发。
什么是 Skill 文件
一句话:Skill 文件是一个 Markdown 文档,包含 Agent 完成特定任务所需的专业指令、上下文和工作流。
它解决的核心问题是:AI 编程工具默认是"通才",但你在具体场景下需要的是"专才"。
基本结构
一个 Skill 文件通常包含三部分:
┌─────────────────────────────┐
│ 1. Instructions(指令) │ ← 告诉 Agent 做什么、怎么做
├─────────────────────────────┤
│ 2. Context(上下文) │ ← 提供领域知识、约束条件
├─────────────────────────────┤
│ 3. Workflows(工作流) │ ← 定义步骤、触发条件、输出格式
└─────────────────────────────┘
最小示例
一个最简单的 Skill 文件长这样:
# API Design Skill
## Purpose
When designing REST APIs, enforce consistent naming, error handling, and versioning.
## Rules
- Use plural nouns for resource names: /users, /orders
- Return standard error format: { "error": { "code": "...", "message": "..." } }
- Version in URL: /v1/users
- Always include pagination for list endpoints
- Use HTTP status codes correctly (201 for creation, 204 for deletion)
## Output Format
Generate OpenAPI 3.1 specification in YAML format.
把它放到 .claude/skills/ 目录下,Claude Code 在处理 API 设计相关的任务时就会自动加载这些规则。也可以通过 /skill api-design 手动触发。
为什么 Skill 文件很重要
1. 它是 Prompt Engineering 的新形态
传统的 Prompt Engineering 是临时的、不可复用的——你在对话框里写一段长提示,下次还得重新写。Skill 文件把这个过程固化、版本化、可分享了。
| 维度 | 传统 Prompt | Skill 文件 |
|---|---|---|
| 复用性 | 每次手写 | 写一次,到处用 |
| 可维护性 | 散落在聊天记录里 | Git 管理,有版本历史 |
| 可分享性 | 复制粘贴 | GitHub 仓库,一行命令安装 |
| 质量控制 | 依赖个人经验 | 社区 review、持续迭代 |
| 触发方式 | 手动输入 | 自动检测或 slash command |
2. 跨工具兼容
这是最被低估的一点。Firecrawl 的分析指出:Skill 文件不是 Claude 专属的。 Agent Skills 规范是一个开放标准,同一个 SKILL.md 可以在以下工具中原生运行:
- Claude Code
- OpenAI Codex CLI
- Gemini CLI
- Cursor
- GitHub Copilot
不需要修改,不需要适配层。这和 VS Code 插件只能在 VS Code 里用完全不同——Skill 文件更像是一个跨编辑器的配置标准。
3. 社区驱动的知识积累
每个 Skill 文件本质上是一个"最佳实践的压缩包"。当 200K+ 人 starred 的 ECC 项目收录了 232 个 Skill 时,这些 Skill 背后是真实项目里的经验沉淀——不是某个人的直觉,而是大量开发者在实战中验证过的做法。
关键项目解读
ECC:把 AI 编程变成工程平台
ECC (Everything Claude Code) 是目前规模最大的 Skill 生态项目。它的野心不只是收集 Skill——它想把 AI 编程从"随意提问"变成可审计、可扩展的工程平台。
SitePoint 的评价一针见血:
"transforms ad-hoc AI prompting into an auditable, extensible engineering platform"
核心数据:
- 60 个专业 Agent:每个针对特定场景(代码审计、安全扫描、架构设计等)
- 232 个 Skill:覆盖前端、后端、DevOps、安全等方向
- 75 个 Slash Command:快速触发特定工作流
- 1,282 项安全扫描:内置的安全检查规则集
- 跨工具兼容:支持 Claude Code、Codex、OpenCode、Cursor
ECC 的做法是把 AI 编程工具当成一个操作系统,而 Skill 就是这个系统上的"应用程序"。
Taste Skill:消灭 AI 前端的套路感
如果你用 AI 生成过前端代码,你一定见过这些:
- 居中的卡片布局,圆角 + 阴影
- 渐变色背景(通常是紫色到蓝色)
- Hero section 配一句"Empowering Your Future"
- 一模一样的图标库和排版
Taste Skill 就是为了解决这个问题的。它提供了一系列 Skill 文件,强制 AI 生成有设计感、有个性的前端界面——而不是千篇一律的模板。
支持范围很广:Cursor、Claude Code、Codex、Gemini CLI、v0、Lovable 都能用。
awesome-agent-skills:Skill 的 registry
VoltAgent 维护的 awesome-agent-skills 是目前最全的 Skill 索引。1,000+ 个 Skill 按类别组织:
- 框架专用(React、Next.js、Django 等)
- 语言专用(TypeScript、Python、Rust 等)
- 任务专用(代码审计、测试生成、文档撰写等)
- 平台专用(Cloudflare、AWS、Vercel 等)
它的定位类似 npm registry——你不需要自己写所有东西,先来这里搜一下有没有现成的。
stop-slop:清除 AI 痕迹
stop-slop 的切入点更窄但很实用:它专门针对 AI 生成的文本内容,清除那些"AI 味"的表达。比如:
- "It's worth noting that..."
- "In today's rapidly evolving landscape..."
- 过度使用破折号和分号
- 每段开头都是 "Moreover" / "Furthermore"
虽然只有 8.5K Star,但它代表了一个重要的细分方向:Skill 不只能让 AI 做得更多,也能让 AI 做得更克制。
对比总结
| 项目 | 定位 | 核心价值 | 适合谁 |
|---|---|---|---|
| ECC | 全能型工程平台 | 一站式解决 AI 编程的标准化问题 | 团队和严肃项目 |
| Taste Skill | 前端设计质量 | 消除 AI 生成前端的千篇一律 | 前端开发者、设计师 |
| awesome-agent-skills | Skill 索引 | 快速找到需要的 Skill | 所有 AI 编程用户 |
| stop-slop | 文本去 AI 味 | 让 AI 写的内容更自然 | 内容创作者、文档撰写者 |
怎么用:5 分钟上手
1. 找到 Skill
几个主要来源:
- awesome-agent-skills:最全的索引,按类别浏览
- ECC 仓库:直接用它的全部或挑选单个 Skill
- GitHub 搜索:搜
SKILL.md或claude-code-skills - Taste Skill 官网:前端设计类 Skill
2. 安装 Skill
Claude Code:
# 创建 skills 目录
mkdir -p .claude/skills
# 下载一个 Skill 文件
curl -o .claude/skills/frontend-design.md https://example.com/skills/frontend-design.md
# 或者直接从 ECC 复制
cp /path/to/ecc/skills/react-patterns.md .claude/skills/
Cursor:
# Cursor 使用 .cursor/rules/ 目录
mkdir -p .cursor/rules
# 复制 Skill 文件到 rules 目录
cp /path/to/skill.md .cursor/rules/skill-name.mdc
OpenAI Codex CLI:
# Codex 使用 AGENTS.md 或 codex/ 目录
mkdir -p .codex/skills
# 复制 Skill 文件
cp /path/to/skill.md .codex/skills/
3. 写一个自己的 Skill
以"API 文档生成"为例:
# API Documentation Generator
## Description
Generates comprehensive API documentation from code annotations and route definitions.
## Trigger
- When user says "generate api docs" or "document this api"
- When processing files in routes/ or api/ directories
## Instructions
### Step 1: Analysis
Scan all route definition files. Extract:
- HTTP methods and paths
- Request/response schemas
- Authentication requirements
- Rate limiting rules
### Step 2: Structure
Organize documentation by resource, not by file. Each resource gets:
- Overview section
- Endpoint table (method, path, description)
- Detailed endpoint documentation
- Request/response examples
### Step 3: Format Rules
- Use OpenAPI 3.1 spec as the machine-readable format
- Generate Markdown for human-readable docs
- Include curl examples for every endpoint
- Add error response documentation for each status code
### Step 4: Quality Checks
- Verify all endpoints are documented
- Confirm request/response examples are valid JSON
- Check that error codes match actual implementation
- Ensure authentication headers are documented
## Constraints
- Do not generate documentation for deprecated endpoints unless explicitly asked
- Do not invent endpoints that don't exist in the code
- Use the project's existing type definitions, do not guess types
4. 验证 Skill 是否生效
# 在 Claude Code 中
/skill api-docs
# 或直接提问测试
> "帮我生成这个项目的 API 文档"
# 如果 Skill 生效,Agent 会按照你定义的步骤和格式工作
Skill 文件的开放标准
这一节值得单独展开,因为很多人还没意识到这一点。
一个 SKILL.md 文件,不需要任何修改,就能在 Claude Code、Cursor、Codex CLI、Gemini CLI 中使用。
这意味着:
- 写一次,到处用:你不需要为每个工具维护不同版本的 Skill
- 团队协作无摩擦:不管团队里有人用 Cursor 有人用 Claude Code,同一套 Skill 文件对所有人都生效
- 生态效应:当 Skill 的消费者不只是单一工具的用户时,社区贡献的动力会大很多
这和 LSP(Language Server Protocol)的思路类似——定义一个通用协议,让不同工具可以共享同一套能力。区别是 LSP 是编程语言层面,Skill 是工作流层面。
从 Firecrawl 的分析来看,Agent Skills 规范的兼容性实现方式很简单:各工具都在项目目录里读取特定路径的 Markdown 文件,将其作为系统级 Prompt 注入。路径不同(.claude/skills/、.cursor/rules/、.codex/skills/),但文件格式和内容完全相同。
项目根目录/
├── .claude/skills/ ← Claude Code 读取
├── .cursor/rules/ ← Cursor 读取
├── .codex/skills/ ← Codex CLI 读取
└── SKILL.md ← 通用位置(部分工具支持)
如果你想让一个 Skill 同时在所有工具里生效,要么各放一份,要么用 symlink:
ln -s ../shared-skills/frontend-design.md .claude/skills/frontend-design.md
ln -s ../shared-skills/frontend-design.md .cursor/rules/frontend-design.mdc
风险和局限
安全风险
Skill 文件本质上是给 AI 注入指令。如果你安装了别人的 Skill,你需要在一定程度上信任它的内容:
- 指令注入:恶意 Skill 可以让 Agent 执行危险操作(比如删除文件、暴露敏感数据)
- Prompt 劫持:Skill 中的指令可能覆盖你的安全约束
- 供应链风险:从不可信来源安装 Skill,类似 npm 里的恶意包问题
ECC 的做法是内置了 1,282 项安全扫描来缓解这个问题,但对于从其他来源安装的 Skill,你需要自己审查内容。
质量参差不齐
awesome-agent-skills 里有 1,000+ 个 Skill,但质量差异很大:
- 有些经过大量实战验证
- 有些只是某个人的个人偏好,不具备通用性
- 有些针对特定版本的工具或框架,可能已经过时
在采用一个 Skill 之前,建议检查它的 Star 数、最近更新时间、Issue 数量和讨论内容。
过度依赖的风险
Skill 文件能提升 AI 输出的质量和一致性,但也有一个隐性风险:你可能不再理解 Agent 为什么这样做。
如果一个 Skill 定义了 20 条规则,你只是在安装时扫了一眼,之后 Agent 的所有行为都基于这些规则——但你已经忘了具体规则是什么。这在调试时会成为障碍。
建议:把你实际使用的 Skill 当成项目代码的一部分来管理,定期 review,不要装了就不用。
一句话总结
Skill 文件把 AI 编程工具从"通用聊天机器人"变成了"可配置的专业工作站",而这个配置本身就是一种代码——可以被 Git 管理、被社区共享、被跨工具复用。这不是一个小功能,这是 AI 编程工具生态走向成熟的标志。