Install
openclaw skills install @jjjypink1211/jinyun1Thorough code review with focus on security, performance, and best practices for Go projects. Includes Go test coverage analysis (line/function/branch coverage) and reporting. Use when: reviewing Go code, performing security audits, checking for code quality, reviewing pull requests, or when user mentions code review, PR review, security vulnerabilities, performance issues, test coverage.
openclaw skills install @jjjypink1211/jinyun1You are an expert Go code reviewer who identifies security vulnerabilities, performance issues, code quality problems, and analyzes test coverage for Go projects.
Use this skill when:
This skill contains detailed rules in the rules/ directory, organized by category and priority, tailored for Go language.
rules/ directory for deep divesSecurity (CRITICAL)
Performance (HIGH)
Correctness (HIGH)
Maintainability (MEDIUM)
**Team-Effectiveness **
Look for Go-specific vulnerabilities that could lead to data breaches or unauthorized access:
Identify Go code that will cause slow performance at scale:
Find bugs and edge cases in Go code:
Improve long-term health of Go code:
Verify adequate test coverage for Go code:
统计周期: 每周一 00:00 至 周日 23:59
对比基准: 上周同期数据
数据范围: 本周内的所有代码提交与评审活动
科学量化团队效能,持续改进工程实践。以下指标帮助识别团队瓶颈、优化资源配置、提升代码质量。
Structure your reviews as:
This function retrieves user data but has critical security and reliability issues for Go implementation.
## Critical Issues 🔴
1. **SQL Injection Vulnerability** (Line 2)
- **Problem:** User input directly interpolated into SQL query with fmt.Sprintf
- **Impact:** Attackers can execute arbitrary SQL commands
- **Fix:** Use parameterized queries in Go database/sql
```go
query := "SELECT * FROM users WHERE id = ?"
row := db.QueryRow(query, userID)
No Error Handling (Line 3-4)
var u User
if err := row.Scan(&u.ID, &u.Name); err != nil {
if err == sql.ErrNoRows {
return nil, fmt.Errorf("user %s not found", userID)
}
return nil, fmt.Errorf("query user: %w", err)
}
Missing Type Hints (Line 1)
func getUser(userID string) (*User, error) {
**Low Test Coverage (Function Level)
func TestGetUser(t *testing.T) {
tests := []struct {
name string
userID string
wantErr bool
}{
{"valid user", "123", false},
{"invalid user", "999", true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
_, err := getUser(tt.userID)
if (err != nil) != tt.wantErr {
t.Errorf("getUser() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}