---
name: querying-documentation
description: Spawns a focused subagent to query language/framework documentation. Use for complex questions requiring exploration across multiple symbols, external library APIs, or understanding how to combine types from different packages. Currently supports Go; more doc sets may be added later.
compatibility: Requires Fish and synu Fish plugin
license: AGPL-3.0-or-later
metadata:
  author: Amolith <amolith@secluded.site>
---

Invoke with `fish path/to/skills/querying-documentation/scripts/query.fish -s <set> '<query>'`. Use the absolute path so you can run it from the project directory where `go doc` will work.

Run with `-h` to see available doc sets.

These agents have restricted tool access—they can only query docs, not read files or search the web. Write thorough questions that justify the cost; simple lookups you can answer with `go doc` yourself.

## Examples

```bash
# Combining stdlib with external library
fish path/to/skills/querying-documentation/scripts/query.fish -s go 'How would I use golang.org/x/sync/errgroup together with context.WithCancel to run parallel HTTP requests that all cancel if any fails?'

# Understanding relationships across an external library
fish path/to/skills/querying-documentation/scripts/query.fish -s go 'In github.com/charmbracelet/bubbletea, how do Model, Cmd, and Msg relate? What does Update return and why?'

# Exploring implementation patterns
fish path/to/skills/querying-documentation/scripts/query.fish -s go 'How do the io.Reader wrappers (bufio.Reader, io.LimitReader, io.TeeReader) compose? Show how to chain them for reading a limited, buffered copy of a stream.'
```

---

Refer to [dependencies.md](references/dependencies.md) if dependencies are missing.
