主题
Agent Skills
本指南展示了如何在 Claude Code 中创建、使用和管理 Agent Skills。Skills 是模块化功能,通过包含说明、脚本和资源的有组织的文件夹来扩展 Claude 的功能。
前置条件
- Claude Code 版本 1.0 或更高版本
- 对 Claude Code 的基本熟悉
什么是 Agent Skills?
Agent Skills 将专业知识打包成可发现的功能。每个 Skill 包含一个 SKILL.md 文件,其中包含 Claude 在相关时读取的说明,以及可选的支持文件。
Skills 如何被调用:Skills 是模型调用的——Claude 根据您的请求和 Skill 的描述自主决定何时使用它们。这与斜杠命令不同,斜杠命令是用户调用的。
优势:
- 为您的特定工作流扩展 Claude 的功能
- 通过 git 在您的团队中共享专业知识
- 减少重复提示
- 为复杂任务组合多个 Skills
创建 Skill
个人 Skills
个人 Skills 在您的所有项目中都可用。存储在 ~/.claude/skills/ 中:
bash
mkdir -p ~/.claude/skills/my-skill-name项目 Skills
项目 Skills 与您的团队共享。存储在项目中的 .claude/skills/ 中:
bash
mkdir -p .claude/skills/my-skill-name编写 SKILL.md
创建一个带有 YAML frontmatter 和 Markdown 内容的 SKILL.md 文件:
yaml
---
name: your-skill-name
description: Brief description of what this Skill does and when to use it
---
# Your Skill Name
## Instructions
Provide clear, step-by-step guidance for Claude.
## Examples
Show concrete examples of using this Skill.字段要求:
name:必须仅使用小写字母、数字和连字符(最多 64 个字符)description:Skill 的简要描述及其使用时机(最多 1024 个字符)
添加支持文件
my-skill/
├── SKILL.md (required)
├── reference.md (optional documentation)
├── examples.md (optional examples)
├── scripts/
│ └── helper.py (optional utility)
└── templates/
└── template.txt (optional template)使用 allowed-tools 限制工具访问
yaml
---
name: safe-file-reader
description: Read files without making changes.
allowed-tools: Read, Grep, Glob
---
# Safe File Reader
This Skill provides read-only file access.查看可用的 Skills
直接询问 Claude:
What Skills are available?
List all available Skills测试 Skill
创建 Skill 后,通过提出与您的描述相匹配的问题来测试它。
调试 Skill
使描述更具体
太模糊:description: Helps with documents
具体:description: Extract text and tables from PDF files. Use when working with PDF files.
验证文件路径
bash
# Personal
ls ~/.claude/skills/my-skill/SKILL.md
# Project
ls .claude/skills/my-skill/SKILL.md查看错误
bash
claude --debug与您的团队共享 Skills
第 1 步:将 Skill 添加到您的项目
bash
mkdir -p .claude/skills/team-skill第 2 步:提交到 git
bash
git add .claude/skills/
git commit -m "Add team Skill for PDF processing"
git push第 3 步:团队成员自动获得 Skills
bash
git pull
claude # Skills are now available最佳实践
保持 Skills 专注
一个 Skill 应该解决一个功能:
- ✅ "PDF 表单填充"
- ✅ "Excel 数据分析"
- ❌ "文档处理"(太宽泛)
编写清晰的描述
在描述中包括 Skill 的功能和使用时机。
示例
简单 Skill(单个文件)
yaml
---
name: generating-commit-messages
description: Generates clear commit messages from git diffs.
---
# Generating Commit Messages
## Instructions
1. Run `git diff --staged` to see changes
2. Suggest a commit message with summary under 50 characters具有工具权限的 Skill
yaml
---
name: code-reviewer
description: Review code for best practices and potential issues.
allowed-tools: Read, Grep, Glob
---
# Code Reviewer
## Review checklist
1. Code organization and structure
2. Error handling
3. Performance considerations