理论之外,这里直接给出 15 个经过打磨的、可以开箱即用的 SKILL.md 模板,覆盖 Git 工作流、代码审查、测试、文档、部署、调试等高频场景。每个都附有最适合的放置位置和使用说明。
Git 工作流类
1. Smart Commit(智能提交)
放置:~/.claude/skills/commit/SKILL.md(个人全局)
---
name: commit
description: 智能暂存并提交,自动生成 Conventional Commits 格式的消息
disable-model-invocation: true
allowed-tools: Bash(git *) Read
---
暂存并提交当前工作目录的变更:
## 当前状态
- 工作目录变更:!`git status --short`
- 暂存区内容:!`git diff --cached --stat`
## 步骤
1. 如果暂存区为空,运行 `git add -A`
2. 检查变更内容(`git diff --cached`)
3. 根据变更类型选择 Conventional Commits 前缀:
- feat: 新功能
- fix: Bug 修复
- refactor: 重构
- docs: 文档
- test: 测试
- chore: 构建/工具链
4. 生成简洁的 commit 消息(不超过 72 字符的主标题)
5. 运行 `git commit -m "消息"`
注意:如果有 BREAKING CHANGE,在 commit 消息里注明。2. PR Creator(PR 创建器)
放置:.claude/skills/create-pr/SKILL.md(项目级)
---
name: create-pr
description: 创建一个结构完整的 Pull Request,包含规范描述和自动化检查
disable-model-invocation: true
allowed-tools: Bash(git *) Bash(gh *)
---
## 当前分支信息
- 当前分支:!`git branch --show-current`
- 与 main 的差异:!`git log main..HEAD --oneline`
- 变更统计:!`git diff main --stat`
## 创建 PR
生成 PR 描述,格式如下:
What
(1-2 句话描述 PR 做了什么)
Why
(为什么需要这个变更)
Changes
(关键变更要点,不超过 5 条)
Testing
(如何验证)
Checklist
- 测试通过
- 无 console.log 残留
- 已更新相关文档
然后运行:
```bash
gh pr create --title "标题" --body "生成的描述"
---
### 3. Branch Cleanup(分支清理)
放置:`~/.claude/skills/branch-cleanup/SKILL.md`
```markdown
---
name: branch-cleanup
description: 清理已合并到 main 的本地分支
disable-model-invocation: true
allowed-tools: Bash(git *)
---
## 分支状态
- 本地分支:!`git branch -v`
- 已合并到 main:!`git branch --merged main`
## 步骤
1. 列出所有已合并到 main 的本地分支(排除 main、master、develop、staging)
2. 确认要删除的分支列表
3. 删除这些分支:`git branch -d <branch>`
4. 运行 `git remote prune origin` 清理远端追踪分支
5. 汇报删除了哪些分支
注意:不要删除 main、master、develop、staging、release/* 分支。
代码审查类
4. Security Review(安全审查)
放置:.claude/skills/security-review/SKILL.md
---
name: security-review
description: 对代码变更进行安全审查,重点检查 OWASP Top 10
allowed-tools: Read Glob Grep Bash(git diff *)
effort: xhigh
---
## 待审查变更
!`git diff HEAD`
## 安全检查清单
**A01 访问控制失效**
- [ ] 所有 API 端点都有身份验证检查
- [ ] 权限检查在服务层而非仅在 UI 层
**A02 密码学失败**
- [ ] 无硬编码密钥/密码(检查 const.*key、password.*=、secret.*=)
- [ ] 敏感数据存储加密
**A03 注入**
- [ ] SQL 查询全部参数化
- [ ] 用户输入在输出前转义
**A07 认证失败**
- [ ] Session 超时正确处理
- [ ] 密码重置流程安全
**A09 安全日志失败**
- [ ] 日志不包含密码、token、PII
输出:按严重性排序(Critical/High/Medium/Low),每项包含文件行号和修复建议。5. Performance Review(性能审查)
放置:.claude/skills/perf-review/SKILL.md
---
name: perf-review
description: 识别代码变更中的性能问题
allowed-tools: Read Glob Grep
effort: high
---
## 待审查变更
!`git diff HEAD`
## 性能问题检查
**数据库**
- N+1 查询(循环里的查询)
- 缺少索引的字段过滤
- SELECT * 而非选择必要字段
**后端**
- 循环里的同步 I/O 调用
- 可以缓存但没有缓存的计算
- 大型数组/对象的不必要复制
**前端**(如果适用)
- 每次渲染都重新创建的对象/函数(应用 useMemo/useCallback)
- 不必要的全量重渲染
- 未优化的图片或大型 bundle
每个发现包含:影响估计(高/中/低)、修复方案、代码示例。测试类
6. Test Generator(测试生成器)
放置:.claude/skills/gen-tests/SKILL.md
---
name: gen-tests
description: 为指定函数或模块生成全面的单元测试
allowed-tools: Read Glob Grep Write
---
为 $ARGUMENTS 生成单元测试:
## 分析
1. 读取目标文件,理解函数签名和行为
2. 识别:
- 正常路径(happy path)
- 边界情况(empty/null/undefined/极值)
- 错误路径(异常处理)
- 异步边界情况(如果适用)
## 测试原则
- 每个测试只验证一件事
- 测试名描述行为,不描述实现("should return null when user not found" 而非 "test getUserById")
- 避免过度 mock(只 mock 外部依赖)
- 优先集成测试,单元测试覆盖复杂逻辑
## 输出
生成测试文件,放在与源文件对应的测试目录里(`__tests__/` 或 `*.test.ts`)。7. Test Coverage Check(测试覆盖率检查)
放置:.claude/skills/coverage-check/SKILL.md
---
name: coverage-check
description: 检查代码覆盖率并识别未覆盖的关键路径
disable-model-invocation: true
allowed-tools: Bash(npm *) Bash(pytest *) Read Glob
---
## 覆盖率分析
运行测试并生成覆盖率报告:!`npm run test:coverage 2>&1 | tail -30`
## 分析
1. 找出覆盖率低于 80% 的文件
2. 在这些文件里,识别最重要(被多处调用/包含复杂逻辑)的未覆盖函数
3. 优先推荐最高价值的测试补充
输出:
- 覆盖率摘要(总体 + 按文件)
- Top 5 最需要补充测试的函数(附理由)
- 每个函数的建议测试用例(1-2 个关键用例)文档类
8. API Doc Generator(API 文档生成器)
放置:.claude/skills/api-docs/SKILL.md
---
name: api-docs
description: 为 API 端点生成 OpenAPI/JSDoc 文档
allowed-tools: Read Glob Edit Write
paths: "src/api/**,src/routes/**,src/controllers/**"
---
为 $ARGUMENTS 生成 API 文档:
## 分析端点
1. 读取文件,提取:
- HTTP 方法和路径
- 请求参数(query/body/path)
- 响应格式(成功和错误)
- 认证要求
## 生成 OpenAPI 注释
格式(JSDoc + OpenAPI 3.0 schema):
```typescript
/**
* @openapi
* /api/users/{id}:
* get:
* summary: 获取用户信息
* tags: [Users]
* parameters:
* - in: path
* name: id
* required: true
* schema:
* type: string
* responses:
* 200:
* description: 成功
* content:
* application/json:
* schema:
* $ref: '#/components/schemas/User'
* 404:
* description: 用户不存在
*/把注释插入到对应的路由处理函数上方。
---
### 9. Changelog Generator(变更日志生成器)
放置:`~/.claude/skills/changelog/SKILL.md`
```markdown
---
name: changelog
description: 根据 git log 生成格式化的变更日志
disable-model-invocation: true
allowed-tools: Bash(git *)
---
## 最近的提交
!`git log --oneline $(git describe --tags --abbrev=0)..HEAD`
## 生成变更日志
将以上提交按类型分类,生成 CHANGELOG.md 格式的条目:
### [版本号] - 日期
#### ✨ 新功能
(feat: 前缀的提交)
#### 🐛 Bug 修复
(fix: 前缀的提交)
#### ♻️ 重构
(refactor: 前缀的提交)
#### 📚 文档
(docs: 前缀的提交)
#### 🔧 其他
(其余提交)
输出应该是 Markdown 格式,可以直接追加到 CHANGELOG.md。
部署和运维类
10. Pre-deploy Checklist(部署前检查)
放置:.claude/skills/pre-deploy/SKILL.md
---
name: pre-deploy
description: 部署前运行完整的质量检查清单
disable-model-invocation: true
allowed-tools: Bash(npm *) Bash(git *) Bash(docker *) Read
---
## 部署前检查
**环境**:$ARGUMENTS(staging/production)
### 1. 代码检查
- [ ] TypeScript 类型检查:!`npm run typecheck 2>&1 | tail -5`
- [ ] Lint 检查:!`npm run lint 2>&1 | tail -5`
### 2. 测试
运行测试套件并报告结果:
```bash
npm test -- --reporter=verbose 2>&1 | tail -203. 环境变量检查
验证以下环境变量已设置:
- DATABASE_URL
- API_KEY
- REDIS_URL
4. 数据库迁移
npm run db:migrate:status列出待执行的迁移(如果有,需要先确认)
5. 最终确认
如果以上所有检查通过,输出:
✅ 部署前检查通过,可以部署到 $ARGUMENTS
否则列出失败的检查项。
---
## 调试类
### 11. Error Analyzer(错误分析器)
放置:`~/.claude/skills/analyze-error/SKILL.md`
```markdown
---
name: analyze-error
description: 分析错误日志或异常,找出根本原因并给出修复建议
allowed-tools: Read Glob Grep Bash(git log *)
effort: high
context: fork
agent: Explore
---
分析以下错误:
$ARGUMENTS
## 分析框架
1. **错误类型识别**:是什么类型的错误?(网络/数据库/逻辑/资源/并发)
2. **堆栈追踪解析**:定位最可能的根本原因行
3. **历史检查**:用 git log 检查相关文件最近的修改
4. **上下文分析**:错误发生的条件(高负载?特定用户?特定输入?)
## 输出
- **根本原因**(1 句话)
- **详细分析**(错误链路)
- **修复建议**(含代码示例)
- **预防措施**(如何避免复发)
效率工具类
12. Code Explainer(代码解释器)
放置:~/.claude/skills/explain/SKILL.md
---
name: explain
description: 用清晰易懂的语言解释复杂代码
allowed-tools: Read Glob Grep Bash(git log *)
---
解释 $ARGUMENTS 的代码:
## 解释维度
1. **这段代码做什么**:一句话概括
2. **为什么这样实现**:查看 git log 了解历史背景
3. **关键概念**:解释代码里用到的设计模式或算法
4. **潜在陷阱**:有什么不明显的行为或边界情况
5. **与其他部分的关系**:这段代码在整体架构里的角色
面向受众:有基础的开发者,但对这个特定模块不熟悉。
避免:逐行翻译代码(读者能看懂代码本身),重点在"为什么"而非"是什么"。13. Refactor Advisor(重构顾问)
放置:.claude/skills/refactor-advice/SKILL.md
---
name: refactor-advice
description: 分析代码并给出优先级排序的重构建议
allowed-tools: Read Glob Grep
effort: high
---
分析 $ARGUMENTS 并给出重构建议:
## 评估维度
**可读性**
- 函数/变量命名是否清晰?
- 函数是否单一职责?
- 是否有"代码注释才能看懂"的地方(通常意味着代码需要重写)?
**可维护性**
- 重复代码(DRY 原则违反)
- 魔法数字/字符串(应该是命名常量)
- 过深的嵌套(超过 3 层)
**可测试性**
- 函数是否有副作用?是否可以纯化?
- 依赖是否通过参数注入而非全局访问?
## 输出
按影响/成本比排序的重构建议,每项包含:
- 当前问题的代码片段
- 重构后的代码片段
- 估计影响(可读性提升、Bug 风险降低等)14. Dependency Auditor(依赖审计)
放置:.claude/skills/dep-audit/SKILL.md
---
name: dep-audit
description: 检查依赖项的安全漏洞和版本状态
disable-model-invocation: true
allowed-tools: Bash(npm *) Bash(pip *) Read
---
## 依赖状态
安全审计:!`npm audit --json 2>/dev/null | python3 -c "import json,sys; d=json.load(sys.stdin); print(f'漏洞: {d[\"metadata\"][\"vulnerabilities\"]}')" || echo "npm audit 不可用"`
过时依赖(有主要版本升级的):!`npm outdated --json 2>/dev/null | python3 -c "
import json,sys
try:
d = json.load(sys.stdin)
major = {k:v for k,v in d.items() if v.get('current','').split('.')[0] != v.get('latest','').split('.')[0]}
for k,v in list(major.items())[:10]:
print(f'{k}: {v[\"current\"]} → {v[\"latest\"]}')
except: pass
" 2>/dev/null || echo "无过时依赖"`
## 分析
1. 总结安全漏洞(Critical/High/Medium 数量)
2. 列出有 Breaking Changes 的主要版本升级
3. 给出升级优先级建议
注意:对有 Breaking Changes 的升级,提示需要查看该包的迁移指南。15. Daily Standup Helper(每日站会助手)
放置:~/.claude/skills/standup/SKILL.md
---
name: standup
description: 根据昨天的 git 活动生成站会更新
disable-model-invocation: true
allowed-tools: Bash(git *)
---
## 昨天的工作记录
!`git log --since="yesterday 00:00" --until="today 00:00" --oneline --all --author="$(git config user.name)" 2>/dev/null || git log --since="24 hours ago" --oneline --author="$(git config user.name)"`
## 生成站会更新
根据以上提交历史,生成简洁的站会更新(总共不超过 5 句话):
**昨天完成**:(基于提交历史)
**今天计划**:(根据进行中的工作推断,或留空请用户填写)
**有无阻碍**:(如果提交里有 fix/bug 相关,可能暗示有阻碍)
格式简洁,像真人在站会上说话的语气。快速安装所有模板
# 创建目录结构
mkdir -p ~/.claude/skills/{commit,changelog,standup,analyze-error,explain}
# 克隆社区 Skill 仓库
git clone https://github.com/anthropics/skills ~/.claude/skills/_anthropic
# 使用 Skill Creator 创建自定义 Skill
# 在 Claude Code 里:
# > 使用 skill-creator 创建一个新 Skill:...来源:Claude Code 官方 Skills 文档 | Agent Skills 开放标准 | 整理:ClaudeEagle