← ClaudeAtlas

go-toollisted

Manage Go tool dependencies using the tool directive (Go 1.24+). Use when a Go project needs code generation tools like sqlc, moq, templ, swag, or stringer managed as reproducible Go tool dependencies.
sgaunet/claude-plugins · ★ 13 · AI & Automation · score 78
Install: claude install-skill sgaunet/claude-plugins
# Go Tool Dependency Management Manage Go development tool dependencies using the `tool` directive introduced in Go 1.24. This ensures reproducible builds by tracking tool versions in `go.mod` — eliminating the old `tools.go` workaround and version drift across developers and CI. For detailed per-tool information, see the [reference catalog](${CLAUDE_SKILL_DIR}/../../docs/go-tool-catalog.md). ## When to Use - A Go project needs external code generation or build tools - Indicator files suggest a tool should be added (`.templ`, `.proto`, `sqlc.yml`, etc.) - The user explicitly requests adding a Go tool dependency - Auditing existing tool dependencies for consistency or cleanup - Migrating from `tools.go` pattern to the native `tool` directive ## Prerequisites Before proceeding, verify: 1. **go.mod exists**: Check for `go.mod` in the project root. Abort if missing. 2. **Go version ≥ 1.24**: Read the `go` directive in `go.mod`. If the version is below 1.24, inform the user: "The Go tool directive requires Go 1.24+. Update the `go` directive in go.mod to 1.24 or later." ## Workflow: Detect Recommended Tools Scan the project for indicator files and compare against existing tool declarations in `go.mod`. ### Step 1: Read Existing Tools Parse `go.mod` for the `tool` block to identify already-tracked tools. ### Step 2: Scan for Indicator Files Use Glob to detect files that suggest specific tools: | Indicator | Tool | Module Path | |-----------|------|-------------| | `sq