Golang Pkg Go Dev
Samuel BertheCommunityCreated by samberDistributed by Samuel Berthe
- Skill
- Tool integration
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The golang-pkg-go-dev skill provides an interface to the pkg.go.dev API via the godig tool. It enables developers to retrieve documentation, API signatures, symbol definitions, usage examples, version history, license information, and vulnerability data for any Go package or module. The tool operates in a read-only mode and can be used as a CLI or integrated as an MCP server, making it suitable for exploring the Go ecosystem without requiring local build context.
What it does
- Fetches package and module metadata, including versions and licenses.
- Retrieves documentation and API signatures for packages and individual symbols.
- Lists package imports and identifies packages that import a specific module.
- Queries the Go vulnerability database for known security issues in dependencies.
- Provides runnable examples for Go packages and specific symbols.
- Supports server-side filtering of results using Go boolean expressions.
When to use it
- When you need documentation or API details for a Go package not present in your local project.
- When verifying the version history or license of a third-party Go library.
- When checking if a specific Go dependency has known vulnerabilities.
- When searching for packages that export a specific symbol or functionality.
- When you need to identify which packages import a particular Go module.
Advantages
- Provides access to the published Go ecosystem independently of local project state.
- Supports both CLI and MCP server modes for flexible integration.
- Enables token-efficient queries by targeting specific symbols rather than entire packages.
- Allows for complex data filtering using server-side Go boolean expressions.
- Offers consistent output formats including Markdown for chat-based interfaces.
Usage examples
- “What versions of github.com/samber/lo are available?”
- Returns a list of available versions for the specified module, including commit times and deprecation status.
- “Show me the documentation for the Map function in github.com/samber/lo.”
- Displays the signature and documentation for the specific Map function, minimizing token usage compared to full package documentation.
- “Does github.com/dgrijalva/jwt-go have any known vulnerabilities?”
- Queries the Go vulnerability database and returns a report of known security issues associated with the package.
- “Find packages that import github.com/samber/ro.”
- Provides a list of packages that depend on the specified module.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/samber/golang-pkg-go-dev/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip golang-pkg-go-dev.zip -d .agents/skills
Documentation by samber
golang-pkg-go-dev
Dependencies: godig — go install github.com/samber/godig/cmd/godig@latest (or use a registered godig MCP server / the hosted instance instead).
godig queries the pkg.go.dev API. Use it to answer questions about Go packages and modules: docs, symbols, versions, importers and vulnerabilities. It works as a CLI and as an MCP server, and all operations are read-only and need no authentication.
When to use this skill
Trigger on questions like:
"What versions of github.com/samber/lo are available?"
"Does golang.org/x/text have known vulnerabilities?"
"Show me the docs / symbols for package X."
"Which packages import X?"
"Search Go packages for Y."
Choosing between godig, gopls, Context7, and govulncheck
In short: godig answers questions about the published ecosystem (works even for packages not yet in your go.mod); gopls reasons about your locally resolved build (go.sum, including replaced forks); Context7 is a fallback for non-Go or unindexed docs; govulncheck is the whole-tree vulnerability audit (→ samber/cc-skills-golang@golang-security). See the samber/cc-skills-golang@golang-gopls skill for wiring gopls (MCP server, native LSP tool, and CLI) with Claude Code, and the samber/cc-skills-golang@golang-how-to skill's "godig vs gopls vs Context7 vs govulncheck" section for the full task-to-tool matrix.
Setup
Install
go install github.com/samber/godig/cmd/godig@latestRegister the MCP server (optional)
godig mcp runs over stdio by default, or streamable HTTP with --transport http. The command is harness-agnostic — any MCP-capable host can point at it. Claude Code registers it via its own CLI:
stdio (the client launches godig on demand):
claude mcp add pkg-go-dev -- godig mcpstreamable HTTP (shared server at /mcp, default :8080):
godig mcp --transport http --addr :8080
claude mcp add --transport http pkg-go-dev http://localhost:8080/mcpHosted instance (no install needed) — a public server runs at https://godig.samber.dev/mcp:
claude mcp add --transport http pkg-go-dev https://godig.samber.dev/mcpOther MCP-capable harnesses (Cursor, Windsurf, and others) each have their own MCP server registration — an entry in their respective settings file pointing at the same godig mcp command or hosted URL, not a shared config format.
The CLI and the MCP server expose the same operations under matching names. Prefer the CLI when godig is installed; the hosted instance is a fallback when it is not.
Commands
Global flags (all commands): -o/--output table|json|raw|md (default table — pass -o md for chat), --base-url (pkg.go.dev API), --vuln-base-url (Go vulnerability database, consulted by vulns and overview), --timeout, --log-level debug|info|warn|error|off. All are also settable via GODIG_* env vars.
| Command | Args | Specific flags | Purpose |
|---|---|---|---|
overview | <path> | --version | Compact summary (metadata, versions, licenses, vulns) — start here |
search | <query> | --symbol --limit --filter | Find packages (optionally exporting a symbol) |
package info | <path> | --module --version | Package metadata |
package imports | <path> | --module --version | Packages this package imports (plain list) |
package doc | <path> | --module --version --goos --goarch --format md|text|html|markdown | Full package doc (LARGE) |
package examples | <path> | --module --version --goos --goarch --symbol | Runnable examples (LARGE; scope with --symbol) |
package licenses | <path> | --module --version | License files, full text (LARGE) |
symbol doc | <path> <symbol> | --module --version --goos --goarch | One symbol's signature + doc (token-efficient) |
symbol examples | <path> <symbol> | --module --version --goos --goarch | One symbol's runnable examples |
symbols | <path> | --module --version --goos --goarch --limit --filter | List exported symbols |
module info | <path> | --version | Module metadata |
module licenses | <path> | --version | Module license files (LARGE) |
module readme | <path> | --version | Module README, full Markdown (LARGE) |
dependencies | <path> | --version | go.mod deps: requires / replaces / excludes / go directive |
packages | <path> | --version --limit --filter | Packages contained in a module |
versions | <path> | --limit --filter | All versions, newest first |
major-versions | <path> | --limit --filter --exclude-pseudo | Major versions (v1, v2 …) living as separate modules |
imported-by | <path> | --module --version --limit --filter | Packages that import this one |
vulns | <path> | --version --limit | Known vulnerabilities (from the Go vuln DB) |
mcp | — | --transport stdio|http --addr --cache-ttl --cache-size | Run as an MCP server |
version | — | — | Print godig version / commit / build date |
When godig runs as an MCP server, each data command above is exposed as an operation of the same name.
Exit codes: 0 success, 1 runtime error (network, package not found), 2 usage error — a missing/invalid argument or flag (e.g. a non-positive --limit), or a command group invoked with no subcommand (godig package). Check for 2 to tell a malformed call apart from a failed lookup.
Full -o md output for every command: sample-output.md.
Tips
Start with
overview— one call returns a compact summary (metadata, latest + recent versions, license types, vulnerabilities). Reach fordoc/examples/module readme/licenses(LARGE) only when the full text is needed.Always pass
-o mdso results render as Markdown (tables, or raw doc/README) in the chat. Other formats exist (tabledefault,json,raw) but prefermdhere.<path>is a full import path, e.g.github.com/samber/lo— pass it as the positional argument.--versionpins a specific module version (v1.5.0,latest,master,main);--moduledisambiguates which module a package belongs to.--filternarrows list results server-side with a Go boolean expression — see Filter syntax.--goos/--goarchset the documentation/symbols build context (e.g.linux/amd64).Prefer
symbol doc/symbol examplesover the package-widepackage doc/package exampleswhen you only need one symbol — far fewer tokens.Parallelize independent lookups — every command is a self-contained, read-only HTTP query, so calls never depend on each other. When a task needs docs, examples, versions, or vulns for several symbols, packages, or modules, issue all the calls at once (multiple
godiginvocations in a single turn) rather than one after another — wall-clock drops from sum-of-latencies to slowest-single-call. For a large fan-out (documenting many symbols, comparing many candidate libraries, auditing CVEs across a dependency set), dispatch up to 5 parallel sub-agents, each running its owngodigcalls and returning a compact summary, so the raw LARGE output never lands in the main context.Listing commands auto-paginate (return all results); use
--limitto cap.
Filter syntax
--filter (on search, versions, major-versions, packages, imported-by, symbols) takes a Go boolean expression evaluated server-side, once per result item. It is not a regex — wrap the whole expression in single quotes for the shell.
Identifiers are the item's fields, which differ per command — a field valid for one list is rejected by another (e.g.
searchexposespackagePath, notpath). An unknown field fails withundefined identifier: <name>(HTTP 400), which names the offending field. Fields use the item's lowercase JSON key; the exception is enum-like values such askind, which are capitalized (Function, notfunc).Operators:
==!=<<=>>=, boolean&&||!, parentheses for grouping.String functions:
contains(s, sub),hasPrefix(s, pre),hasSuffix(s, suf).Literals: double-quoted strings (
"Function"),true/false, numbers.
Filterable fields per command (string unless noted):
| Command | Fields |
|---|---|
search | modulePath, packagePath, synopsis, version |
versions | version, modulePath, deprecated (bool), retracted (bool), hasGoMod (bool), commitTime |
packages | path, name, synopsis, isRedistributable (bool) |
imported-by | path (the importing package path) |
symbols | name, kind (Function/Method/Type/Variable/Constant), synopsis, parent |
major-versions | modulePath, major, version, isLatest (bool) |
godig symbols github.com/samber/lo --filter 'kind=="Function"' -o md
godig symbols github.com/samber/lo --filter 'kind=="Function" && hasPrefix(name,"Map")' -o md
godig versions github.com/samber/lo --filter 'hasPrefix(version,"v1.5")' -o md
godig versions github.com/samber/lo --filter 'deprecated==false && retracted==false' -o md
godig search "result option" --filter 'hasPrefix(packagePath,"github.com/samber/")' -o mdExamples
Always request Markdown output (-o md):
# Overview — start here (compact, one call)
godig overview github.com/samber/ro -o md
# Search
godig search "result option monad" --limit 5 -o md
# Package facets
godig package info github.com/samber/ro -o md
godig package imports github.com/samber/ro -o md
godig package doc github.com/samber/ro --format md -o md
godig package examples github.com/samber/ro --symbol Map -o md
godig package licenses github.com/samber/ro -o md
# Single symbol (token-efficient vs package-wide doc/examples)
godig symbol doc github.com/samber/lo Map -o md
godig symbol examples github.com/samber/oops OopsError.Error -o md
# Module facets
godig module info github.com/samber/ro -o md
godig module readme github.com/samber/ro -o raw
godig dependencies github.com/samber/ro -o md
# Lists (auto-paginated; --limit to cap)
godig versions github.com/samber/ro -o md
godig major-versions github.com/samber/lo -o md
godig packages github.com/samber/ro -o md
godig imported-by github.com/samber/ro --limit 20 -o md
godig symbols github.com/samber/ro --filter 'kind=="Function"' -o md
# Pin a version / set the build context
godig versions github.com/samber/ro --filter 'hasPrefix(version,"v0.3")' -o md
godig package doc github.com/samber/lo --version v1.50.0 -o md
godig symbols github.com/samber/ro --goos linux --goarch amd64 -o md
# Vulnerabilities
godig vulns github.com/samber/ro -o mdThis skill is not exhaustive. godig --help and each sub-command's --help list current flags and output formats; the data mirrors what pkg.go.dev exposes.
If you encounter a bug or unexpected behavior in godig, open an issue at https://github.com/samber/godig/issues.
Files
- ATTRIBUTION.mdAdded by AutoGineer908 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md12.3 KiB
- references/sample-output.md7.0 KiB
ATTRIBUTION.md
Attribution
This folder is an unmodified copy of the Agent Skill "golang-pkg-go-dev", distributed by AutoGineer (https://autogineer.com/agent-skills).
Commit: bb1d43d98a3f8ab639a0042f90d0ec524e39a477
Created by: samber (https://github.com/samber/cc-skills-golang/tree/bb1d43d98a3f8ab639a0042f90d0ec524e39a477/skills/golang-pkg-go-dev)
Publisher: Samuel Berthe (https://github.com/samber)
Licence: MIT License (https://spdx.org/licenses/MIT.html)
Licence evidence: declared in the frontmatter ("license: MIT")
Retrieved: 2026-11-07
The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.
Files added by AutoGineer
ATTRIBUTION.md: this file, written by AutoGineer
LICENSE: copied from LICENSE
Requirements and compatibility
Written for: Claude Code, OpenAI Codex
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Claude Code frontmatter, Needs an MCP server
The author says: Designed for Claude Code, Codex or similar harness. Requires the godig CLI (go install github.com/samber/godig/cmd/godig@latest) or access to a godig MCP server, and internet access to reach the pkg.go.dev API.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- samber
- Publisher
- Samuel Berthe (Community)
- Distributed by
- Samuel Berthe
- Source
- samber/cc-skills-golang · skills/golang-pkg-go-dev · commit bb1d43d
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by samber or Samuel Berthe.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download golang-pkg-go-dev.zip