前四篇文章我们分别讲了 Superpowers 是什么、怎么用、以及用 Skills 开发完整项目。今天,我们来点更进阶的:自己动手,写一个专属 Skill,让 Claude Code 真正变成你的"私人开发助手"。


一、为什么需要自定义 Skill?

用了一段时间 Superpowers,你可能会发现:

  • 有些重复的工作流程,每次都要手动描述
  • 团队有特定的代码规范,内置 Skills 不完全适配
  • 想把自己的开发经验"固化"成可复用的流程
  • 公司私有框架,需要专门的开发 Skill

举个例子:

每次做代码审查(Code Review),你都要说一遍:

“帮我审查这段代码,重点看:1. 安全性 2. 性能 3. 可维护性,输出 Markdown 格式的审查报告”

说多了就烦。如果有个 /superpowers.code-review 命令,一键触发,岂不美哉?

这就是自定义 Skill 的价值:把你的经验变成可复用的"技能包"


二、Superpowers Skill 结构解析

在动手之前,先看看一个标准的 Superpowers Skill 长什么样。

2.1 目录结构

skills/
└── code-review/
    ├── SKILL.md          # Skill 描述文件(必需)
    ├── prompt.md         # 主提示词文件(必需)
    ├── examples/         # 示例目录(可选)
    │   └── sample-review.md
    └── references/       # 参考文件(可选)
        └── company-style-guide.md

2.2 SKILL.md —— Skill 的"身份证"

---
name: code-review
description: 代码审查 Skill,自动审查代码的安全性、性能和可维护性,输出 Markdown 报告。
---

# Code Review Skill

这个 Skill 用于自动化代码审查流程...

## 使用方式

> /superpowers.code-review <文件路径或代码块>

关键点:

  • name:Skill 的唯一标识符,决定命令名
  • description:简短描述,会出现在 /superpowers 命令列表中
  • 正文:详细说明如何使用这个 Skill

2.3 prompt.md —— Skill 的"大脑"

这是 Skill 的核心,定义了 Claude Code 执行这个 Skill 时的行为和输出格式。

# Code Review 提示词

你是一个资深的代码审查工程师。当用户提供代码时,你需要从以下维度进行审查:

## 审查维度

1. **安全性**:SQL 注入、XSS、权限验证等
2. **性能**:时间复杂度、数据库查询优化、缓存使用等
3. **可维护性**:命名规范、注释、模块化等
4. **最佳实践**:是否符合团队规范

## 输出格式

输出 Markdown 格式的报告:

```markdown
# 代码审查报告

## 概述
- 文件:xxx
- 审查时间:xxx
- 整体评分:⭐⭐⭐⭐ (4/5)

## 问题列表

### 🔴 严重问题
1. [问题标题]
   - 位置:第 XX 行
   - 描述:...
   - 建议:...

### 🟡 改进建议
...

## 总结
...

审查流程

  1. 读取用户提供的代码
  2. 逐个维度分析
  3. 生成结构化报告
  4. 给出具体的修复建议

---

## 三、实战:从零编写一个"代码审查" Skill

好了,理论讲完,动手写!

### 步骤 1:创建 Skill 目录

在 Claude Code 的 skills 目录下创建新 Skill:

```bash
mkdir -p ~/.claude/skills/code-review
cd ~/.claude/skills/code-review

步骤 2:编写 SKILL.md

创建 SKILL.md 文件:

---
name: code-review
description: 自动化代码审查,检查安全性、性能和可维护性,输出 Markdown 报告。
---

# Code Review Skill

一键触发代码审查,生成专业的审查报告。

## 使用方式

\```
/superpowers.code-review <文件路径>
\```

或

\```
/superpowers.code-review
# 然后粘贴代码块
\```

## 审查维度

- 🔐 安全性(SQL注入、XSS、权限等)
- ⚡ 性能(时间复杂度、数据库优化等)
- 🛠️ 可维护性(命名、注释、模块化等)
- ✅ 最佳实践(团队规范等)

## 输出

Markdown 格式的审查报告,包含问题列表、严重等级、修复建议。

步骤 3:编写 prompt.md

这是 Skill 的核心,告诉 Claude Code 怎么执行审查:

# Code Review 执行指令

你是一个有 10 年经验的技术负责人,负责代码审查。

## 任务

审查用户提供的代码,输出结构化报告。

## 审查清单

### 1. 安全性审查
- [ ] SQL 注入风险
- [ ] XSS 攻击风险
- [ ] 不安全的直接对象引用(IDOR)
- [ ] 敏感信息泄露(硬编码密码、API Key 等)
- [ ] 权限验证是否完善
- [ ] CSRF 防护

### 2. 性能审查
- [ ] 时间复杂度是否合理
- [ ] 数据库查询是否优化(N+1 问题、索引使用)
- [ ] 是否有不必要的循环嵌套
- [ ] 大文件/大对象处理是否高效
- [ ] 缓存策略是否合理

### 3. 可维护性审查
- [ ] 变量/函数命名是否语义化
- [ ] 函数是否过长(建议 < 50 行)
- [ ] 是否有足够的注释(关键逻辑)
- [ ] 代码重复率是否过高
- [ ] 模块化是否合理

### 4. 最佳实践
- [ ] 是否符合团队代码规范
- [ ] 错误处理是否完善
- [ ] 是否有单元测试
- [ ] 日志输出是否合理
- [ ] API 设计是否 RESTful

## 输出格式

严格按照以下格式输出:

```markdown
# 🔍 代码审查报告

**文件**:{{文件路径}}
**审查时间**:{{当前时间}}
**整体评分**:{{⭐ 1-5 星}}

---

## 📊 审查摘要

| 维度 | 问题数 | 状态 |
|------|--------|------|
| 安全性 | X 个 | ✅/⚠️/❌ |
| 性能 | X 个 | ✅/⚠️/❌ |
| 可维护性 | X 个 | ✅/⚠️/❌ |
| 最佳实践 | X 个 | ✅/⚠️/❌ |

---

## 🔴 严重问题

### 1. [问题标题]
- **位置**:第 XX 行
- **风险等级**:高/中/低
- **描述**:详细说明...
- **代码示例**:
  \```语言
  // 有问题的代码
  \```
- **修复建议**:
  \```语言
  // 修复后的代码
  \```

---

## 🟡 改进建议

(类似格式,列出改进点)

---

## 💡 总结

(给出整体评价,指出最需要优先修复的问题)

---

## ✅ 验证方式

建议通过以下方式验证修复效果:
1. 运行单元测试
2. 手动测试相关功能
3. 再次运行代码审查

执行步骤

  1. 如果用户提供了文件路径,先读取文件内容
  2. 如果用户粘贴了代码块,直接使用
  3. 按照审查清单逐项检查
  4. 输出结构化报告
  5. 如果发现问题,给出具体的修复代码示例

### 步骤 4:测试你的 Skill

重启 Claude Code(或重新加载 Skills),然后测试:

/superpowers.code-review src/app.js


或者:

/superpowers.code-review


然后粘贴一段代码:

```javascript
app.post('/login', (req, res) => {
  const { username, password } = req.body;
  db.query(`SELECT * FROM users WHERE username='${username}' AND password='${password}'`, (err, rows) => {
    if (rows.length > 0) {
      res.json({ token: 'abc123' });
    } else {
      res.status(401).json({ error: '登录失败' });
    }
  });
});

预期输出:

# 🔍 代码审查报告

**文件**:src/app.js
**审查时间**:2026-04-29 10:53
**整体评分**:⭐⭐ (2/5)

---

## 📊 审查摘要

| 维度 | 问题数 | 状态 |
|------|--------|------|
| 安全性 | 2 个 | ❌ |
| 性能 | 0 个 | ✅ |
| 可维护性 | 1 个 | ⚠️ |
| 最佳实践 | 1 个 | ⚠️ |

---

## 🔴 严重问题

### 1. SQL 注入漏洞
- **位置**:第 3 行
- **风险等级**:高
- **描述**:直接拼接用户输入到 SQL 查询中,存在严重的 SQL 注入风险。攻击者可以通过构造特殊的 username 或 password 绕过登录验证,甚至窃取数据库数据。
- **代码示例**:
  ```javascript
  db.query(`SELECT * FROM users WHERE username='${username}' AND password='${password}'`, ...)
  • 修复建议
    // 使用参数化查询
    db.query('SELECT * FROM users WHERE username = ? AND password = ?', [username, password], (err, rows) => {
      // ...
    });
    

2. 密码明文存储

  • 位置:第 3 行(password 字段)
  • 风险等级:高
  • 描述:密码以明文形式存储在数据库中,一旦数据库泄露,所有用户密码暴露。
  • 修复建议
    // 使用 bcrypt 等库对密码进行哈希存储
    const hashedPassword = await bcrypt.hash(password, 10);
    // 验证时使用 bcrypt.compare
    

(后续内容省略…)


---

## 四、进阶技巧:让 Skill 更强大

### 4.1 添加参考文档

在 `references/` 目录下添加团队的代码规范文档,`prompt.md` 中可以引用:

```markdown
## 参考规范

请参考以下文档进行代码审查:
- [团队 JavaScript 规范](references/js-style-guide.md)
- [安全编码指南](references/security-guide.md)

4.2 支持多种编程语言

修改 prompt.md,让 Skill 支持多种语言:

## 语言适配

根据用户提供的代码,自动识别编程语言(JavaScript/Python/Java/Go 等),应用对应语言的审查标准。

### JavaScript 审查重点
- 回调地狱、Promise 使用、async/await 错误处理

### Python 审查重点
- GIL 影响、 with 语句使用、类型注解

### Go 审查重点
- goroutine 泄漏、error 处理、defer 使用

4.3 集成到 CI/CD

你可以把这个 Skill 集成到 CI/CD 流程中,每次提交代码自动审查:

# .github/workflows/code-review.yml
name: Code Review
on: [pull_request]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Code Review
        run: |
          claude -p "/superpowers.code-review $(git diff --name-only origin/main...HEAD)"

五、分享你的 Skill

写好 Skill 之后,可以分享给团队或开源社区:

5.1 打包分享

# 打包 Skill
cd ~/.claude/skills
tar -czf code-review-skill.tar.gz code-review/

# 分享给同事
scp code-review-skill.tar.gz colleague@server:~/

5.2 发布到 Skill 市场

Superpowers 社区正在建设 Skill 市场,你可以提交自己的 Skill:

  1. Fork Superpowers 仓库
  2. skills/ 目录下添加你的 Skill
  3. 提交 Pull Request
  4. 审核通过后,所有人都能用到你的 Skill

六、更多创意:你可以创建的 Skills

灵感不够?这里有一些实用的 Skill 创意:

Skill 名称 功能描述
api-doc-generator 根据代码自动生成 API 文档
db-migration 数据库迁移流程(生成 SQL、执行、回滚)
component-generator 生成 React/Vue 组件脚手架
test-generator 根据代码自动生成单元测试
deployment-checklist 部署前检查清单(环境变量、配置、备份等)
refactor-helper 重构建议(识别坏味道、给出重构方案)
performance-profiler 性能分析(找出瓶颈、给出优化建议)

七、总结

  1. 为什么需要自定义 Skill:固化经验、提高效率
  2. Skill 的结构:SKILL.md + prompt.md + 可选目录
  3. 如何编写 Skill:从零写一个 code-review Skill
  4. 进阶技巧:添加参考文档、支持多语言、集成 CI/CD
  5. 分享发布:打包分享或提交到社区

核心思想:Skill 就是"提示词 + 流程"的封装。你平时怎么让 Claude Code 做事,就把它写成 Skill。

现在,轮到你了。想想你每天重复的开发流程,能不能把它变成一个 Skill?


👨‍💻 H先生出品 | 专注 AI 工具与效率提升

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐