Claude Code: Agent Skills 与 skill-creator
最后更新:2026-08-31
Agent Skills 是 Claude Code 的"职业技能包"——安装一个 Skill,Claude Code 就获得了一整套专业工作流程。
💡 提示:Skills 不是简单的提示词模板,而是完整的工作流程定义,包含步骤、检查项、输出格式和验证逻辑。skill-creator 让你自定义这些技能。
📋 前置知识:第十五章 记忆系统
1. 你将学到
- Agent Skills 的概念与架构
- 内置与社区 Skills
- Skills 使用实例
- skill-creator 创建自定义 Skill
- Skills 最佳实践
2. Agent Skills 概念
(1) 什么是 Skill
Skill 是一套结构化的工作流程定义:
| 组成部分 | 说明 |
|---|---|
| 触发条件 | 什么任务激活这个 Skill |
| 工作步骤 | 执行流程的有序步骤 |
| 检查项 | 每步完成后验证的清单 |
| 输出格式 | 最终输出的标准格式 |
| 工具依赖 | 需要哪些工具支持 |
(2) Skill 与普通指令的区别
| 维度 | 普通指令 | Skill |
|---|---|---|
| 结构 | 自由文本 | 结构化流程 |
| 完整性 | 可能遗漏步骤 | 检查项确保完整 |
| 一致性 | 每次可能不同 | 每次遵循相同流程 |
| 可复用 | 一次性 | 跨项目复用 |
| 验证 | 无自动验证 | 内置验证检查 |
▶ 示例 1: Skill vs 普通指令
TEXT
📖 仅展示
# 普通指令
> 审查这个文件的代码质量
Claude Code: [自由审查,可能遗漏某些方面]
# 使用 Skill
> /skill code-review
Claude Code: [按 code-review Skill 的流程执行]
Step 1: 读取文件 ✓
Step 2: 安全性检查 ✓
- SQL 注入 ✓
- XSS 漏洞 ✓
- 敏感数据暴露 ✓
Step 3: 性能检查 ✓
- N+1 查询 ✓
- 内存泄漏 ✓
Step 4: 风格检查 ✓
Step 5: 生成报告 ✓
All checkpoints passed
3. 内置与社区 Skills
(1) 内置 Skills
| Skill | 功能 | 触发方式 |
|---|---|---|
| code-review | 代码审查 | /skill code-review |
| bug-fix | Bug 修复流程 | /skill bug-fix |
| refactor | 重构流程 | /skill refactor |
| test-gen | 测试生成 | /skill test-gen |
| api-design | API 设计 | /skill api-design |
| security-audit | 安全审计 | /skill security-audit |
| migration | 迁移流程 | /skill migration |
(2) 社区 Skills
| Skill | 功能 | 来源 |
|---|---|---|
| pr-review | PR 审查 | GitHub |
| doc-gen | 文档生成 | GitHub |
| perf-audit | 性能审计 | GitHub |
| accessibility | 无障碍检查 | GitHub |
| i18n | 国际化处理 | GitHub |
(3) Skill 管理
BASH
# 列出可用 Skills
claude /skills
# 安装社区 Skill
claude /skill install @community/pr-review
# 卸载 Skill
claude /skill uninstall pr-review
# 查看 Skill 详情
claude /skill info code-review
4. Skills 使用实例
▶ 示例 2: bug-fix Skill 工作流
TEXT
📖 仅展示
> /skill bug-fix "TypeError: Cannot read property 'id' of undefined at UserController.getProfile"
Claude Code [bug-fix Skill]:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Bug Fix Workflow
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Step 1: 定位 Bug ✓
→ Reading src/controllers/UserController.ts
→ Found: getProfile() accesses req.user.id without null check
Step 2: 分析根因 ✓
→ req.user 为 undefined when auth middleware fails silently
→ Root cause: missing error handling in middleware chain
Step 3: 设计修复 ✓
→ Add null check in getProfile()
→ Fix auth middleware to throw on failure
Step 4: 实施修复 ✓
→ Modifying src/controllers/UserController.ts
→ Modifying src/middleware/auth.ts
Step 5: 验证修复 ✓
→ Running: npm test -- UserController.test.ts
→ 5/5 tests passed ✓
Step 6: 防止复发 ✓
→ Added edge case test for null user
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Bug fixed ✓ | 2 files modified | 1 test added
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
▶ 示例 3: security-audit Skill
TEXT
📖 仅展示
> /skill security-audit src/auth/
Claude Code [security-audit Skill]:
Step 1: 扫描认证相关文件 ✓
→ Found 6 files in src/auth/
Step 2: 检查常见漏洞 ✓
🔴 Critical: Hardcoded JWT secret in jwt.ts:12
🟡 Warning: No rate limiting on login endpoint
🟡 Warning: Password reset token has no expiry
🟢 Info: bcrypt hash rounds OK (12)
Step 3: 检查配置安全 ✓
🟡 Warning: CORS allows all origins
Step 4: 生成报告 ✓
→ Critical: 1 | Warning: 3 | Info: 1
→ Report saved to security-report-2026-08-28.md
Step 5: 建议修复(可选)✓
→ Fix all? [y/n] y
→ Fixed 4/5 issues (1 requires manual config change)
5. skill-creator 创建自定义 Skill
(1) Skill 定义结构
YAML
# .claude/skills/my-deployment.yaml
name: deployment
description: "标准化部署流程"
trigger:
keywords: ["deploy", "部署", "上线"]
steps:
- name: "预检查"
actions:
- "确认所有测试通过"
- "检查没有未提交的变更"
- "验证环境变量配置"
checkpoints:
- "npm test exit code = 0"
- "git status clean"
- ".env 文件存在"
- name: "构建"
actions:
- "运行构建命令"
- "检查构建产物大小"
checkpoints:
- "build/ 目录存在"
- "bundle size < 2MB"
- name: "部署"
actions:
- "推送代码到远程"
- "触发 CI/CD 流水线"
checkpoints:
- "git push 成功"
- "CI pipeline 触发"
- name: "验证"
actions:
- "等待部署完成"
- "访问健康检查端点"
- "验证核心功能"
checkpoints:
- "HTTP 200 from /health"
- "登录功能正常"
output:
format: "markdown"
template: "deployment-report"
▶ 示例 4: 用 skill-creator 创建 Skill
TEXT
📖 仅展示
> /skill-creator 创建一个"数据库迁移"Skill
Claude Code:
我将帮你创建一个数据库迁移 Skill。
请回答几个问题:
1. 使用什么数据库工具? Prisma
2. 迁移需要哪些步骤?
- 修改 schema
- 生成迁移文件
- 运行迁移
- 验证数据完整性
3. 有什么安全检查?
- 备份数据库
- 检查迁移是否可回退
4. 输出格式? Markdown 报告
→ Creating .claude/skills/db-migration.yaml
→ Skill created ✓
使用方式:/skill db-migration
(2) 生成的 Skill 文件
YAML
# .claude/skills/db-migration.yaml
name: db-migration
description: "Prisma 数据库迁移标准流程"
trigger:
keywords: ["migrate", "迁移", "schema变更"]
steps:
- name: "备份"
actions:
- "运行 pg_dump 备份数据库"
checkpoints:
- "备份文件存在且大小 > 0"
- name: "修改 Schema"
actions:
- "修改 prisma/schema.prisma"
checkpoints:
- "npx prisma validate 成功"
- name: "生成迁移"
actions:
- "npx prisma migrate dev --name <description>"
checkpoints:
- "迁移文件生成成功"
- "SQL 语句可回退"
- name: "执行迁移"
actions:
- "npx prisma migrate deploy"
checkpoints:
- "迁移执行成功"
- "数据完整性检查通过"
- name: "验证"
actions:
- "运行全量测试"
- "检查应用启动正常"
checkpoints:
- "npm test 全部通过"
- "应用健康检查通过"
output:
format: "markdown"
include: ["迁移SQL", "影响范围", "回退方案"]
6. Skills 最佳实践
(1) 何时创建 Skill
| 场景 | 是否创建 Skill | 原因 |
|---|---|---|
| 重复工作流 | ✅ 创建 | 每次都一样,标准化有益 |
| 关键流程 | ✅ 创建 | 检查项确保不遗漏 |
| 团队协作 | ✅ 创建 | 统一工作标准 |
| 一次性任务 | ❌ 不创建 | 用普通指令即可 |
| 简单查询 | ❌ 不创建 | 过度工程 |
(2) Skill 设计原则
| 原则 | 说明 |
|---|---|
| 最小化 | 步骤不超过 6 步 |
| 可验证 | 每步有明确的检查项 |
| 可回退 | 关键操作有回退方案 |
| 可组合 | Skill 间可嵌套调用 |
❓ 常见问题
Q Skill 和插件有什么区别?
A Skill 是工作流程定义(步骤+检查项),插件是功能扩展(工具+钩子)。Skill 使用插件提供的工具,但两者是独立概念。
Q Skill 一定能保证质量吗?
A 不能 100% 保证。Skill 提供结构化流程和检查项,但执行质量仍取决于模型能力。关键操作建议人工复核。
Q Skill 可以跨项目复用吗?
A 可以。放在
~/.claude/skills/ 下全局可用,放在 .claude/skills/ 下项目专用。Q skill-creator 生成的好用吗?
A 初版可用但需要调整。skill-creator 生成框架,你根据实际需求精修步骤和检查项。
Q 社区 Skill 安全吗?
A Skill 本身只是流程定义,不执行代码。但 Skill 指定的操作可能有风险,审查后再使用。
Q Skill 支持 condition 分支吗?
A 支持简单的条件判断(如"如果测试失败则..."),但复杂逻辑建议拆分成多个 Skill。
📖 小节
- Skill 是结构化工作流程:步骤+检查项+输出格式
- 内置 Skill:code-review、bug-fix、security-audit 等
/skill <name>触发 Skill,按流程执行- skill-creator 交互式创建自定义 Skill
- 重复工作流、关键流程适合创建 Skill,一次性任务不需要
📝 作业
- 基础题(难度⭐):使用内置的
code-reviewSkill 审查一个文件,对比与普通指令的差异。 - 进阶题(难度⭐⭐):用 skill-creator 创建一个自定义 Skill(如部署流程),并测试执行效果。
- 挑战题(难度⭐⭐⭐):为团队创建 3 个核心 Skill,覆盖开发→测试→部署全流程,确保检查项完整。