oliver-kriska/hexdocs-fetcher
Fetch HexDocs for Elixir libraries with HTML-to-markdown conversion. Use when looking up docs on hexdocs.pm — modules, functions, guides, changelogs.
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill hexdocs-fetcher
Efficiently fetch Elixir library documentation from hexdocs.pm using Claude Code's native WebFetch tool.
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."
)
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 |
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"
)
# 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
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"
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}"
)
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.
Take oliver-kriska/hexdocs-fetcher from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.