Research skill

Conduct thorough research before implementing new dependencies or patterns in Go.

Use this skill before implementing anything non-trivial.

When to research

Research before implementing if:

  • You're about to add a new Go dependency — check if it's maintained, popular, and has a good API
  • You're implementing a pattern you haven't used before (e.g. a specific concurrency pattern, a new HTTP pattern)
  • A community issue references an external tool, library, or technique
  • You're unsure if a standard library already covers what you need

How to research using the bash tool

Use curl to fetch documentation or check package stats:

# Check if a Go package exists and is maintained
curl -s "https://pkg.go.dev/github.com/some/package" | grep -i "version\|last commit"

# Check GitHub stars / recent activity
curl -s "https://api.github.com/repos/owner/repo" | grep -E '"stargazers_count"|"pushed_at"'

# Fetch Go stdlib docs summary
curl -s "https://pkg.go.dev/search?q=PACKAGE_NAME&m=package" | head -100

Research output format

Before proceeding with implementation, write a short research note:

## Research: <topic>

**Question:** What am I trying to find out?
**Found:** What I learned (2-4 sentences)
**Decision:** What I'll use and why
**Alternatives considered:** What I rejected and why

Rules

  • Don't add a dependency if the standard library covers it
  • Prefer packages with >500 GitHub stars and commits in the last 6 months
  • If you can't verify a package is safe/maintained, implement it yourself
  • Research notes don't need to be saved — they're for the current session only