Skip to content
Development
Command

/go-review

针对地道模式、并发安全、错误处理和安全性的全面 Go 代码审查。调用 go-reviewer 智能体 (Agent)。

From plugin
everything-claude-code
1.8k35 skills15 agents35 commands6 hooks
Install
> /plugin marketplace add xu-xiang/everything-claude-code-zh
> /plugin install everything-claude-code@everything-claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/go-review

Context preview

What this command does when you run it.

针对地道模式、并发安全、错误处理和安全性的全面 Go 代码审查。调用 go-reviewer 智能体 (Agent)。

Command definition

go-review.md
description: 针对地道模式、并发安全、错误处理和安全性的全面 Go 代码审查。调用 go-reviewer 智能体 (Agent)。

Go 代码审查 (Go Code Review)

此命令调用 **go-reviewer** 智能体 (Agent) 进行针对 Go 语言特性的全面代码审查。

此命令的作用

1. **识别 Go 代码变更**:通过 `git diff` 查找已修改的 `.go` 文件 2. **运行静态分析**:执行 `go vet`、`staticcheck` 和 `golangci-lint` 3. **安全扫描**:检查 SQL 注入、命令注入、竞态条件等安全隐患 4. **并发审查**:分析 Goroutine 安全、通道 (Channel) 使用、互斥锁 (Mutex) 模式 5. **地道 Go 检查**:验证代码是否遵循 Go 惯例和最佳实践 6. **生成报告**:按严重程度对问题进行分类

适用场景

在以下情况下使用 `/go-review`:

  • 编写或修改 Go 代码后
  • 提交 Go 代码变更前
  • 审查包含 Go 代码的拉取请求 (Pull Request)
  • 熟悉新的 Go 代码库
  • 学习地道的 Go 模式

审查类别

致命 (CRITICAL) - 必须修复

  • SQL/命令注入漏洞
  • 未经同步的并发访问(竞态条件)
  • Goroutine 泄露
  • 硬编码的凭据
  • 不安全的指针 (Unsafe Pointer) 使用
  • 关键路径中被忽略的错误

高危 (HIGH) - 建议修复

  • 缺失包含上下文 (Context) 的错误包装
  • 使用 Panic 代替错误返回
  • 上下文 (Context) 未透传
  • 导致死锁的无缓冲通道
  • 接口未实现错误
  • 缺失互斥锁保护

中等 (MEDIUM) - 酌情考虑

  • 非地道的代码模式
  • 导出的标识符缺失 Godoc 注释
  • 低效的字符串拼接
  • 切片 (Slice) 未预分配容量
  • 未使用表驱动测试 (Table-driven tests)

运行的自动化检查

# 静态分析
go vet ./...

# 高级检查(如果已安装)
staticcheck ./...
golangci-lint run

# 竞态检测
go build -race ./...

# 安全漏洞
govulncheck ./...

使用示例

用户: /go-review

智能体 (Agent):
# Go 代码审查报告 (Go Code Review Report)

## 已审查的文件
- internal/handler/user.go (已修改)
- internal/service/auth.go (已修改)

## 静态分析结果
✓ go vet: 无问题
✓ staticcheck: 无问题

## 发现的问题

[致命] 竞态条件 (Race Condition)
文件: internal/service/auth.go:45
问题: 未经同步访问共享 Map
```go
var cache = map[string]*Session{}  // 并发访问!

func GetSession(id string) *Session {
    return cache[id]  // 竞态条件
}

修复: 使用 sync.RWMutex 或 sync.Map

var (
    cache   = map[string]*Session{}
    cacheMu sync.RWMutex
)

func GetSession(id string) *Session {
    cacheMu.RLock()
    defer cacheMu.RUnlock()
    return cache[id]
}

[高危] 缺失错误上下文 文件: internal/handler/user.go:28 问题: 返回错误时未包含上下文信息

return err  // 缺失上下文

修复: 包装上下文信息

return fmt.Errorf("get user %s: %w", userID, err)

总结

  • 致命 (CRITICAL): 1
  • 高危 (HIGH): 1
  • 中等 (MEDIUM): 0

建议: ❌ 在修复“致命”问题前禁止合并


## 批准标准

| 状态 | 条件 |
|--------|-----------|
| ✅ 批准 (Approve) | 无致命 (CRITICAL) 或高危 (HIGH) 问题 |
| ⚠️ 警告 (Warning) | 仅存在中等 (MEDIUM) 问题(谨慎合并) |
| ❌ 阻断 (Block) | 发现致命 (CRITICAL) 或高危 (HIGH) 问题 |

## 与其他命令的集成

- 先使用 `/go-test` 确保测试通过
- 如果出现构建错误,使用 `/go-build`
- 在提交代码前使用 `/go-review`
- 针对非 Go 特定的问题,使用 `/code-review`

## 相关内容

- 智能体 (Agent): `agents/go-reviewer.md`
- 技能 (Skills): `skills/golang-patterns/`, `skills/golang-testing/`
Read more
Ships witheverything-claude-code

🌐 Language / 语言 / 語言 为 AI 智能体(Agent)框架打造的性能优化系统。源自 Anthropic 黑客松获胜作品。 这不仅仅是配置文件。它是一个完整的系统:包含技能(Skills)、本能(Instincts)、内存优化、持续学习、安全扫描以及研究优先的开发模式。这些生产级的智能体(Agents)、钩子(Hooks)、命令(Commands)、规则(Rules)以及 MCP 配置,是在构建真实产品的 10 个多月高强度日常使用中演化而来的。 适用于 Claude Code, Codex,

Get the whole plugin