go-toollisted
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