hexdocs-fetcher
HexDocs Fetcher uses Claude Code's WebFetch tool to retrieve Elixir library documentation from hexdocs.pm and automatically convert HTML to markdown. Use this skill when researching Elixir packages, looking up module specifications, finding function signatures, or accessing getting-started guides and changelogs, as it reduces token consumption by up to 80% compared to raw HTML fetching.
git clone --depth 1 https://github.com/oliver-kriska/claude-elixir-phoenix /tmp/hexdocs-fetcher && cp -r /tmp/hexdocs-fetcher/targets/amp/skills/hexdocs-fetcher ~/.claude/skills/hexdocs-fetcherSKILL.md
# HexDocs Fetcher
Efficiently fetch Elixir library documentation from hexdocs.pm using Claude Code's native `WebFetch` tool.
## Usage
When researching libraries, use `WebFetch`:
```
# Fetch library overview
WebFetch(
url: "https://hexdocs.pm/oban",
prompt: "Extract the main documentation, including module overview, installation instructions, and key functions. Format as clean markdown."
)
# Fetch specific module docs
WebFetch(
url: "https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html",
prompt: "Extract the module documentation including all public functions, their specs, and examples."
)
# Fetch getting started guide
WebFetch(
url: "https://hexdocs.pm/ecto/getting-started.html",
prompt: "Extract the complete getting started guide content."
)
```
## Token Efficiency
WebFetch automatically converts HTML to markdown and extracts relevant content:
| Source | Raw HTML | With WebFetch | Benefit |
|--------|----------|---------------|---------|
| HexDocs page | ~80k tokens | ~15k tokens | **80% reduction** |
| Phoenix docs | ~120k tokens | ~25k tokens | **79% reduction** |
| README | ~20k tokens | ~8k tokens | **60% reduction** |
## Integration with hex-library-researcher
When evaluating libraries, fetch docs efficiently:
```
# Get library overview with focused extraction
WebFetch(
url: "https://hexdocs.pm/oban",
prompt: "Extract: 1) Installation instructions 2) Main features 3) Basic usage example"
)
```
## Common HexDocs URLs
```
# Library overview
https://hexdocs.pm/{library}
# Module documentation
https://hexdocs.pm/{library}/{Module}.html
https://hexdocs.pm/{library}/{Module.Submodule}.html
# Guides
https://hexdocs.pm/{library}/guides.html
https://hexdocs.pm/{library}/{guide-name}.html
# API reference
https://hexdocs.pm/{library}/api-reference.html
```
## Prompt Strategies
Use focused prompts for better extraction:
```
# For API docs
prompt: "Extract all public function docs with @spec and examples"
# For guides
prompt: "Extract the complete guide content preserving code examples"
# For troubleshooting
prompt: "Extract any troubleshooting sections, common errors, and FAQs"
# For configuration
prompt: "Extract configuration options and their defaults"
```
## Caching
WebFetch includes automatic 15-minute caching. When fetching the same URL multiple times in a session, results are cached automatically.
For longer persistence, save to planning directory:
```
# After fetching, write the result to a file
Write(
file_path: ".claude/plans/{slug}/research/docs/oban.md",
content: "{extracted content}"
)
```
## Tidewave Alternative
If Tidewave MCP is available, prefer `mcp__tidewave__get_docs` for exact version-matched documentation:
```
mcp__tidewave__get_docs(module: "Oban.Worker")
```
This fetches docs for the exact version in your `mix.lock`.
## Iron Laws
1. **NEVER fetch entire HexDocs sites** — always target specific modules or guides
2. **Use focused prompts** — generic fetches waste tokens; specify what to extract
3. **Prefer Tidewave when available** — exact version match beats generic hexdocs.pmAsh Framework — resources, actions, policies, aggregates, calculations,
Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.
Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.
Analyze Phoenix context boundaries and module coupling via mix xref. Use when checking cross-context calls, validating dependencies, before splitting modules, or reviewing architecture.
Brainstorm Elixir/Phoenix features — explore ideas, compare approaches, gather requirements. Use when vague idea, not sure how to approach, or want to discuss before plan.
Interactive briefing of a plan file — explains reasoning, schema decisions, component choices. Use when developers need to understand a plan before approving.
Summarize and review what changed while you were away. Use after a weekend, vacation, or flight to check missed PRs, git commits, Linear tickets, and meetings — one prioritized brief, not a firehose.