AGENT SKILL

golang-tooling

Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)

适用职业开发工程师
License 许可
MIT
最近更新
2026-06-24
Stars
★ 67
Forks
24

01 前言 Front Matter

name
golang-tooling
description
Go developer toolchain — gopls LSP diagnostics, linting, formatting, and vet. Use when setting up Go tooling, running linters, or integrating gopls with Claude Code. (triggers: gopls, golangci-lint, golangci.yml, go vet, goimports, staticcheck, go tooling, go lint)

03 SKILL.md 正文

Golang Tooling Standards

Priority: P1 (Operational)

Verification Workflow (Mandatory)

After writing or modifying Go code, run in order:

  1. mcp__ide__getDiagnostics — gopls real-time errors and type warnings (requires gopls-lsp plugin)
  2. go vet ./... — catch printf mismatches, unreachable code, shadowed variables
  3. goimports -w . — organize imports and format in one pass
  4. golangci-lint run ./... — run full linter suite (if .golangci.yml present)

Tool Overview

Tool Purpose When to Use
gopls LSP: diagnostics, completion, hover Always (IDE integration)
go vet Static analysis — correctness bugs After every edit
goimports Import sorting + gofmt Before commit
golangci-lint Aggregated linters (errcheck, staticcheck, etc.) CI / pre-commit
staticcheck Advanced static analysis Large codebases

golangci-lint Setup

Configure via .golangci.yml at repo root. Recommended linters:

  • errcheck — enforce error handling
  • staticcheck — bug detection beyond go vet
  • govet — shadow, composites
  • revive — style enforcement
  • gosec — security issues

See golangci.yml example.

gopls Integration

gopls powers mcp__ide__getDiagnostics. Install:

go install golang.org/x/tools/gopls@latest

Anti-Patterns

  • No gofmt alone: Use goimports — it does formatting AND imports.
  • No manual import sorting: Let goimports manage the order.
  • No skipping go vet: Run it — catches real bugs gofmt misses.
  • No broad lint disable: Fix the root cause instead of //nolint comments.

References

04 同仓库更多 Skills