What problem does it solve? Go projects need consistent tooling configuration across modules, linting, vulnerability scanning, and CI, but golangci-lint v2's breaking config changes, workspace semantics, and govulncheck's exit-code quirks make setup error-prone. This Skill provides verified guidance and drop-in templates for the full Go tooling and dependency security workflow. ## Core Features & Use Cases - Modules & Workspaces: Configure go.mod directives and go.work multi-module workspaces without scattering replace directives. - golangci-lint v2 Migration: Migrate v1 configs with golangci-lint migrate and apply a complete v2 config with the formatters/linters split. - Vulnerability Scanning: Run govulncheck reachability-based scans against vuln.go.dev and gate CI on reachable findings. - Use Case: You inherit a Go monorepo with an outdated v1 lint config and no security scanning. Use this Skill to migrate the config to v2, set up a go.work workspace, and wire a fail-fast CI gate running fmt, vet, lint, govulncheck, and race-enabled tests. ## Quick Start Set up a Go CI quality gate with golangci-lint v2 and govulncheck for my repository using the provided templates.