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)

25 stars

Best use case

golang-tooling is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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)

Teams using golang-tooling should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/golang-tooling/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/HoangNguyen0403/agent-skills-standard/golang-tooling/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/golang-tooling/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How golang-tooling Compares

Feature / Agentgolang-toolingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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)

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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](references/golangci.md).

## gopls Integration

`gopls` powers `mcp__ide__getDiagnostics`. Install:

```bash
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

- [golangci.yml example](references/golangci.md)

Related Skills

dbos-golang

25
from ComeOnOliver/skillshub

DBOS Go SDK for building reliable, fault-tolerant applications with durable workflows. Use this skill when writing Go code with DBOS, creating workflows and steps, using queues, using the DBOS Client from external applications, or building Go applications that need to be resilient to failures.

golang-lo

25
from ComeOnOliver/skillshub

Go >= 1.18 项目中希望用 samber/lo(Lodash 风格泛型库)简化集合/映射/字符串、错误处理、重试/节流/防抖、通道并发或指针空值场景时使用。

suggesting-tooling

25
from ComeOnOliver/skillshub

Analyzes a codebase and suggests custom Claude Code skills and subagents to improve development workflow. Use when user wants tooling suggestions, automation ideas, or asks "what skills would help this project".

golang-enterprise-patterns

25
from ComeOnOliver/skillshub

Enterprise-level Go architecture patterns including clean architecture, hexagonal architecture, DDD, and production-ready application structure.

golang-patterns

25
from ComeOnOliver/skillshub

Idiomatic Go patterns, best practices, and conventions for building robust, efficient, and maintainable Go applications.

TypeScript Tooling

25
from ComeOnOliver/skillshub

Development tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling. (triggers: tsconfig.json, .eslintrc.*, jest.config.*, package.json, eslint, prettier, jest, vitest, build, compile, lint)

swift-tooling

25
from ComeOnOliver/skillshub

Standards for SPM, Build Configs, and Code Quality. Use when managing Swift packages with SPM, configuring build settings, or enforcing Swift code quality. (triggers: Package.swift, .swiftlint.yml, package, target, dependency)

react-tooling

25
from ComeOnOliver/skillshub

Debugging, build analysis, and ecosystem tools. Use when debugging React apps, analyzing bundles, or configuring Vite/webpack for React. (triggers: package.json, devtool, bundle, strict mode, profile)

php-tooling

25
from ComeOnOliver/skillshub

PHP ecosystem tooling, dependency management, and static analysis. Use when managing Composer dependencies, running PHPStan, or configuring PHP build tools. (triggers: composer.json, composer, lock, phpstan, xdebug)

nextjs-tooling

25
from ComeOnOliver/skillshub

Ecosystem optimization, deployment, and developer flow. Use when configuring Next.js build optimization, deployment settings, or developer tooling. (triggers: next.config.js, package.json, Dockerfile, turbopack, output, standalone, lint, telemetry)

laravel-tooling

25
from ComeOnOliver/skillshub

Ecosystem management, Artisan, and asset bundling. Use when managing Composer dependencies, Artisan commands, or Vite asset bundling in Laravel. (triggers: package.json, composer.json, vite.config.js, artisan, vite, horizon, pint, blade)

kotlin-tooling

25
from ComeOnOliver/skillshub

Standards for Gradle Kotlin DSL, Version Catalogs, and MockK for Kotlin projects. Use when configuring build.gradle.kts, setting up libs.versions.toml, adding MockK for tests, or choosing between Kotlin-compatible test assertion libraries. (triggers: build.gradle.kts, libs.versions.toml, detekt.yml, mockk, kts, version catalog, kotest)