← 返回文章列表
Skills 约 5992 字 预计阅读 24 分钟

Skills 深度解析:给 AI 编程助手装上「专业大脑」

从核心原理到跨平台实战,完整解析 AI 编程助手的 Skills 系统。涵盖 SKILL.md 机制、六大平台对比、实战编写指南与最佳实践。

什么是 Skills?

假设你招了一个 IQ 极高的新人,他学什么都快,但他不了解你的项目——不知道你的代码规范、不熟悉你的技术栈、更不清楚你团队的 Code Review 标准。每次分配任务,你都得从头说一遍。

Skills 就是你给这个"AI 新人"准备的工作手册

graph LR
    subgraph 没有Skills
        U1["开发者"] -- "每次重复说明规范" --> A1["AI 助手"]
        A1 -- "输出不稳定" --> R1["代码质量参差不齐"]
    end
graph LR
    subgraph 有了Skills
        U2["开发者"] -- "正常对话" --> A2["AI 助手"]
        S["Skills 工作手册"] -- "自动注入专业知识" --> A2
        A2 -- "标准化输出" --> R2["代码质量始终一致"]
    end

Skills 是 AI 编程助手的模块化能力扩展包——通过结构化的 Markdown 文件,将团队的编码规范、最佳实践、工作流程「一次编写,永久生效」地注入 AI 的工作上下文。它不改变 AI 的"智商",但极大提升了它的"专业度"。

为什么需要 Skills?

痛点 没有 Skills 有了 Skills
重复指令 每次对话都要重复"用 4 空格缩进""函数不超过 50 行" 写一次 Skills,永久自动遵守
输出不一致 同一个 Code Review 任务,每次给出不同的检查维度 严格按照 Skills 定义的清单审查
上下文遗忘 AI 不记得你的项目用 FastAPI + PostgreSQL Skills 自动注入项目技术栈上下文
团队协作 每个人的 AI 都要单独教育 Skills 随代码仓库共享,全团队一致
能力局限 AI 只有通用能力 Skills 可包含脚本和模板,扩展执行能力

Skills 核心机制:三层渐进式加载

以 Claude Code 的 SKILL.md 为代表,Anthropic 设计了一个优雅的"按需加载"架构。核心设计哲学是 "Token 就是金钱"——在保持功能丰富的同时,最大限度地节省上下文窗口资源。

graph TB
    subgraph 三层加载
        L1["Level 1:YAML Frontmatter"]
        L2["Level 2:SKILL.md 正文"]
        L3["Level 3:关联文件"]
        L1 -- "匹配用户请求?" --> L2
        L2 -- "需要执行脚本?" --> L3
    end
    style L1 fill:#4ade80,color:#000
    style L2 fill:#60a5fa,color:#000
    style L3 fill:#f472b6,color:#000

Level 1:YAML Frontmatter(始终驻留)

AI 启动时读取所有 Skills 的 namedescription,仅消耗极少 Token。这层的作用是快速判断"这个 Skill 跟当前任务有关吗"

---
name: code-review-assistant
description: 代码审查助手,从安全性、性能、类型安全、测试覆盖等维度审查代码
---

Level 2:SKILL.md 正文(按需加载)

当用户的请求与某个 Skill 的 description 匹配时,AI 才加载该 Skill 的完整指令。例如用户说"帮我审查这段代码",就会触发 code-review-assistant 的完整规则加载。

Level 3:关联文件(深度按需)

Skills 可以包含脚本、参考文档、模板等附属文件,只有在 SKILL.md 中被引用且确实需要时才会被读取

skills/
└── code-review/
    ├── SKILL.md           # 必需:核心指令
    ├── scripts/           # 可选:可执行脚本
    │   └── lint-check.sh
    ├── references/        # 可选:参考文档
    │   └── security-checklist.md
    └── assets/            # 可选:模板和资源
        └── report-template.md

与全量加载的区别:传统的自定义指令(如 .cursorrules)会在每次对话中全量注入所有内容。而 Skills 的三层机制让 AI 只在需要时才加载相关知识,就像图书馆里你只取走需要的那本书,而不是把整个图书馆搬回家。

SKILL.md 编写实战

标准结构

---
name: skill-name
description: 一句话描述这个 Skill 的用途和触发场景
---

# Skill 标题

何时使用此 Skill 的说明。

## 核心规则

### 1. 规则一
- 具体的检查项或操作步骤

### 2. 规则二
- ...

## 输出格式

定义 AI 的标准化输出模板。

## 示例

提供至少一个高质量的输入→输出示例。

实战案例一:代码审查助手

这是一个"检查清单型"Skill,将团队的 Code Review 标准系统化:

---
name: code-review-assistant
description: 代码审查助手,从安全性、性能、类型安全、测试覆盖等维度审查代码
---

# Code Review 助手

当用户要求审查代码或 review PR 时使用此技能。

## 审查维度

按以下顺序检查,输出结构化的审查意见:

### 1. 🔴 安全性(Critical)
- SQL 注入:是否使用参数化查询
- XSS:用户输入是否经过转义
- 认证/授权:API 端点是否有适当的权限检查
- 敏感信息:密钥、密码是否硬编码在代码中

### 2. 🟠 性能(High)
- N+1 查询:是否使用 joinedload/selectinload 避免
- 缓存:频繁查询是否利用 Redis 缓存
- 异步:IO 密集操作是否使用 async/await

### 3. 🟡 类型安全(Medium)
- 是否有 `any` 类型可以被更具体的类型替代
- 函数是否有类型注解

### 4. 🟢 代码质量(Low)
- 命名:变量和函数名是否清晰表达意图
- 函数长度:单个函数是否超过 50 行
- DRY:是否有可以复用的重复代码

## 输出格式

## Code Review Summary

### 🔴 Critical
- [文件:行号] 描述问题和修复建议

### 🟠 Suggestions
- [文件:行号] 描述优化建议

### 🟢 Good Practices
- 值得肯定的做法

### 📊 Overall
- 评分: X/10
- 建议: 通过 / 需修改后通过 / 需重新设计

这个 Skill 的设计精妙之处在于:优先级排序(安全 > 性能 > 类型 > 质量 > 测试)确保 AI 先关注最致命的问题;强制输出格式让每次 Code Review 的结果都可比较和追踪。

实战案例二:Git Commit 格式化器

这是一个"格式规范型"Skill,强制执行 Conventional Commits 规范:

---
name: git-commit-formatter
description: 按照 Conventional Commits 规范格式化 Git 提交信息,支持中英文
---

# Git Commit Formatter

当用户要求提交代码或生成 commit message 时,使用此技能。

## 提交格式

<type>(<scope>): <subject>

<body>

<footer>

## Type 类型

| Type | 说明 | 示例 |
|------|------|------|
| feat | 新功能 | feat(auth): 添加 JWT 刷新令牌 |
| fix | 修复 Bug | fix(api): 修复分页参数解析错误 |
| docs | 文档更新 | docs(readme): 更新部署指南 |
| refactor | 重构 | refactor(ai-service): 拆分模型选择逻辑 |
| perf | 性能优化 | perf(cache): 优化 Redis 缓存命中率 |
| test | 测试相关 | test(api): 添加用户注册集成测试 |
| chore | 构建/工具变更 | chore(deps): 升级 FastAPI 到 0.115 |

## 规则

1. subject 不超过 50 字符,使用祈使句
2. body 说明**为什么**做这个变更,而不是**做了什么**
3. 一次提交只做一件事

实战案例三:Docker 部署助手

这是一个"知识沉淀型"Skill,将项目容器化架构知识固化:

---
name: docker-deploy-assistant
description: Docker 部署助手,指导 Dockerfile 编写、docker-compose 编排和部署流程
---

# Docker 部署助手

当涉及 Docker 容器化、部署、环境编排相关任务时使用此技能。

## 项目容器架构

docker-compose.yml
├── backend    (FastAPI, Python 3.12, port 8001)
├── frontend   (Nginx + React build, port 5174)
├── db         (PostgreSQL, port 5432)
├── redis      (Redis, port 6379)
└── monitoring (Prometheus + Grafana, optional)

## 关键规则

1. **多阶段构建** — 减小镜像体积,分离构建和运行环境
2. **非 root 用户** — 生产镜像应使用非 root 用户运行
3. **健康检查** — 添加 HEALTHCHECK 指令监控容器状态
4. **环境变量** — 敏感信息通过 .env 或 Docker secrets 注入
5. **网络隔离** — 数据库和 Redis 只暴露给内部网络

这个 Skill 的价值在于:新人加入团队时,AI 自动获得项目的完整部署知识,不需要任何人手动传授。

六大平台 Skills 对比

2026 年初,所有主流 AI 编程助手都推出了各自的"Skills"实现。虽然叫法不同,核心思想一致——通过配置文件让 AI 更懂你的项目

概念族谱

graph TB
    Root["Skills(统称)"]
    Root --> A["SKILL.md"]
    Root --> B[".cursor/rules/*.mdc"]
    Root --> C["copilot-instructions.md"]
    Root --> D[".windsurfrules"]
    Root --> E["AGENTS.md"]
    Root --> F["Custom Instructions + GPTs"]
    A --> A1["Claude Code"]
    B --> B1["Cursor"]
    C --> C1["GitHub Copilot"]
    D --> D1["Windsurf"]
    E --> E1["GitHub / Gemini / OpenAI Codex / 多平台"]
    F --> F1["ChatGPT / OpenAI API"]

横向对比

维度 Claude (SKILL.md) Cursor (.mdc) GitHub Copilot OpenAI (Codex/GPTs) Windsurf Gemini
配置路径 .claude/skills/ .cursor/rules/ .github/ AGENTS.md / GPT Builder 项目根目录 .gemini/
文件格式 YAML + Markdown YAML + Markdown 纯 Markdown Markdown / GUI 配置 纯 Markdown 纯 Markdown
粒度 每技能一个文件夹 每规则一个文件 仓库级 + 路径级 仓库级 + GPT 级 全局 + 项目级 仓库级
脚本支持 ⚠️ GPTs 可附带文件
智能加载 ✅ 三层渐进 ✅ glob 匹配 ⚠️ 全量 ⚠️ 全量 ⚠️ 全量 ⚠️ 全量
作用域 按技能领域 按文件类型 按路径模式 用户级 / 仓库级 全局/项目 目录层级
跨平台 Claude 专属 Cursor 专属 Copilot 专属 OpenAI 专属 Windsurf 专属 Gemini 专属

各平台详解

Claude Code:SKILL.md + CLAUDE.md

Claude Code 的 Skills 系统是目前最成熟的实现。它提供两层配置:

  • CLAUDE.md:项目根目录的全局配置,定义编码规范、架构约定、技术栈信息
  • SKILL.md:模块化的能力扩展包,按任务领域组织在 .claude/skills/

独特优势:Skills 可以包含可执行脚本(scripts/ 目录),让 AI 不仅能"指导",更能"执行"。2026 年初的更新还支持了子代理(Subagent)、动态上下文注入和生命周期钩子。

Cursor:Project Rules (.mdc)

Cursor 从早期的单一 .cursorrules 文件,演进为 .cursor/rules/ 目录下的多规则系统:

# .cursor/rules/python-style.mdc
---
description: Python 代码风格规则
globs: ["**/*.py"]
---
- 使用 4 空格缩进
- 函数必须包含类型注解
- 使用 f-string 而非 .format()

独特优势:通过 globs 字段实现精细的文件类型匹配——Python 文件自动应用 Python 规则,TypeScript 文件应用 TS 规则。还可通过 /create-rule 命令快速创建。

GitHub Copilot:copilot-instructions.md + AGENTS.md

Copilot 提供了多层级的指令体系:

  • .github/copilot-instructions.md:仓库级全局指令
  • .github/instructions/*.instructions.md:路径级精细控制
  • AGENTS.md:定义自定义 Agent 角色(如 @docs-agent@test-agent

独特优势:支持组织级指令,可以在 GitHub 组织层面定义跨仓库共享的编码规范。/init 命令还能自动分析代码库并生成配置。

OpenAI:Custom Instructions + GPTs + Codex

OpenAI 在 Skills 领域构建了三层体系,覆盖从普通用户到专业开发者的全部场景:

① ChatGPT Custom Instructions(用户级)

ChatGPT 的自定义指令是最早的"Skills"雏形之一。用户可以在设置中定义持久化的偏好:

  • 背景信息:"我是一名 Python 后端工程师,主要使用 FastAPI 和 PostgreSQL"
  • 回复偏好:"回答要简洁,直接给代码,使用中文注释"

这些指令会自动注入每次对话,无需重复描述。虽然不如文件系统级的 Skills 灵活,但它是最低门槛的 AI 定制方式。

② GPTs(任务级 Skills)

GPTs 是 OpenAI 的"Skills 包"概念——用户可以创建针对特定任务的自定义 ChatGPT:

  • 通过 GPT Builder 无代码创建,指定 Instructions、Knowledge(知识库文件)和 Capabilities(工具权限)
  • 可发布到 GPT Store 供社区共享
  • 支持上传参考文档、API Schema,让 GPT 具备领域专业知识
  • 本质上就是"Skills + 模型 + 工具"的预封装产品

③ Codex Agent + AGENTS.md(开发者级)

OpenAI 的 Codex 是面向专业开发者的 AI 编码代理。Codex 原生支持 AGENTS.md 开放标准:

  • 在仓库根目录放置 AGENTS.md,Codex 自动读取项目结构、编码规范和构建命令
  • 支持在 monorepo 中嵌套放置 AGENTS.md,子项目获得独立的上下文指导
  • OpenAI 也是 AGENTS.md 开放标准的联合推动者之一

独特优势:OpenAI 的三层体系覆盖面最广——从"不写代码的产品经理用 GPTs"到"硬核开发者用 Codex + AGENTS.md",适应不同技术水平的用户。

Windsurf:.windsurfrules

Windsurf 通过 .windsurfrules 文件和 Cascade 系统深度集成:

  • 支持全局规则和项目级规则,项目级可覆盖全局
  • 与 Write Mode / Chat Mode / Turbo Mode 联动
  • 2026 年引入 Code Integrity Layer,在执行前扫描安全漏洞

AGENTS.md:新兴的跨平台开放标准

AGENTS.md 值得特别关注——它是一个不绑定任何厂商的开放标准

# AGENTS.md

## 项目概述
这是一个基于 FastAPI + React 的全栈 Web 应用。

## 构建步骤
- 后端:cd backend && pip install -r requirements.txt
- 前端:cd frontend && npm install && npm run build

## 编码规范
- Python 遵循 PEP 8
- 所有 API 端点必须有类型注解
- 测试覆盖率不低于 80%

## 注意事项
- 永远不要修改 alembic/versions/ 下的迁移文件
- 敏感配置通过环境变量注入

已被 GitHub Copilot、OpenAI Codex、Google Gemini、Claude Code 等多个平台同时支持。OpenAI 和 GitHub 是该标准的核心推动者。它的定位是 "README for AI Agents"——就像 README.md 是给人类读的项目说明,AGENTS.md 是给 AI 读的项目说明。

Skills 在 AI 定制体系中的位置

理解 Skills 的定位,需要看到 AI 编程助手的完整定制层级

graph TB
    subgraph 定制层级
        L1["System Prompt — 平台内置,开发者不可修改"]
        L2["Custom Instructions — 用户全局偏好(如:总是用中文回复)"]
        L3["Project Rules — 项目级约定(如:用 4 空格缩进)"]
        L4["Skills — 任务领域级专业能力(如:Code Review 规范)"]
        L5["MCP Tools — 与外部系统交互(如:调用数据库、GitHub API)"]
        L6["对话上下文 — 当前会话内容"]
    end
    L1 --> L2 --> L3 --> L4 --> L5 --> L6

Skills vs MCP:互补而非竞争

很多人会混淆 Skills 和 MCP(Model Context Protocol),两者是完全不同层次的概念:

维度 Skills MCP
本质 "知道怎么做"(知识和流程) "能够做什么"(工具和能力)
类比 员工手册 / SOP 文档 工具箱 / 设备
内容 指令、规范、模板、最佳实践 API 接口、数据库、文件系统
执行方式 指导 AI 的行为模式 让 AI 调用外部工具
协同方式 Skills 指导 AI 如何使用 MCP 工具 MCP 提供 Skills 中引用的具体能力

一句话总结:Skills 是 AI 的"大脑里的知识",MCP 是 AI 的"手里的工具"。一个完整的 AI 编程工作流需要两者的配合——Skills 告诉 AI "做代码审查时要检查 N+1 查询",MCP 让 AI 能够"真正连接数据库去验证查询性能"。

Skills vs 提示工程

Skills 也与提示工程(Prompt Engineering)有本质不同:

维度 提示工程 Skills
时效性 单次对话生效 持久化,跨会话生效
粒度 整段提示词 模块化,按需组合
维护方式 嵌入代码或手动输入 版本控制,团队共享
专业度 需要深入理解 LLM 写 Markdown 即可

编写 Skills 的最佳实践

六大核心原则

1. 单一职责

一个 Skill 只解决一个领域的问题。不要把 Code Review、Git Commit、部署流程塞进同一个文件。

2. 清晰的触发条件

在 SKILL.md 开头明确说明"什么时候用这个 Skill":

当用户要求审查代码、review PR、或检查代码质量时使用此技能。

3. 具体而非抽象

❌ "写出高质量的代码"

✅ "函数不超过 50 行,使用 4 空格缩进,所有公共方法必须有 docstring"

4. 提供输出模板

定义 AI 的结构化输出格式,确保每次输出可预测、可比较。

5. 至少一个完整示例

人类看文档需要示例,AI 也一样。一个高质量的输入→输出示例胜过十段规则描述。

6. 版本控制与迭代

Skills 应纳入 Git 仓库管理。根据实际使用反馈持续优化——如果 AI 经常忽略某条规则,说明规则写得不够清晰。

四种 Skill 设计模式

graph LR
    A["检查清单型"] --> A1["Code Review\n安全审计\nPR 审查"]
    B["知识沉淀型"] --> B1["项目架构\n部署流程\n技术栈文档"]
    C["格式规范型"] --> C1["Commit Message\n文档模板\nAPI 规范"]
    D["工作流型"] --> D1["CI/CD 流程\n发布流程\n迁移流程"]
模式 适用场景 核心特征
检查清单型 Code Review、安全审计 有优先级排序的检查项列表
知识沉淀型 项目架构、部署文档 固化团队知识,降低新人学习成本
格式规范型 Commit Message、API 设计 表格驱动,格式严格
工作流型 CI/CD、发布流程 多步骤有序操作

反模式(应避免)

  • 巨无霸 Skill:一个文件覆盖所有场景,导致 Token 浪费且指令冲突
  • 模糊描述description 写成"帮助编程",AI 无法判断何时触发
  • 缺少示例:纯规则无示例,AI 容易理解偏差
  • 没有输出格式:AI 每次输出格式不同,无法标准化流程
  • 职责重叠:多个 Skills 覆盖相同领域,导致指令冲突

企业级 Skills 架构

当团队规模扩大,Skills 的管理需要上升到架构层面:

1. 分层组织策略

项目根目录/
├── AGENTS.md              # 跨平台通用的项目上下文
├── CLAUDE.md              # Claude Code 全局配置
├── .github/
│   └── copilot-instructions.md  # GitHub Copilot 配置
├── .cursor/
│   └── rules/             # Cursor 规则目录
│       ├── python.mdc
│       └── typescript.mdc
└── .claude/
    └── skills/            # Claude Skills 目录
        ├── code-review/
        │   └── SKILL.md
        ├── git-commit/
        │   └── SKILL.md
        └── deploy/
            ├── SKILL.md
            └── scripts/
                └── deploy.sh

2. 多平台兼容策略

如果团队成员使用不同的 AI 工具,可以采用 AGENTS.md 为公共层 + 各平台专有配置 的策略:

  • AGENTS.md 定义所有工具通用的项目上下文和编码规范(OpenAI Codex、GitHub Copilot、Gemini 等均支持)
  • 各平台特有的配置文件定义工具专属的高级功能
  • 通过 Git 版本控制确保全团队同步

3. 团队 Skills 治理

  • 定期审计:每季度审查 Skills 的有效性,删除过时规则
  • 使用 metrics:跟踪 Skills 的触发频次和输出质量
  • 分级管理:核心规则(安全相关)由 Tech Lead 审批,一般规则由团队成员自主维护

发展趋势与展望

2025-2026 关键演进

timeline
    title Skills 系统演进时间线
    2024 : .cursorrules 单文件 : 最早的自定义指令实现
    2025 Q1 : CLAUDE.md + copilot-instructions.md : 多平台开始支持项目级配置
    2025 Q2 : ChatGPT Custom Instructions + GPTs 成熟 : OpenAI 建立三层定制体系
    2025 Q3 : SKILL.md 发布 : Anthropic 推出模块化 Skills 系统
    2025 Q4 : AGENTS.md 标准 : OpenAI 和 GitHub 联合推动跨平台开放标准
    2026 Q1 : Agent Skills 2.0 : 子代理、动态注入、跨平台兼容

未来形态

  1. 标准化融合AGENTS.md 正在成为跨平台事实标准,未来可能出现类似 MCP 的统一 Skills 协议
  2. 从指令到执行:Skills 从纯文本指令进化为可包含脚本、MCP 工具引用和自动化流程的完整执行包
  3. AI 自生成 Skills:AI 可以从开发者的工作模式中自动提炼和生成 Skills,形成"越用越聪明"的正向循环
  4. Skills 市场:类似 VS Code 扩展市场和 OpenAI GPT Store,社区驱动的 Skills 共享平台正在兴起
  5. 与 MCP 深度整合:Skills 作为 MCP 工具的"使用说明书",两者协同构建完整的 AI 开发生态
graph LR
    subgraph 未来的AI开发者工作台
        Brain["AI 模型(大脑)"]
        MCP["MCP 工具(双手)"]
        Skills["Skills(专业知识)"]
        Context["对话上下文(当前任务)"]
        Brain --- Skills
        Brain --- MCP
        Brain --- Context
        Skills --- S1["团队共享"]
        Skills --- S2["个人偏好"]
        Skills --- S3["社区最佳实践"]
    end

常见问题

  • Skills 和 System Prompt 有什么区别? System Prompt 是平台内置的、开发者无法修改的底层指令。Skills 是开发者自定义的、针对特定任务领域的专业知识扩展。
  • 使用 Skills 会消耗额外的 Token 吗? 是的,Skills 的内容会被注入到 AI 的上下文窗口中,占用 Token 额度。但三层渐进式加载机制确保只有相关的 Skills 才会被加载,最大限度减少浪费。
  • 如何选择该用 Skills 还是 MCP? 如果你需要教 AI 怎么做事(规范、流程、模板),用 Skills;如果你需要让 AI 连接外部系统(API、数据库、文件系统),用 MCP。两者是互补关系。
  • Skills 可以跨平台通用吗? 目前大部分 Skills 格式是平台专属的。但 AGENTS.md 作为开放标准已被 OpenAI、GitHub、Google、Anthropic 等多平台支持,是目前最好的跨平台方案。
  • OpenAI 的 GPTs 算不算 Skills? GPTs 本质上是"Skills + 模型 + 工具"的预封装产品。它将 Instructions(指令)、Knowledge(知识库)和 Capabilities(工具权限)打包在一起,可以看作更高级的 Skills 表现形式。
  • 一个项目应该有多少个 Skills? 没有固定数量。遵循"单一职责"原则,每个 Skill 解决一个具体领域的问题。通常 3-8 个 Skills 即可覆盖一个中型项目的主要需求。

相关文章

优先推荐同标签内容,其次补充最新文章。

拒绝榜单刷分:如何构筑契合业务的 LLM 评估体系

不再迷恋堆砌代码,建立大模型评估思维才是核心。本文深度剖析 LLM-as-a-Judge 的底层偏差、Ragas 算分的数学机制,以及如何用概率思维重塑 CI/CD 防线。

大模型量化实战手册:从零开始,四条路线全覆盖

告别理论焦虑,手把手教你量化大模型。从直接下载预量化模型,到自己用 AWQ/GPTQ/GGUF 动手压缩权重,再到 vLLM FP8 零校准生产部署和 QLoRA 微调——四条路线,每条都有可直接复制的完整代码和命令。

AI 关键技术的历史抉择:为什么每次都选了「那一个」?

回顾 AI 七十年发展史上的六次关键技术岔路口,剖析每一次「历史选择」背后的算力约束、数据红利与可扩展性逻辑。

← 上一篇 大模型提示工程实践指南 下一篇 → MCP 协议深度解析:AI 的「USB-C 接口」
← 返回文章列表