【高級】Superpowers 高級技巧:如何自定義你的專屬 Skill
整理版優先睇
自定義 Superpowers Skill,將重複工作流程變成一鍵命令,提升開發效率
呢篇文章係 Superpowers 系列嘅第五篇,由專注 AI 工具嘅 H 先生撰寫。作者發現用咗一段時間 Superpowers 之後,好多重複嘅工作流程(例如 Code Review)每次都要手動描述,而且團隊嘅代碼規範同內置 Skills 唔完全適配。為咗解決呢個問題,佢介紹咗點樣自定義一個專屬 Skill,將自己嘅開發經驗固化成可複用嘅「技能包」。整體結論係:Skill 就係「提示詞 + 流程」嘅封裝,你平時點樣叫 Claude Code 做嘢,就將佢寫成 Skill。
文章首先解釋咗自定義 Skill 嘅價值:節省時間、確保一致性、將私有經驗標準化。然後詳細拆解咗 Superpowers Skill 嘅結構,包括必須嘅 SKILL.md(身份證)同 prompt.md(大腦),同埋可選嘅 examples 同 references 目錄。作者用一個 Code Review Skill 做實戰示範,由零開始建立目錄、編寫 SKILL.md 同 prompt.md,仲有具體嘅測試例子同預期輸出。
最後分享咗進階技巧,例如添加參考文檔、支持多種編程語言、集成 CI/CD,同埋點樣打包分享畀團隊或開源社區。文章仲列舉咗好多實用嘅 Skill 創意,例如 API 文檔生成器、數據庫遷移工具、組件腳手架等,鼓勵讀者將自己嘅日常工作流程變成 Skill。
- 自定義 Skill 嘅核心價值係將重複工作流程固化成一鍵命令,避免每次手動描述,提升效率同一致性。
- Skill 嘅基本結構包括 SKILL.md(定義名稱、描述、使用方式)同 prompt.md(核心指令,定義行為同輸出格式),可選 examples 同 references。
- 實戰示範:從零建立 Code Review Skill,涵蓋安全性、性能、可維護性、最佳實踐四個維度,輸出結構化 Markdown 報告。
- 進階技巧包括添加參考文檔(如團隊規範)、支持多種編程語言嘅審查重點,同埋整合 CI/CD 自動執行。
- 日常開發中嘅常見流程(如生成 API 文檔、數據庫遷移、部署檢查)都可以改造成 Skill,鼓勵讀者即時嘗試。
內容結構
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
skills/
└── code-review/
├── SKILL.md # Skill 描述文件(必需)
├── prompt.md # 主提示詞文件(必需)
├── examples/ # 示例目錄(可選)
│ └── sample-review.md
└── references/ # 參考文件(可選)
└── company-style-guide.md
點解要自定義 Skill?將經驗變成「技能包」
用咗一段時間 Superpowers,你可能會發現:有些重複嘅工作流程每次都要手動描述,例如 Code Review 你要講「幫我審查安全性、性能、可維護性,輸出 Markdown」,講多咗就會煩。仲有團隊代碼規範、私有框架適配呢啲問題,內置 Skills 未必啱用。
- 重複工作流程每次手動描述,浪費時間
- 團隊有特定代碼規範,內置 Skills 唔完全適配
- 想將自己嘅開發經驗「固化」成可複用流程
- 公司私有框架需要專門嘅開發 Skill
Superpowers Skill 結構解析
一個標準 Skill 嘅目錄結構係:skills/code-review/ 下面有 SKILL.md(必需)、prompt.md(必需)、examples/(可選)、references/(可選)。
SKILL.md 例子:name: code-review,description: 自動化代碼審查,使用方式係 /superpowers.code-review <文件路徑>。prompt.md 就詳細講明審查維度、輸出格式同執行步驟。
實戰:由零寫一個「代碼審查」Skill
- 1 建立目錄:mkdir -p ~/.claude/skills/code-review
- 2 編寫 SKILL.md:填入 name、description、使用方式同審查維度
- 3 編寫 prompt.md:定義審查清單(安全性、性能、可維護性、最佳實踐)同輸出格式(Markdown 報告,包括嚴重問題同修復建議)
- 4 重啟 Claude Code 或重新加載 Skills,然後測試命令 /superpowers.code-review
prompt.md 入面嘅審查清單好詳細,例如安全性要 check SQL 注入、XSS、IDOR、硬編碼密碼等;性能要 check N+1 問題、循環嵌套、緩存策略等。輸出格式包含摘要表格、嚴重問題、改進建議同總結。
進階技巧:令 Skill 更強大
- 添加參考文檔:喺 references/ 目錄放團隊規範,prompt.md 入面引用,例如「請參考 團隊 JavaScript 規範」
- 支持多種語言:按語言自動應用對應標準,例如 JavaScript 睇回調地獄、Python 睇 with 語句、Go 睇 goroutine 泄漏
- 集成 CI/CD:寫一個 GitHub Action 步驟,每次 PR 自動執行 /superpowers.code-review
學識呢啲技巧之後,你可以將 Skill 打包做 tar.gz 分享畀同事,甚至提交到 Superpowers 倉庫嘅 Skill 市場,等全世界都用得。
更多創意同總結
作者仲列舉咗好多實用 Skill 創意:api-doc-generator、db-migration、component-generator、test-generator、deployment-checklist、refactor-helper、performance-profiler。每一個都可以幫你慳唔少時間。
之前四篇文我哋分別講咗 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 目錄結構
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
skills/
└── code-review/
├── SKILL.md # Skill 描述文件(必需)
├── prompt.md # 主提示詞文件(必需)
├── examples/ # 示例目錄(可選)
│ └── sample-review.md
└── references/ # 參考文件(可選)
└── company-style-guide.md2.2 SKILL.md —— Skill 嘅「身份證」
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
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 時嘅行為同輸出格式。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# Code Review 提示詞
你是一個資深的代碼審查工程師。當用戶提供代碼時,你需要從以下維度進行審查:
## 審查維度
1. **安全性**:SQL 注入、XSS、權限驗證等
2. **性能**:時間複雜度、數據庫查詢優化、緩存使用等
3. **可維護性**:命名規範、註釋、模塊化等
4. **最佳實踐**:是否符合團隊規範
## 輸出格式
輸出 Markdown 格式的報告:
```markdown
# 代碼審查報告
## 概述
- 文件:xxx
- 審查時間:xxx
- 整體評分:⭐⭐⭐⭐ (4/5)
## 問題列表
### 🔴 嚴重問題
1. [問題標題]
- 位置:第 XX 行
- 描述:...
- 建議:...
### 🟡 改進建議
...
## 總結
...審查流程
讀取用戶提供嘅代碼 逐個維度分析 生成結構化報告 畀出具體嘅修復建議
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
## 三、實戰:從零編寫一個"代碼審查" Skill
好了,理論講完,動手寫!
### 步驟 1:創建 Skill 目錄
在 Claude Code 的 skills 目錄下創建新 Skill:
```bash
mkdir -p ~/.claude/skills/code-review
cd ~/.claude/skills/code-review步驟 2:編寫 SKILL.md
創建 SKILL.md 文件:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
name: code-review
description: 自動化代碼審查,檢查安全性、性能和可維護性,輸出 Markdown 報告。
---
# Code Review Skill
一鍵觸發代碼審查,生成專業的審查報告。
## 使用方式
\```
/superpowers.code-review <文件路徑>
\```
或
\```
/superpowers.code-review
# 然後粘貼代碼塊
\```
## 審查維度
- 🔐 安全性(SQL注入、XSS、權限等)
- ⚡ 性能(時間複雜度、數據庫優化等)
- 🛠️ 可維護性(命名、註釋、模塊化等)
- ✅ 最佳實踐(團隊規範等)
## 輸出
Markdown 格式的審查報告,包含問題列表、嚴重等級、修復建議。步驟 3:編寫 prompt.md
呢個係 Skill 嘅核心,話畀 Claude Code 點執行審查:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 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. 再次運行代碼審查執行步驟
如果用戶提供咗檔案路徑,先讀取檔案內容 如果用戶貼咗代碼塊,直接使用 按照審查清單逐項檢查 輸出結構化報告 如果發現問題,畀出具體嘅修復代碼示例
ounter(lineounter(lineounter(lineounter(line
### 步驟 4:測試你的 Skill
重啓 Claude Code(或重新加載 Skills),然後測試:/superpowers.code-review src/app.js
ounter(lineounter(line
或者:/superpowers.code-review
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
然後粘貼一段代碼:
```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: '登錄失敗' });
}
});
});預期輸出:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 🔍 代碼審查報告
**文件**: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
(後續內容省略...)
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
## 四、進階技巧:讓 Skill 更強大
### 4.1 添加參考文檔
在 `references/` 目錄下添加團隊的代碼規範文檔,`prompt.md` 中可以引用:
```markdown
## 參考規範
請參考以下文檔進行代碼審查:
- [團隊 JavaScript 規範](references/js-style-guide.md)
- [安全編碼指南](references/security-guide.md)4.2 支援多種程式語言
修改 prompt.md,令 Skill 支援多種語言:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
## 語言適配
根據用戶提供的代碼,自動識別編程語言(JavaScript/Python/Java/Go 等),應用對應語言的審查標準。
### JavaScript 審查重點
- 回調地獄、Promise 使用、async/await 錯誤處理
### Python 審查重點
- GIL 影響、 with 語句使用、類型註解
### Go 審查重點
- goroutine 泄漏、error 處理、defer 使用4.3 整合到 CI/CD
你可以將呢個 Skill 整合到 CI/CD 流程入面,每次提交代碼就自動審查:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# .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 打包分享
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 打包 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:
Fork Superpowers 倉庫 在 skills/目錄下添加你嘅 Skill提交 Pull Request 審核通過後,所有人都可以用到你嘅 Skill
六、更多創意:你可以創建嘅 Skills
靈感唔夠?呢度有啲實用嘅 Skill 創意:
api-doc-generator | |
db-migration | |
component-generator | |
test-generator | |
deployment-checklist | |
refactor-helper | |
performance-profiler |
七、總結
點解需要自訂 Skill:固化經驗、提高效率 Skill 嘅結構:SKILL.md + prompt.md + 可選目錄 點樣編寫 Skill:從零寫一個 code-review Skill 進階技巧:添加參考文檔、支援多語言、整合 CI/CD 分享發佈:打包分享或提交到社區
核心思想:Skill 就係「提示詞 + 流程」嘅封裝。你平時點樣令 Claude Code 做嘢,就將佢寫成 Skill。
而家,輪到你喇。諗嚇你每日重複嘅開發流程,可唔可以將佢變成一個 Skill?
👨💻 H先生出品 | 專注 AI 工具同效率提升
前四篇文章我們分別講了 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 目錄結構
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
skills/
└── code-review/
├── SKILL.md # Skill 描述文件(必需)
├── prompt.md # 主提示詞文件(必需)
├── examples/ # 示例目錄(可選)
│ └── sample-review.md
└── references/ # 參考文件(可選)
└── company-style-guide.md2.2 SKILL.md —— Skill 的"身份證"
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
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 時的行為和輸出格式。
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# Code Review 提示詞
你是一個資深的代碼審查工程師。當用戶提供代碼時,你需要從以下維度進行審查:
## 審查維度
1. **安全性**:SQL 注入、XSS、權限驗證等
2. **性能**:時間複雜度、數據庫查詢優化、緩存使用等
3. **可維護性**:命名規範、註釋、模塊化等
4. **最佳實踐**:是否符合團隊規範
## 輸出格式
輸出 Markdown 格式的報告:
```markdown
# 代碼審查報告
## 概述
- 文件:xxx
- 審查時間:xxx
- 整體評分:⭐⭐⭐⭐ (4/5)
## 問題列表
### 🔴 嚴重問題
1. [問題標題]
- 位置:第 XX 行
- 描述:...
- 建議:...
### 🟡 改進建議
...
## 總結
...審查流程
讀取用戶提供的代碼 逐個維度分析 生成結構化報告 給出具體的修復建議
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
## 三、實戰:從零編寫一個"代碼審查" Skill
好了,理論講完,動手寫!
### 步驟 1:創建 Skill 目錄
在 Claude Code 的 skills 目錄下創建新 Skill:
```bash
mkdir -p ~/.claude/skills/code-review
cd ~/.claude/skills/code-review步驟 2:編寫 SKILL.md
創建 SKILL.md 文件:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
name: code-review
description: 自動化代碼審查,檢查安全性、性能和可維護性,輸出 Markdown 報告。
---
# Code Review Skill
一鍵觸發代碼審查,生成專業的審查報告。
## 使用方式
\```
/superpowers.code-review <文件路徑>
\```
或
\```
/superpowers.code-review
# 然後粘貼代碼塊
\```
## 審查維度
- 🔐 安全性(SQL注入、XSS、權限等)
- ⚡ 性能(時間複雜度、數據庫優化等)
- 🛠️ 可維護性(命名、註釋、模塊化等)
- ✅ 最佳實踐(團隊規範等)
## 輸出
Markdown 格式的審查報告,包含問題列表、嚴重等級、修復建議。步驟 3:編寫 prompt.md
這是 Skill 的核心,告訴 Claude Code 怎麼執行審查:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 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. 再次運行代碼審查執行步驟
如果用戶提供了文件路徑,先讀取文件內容 如果用戶粘貼了代碼塊,直接使用 按照審查清單逐項檢查 輸出結構化報告 如果發現問題,給出具體的修復代碼示例
ounter(lineounter(lineounter(lineounter(line
### 步驟 4:測試你的 Skill
重啓 Claude Code(或重新加載 Skills),然後測試:/superpowers.code-review src/app.js
ounter(lineounter(line
或者:/superpowers.code-review
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
然後粘貼一段代碼:
```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: '登錄失敗' });
}
});
});預期輸出:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 🔍 代碼審查報告
**文件**: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
(後續內容省略...)
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
---
## 四、進階技巧:讓 Skill 更強大
### 4.1 添加參考文檔
在 `references/` 目錄下添加團隊的代碼規範文檔,`prompt.md` 中可以引用:
```markdown
## 參考規範
請參考以下文檔進行代碼審查:
- [團隊 JavaScript 規範](references/js-style-guide.md)
- [安全編碼指南](references/security-guide.md)4.2 支持多種編程語言
修改 prompt.md,讓 Skill 支持多種語言:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
## 語言適配
根據用戶提供的代碼,自動識別編程語言(JavaScript/Python/Java/Go 等),應用對應語言的審查標準。
### JavaScript 審查重點
- 回調地獄、Promise 使用、async/await 錯誤處理
### Python 審查重點
- GIL 影響、 with 語句使用、類型註解
### Go 審查重點
- goroutine 泄漏、error 處理、defer 使用4.3 集成到 CI/CD
你可以把這個 Skill 集成到 CI/CD 流程中,每次提交代碼自動審查:
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# .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 打包分享
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(line
# 打包 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:
Fork Superpowers 倉庫 在 skills/目錄下添加你的 Skill提交 Pull Request 審核通過後,所有人都能用到你的 Skill
六、更多創意:你可以創建的 Skills
靈感不夠?這裏有一些實用的 Skill 創意:
api-doc-generator | |
db-migration | |
component-generator | |
test-generator | |
deployment-checklist | |
refactor-helper | |
performance-profiler |
七、總結
為什麼需要自定義 Skill:固化經驗、提高效率 Skill 的結構:SKILL.md + prompt.md + 可選目錄 如何編寫 Skill:從零寫一個 code-review Skill 進階技巧:添加參考文檔、支持多語言、集成 CI/CD 分享發佈:打包分享或提交到社區
核心思想:Skill 就是"提示詞 + 流程"的封裝。你平時怎麼讓 Claude Code 做事,就把它寫成 Skill。
現在,輪到你了。想想你每天重複的開發流程,能不能把它變成一個 Skill?
👨💻 H先生出品 | 專注 AI 工具與效率提升