agentsclimarketplace

Code reviewer

Skill u9401066/template-is-all-you-need/.claude/skills/code-reviewer

AI-assisted development project template with Claude Skills, Memory Bank, and Constitution-Bylaw system

Install
npx -y skills add u9401066/template-is-all-you-need --skill code-reviewer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Comprehensive code review checking quality, security, and best practices. Triggers: CR, review, 審查, 檢查, check, 看一下, PR, code review, 品質, inspect, 檢視, 看看, 幫看, lint, quality check, 品質檢查, pull request, merge request, MR, diff, 程式碼審查.

SKILL.md

4.9 KB, as published. Nobody here has run it

程式碼審查技能

描述

對程式碼進行全面審查,檢查品質、安全性、效能和最佳實踐。

觸發條件

  • 「review 這段程式碼」「CR」「審查」
  • 「檢查程式碼」「看一下」「幫看」
  • 「code review」「PR review」

🔧 操作步驟

Step 1: 確定審查範圍

詢問或推斷審查目標:

  • 特定檔案:read_file("path/to/file.py")
  • 整個目錄:grep_search 取得概覽
  • 特定功能:semantic_search("功能名稱")
  • 最近變更:get_changed_files()

Step 2: 執行靜態分析(Python 專案)

# Ruff - 快速 linter (取代 flake8 + isort + pyupgrade)
uv run ruff check src/ --output-format=concise

# Mypy - 型別檢查
uv run mypy src/ --ignore-missing-imports

# Bandit - 安全性檢查
uv run bandit -r src/ -ll

# Vulture - 死碼偵測
uv run vulture src/ --min-confidence 80

Step 3: 審查程式碼品質

檢查項目標準工具輔助
命名清晰度名稱應描述用途人工審查
函數長度< 50 行grep_search
類別大小< 300 行grep_search
複雜度McCabe < 10ruff --select=C901
DRY 原則無重複程式碼semantic_search
SOLID 原則單一職責等人工審查

Step 4: 審查安全性

風險類型檢查方式嚴重程度
SQL 注入搜尋 raw SQL🔴 Critical
XSS搜尋未轉義輸出🔴 Critical
硬編碼密碼grep "password|secret|key"🔴 Critical
路徑遍歷搜尋未驗證路徑🟠 High
日誌洩漏搜尋敏感資料輸出🟡 Medium

Step 5: 審查效能

問題類型偵測方式
N+1 查詢搜尋迴圈內的 DB 呼叫
無謂迴圈審查巢狀迴圈
記憶體洩漏檢查資源釋放
阻塞操作審查 I/O 操作

Step 6: 審查 DDD 架構

參考 ddd-architect 規則:

  • Domain 層是否有外部依賴?
  • Repository Interface 是否在 Domain 層?
  • Application 層是否過度膨脹?

Step 7: 產生審查報告


📊 審查報告格式

# 程式碼審查報告

📁 審查範圍:`src/domain/`, `src/application/`
📅 日期:2026-01-15
👤 審查者:AI Assistant

---

## 📈 總覽

| 指標 | 分數 | 說明 |
| ---- | ---- | ---- |
| 品質 | 8/10 | 命名清晰,部分函數過長 |
| 安全 | 9/10 | 無明顯漏洞 |
| 效能 | 7/10 | 存在 N+1 查詢風險 |
| 架構 | 8/10 | 符合 DDD,但有小違規 |

---

## ✅ 優點

1. **清晰的領域模型**:User entity 封裝良好
2. **完整的錯誤處理**:使用自定義例外
3. **良好的測試覆蓋**:核心邏輯有單元測試

---

## ⚠️ 問題發現

### 🔴 Critical (必須修復)

#### 1. SQL 注入風險
- **位置**:[user_repository.py](src/infrastructure/repositories/user_repository.py#L45)
- **問題**:使用字串拼接建立 SQL
- **建議**:使用參數化查詢

```python
# ❌ 現有
query = f"SELECT * FROM users WHERE name = '{name}'"

# ✅ 建議
query = "SELECT * FROM users WHERE name = ?"
cursor.execute(query, (name,))

🟠 High (應該修復)

2. 函數過長

  • 位置auth_service.py
  • 問題authenticate() 函數 65 行
  • 建議:拆分為多個私有方法

🟡 Medium (建議改進)

3. 缺少型別標註

  • 位置:多處
  • 建議:為公開 API 新增型別標註

📋 改進清單

  • 修復 SQL 注入問題 (Critical)
  • 重構 authenticate() 函數 (High)
  • 新增型別標註 (Medium)
  • 補充單元測試 (Low)

---

## 🔄 與其他 Skills 整合

| Skill | 整合方式 |
| ----- | -------- |
| `code-refactor` | 發現問題後調用進行重構 |
| `security-reviewer` | 深入安全審查時調用 |
| `test-generator` | 發現測試不足時調用 |
| `ddd-architect` | 架構違規時參考 |

---

## ⚠️ 注意事項

1. **避免過度批評**:指出問題同時肯定優點
2. **提供具體建議**:不只說「這裡有問題」,要說「建議這樣改」
3. **標註嚴重程度**:區分 Critical/High/Medium/Low
4. **考慮上下文**:原型專案和生產專案標準不同
5. **可操作性**:每個問題應有明確的修復方向

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.