一键导入
go-guidelines
Go best practices for performance, modern syntax, generics, patterns, testing, error handling, and concurrency. Use when writing or reviewing Go code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Go best practices for performance, modern syntax, generics, patterns, testing, error handling, and concurrency. Use when writing or reviewing Go code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | go-guidelines |
| description | Go best practices for performance, modern syntax, generics, patterns, testing, error handling, and concurrency. Use when writing or reviewing Go code. |
!grep -rh "^go " --include="go.mod" . 2>/dev/null | cut -d' ' -f2 | sort | uniq -c | sort -nr | head -1 | xargs | cut -d' ' -f2 | grep . || echo unknown
DO NOT search for go.mod files or try to detect the version yourself. Use ONLY the version shown above.
If version detected (not "unknown"):
If version is "unknown":
Read ONLY the reference file(s) relevant to your current task. Do NOT load all files at once.
When reading reference files, stop at the detected Go version boundary — ignore features from newer versions.
| When you are... | Read this reference |
|---|---|
| Using version-specific Go syntax or idioms | references/modern-syntax.md |
| Optimizing performance, struct layout, escape analysis | references/performance.md |
| Working with goroutines, channels, sync, select, false sharing | references/concurrency.md |
| Writing HTTP servers, shutdown, health checks, middleware, interfaces, io.Reader | references/patterns.md |
| Writing tests, mocks, benchmarks, fuzz tests | references/testing.md |
| Handling errors, wrapping, custom error types | references/error-handling.md |
| Working with slices, maps, append, memory leaks | references/slices-and-maps.md |
| Using context.Context, values, cancellation, timeouts | references/context-patterns.md |
| Using generics, type parameters, constraints | references/generics.md |
| Debugging subtle bugs, nil traps, shadowing, sync copying, defer, time | references/pitfalls.md |
Multiple topics may apply. For example, writing a concurrent function with tests: load modern-syntax.md + concurrency.md + testing.md.
After making Go code changes, run static analysis and tests on the changed packages:
which golangci-lint >/dev/null 2>&1 && golangci-lint run ./path/to/changed/package/... || go vet ./path/to/changed/package/...
go test ./path/to/changed/package/... -race
golangci-lint when available, fall back to go vet