

Claude Code + GitHub MCP: Pipeline Tự Động Review PR Cắt 80% Thời Gian Code Review
Mỗi sáng senior dev team mình mở laptop là thấy 8-12 PR chờ. Review tử tế mất 3-4 tiếng. Bỏ qua thì bug lọt production, hotfix cuối tuần. Sprint chậm dần.
Cho đến khi mình build pipeline Claude Code + GitHub MCP tự động pre-screen PR. Sau 3 tháng: review giảm 80%, bug production giảm 64%. Bài này share setup đang chạy.
Vì sao combo này đáng tiền
GitHub MCP server cho Claude Code khả năng đọc PR diff, fetch comment, post review trực tiếp lên GitHub - không cần webhook. Claude Code chạy headless trong CI nên tích hợp GitHub Actions nhẹ tênh.
Khác Copilot review (chỉ comment dòng), Claude đọc toàn bộ context: CLAUDE.md, codebase pattern, test cũ, PR description. Nó review như junior dev đã làm dự án 6 tháng - không phải bot suggest đổi tên biến.
Setup 4 bước
Bước 1: Cài GitHub MCP
claude mcp add github -- npx @modelcontextprotocol/server-github
export GITHUB_PERSONAL_ACCESS_TOKEN=ghp_xxx
Token cần scope repo + pull_requests.
Bước 2: Tạo CLAUDE.md trong repo
# Coding Convention
- TypeScript strict, no `any`
- Banned imports: lodash, moment (dùng dayjs)
- Security: KHÔNG raw SQL, KHÔNG eval, KHÔNG dangerouslySetInnerHTML
- Test: function business logic phải có unit test
Bước 3: Slash command /review-pr (file .claude/commands/review-pr.md):
Review PR #$ARGUMENTS:
1. Fetch diff qua mcp__github__pull_request_read
2. Đọc CLAUDE.md
3. Check 5 góc: Security, Performance, Test, Style, Breaking change
4. Post comment qua mcp__github__add_issue_comment
Bước 4: GitHub Action
on: pull_request
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm i -g @anthropic-ai/claude-code
- run: claude --print "/review-pr ${{ github.event.pull_request.number }}"
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_PERSONAL_ACCESS_TOKEN: ${{ secrets.GH_TOKEN }}
Claude review những gì
- Security: flag
db.query("SELECT * FROM u WHERE id=" + id)SQL injection. Tìm secrets hardcode, key AWS lộ commit, XSS quainnerHTML. - Performance: chỉ ra N+1 query trong loop. Memory leak khi quên cleanup
useEffect. - Test coverage: function mới 50 dòng không có test? Reject. Thiếu edge case null/empty? Comment ngay.
- Style: vi phạm CLAUDE.md (dùng
any, import bị ban) bị flag. - Breaking change: đổi schema DB, đổi API response → cảnh báo migration plan.
Kết quả thực tế
Startup 12 dev dùng pipeline này 3 tháng:
| Metric | Trước | Sau | Δ |
|---|---|---|---|
| Bug lọt production | 11/tháng | 4/tháng | -64% |
| Senior review | 3.5h/ngày | 40 phút | -80% |
| Velocity sprint | 42 SP | 55 SP | +31% |
| PR merge time | 28h | 9h | -68% |
Lưu ý quan trọng: vẫn cần human review final trước khi merge. Claude pre-screen 80% issue thường gặp, senior focus logic phức tạp và kiến trúc.
Pro tips
- Chọn model thông minh: Sonnet 4.6 cho review thường (rẻ, đủ tốt). Opus 4.7 cho PR động vào payment, auth, security-critical.
- Cost: ~$0.80/PR cho repo trung bình. Repo lớn $1.5-2.
- Tip ẩn: thêm
--max-turns 10để Claude không loop khi PR siêu phức tạp. - Branch protection: require 1 human approval - tránh Claude approve bug của Claude.
Pipeline không thay thế senior - nó giải phóng họ khỏi 200 dòng diff đổi tên biến, để focus việc cần não người. Build tốn 1 buổi sáng, ROI tính bằng tuần.
👉 Đọc thêm tutorial Claude Code agentic ở vibeaicoder.xyz
Doanh nghiệp muốn giới thiệu sản phẩm AI tới bạn đọc Vibe AI Coder? Xem gói tài trợ


