Anthropic Skills 中文文档
首页
使用指南
技能列表
  • 🎨 创意与设计
  • 💻 开发与技术
  • 🏢 企业与沟通
  • 📄 文档处理
  • 🔧 元技能
  • GitHub 仓库
  • Claude 官网
  • Skills 官方文档
GitHub
首页
使用指南
技能列表
  • 🎨 创意与设计
  • 💻 开发与技术
  • 🏢 企业与沟通
  • 📄 文档处理
  • 🔧 元技能
  • GitHub 仓库
  • Claude 官网
  • Skills 官方文档
GitHub
  • 技能列表
  • 🎨 创意与设计

    • 🎨 算法艺术生成

      • 📋 概览
      • 📖 完整指南
    • 🖼️ 画布设计

      • 📋 概览
      • 📖 完整指南
    • 🎬 Slack GIF 创建器

      • 📋 概览
      • 📖 完整指南
    • 🎨 主题工厂

      • 📋 概览
      • 📖 完整指南
  • 💻 开发与技术

    • 🎨 Web 组件构建器

      • 📋 概览
      • 📖 完整指南
    • 📦 MCP 服务器构建器

      • 📋 概览
      • 📖 完整指南
    • 🧪 Web 应用测试工具

      • 📋 概览
      • 📖 完整指南
  • 🏢 企业与沟通

    • 🎨 品牌指南

      • 📋 概览
      • 📖 完整指南
    • 📢 企业内部沟通

      • 📋 概览
      • 📖 完整指南
    • 💎 前端设计

      • 📋 概览
      • 📖 完整指南
  • 📄 文档处理

    • 📘 Word 文档处理

      • 📋 概览
      • 📖 完整指南
    • 📕 PDF 文档处理

      • 📋 概览
      • 📖 完整指南
    • 📙 PowerPoint 演示文稿处理

      • 📋 概览
      • 📖 完整指南
    • 📗 Excel 表格处理

      • 📋 概览
      • 📖 完整指南
  • 🔧 元技能

    • 🛠️ Skill 创建器

      • 📋 概览
      • 📖 完整指南
    • 📝 Skill 模板

      • 📋 概览
      • 📖 完整参考

Skill Creator 完整指南

本文档包含创建专业 Skills 的完整流程、高级设计模式和实战技巧。如果您是初次接触,建议先阅读 📋 概览。

  • Skill 深度解析
    • Skill 的本质
    • Skill 的价值主张
  • 设计原则深度解析
    • 原则 1:上下文窗口经济学
    • 原则 2:自由度的艺术
    • 原则 3:渐进式披露实战
  • 6 步创建流程详解
    • 步骤 1:理解具体示例(深度版)
    • 步骤 2:规划可复用内容(深度版)
    • 步骤 3-5:实现与打包(深度版)
    • 步骤 6:迭代(深度版)
  • 高级设计模式
    • 模式 1:多框架支持
    • 模式 2:工作流程链
    • 模式 3:条件参考加载
  • 质量检查清单
    • 级别 1:基本合规
    • 级别 2:内容质量
    • 级别 3:设计优化
    • 级别 4:用户体验
  • 故障排除
    • 问题 1:Skill 未触发
    • 问题 2:加载不必要的上下文
    • 问题 3:脚本执行失败

Skill 深度解析

Skill 的本质

Skill = 入职指南

把 Skill 想象成新员工入职培训:

  • 通用培训(AI 的基础能力):基本语法、常识、通用算法
  • 岗位培训(Skill):特定流程、公司架构、领域知识

关键洞察:模型已经"很聪明",Skill 只需提供模型无法自行推理的程序性知识。

Skill 的价值主张

场景无 Skill有 Skill
PDF 旋转每次重写旋转代码调用 scripts/rotate_pdf.py
BigQuery 查询每次猜测表结构参考 references/schema.md
品牌应用每次询问品牌色使用 assets/logo.png + 色彩变量
内部沟通每次重新格式化遵循 references/templates.md

结果:更快、更一致、更可靠。


设计原则深度解析

原则 1:上下文窗口经济学

问题:上下文窗口是有限资源

解决:渐进式披露 + 最小必要信息

三级加载系统

┌─────────────────────────────────────┐
│ 级别 1: 元数据 (始终加载)          │
│ ─────────────────────────────────   │
│ name: pdf-editor                    │
│ description: 编辑、旋转 PDF...      │
│ (~100 token)                        │
└─────────────────────────────────────┘
            ↓ (仅当触发时)
┌─────────────────────────────────────┐
│ 级别 2: SKILL.md 正文               │
│ ─────────────────────────────────   │
│ # PDF Editor                        │
│ ## 快速开始                         │
│ python scripts/rotate_pdf.py...     │
│ (~2000 token)                       │
└─────────────────────────────────────┘
            ↓ (仅当 AI 判断需要时)
┌─────────────────────────────────────┐
│ 级别 3: 打包资源                    │
│ ─────────────────────────────────   │
│ references/FORMS.md                 │
│ references/ADVANCED.md              │
│ scripts/rotate_pdf.py (可能不加载)  │
│ (无限制)                            │
└─────────────────────────────────────┘

最小必要信息原则

反面教材:

# PDF Editor

## 关于 PDF

PDF(Portable Document Format)是由 Adobe 在 1993 年发明的文件格式...
[500 字关于 PDF 历史]

## 关于 PyPDF2

PyPDF2 是一个 Python 库,用于读取和操作 PDF 文件...
[300 字关于库的介绍]

## 安装

首先安装依赖...

Token 成本: ~1000 token,但 AI 已经知道这些!

正确做法:

# PDF Editor

旋转 PDF:
\`\`\`bash
python scripts/rotate_pdf.py input.pdf --angle 90
\`\`\`

合并 PDF:
\`\`\`bash
python scripts/merge_pdfs.py file1.pdf file2.pdf output.pdf
\`\`\`

**高级功能**: 参见 [ADVANCED.md](references/ADVANCED.md)

Token 成本: ~100 token,直击要点。


原则 2:自由度的艺术

自由度光谱

低自由度 ←───────────────────→ 高自由度
(脚本)                        (文本指令)

├─────────┼─────────┼─────────┤
具体脚本   伪代码     启发式指导

何时使用低自由度(脚本)

特征:

  • 操作脆弱(容易出错)
  • 一致性关键
  • 重复执行

示例:

# scripts/rotate_pdf.py
def rotate_pdf(input_path, output_path, angle):
    # 精确的旋转逻辑
    # 错误处理
    # 边缘情况处理

为什么不用文本指令:

  • AI 可能遗漏边缘情况
  • 不同实例可能实现不同
  • 调试困难

何时使用中自由度(伪代码 + 参数)

特征:

  • 存在首选模式
  • 允许一定变化
  • 配置影响行为

示例:

## 数据分析流程

\`\`\`python
# 伪代码
data = load_data(source)
data = clean_data(data, remove_nulls=True, deduplicate=True)
insights = analyze(data, method='statistical')  # 或 'ml'
report = generate_report(insights, format='markdown')  # 或 'html'
\`\`\`

**参数说明**:
- `method`: 'statistical' 用于简单分析,'ml' 用于复杂模式
- `format`: 根据受众选择(技术受众用 markdown)

何时使用高自由度(文本指令)

特征:

  • 多种方法有效
  • 决策依赖上下文
  • 启发式指导

示例:

## 撰写内部沟通

### 语气选择

根据受众调整语气:
- **工程团队**: 技术细节、精确性、代码示例
- **高管**: 业务影响、ROI、简洁摘要
- **全体员工**: 积极向上、包容性、故事化

### 结构建议

使用倒金字塔:
1. 最重要信息在前(便于扫描)
2. 支持细节在中
3. 背景信息在后

原则 3:渐进式披露实战

反模式:扁平结构

# BigQuery Skill

## 财务表
[3000 字关于 revenue、billing 表]

## 销售表
[2000 字关于 opportunities、pipeline 表]

## 产品表
[2500 字关于 usage、features 表]

## 营销表
[2000 字关于 campaigns 表]

问题:

  • 用户问销售问题,加载了 9500 字
  • 只需要 2000 字,浪费 7500 token

正确模式:分层结构

bigquery-skill/
├── SKILL.md
└── references/
    ├── finance.md    (财务表详情)
    ├── sales.md      (销售表详情)
    ├── product.md    (产品表详情)
    └── marketing.md  (营销表详情)

SKILL.md (导航层):

# BigQuery Skill

## 领域选择

根据查询类型选择参考文档:

- **财务指标** (revenue, billing) → [finance.md](references/finance.md)
- **销售数据** (opportunities, pipeline) → [sales.md](references/sales.md)
- **产品使用** (API calls, features) → [product.md](references/product.md)
- **营销归因** (campaigns, conversions) → [marketing.md](references/marketing.md)

## 快速查询模板

\`\`\`sql
-- 今日活跃用户
SELECT COUNT(DISTINCT user_id) 
FROM events 
WHERE DATE(timestamp) = CURRENT_DATE()
\`\`\`

结果:

  • 销售查询 → 只加载 SKILL.md (200 字) + sales.md (2000 字)
  • 节省 7300 token

6 步创建流程详解

步骤 1:理解具体示例(深度版)

为什么需要具体示例?

错误起点:

用户:"我需要一个 PDF 编辑器 skill"
AI:"好的,我会创建..."

问题:太模糊!"PDF 编辑器"可能意味着:

  • 简单旋转?
  • 复杂表单填充?
  • OCR 文字识别?
  • 数字签名?

正确起点:

AI:"能给我一些具体示例吗?你会如何使用这个 skill?"

用户:
"示例 1: 我有扫描的文档倒置了,需要旋转 180 度"
"示例 2: 我需要合并多个报告 PDF 成一个文件"
"示例 3: 我需要从大文档中提取特定页面"

AI:"明白了!主要是旋转、合并、提取页面。不需要表单填充或 OCR?"

用户:"对,暂时不需要"

收集示例的技巧

问题层级:

  1. 功能层:"skill 应该支持什么功能?"
  2. 场景层:"能给一些使用场景吗?"
  3. 触发层:"用户会怎么说来触发这个 skill?"
  4. 边界层:"有什么是 不 应该包含的?"

示例对话:

AI:"这个图像编辑 skill 应该支持什么功能?"
用户:"编辑、旋转、调整大小"

AI:"'编辑'包含哪些具体操作?"
用户:"去除红眼、调整亮度、裁剪"

AI:"用户可能怎么说?给我一些例子"
用户:
- "移除这张照片的红眼"
- "把这张图片旋转 90 度"
- "将图片尺寸调整为 800x600"

AI:"滤镜效果(如黑白、复古)应该包含吗?"
用户:"不,那太复杂了。专注基本编辑"

步骤 2:规划可复用内容(深度版)

分析框架

对每个示例问:

  1. 执行复杂度:从零开始需要多少步骤?
  2. 重复性:会经常执行吗?
  3. 确定性需求:必须完全一致吗?
  4. 上下文依赖:需要领域知识吗?

决策矩阵

特征解决方案放在哪里
重复代码脚本scripts/
领域知识文档references/
样板文件模板assets/
简单指令文本SKILL.md

实战案例分析

案例 1:前端应用构建器

示例:

"创建一个待办事项应用"
"构建一个仪表板追踪我的步数"
"做一个天气应用"

分析:

  1. 执行复杂度:中等(需要 HTML/React 样板)
  2. 重复性:高(每个应用都需要相同样板)
  3. 确定性需求:中等(结构相似但内容不同)
  4. 上下文依赖:低

决策:

assets/
├── react-template/
│   ├── package.json
│   ├── index.html
│   ├── App.jsx
│   └── main.jsx
└── html-template/
    ├── index.html
    └── styles.css

案例 2:BigQuery 数据查询

示例:

"今天有多少用户登录了?"
"上周的收入是多少?"
"哪些功能使用最频繁?"

分析:

  1. 执行复杂度:低(SQL 查询简单)
  2. 重复性:高(经常查询)
  3. 确定性需求:低(查询可变化)
  4. 上下文依赖:高(必须知道表结构)

决策:

references/
├── schema.md         # 表结构、关系
├── common-queries.md # 常见查询模板
└── metrics.md        # 指标定义

案例 3:PDF 旋转

示例:

"旋转这个 PDF 90 度"
"把倒置的扫描文档转正"

分析:

  1. 执行复杂度:中等(需要库、错误处理)
  2. 重复性:高
  3. 确定性需求:高(必须精确旋转)
  4. 上下文依赖:低

决策:

scripts/
└── rotate_pdf.py    # 确定性脚本

步骤 3-5:实现与打包(深度版)

脚本编写最佳实践

1. 清晰的参数处理

#!/usr/bin/env python3
"""
旋转 PDF 文件

Usage:
    rotate_pdf.py <input> <output> --angle <90|180|270>
    rotate_pdf.py <input> <output> -a <angle>
"""
import argparse
from PyPDF2 import PdfReader, PdfWriter

def main():
    parser = argparse.ArgumentParser(description='旋转 PDF 文件')
    parser.add_argument('input', help='输入 PDF 路径')
    parser.add_argument('output', help='输出 PDF 路径')
    parser.add_argument('-a', '--angle', type=int, required=True,
                       choices=[90, 180, 270],
                       help='旋转角度 (90, 180, 或 270)')
    
    args = parser.parse_args()
    rotate_pdf(args.input, args.output, args.angle)

def rotate_pdf(input_path, output_path, angle):
    try:
        reader = PdfReader(input_path)
        writer = PdfWriter()
        
        for page in reader.pages:
            page.rotate(angle)
            writer.add_page(page)
        
        with open(output_path, 'wb') as f:
            writer.write(f)
        
        print(f"✓ 成功旋转 {len(reader.pages)} 页 ({angle}°)")
        print(f"✓ 已保存: {output_path}")
    
    except FileNotFoundError:
        print(f"✗ 错误: 找不到文件 {input_path}")
        exit(1)
    except Exception as e:
        print(f"✗ 错误: {str(e)}")
        exit(1)

if __name__ == '__main__':
    main()

2. 测试脚本

# 创建测试 PDF
echo "测试" | enscript -B -o - | ps2pdf - test.pdf

# 测试旋转
python scripts/rotate_pdf.py test.pdf output.pdf --angle 90

# 验证输出
ls -lh output.pdf  # 应该存在

SKILL.md 编写技巧

1. description 的完整性

❌ 不完整:

description: Edit PDF files.

问题:

  • 没说支持什么操作
  • 没说何时触发
  • 太模糊

✅ 完整:

description: >
  Edit, rotate, merge, and extract pages from PDF files using PyPDF2. 
  Use this skill when working with PDF documents for:
  (1) Rotating pages (90/180/270 degrees),
  (2) Merging multiple PDFs into one file,
  (3) Extracting specific pages from a document,
  (4) Analyzing PDF structure and metadata.
  Do NOT use for OCR, form filling, or digital signatures.

包含:

  • 做什么(Edit, rotate, merge, extract)
  • 何时使用(4 个具体场景)
  • 不做什么(明确边界)

2. 正文的清晰性

结构模板:

# [Skill Name]

## 快速开始
[最简单 80% 场景的示例]

## 核心功能
### 功能 1
[说明 + 示例]

### 功能 2
[说明 + 示例]

## 高级功能
[链接到 references/]

## 常见问题
[FAQ]

步骤 6:迭代(深度版)

迭代触发点

何时迭代:

  1. 使用中发现低效:"每次都要手动查找表名"
  2. 用户反馈:"能不能支持批量旋转?"
  3. 边缘情况:"遇到加密 PDF 就失败了"
  4. 新需求:"现在也需要 OCR 功能"

迭代模式

模式 1:扩展脚本

# 原始版本
def rotate_pdf(input_path, output_path, angle):
    # 基本旋转

# 迭代后
def rotate_pdf(input_path, output_path, angle, 
               pages=None,        # 新增:仅旋转特定页
               preserve_links=True):  # 新增:保留链接
    # 增强功能

模式 2:拆分 references

# 原始结构
references/
└── all-in-one.md (5000 行)

# 迭代后
references/
├── basic.md     (常用功能)
├── advanced.md  (高级功能)
└── api-ref.md   (完整 API)

模式 3:添加示例

# 原始版本
## 合并 PDF
使用 merge_pdfs.py 合并文件。

# 迭代后
## 合并 PDF

### 基本合并
\`\`\`bash
python scripts/merge_pdfs.py file1.pdf file2.pdf output.pdf
\`\`\`

### 高级:选择性合并页面
\`\`\`bash
# 合并 file1 的第 1-3 页和 file2 的第 5 页
python scripts/merge_pdfs.py \\
  file1.pdf:1-3 \\
  file2.pdf:5 \\
  output.pdf
\`\`\`

高级设计模式

模式 1:多框架支持

场景:Skill 支持多个框架(AWS/GCP/Azure、React/Vue等)

反模式:所有框架混在一起

# Cloud Deploy

## AWS 部署
[3000 字 AWS 详情]

## GCP 部署
[2500 字 GCP 详情]

## Azure 部署
[2800 字 Azure 详情]

问题:用户选 AWS,加载了 8300 字,只需要 3000 字。

正确模式:按框架分离

cloud-deploy/
├── SKILL.md (框架选择 + 通用流程)
└── references/
    ├── aws.md
    ├── gcp.md
    └── azure.md

SKILL.md:

# Cloud Deploy

## 选择云提供商

根据项目需求选择:
- **AWS** → [aws.md](references/aws.md)
- **GCP** → [gcp.md](references/gcp.md)
- **Azure** → [azure.md](references/azure.md)

## 通用部署流程

1. 配置环境变量
2. 构建应用
3. 推送到云平台
4. 验证部署

具体步骤参见各平台文档。

模式 2:工作流程链

场景:复杂多步骤流程,每步可能失败

模式:检查点 + 状态管理

# Data Pipeline

## 流程概览

数据管道包含 5 个阶段:

1. **提取** (Extract) → 运行 `scripts/extract.py`
2. **清洗** (Clean) → 运行 `scripts/clean.py`
3. **转换** (Transform) → 运行 `scripts/transform.py`
4. **验证** (Validate) → 运行 `scripts/validate.py`
5. **加载** (Load) → 运行 `scripts/load.py`

## 状态管理

每个脚本会创建检查点文件:

\`\`\`
.pipeline/
├── extract.done      # 提取完成标记
├── clean.done        # 清洗完成标记
├── transform.done    # 转换完成标记
└── validate.done     # 验证完成标记
\`\`\`

## 错误恢复

如果某步失败:

1. 查看错误日志:`logs/<step>.log`
2. 修复问题
3. 从失败步骤重新开始:`python scripts/<step>.py --resume`

不需要从头运行整个管道。

模式 3:条件参考加载

场景:某些功能仅在特定条件下需要

模式:条件触发器

# DOCX Processing

## 创建文档
[基本创建流程]

## 编辑文档

### 简单编辑
直接修改 XML:
\`\`\`python
# 示例代码
\`\`\`

### 复杂场景

**需要追踪更改?** → 参见 [TRACK-CHANGES.md](references/TRACK-CHANGES.md)  
**需要样式继承?** → 参见 [STYLES.md](references/STYLES.md)  
**需要表格操作?** → 参见 [TABLES.md](references/TABLES.md)

仅在需要时加载相应文档。

质量检查清单

级别 1:基本合规

  • [ ] name 字段存在且符合命名规范
  • [ ] description 字段存在且完整
  • [ ] SKILL.md 文件结构正确
  • [ ] 引用的文件都存在

级别 2:内容质量

  • [ ] description 包含"做什么"和"何时使用"
  • [ ] SKILL.md <500 行(或有充分理由)
  • [ ] 无重复信息(信息只在一处)
  • [ ] 使用祈使句/不定式
  • [ ] 示例优于解释

级别 3:设计优化

  • [ ] 采用渐进式披露
  • [ ] 自由度设置恰当
  • [ ] 脚本已测试可运行
  • [ ] References 按需加载
  • [ ] 无冗余上下文

级别 4:用户体验

  • [ ] 新用户 5 分钟内能上手
  • [ ] 文档易于扫描
  • [ ] 错误消息清晰
  • [ ] 边缘情况有处理
  • [ ] 有实际使用示例

故障排除

问题 1:Skill 未触发

症状:用户请求相关任务,但 Skill 未被使用

可能原因:

  1. description 太模糊
  2. 缺少关键触发词
  3. 与其他 Skill 冲突

解决:

# 改进前
description: Process documents.

# 改进后
description: >
  Create, edit, and analyze Word documents (.docx). 
  Use when working with DOCX files for: 
  document creation, content editing, tracked changes, 
  comment management, or text extraction.

问题 2:加载不必要的上下文

症状:Skill 触发后加载大量无关内容

可能原因:

  1. SKILL.md 太长
  2. 未使用 references 分离
  3. 所有变体混在一起

解决:拆分文件

# 改进前
SKILL.md (8000 行,包含所有框架)

# 改进后
SKILL.md (500 行,导航)
references/
├── react.md (React 细节)
├── vue.md (Vue 细节)
└── angular.md (Angular 细节)

问题 3:脚本执行失败

症状:调用脚本时出错

可能原因:

  1. 脚本未测试
  2. 依赖未安装
  3. 路径问题

解决:

# 添加依赖检查
try:
    from PyPDF2 import PdfReader
except ImportError:
    print("✗ 错误: 请先安装 PyPDF2")
    print("  运行: pip install PyPDF2")
    exit(1)

# 添加路径处理
import os
script_dir = os.path.dirname(os.path.abspath(__file__))
input_path = os.path.join(script_dir, input_file)

返回:📋 概览 | 技能列表

Prev
📋 概览