Anthropic 开源了 Claude 的 Agent Skills 仓库:文档技能的底层实现全公开了
一句话摘要: Anthropic 把 Claude.ai 内置文档创建功能的底层实现开源了(document skills),同时附带大量 Apache 2.0 的通用技能,任何开发者都可以借鉴。
背景:什么是 Agent Skills?
如果你最近在用 Claude.ai,可能注意到它能直接创建 .docx、.pdf、.pptx、.xlsx 文件,格式完整,排版规范。
这背后的机制叫 Agent Skills:一种让 AI Agent 动态加载专项能力的架构。
和 MCP(Model Context Protocol)不同,Skills 的重点不是"连接外部工具",而是"教会 AI 如何完成特定任务"。具体来说:
- MCP:我需要连接 Notion → 告诉 AI Notion 的 API
- Skills:我需要创建 Word 文档 → 告诉 AI 怎么用
docx.js生成符合规范的.docx文件
anthropics/skills 仓库里有什么?
仓库地址:github.com/anthropics/...
1. 四个文档技能(Source-Available)
这四个技能是 Claude.ai 文档功能的实际底层实现,Anthropic 以"参考开放"形式发布:
| 技能 | 功能 | 主要依赖 |
|---|---|---|
skills/docx |
Word 文档创建/编辑/分析 | docx(npm)、pandoc、LibreOffice |
skills/pdf |
PDF 创建与处理 | pandoc、pdftoppm |
skills/pptx |
PowerPoint 创建 | pptxgenjs |
skills/xlsx |
Excel 创建与数据处理 | xlsx(SheetJS) |
2. 开源技能集(Apache 2.0)
- 创意类:艺术生成、音乐创作、设计输出
- 技术类:Web 应用测试、MCP Server 自动生成
- 企业类:内部沟通模板、品牌规范执行
深入看:docx skill 的实现思路
以最常用的 docx 技能为例,来看看 Anthropic 怎么教 Claude 创建 Word 文档。
核心工作流
objectivec
用户请求 → 触发 SKILL.md → AI 执行脚本 → 生成文件 → 验证 → 返回
技术栈选择
用 docx(npm 包)而不是直接拼 XML,原因很实在:
javascript
const { Document, Packer, Paragraph, TextRun, Table,
TableRow, TableCell, ImageRun, Header, Footer,
TableOfContents, HeadingLevel } = require('docx');
const doc = new Document({
sections: [{
children: [/* 内容节点 */]
}]
});
Packer.toBuffer(doc).then(buffer =>
fs.writeFileSync("output.docx", buffer)
);
一个容易踩的坑
docx-js 默认页面尺寸是 A4,不是美式 Letter。需要显式设置:
javascript
sections: [{
properties: {
page: {
size: {
width: 12240, // 8.5 inches in DXA (twips)
height: 15840 // 11 inches in DXA
}
}
}
}]
验证机制
生成完不算完,还有一个验证步骤:
bash
python scripts/office/validate.py doc.docx
如果验证失败,会解包 XML → 修复 → 重新打包。这种"生成-验证-修复"循环是生产级可靠性的保障。
SKILL.md:Agent Skills 的核心
每个 Skill 的入口是一个 SKILL.md 文件,它告诉 AI:
- 什么时候使用这个技能(触发条件)
- 有哪些工具和脚本可用
- 标准工作流程是什么
以 docx 技能的描述为例:
yaml
name: docx
description: |
Use this skill whenever the user wants to create, read, edit, or
manipulate Word documents (.docx files).
Triggers: 'Word doc', 'word document', '.docx', professional documents
with formatting like tables of contents, headings, page numbers, letterheads.
Do NOT use for PDFs, spreadsheets, or Google Docs.
license: Proprietary
触发条件写得很精确,避免误触发。这是 Skills 设计的一个要点:精准路由,不是越宽越好。
和 OpenClaw Skills 的关系
OpenClaw 使用了同一个 AgentSkills 标准(参见 agentskills.io),文件结构完全相同:
bash
skill-name/
├── SKILL.md # 技能描述和工作流
├── scripts/ # 可执行脚本
├── references/ # 参考文档
└── README.md # 可选
这意味着:
anthropics/skills里的技能设计思路可以直接借鉴到 OpenClaw- 特别是验证机制 和错误恢复流程的设计
- 触发条件的精确描述方式也值得学习
为什么这个仓库值得关注?
1. 生产级实现,不是 Demo
这是 Claude.ai 实际在用的代码。不是教程里随手写的 demo,是处理了真实用户各种奇葩需求之后沉淀出来的实现。
2. 技能标准正在成熟
AgentSkills 标准从 Anthropic 内部走向开放,意味着:
- AI 生态的"技能市场"有了统一格式
- 技能可以跨平台复用(Claude、OpenClaw、未来其他 Agent)
- 社区可以形成技能库(类似 npm 之于 Node.js)
3. 文档类任务是 AI Agent 的高频需求
需求报告、周报、提案......这些任务天天都有。有了标准化的文档生成技能,AI Agent 在办公自动化场景的能力上了一个台阶。
如何上手?
看代码
bash
git clone https://github.com/anthropics/skills.git
ls skills/skills/
# docx pdf pptx xlsx ...
在 OpenClaw 里复用设计思路
如果你在维护自己的 OpenClaw Skills,建议参考:
docx/SKILL.md的触发条件写法docx/scripts/validate.py的验证-修复模式- 整体的"脚本 + 描述文件"分离结构
总结
anthropics/skills 不是一个炫技项目,是一个工程参考:
- 文档技能的实际实现(Source-Available)
- Agent Skills 标准的最权威示例
- 生产环境的验证机制和错误处理
如果你在做 AI Agent 的技能开发,这个仓库应该加入书签。
仓库地址:github.com/anthropics/...
AgentSkills 标准:agentskills.io
Claude 文档功能博客:anthropic.com/engineering...