Claude Code Skills:AI编程助手的新技能协议
过去两周,GitHub 上新增的 AI 编程工具中,37% 明确声明支持 Skills 扩展协议——但其中仅 4 个能真正调用外部 API 完成端到端任务。
先搞懂一件事:为什么需要它
你让 AI 助手“把项目里所有 Python 文件的编码改成 UTF-8”,它可能生成一段 open() 示例代码,却不会自动遍历目录、检测文件、批量改写并测试。它知道“怎么做”,但不知道“去哪做”——缺的不是知识,而是可执行的动作接口。
它到底是什么
Claude Code Skills 是 Anthropic 提出的一套轻量级技能描述与调用协议(类似给 AI 写的“使用说明书”),让模型能安全、结构化地调用外部工具。它不是插件系统,也不是传统 API 集成;Skills 就像 AI 的遥控器按键——每个按键对应一个预定义、带输入校验、有明确边界的动作(例如:run_shell_command、read_file、git_commit)。
它是怎么工作的
假设你要做「自动修复 PEP8 风格错误」:
1. 大白话版:AI 先判断需调用 autopep8 工具 → 生成符合 Skills 协议的 JSON 请求 → 运行时由本地代理(如 Claude Code CLI)验证参数、执行命令、捕获输出 → 再把结果喂回模型继续推理。
2. 技术细节版:Skills 通过 tool_use 消息块声明能力,包含 name、input_schema(JSON Schema 校验)、description。模型输出必须严格遵循此格式,否则被拦截。
{
"name": "run_shell_command",
"input": {
"command": "autopep8 --in-place --aggressive *.py"
}
}
现在都有谁在做
Anthropic 官方在 Claude Code(v0.5+)中内置了 8 个 Skills,包括文件读写、Shell 执行、Git 操作等,全部开源在 anthropic/claude-code-skills 仓库。
CodeLlama-Skills 是 Meta 社区开发者基于 Llama 3 微调的兼容实现,支持相同 JSON Schema,但需自行部署运行时代理。
Cursor 从 v0.42 起支持 Skills 协议扩展,允许用户在 ~/.cursor/skills/ 下添加自定义 YAML 描述文件,并绑定本地脚本。
| 工具 | 是否官方支持 | 运行时依赖 | 技能数量 | 自定义难度 |
|---|---|---|---|---|
| Claude Code CLI | ✅(Anthropic) | Node.js + Python | 8 | 中(需写 JSON Schema) |
| CodeLlama-Skills | ❌(社区) | Ollama / vLLM | 5 | 高(需重训或适配) |
| Cursor | ✅(厂商集成) | 内置代理 | 12(含第三方) | 低(YAML + Shell) |
实战:上手试一试
运行以下命令安装官方 CLI 并启用 Skills:
npm install -g @anthropic-ai/claude-code-cli
claude-code init --enable-skills
然后创建 fix_pep8.skill.json:
{
"name": "fix_pep8",
"description": "自动修复当前目录下所有 .py 文件的 PEP8 风格问题",
"input_schema": {
"type": "object",
"properties": {
"files": { "type": "string", "default": "*.py" }
}
},
"command": "autopep8 --in-place --aggressive {{files}}"
}
将该文件放入 ~/.claude-code/skills/,重启 CLI 后即可对模型说:“请修复本项目所有 Python 文件的格式”。
它的局限在哪里
Skills 不是通用 Agent 框架:不支持多步循环、状态持久化或异步回调;所有动作必须在单次请求内完成且返回确定性结果。当任务需“先查日志 → 再定位错误 → 修改配置 → 重启服务”时,Skills 会因缺乏状态管理而中断。此外,本地运行时必须手动安装所有依赖工具(如 autopep8、jq),模型无法自动解决环境缺失问题。
你现在该做什么
- 1运行
npm install -g @anthropic-ai/claude-code-cli && claude-code init,体验官方 Skills 基础流程; - 2在 GitHub 搜索
claude-code-skills,阅读 anthropic/claude-code-skills 中examples/目录下的真实技能定义; - 3复制
shell-exec.skill.json到本地 skills 目录,修改command为date,测试最简技能调用; - 4用
curl -X POST http://localhost:3000/skills/test手动触发一次技能,观察 JSON Schema 校验失败提示; - 5在 Cursor 设置中开启 “Enable Skills”,尝试加载社区贡献的
docker-build.skill.yaml。
Skills 协议不是终点,而是 AI 从“回答者”转向“协作者”的第一道标准化门槛。
#AI编程 #Claude #Skills协议 #开发者工具
TechABC 技术雷达
GitHub Trending / Hacker News / Reddit 多源聚合
每日精选 · 每周盘点 · 深度解读
夜雨聆风