PR Review - Pull Request 審查
自動觸發時機
Claude 會在以下情況自動執行此 skill:
| 觸發情境 | 說明 |
|---|---|
| 建立 PR | 用戶說「建立 PR」、「create PR」 |
| 準備 merge | PR 準備合併前的最終檢查 |
| 用戶要求 | 「review PR」、「檢查 PR」 |
| 分支完成 | 功能分支開發完成,準備合併 |
審查流程
步驟 1: 收集 PR 資訊
bash
# 查看當前分支 git branch --show-current # 查看與 main 的差異 git log main..HEAD --oneline # 查看變更的檔案 git diff main --name-only # 查看變更統計 git diff main --stat
步驟 2: 分析變更內容
對每個變更的檔案分類:
| 分類 | 檔案模式 | 風險等級 |
|---|---|---|
| API 路由 | packages/api/src/routers/* | 🔴 高 |
| 資料庫 Schema | packages/db/src/schema/* | 🔴 高 |
| 認證邏輯 | packages/auth/* | 🔴 高 |
| 業務邏輯 | packages/services/* | 🟠 中 |
| UI 元件 | apps/web/src/components/* | 🟡 低 |
| 測試 | **/*.test.ts | 🟢 安全 |
| 文件 | *.md, .doc/* | 🟢 安全 |
步驟 3: 執行檢查
bash
# 型別檢查 bun run typecheck # Lint 檢查 bun x ultracite check # 執行測試 bun run test
步驟 4: 安全掃描
自動調用 /secret-scanner 和 /security-audit
步驟 5: 產生報告
輸出格式
markdown
## 📋 PR Review 報告 ### 基本資訊 - **分支**: feature/xxx → main - **Commits**: X 個 - **變更檔案**: X 個 - **新增行數**: +XXX - **刪除行數**: -XXX ### 📊 變更摘要 #### 🔴 高風險變更 | 檔案 | 變更類型 | 說明 | |------|---------|------| | `packages/api/src/routers/opportunity.ts` | 修改 | 新增 API 端點 | | `packages/db/src/schema/opportunity.ts` | 修改 | 新增欄位 | #### 🟠 中風險變更 | 檔案 | 變更類型 | 說明 | |------|---------|------| | `packages/services/src/llm.ts` | 修改 | 更新 prompt | #### 🟢 低風險變更 - `apps/web/src/components/Button.tsx` - UI 調整 - `README.md` - 文件更新 ### ✅ 檢查結果 | 檢查項目 | 狀態 | 說明 | |---------|------|------| | 型別檢查 | ✅ | 無錯誤 | | Lint | ✅ | 無問題 | | 測試 | ✅ | 45/45 通過 | | 安全掃描 | ✅ | 無敏感資訊 | | 安全審計 | ⚠️ | 1 個建議 | ### 🔍 詳細審查 #### Commit 分析 1. `abc1234` - feat: 新增機會批量更新功能 2. `def5678` - fix: 修復分頁問題 3. `ghi9012` - test: 新增單元測試 #### 需要注意的變更 ##### packages/api/src/routers/opportunity.ts - 新增 `batchUpdate` 端點 - ✅ 有輸入驗證(Zod schema) - ✅ 有權限檢查 - ⚠️ 建議:新增 rate limiting ### 📝 PR 描述建議 \`\`\`markdown ## Summary - 新增機會批量更新功能 - 修復分頁查詢效能問題 ## Changes - [x] 新增 batchUpdate API 端點 - [x] 優化分頁查詢邏輯 - [x] 新增單元測試 ## Test Plan - [x] 單元測試通過 - [ ] 手動測試批量更新功能 - [ ] 驗證分頁效能改善 ## Screenshots (如適用) \`\`\` ### ✅ 準備合併 - [x] 所有檢查通過 - [x] 無安全問題 - [x] 測試覆蓋充足 - [ ] 需要人工確認高風險變更
建立 PR 命令
當所有檢查通過後:
bash
gh pr create \ --title "feat: 機會批量更新功能" \ --body "$(cat <<'EOF' ## Summary [自動產生的摘要] ## Test Plan [自動產生的測試計劃] https://claude.ai/code/[session-id] EOF )"
專案特定規則
PR 命名規範
code
<type>: <description> type: - feat: 新功能 - fix: Bug 修復 - refactor: 重構 - docs: 文件 - test: 測試 - chore: 雜項
必須檢查項目
| 項目 | 原因 |
|---|---|
| 資料庫遷移 | 避免 production 資料問題 |
| API 變更 | 向後相容性 |
| 環境變數 | 確保 production 有設定 |
整合的工具
| 工具 | 用途 |
|---|---|
Bash(gh) | GitHub CLI 操作 |
Bash(git) | Git 操作 |
Bash(test) | 執行測試 |
Read | 讀取變更內容 |
相關 Skills
- •
/code-review- 詳細程式碼審查 - •
/secret-scanner- 敏感資訊掃描 - •
/security-audit- 安全審計 - •
/test- 執行測試