跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

golang-pkg-go-dev

Golang package and module lookup via `godig`, a pkg.go.dev API client (CLI + MCP server). Use for any Go/Golang library's documentation, API signatures, symbols, usage examples, which versions exist, licenses, whether a dependency has CVEs, or who imports a package — prefer this over Context7 for any Go package or module. Read-only, no auth. Not for upgrading dependencies (→ See `samber/cc-skills-golang@golang-dependency-management` skill), choosing a library (→ See `samber/cc-skills-golang@golang-popular-libraries` skill), or local symbols and an already-used dependency's resolved source, call sites, and generic instantiations (→ See `samber/cc-skills-golang@golang-gopls` skill).

AI 与智能体3.4kskills/golang-pkg-go-dev/SKILL.md

安装

把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。

读取 https://funcoding.ai/skills/samber/cc-skills-golang/golang-pkg-go-dev/install.md ,按里面的步骤帮我安装这个 Skill。

SKILL.md

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@latest

Register 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 mcp

streamable HTTP (shared server at /mcp, default :8080):

godig mcp --transport http --addr :8080
claude mcp add --transport http pkg-go-dev http://localhost:8080/mcp

Hosted 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/mcp

Other 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.

CommandArgsSpecific flagsPurpose
overview<path>--versionCompact summary (metadata, versions, licenses, vulns) — start here
search<query>--symbol --limit --filterFind packages (optionally exporting a symbol)
package info<path>--module --versionPackage metadata
package imports<path>--module --versionPackages this package imports (plain list)
package doc<path>--module --version --goos --goarch --format md|text|html|markdownFull package doc (LARGE)
package examples<path>--module --version --goos --goarch --symbolRunnable examples (LARGE; scope with --symbol)
package licenses<path>--module --versionLicense files, full text (LARGE)
symbol doc<path> <symbol>--module --version --goos --goarchOne symbol's signature + doc (token-efficient)
symbol examples<path> <symbol>--module --version --goos --goarchOne symbol's runnable examples
symbols<path>--module --version --goos --goarch --limit --filterList exported symbols
module info<path>--versionModule metadata
module licenses<path>--versionModule license files (LARGE)
module readme<path>--versionModule README, full Markdown (LARGE)
dependencies<path>--versiongo.mod deps: requires / replaces / excludes / go directive
packages<path>--version --limit --filterPackages contained in a module
versions<path>--limit --filterAll versions, newest first
major-versions<path>--limit --filter --exclude-pseudoMajor versions (v1, v2 …) living as separate modules
imported-by<path>--module --version --limit --filterPackages that import this one
vulns<path>--version --limitKnown vulnerabilities (from the Go vuln DB)
mcp—--transport stdio|http --addr --cache-ttl --cache-sizeRun 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 for doc/examples/module readme/licenses (LARGE) only when the full text is needed.
  • Always pass -o md so results render as Markdown (tables, or raw doc/README) in the chat. Other formats exist (table default, json, raw) but prefer md here.
  • <path> is a full import path, e.g. github.com/samber/lo — pass it as the positional argument.
  • --version pins a specific module version (v1.5.0, latest, master, main); --module disambiguates which module a package belongs to.
  • --filter narrows list results server-side with a Go boolean expression — see Filter syntax.
  • --goos/--goarch set the documentation/symbols build context (e.g. linux/amd64).
  • Prefer symbol doc/symbol examples over the package-wide package doc/package examples when 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 godig invocations 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 own godig calls and returning a compact summary, so the raw LARGE output never lands in the main context.
  • Listing commands auto-paginate (return all results); use --limit to 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. search exposes packagePath, not path). An unknown field fails with undefined identifier: <name> (HTTP 400), which names the offending field. Fields use the item's lowercase JSON key; the exception is enum-like values such as kind, which are capitalized (Function, not func).
  • 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):

CommandFields
searchmodulePath, packagePath, synopsis, version
versionsversion, modulePath, deprecated (bool), retracted (bool), hasGoMod (bool), commitTime
packagespath, name, synopsis, isRedistributable (bool)
imported-bypath (the importing package path)
symbolsname, kind (Function/Method/Type/Variable/Constant), synopsis, parent
major-versionsmodulePath, 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 md

Examples

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 md

This 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.

相似的 Skill

brand-guidelines
anthropics/skills180k

brand-guidelines

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

AI 与智能体

internal-comms
anthropics/skills180k

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

AI 与智能体

template-skill
anthropics/skills180k

template-skill

Replace with description of the skill and when Claude should use it.

AI 与智能体

mcp-builder
anthropics/skills180k

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

AI 与智能体

algorithmic-art
anthropics/skills180k

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

AI 与智能体

academy-guide
anthropics/skills180k

academy-guide

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

AI 与智能体