¿Qué hace golang-pkg-go-dev?
Dependencias: godig — go install github.com/samber/godig/cmd/godig@latest (o use un servidor MCP godig registrado / la instancia alojada en su lugar).
godig consulta la API de pkg.go.dev. Úselo para responder preguntas sobre paquetes y módulos Go: documentación, símbolos, versiones, importadores y vulnerabilidades. Funciona como CLI y como servidor MCP, y todas las operaciones son de solo lectura y no requieren autenticación.
Cuándo usar este skill
Actívelo en preguntas como:
- "¿Qué versiones de github.com/samber/lo están disponibles?"
- "¿Tiene golang.org/x/text vulnerabilidades conocidas?"
- "Muéstrame la documentación / los símbolos del paquete X."
- "¿Qué paquetes importan X?"
- "Buscar paquetes Go sobre Y."
Elegir entre godig, gopls, Context7 y govulncheck
En resumen: godig responde preguntas sobre el ecosistema publicado (funciona incluso para paquetes que aún no están en su go.mod); gopls razona sobre su build local resuelta (go.sum, incluyendo forks replaceados); Context7 es un recurso de respaldo para documentación que no es Go o no indexada; govulncheck es la auditoría de vulnerabilidades de todo el árbol (→ samber/cc-skills-golang@golang-security). Consulte el skill samber/cc-skills-golang@golang-gopls para la conexión de gopls (servidor MCP, herramienta LSP nativa y CLI) con Claude Code, y la sección "godig vs gopls vs Context7 vs govulncheck" del skill samber/cc-skills-golang@golang-how-to para la matriz completa de tarea a herramienta.
Configuración
Instalación
go install github.com/samber/godig/cmd/godig@latest
Registrar el servidor MCP (opcional)
godig mcp se ejecuta sobre stdio por defecto, o HTTP transmisible con --transport http. El comando es independiente del harness — cualquier host compatible con MCP puede apuntar a él. Claude Code lo registra a través de su propia CLI:
stdio (el cliente lanza godig bajo demanda):
claude mcp add pkg-go-dev -- godig mcp
HTTP transmisible (servidor compartido en /mcp, por defecto :8080):
godig mcp --transport http --addr :8080
claude mcp add --transport http pkg-go-dev http://localhost:8080/mcp
Instancia alojada (sin necesidad de instalación) — un servidor público se ejecuta en https://godig.samber.dev/mcp:
claude mcp add --transport http pkg-go-dev https://godig.samber.dev/mcp
Otros harnesses compatibles con MCP (Cursor, Windsurf y otros) tienen cada uno su propio registro de servidor MCP — una entrada en su respectivo archivo de configuración que apunta al mismo comando godig mcp o URL alojada, no un formato de configuración compartido.
La CLI y el servidor MCP exponen las mismas operaciones con nombres coincidentes. Prefiera la CLI cuando godig esté instalado; la instancia alojada es un recurso de respaldo cuando no lo esté.
Comandos
Flags globales (todos los comandos): -o/--output table|json|raw|md (por defecto table — pase -o md para chat), --base-url (API de pkg.go.dev), --vuln-base-url (base de datos de vulnerabilidades Go, consultada por vulns y overview), --timeout, --log-level debug|info|warn|error|off. Todos también se pueden configurar mediante variables de entorno GODIG_*.
| Comando | Argumentos | Flags específicos | Propósito |
|---|---|---|---|
overview | <ruta> | --version | Resumen compacto (metadatos, versiones, licencias, vulnerabilidades) — comience aquí |
search | <consulta> | --symbol --limit --filter | Encontrar paquetes (opcionalmente que exporten un símbolo) |
package info | <ruta> | --module --version | Metadatos del paquete |
package imports | <ruta> | --module --version | Paquetes que este paquete importa (lista simple) |
package doc | <ruta> | --module --version --goos --goarch --format md|text|html|markdown | Documentación completa del paquete (GRANDE) |
package examples | <ruta> | --module --version --goos --goarch --symbol | Ejemplos ejecutables (GRANDE; acote con --symbol) |
package licenses | <ruta> | --module --version | Archivos de licencia, texto completo (GRANDE) |
symbol doc | <ruta> <símbolo> | --module --version --goos --goarch | Firma + documentación de un símbolo (eficiente en tokens) |
symbol examples | <ruta> <símbolo> | --module --version --goos --goarch | Ejemplos ejecutables de un símbolo |
symbols | <ruta> | --module --version --goos --goarch --limit --filter | Listar símbolos exportados |
module info | <ruta> | --version | Metadatos del módulo |
module licenses | <ruta> | --version | Archivos de licencia del módulo (GRANDE) |
module readme | <ruta> | --version | README del módulo, Markdown completo (GRANDE) |
dependencies | <ruta> | --version | Dependencias de go.mod: requires / replaces / excludes / directiva go |
packages | <ruta> | --version --limit --filter | Paquetes contenidos en un módulo |
versions | <ruta> | --limit --filter | Todas las versiones, de más nueva a más antigua |
major-versions | <ruta> | --limit --filter --exclude-pseudo | Versiones principales (v1, v2…) que viven como módulos separados |
imported-by | <ruta> | --module --version --limit --filter | Paquetes que importan este |
vulns | <ruta> | --version --limit | Vulnerabilidades conocidas (de la base de datos de vulnerabilidades Go) |
mcp | — | --transport stdio|http --addr --cache-ttl --cache-size | Ejecutar como servidor MCP |
version | — | — | Imprimir la versión / commit / fecha de compilación de godig |
Cuando godig se ejecuta como servidor MCP, cada comando de datos anterior se expone como una operación del mismo nombre.
Códigos de salida: 0 éxito, 1 error de ejecución (red, paquete no encontrado), 2 error de uso — un argumento o flag faltante/inválido (p.ej., un --limit no positivo), o un grupo de comandos invocado sin subcomando (godig package). Verifique 2 para distinguir una llamada mal formada de una búsqueda fallida.
Salida completa -o md para cada comando: sample-output.md.
Consejos
- Comience con
overview— una llamada devuelve un resumen compacto (metadatos, versiones más recientes y recientes, tipos de licencia, vulnerabilidades). Recurra adoc/examples/module readme/licenses(GRANDE) solo cuando necesite el texto completo. - Pase siempre
-o mdpara que los resultados se rendericen como Markdown (tablas, o documentación/README sin formato) en el chat. Existen otros formatos (tablepor defecto,json,raw) pero prefieramdaquí. <ruta>es una ruta de importación completa, p.ej.,github.com/samber/lo— pase como argumento posicional.--versionfija una versión de módulo específica (v1.5.0,latest,master,main);--moduledesambigua a qué módulo pertenece un paquete.--filterreduce los resultados de listas en el servidor con una expresión booleana Go — consulte Sintaxis de filtro.--goos/--goarchestablecen el contexto de compilación de la documentación/símbolos (p.ej.,linux/amd64).- Prefiera
symbol doc/symbol examplessobre lospackage doc/package examplesde todo el paquete cuando solo necesite un símbolo.