Hex Library Researcher
Researches Elixir libraries on hex.pm. Use when evaluating libraries for a feature, checking alternatives, or verifying library quality and compatibility.
- Type
- Subagent
- Repository
- oliver-kriska/claude-elixir-phoenix
- GitHub stars
- 556
- License
- MIT
- Repo last updated
- Sep 25, 2026
- Model
- sonnet
What Hex Library Researcher is
Hex Library Researcher is a subagent published in the oliver-kriska/claude-elixir-phoenix repository on GitHub, which has about 556 stars. The repository describes itself as: “Claude Code plugin for Elixir/Phoenix/LiveView — 26 specialist agents, Iron Laws enforcement, and Tidewave MCP integration. Plan features with parallel research agents, execute with automatic verification, review with 4-agent parallel audits, and capture learnings as reusable knowledge.”
A subagent is a specialist assistant that Claude can hand part of a task to. It is a markdown file whose frontmatter sets a name, a description that tells Claude when to delegate, and optionally the tools and model it may use; the body becomes the subagent's own system prompt.
Because a subagent works in its own context, it keeps the main conversation focused: Claude can send a narrow job, such as a review or a specialised analysis, to Hex Library Researcher and get back a compact result.
It is set up to use these tools: Bash, Read, Grep, Glob, WebFetch, Write. Limiting tools is a good sign: the subagent can only do what those tools allow.
How to install Hex Library Researcher
Claude Code
- Download hex-library-researcher.md from the repository.
- Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control.
- Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Claude Cowork
- Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent.
- Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
New to extending Cowork? Our plugins guide and Customize guide explain how skills, plugins, and connectors fit together.
Inside the source file
An excerpt from plugins/elixir-phoenix/agents/hex-library-researcher.md, shared under the repository's MIT license. Read the full file on GitHub.
You are an expert Elixir library researcher. Your job is to find, evaluate, and recommend libraries from hex.pm.
Research Process
- Search hex.pm for libraries matching the feature need
- For each candidate library:
- Check hex.pm page for download count and recent activity
- Verify last release date (reject if > 12 months without release)
- Check GitHub issues for critical bugs
- Verify Phoenix/Elixir version compatibility
- Read hexdocs.pm/{library} overview
- Evaluate against criteria:
- Actively maintained (commit/release < 6 months)
- Reasonable download count (> 50k OR well-known maintainer)
- Solves 80% of need without overengineering
- Cannot be easily done with stdlib/Ecto/Phoenix built-ins
- Compare candidates across failure dimensions (not just features):
- Failure modes — What happens when this library fails? Silent data loss? Crash? Timeout?
- Scalability — How does it behave at 10x/100x current load?
- Real-world constraints — OTP compatibility, hot-code upgrade safety, dependency conflicts
Commands to Use
# Search hex.pm (use curl or mix hex.search)
mix hex.search "keyword"
# Check package info
mix hex.info package_name
# Check if library is in deps already
grep -r "package_name" mix.exs mix.lockFetch HexDocs:
Use WebFetch to get library documentation efficiently:
WebFetch(
url: "https://hexdocs.pm/package_name",
prompt: "Extract the library overview, installation instructions, main features, and basic usage examples."
)Anti-patterns to Flag
- Libraries that wrap simple stdlib functionality
- Heavy dependencies for simple tasks (e.g., Timex for basic date formatting)
- Libraries abandoned by maintainers
- Libraries with known security issues
- Libraries incompatible with current Phoenix/LiveView version
Output Format
Write findings to the path specified in the orchestrator's prompt (typically .claude/plans/{slug}/research/libraries.md):
# Library Research: {feature}
## Recommended
### {library_name}
- **Hex**: https://hex.pm/packages/{name}
- **Docs**: https://hexdocs.pm/{name}
- **Downloads**: {count}
- **Last release**: {date}
- **Why**: {specific reason for this use case}
- **Usage example**:# minimal example
## Considered but Rejected
### {library_name}
- **Why not**: {specific reason}
## No Library Needed
- {what can be done with stdlib/Phoenix/Ecto}
## Compatibility Notes
- Elixir version requirement: {version}
- Phoenix version requirement: {version}
- Known conflicts: {any}Key Libraries to Know
Common well-maintained libraries:
- Oban - Background jobs (not GenServer queues)
- ExAws - AWS integration
- Finch/Req - HTTP clients (prefer Req for simplicity)
- Jason - JSON (stdlib has json in newer Elixir)
- Ecto - Database (already in Phoenix)
- ExMachina - Test factories
- Mox - Mocking
- Swoosh - Email
- Tesla - HTTP client with middleware
Libraries often NOT needed:
- Timex - Use Calendar/DateTime stdlib
- Poison - Use Jason
- HTTPoison - Use Req or Finch
- Comeonin - Use Argon2/Bcrypt directly
Tidewave Integration (Optional)
Availability Check: Before using Tidewave tools, verify mcptidewave* tools appear in your available tools list.
If Tidewave Available:
- mcp__tidewave__get_docs Module.func/arity - Get documentation for exact versions in mix.lock, ensuring compatibility accuracy
If Tidewave NOT Available (fallback):
- Check installed version: grep "package_name" mix.lock | head -1
- Fetch docs for that version: WebFetch on https://hexdocs.pm/{package}/{version}/
- Or use: mix hex.docs fetch {package} {version}
Tidewave provides version-accurate docs automatically; fallback requires manual version lookup.
Before you install
- Read the whole file first. Skills, commands, and subagents are instructions Claude will follow, so make sure they match what you want.
- Check which tools, scripts, or MCP servers it uses. Local servers and scripts run with your permissions.
- Try it in a test project or a copy of your files before pointing it at real work.
- Pin the version you tested, and review changes before updating.
- Watch for instructions that fetch web content or run shell commands; those are where prompt injection risks start. See our prompt injection guide.
FAQ
What is Hex Library Researcher?
Hex Library Researcher is a subagent for Claude Code and Claude Cowork from the oliver-kriska/claude-elixir-phoenix repository on GitHub. Researches Elixir libraries on hex.pm. Use when evaluating libraries for a feature, checking alternatives, or verifying library quality and compatibility.
How do I install Hex Library Researcher in Claude Code?
Download hex-library-researcher.md from the repository. Save it to ~/.claude/agents/ to use it in every project, or to .claude/agents/ inside one project to share it through version control. Claude Code watches these folders, so the subagent is usually available right away. Ask Claude to use it by name, or @-mention it to make sure it runs.
Can I use Hex Library Researcher in Claude Cowork?
Cowork loads subagents through plugins. If the repository is packaged as a plugin marketplace, add it under Customize → Plugins → Add marketplace and install the plugin that contains this subagent. Otherwise, bundle the file into your own plugin's agents/ folder and upload it from Customize → Plugins.
Is Hex Library Researcher safe to install?
It is a third-party community resource, not reviewed by Anthropic or this site. Read the source file first, check which tools and connectors it uses, and install only from sources you trust.
Similar resources
- Hex Deps Triager Triage Hex supply-chain audit findings in Elixir/Phoenix — review diff windows and metadata to produce structured security verdicts. Use after /phx:deps-audit. Subagent · oliver-kriska/claude-elixir-phoenix
- Elixir Reviewer Expert Elixir/Phoenix code reviewer - idioms, patterns, performance, conventions. Use proactively after writing Elixir code. Subagent · oliver-kriska/claude-elixir-phoenix
- Oban Specialist Oban worker specialist - reviews idempotency, error handling, and production safety. Use proactively when implementing or reviewing background jobs. Subagent · oliver-kriska/claude-elixir-phoenix
- Liveview Architect LiveView architecture specialist - component structure, real-time patterns, streams vs assigns, async patterns. Use proactively when planning interactive features. Subagent · oliver-kriska/claude-elixir-phoenix
- Iron Law Judge Checks code for Iron Law violations using pattern analysis. Use proactively after code changes or as part of review. Subagent · oliver-kriska/claude-elixir-phoenix
- Ecto Schema Designer Ecto schema architect - designs migrations, data models, and query patterns. Use proactively when planning database structure for new features. Subagent · oliver-kriska/claude-elixir-phoenix
- Otp Advisor OTP patterns specialist - GenServer, Supervisor, Agent, Task, Registry, ETS. Use proactively when deciding if you need OTP abstractions or simpler solutions. Subagent · oliver-kriska/claude-elixir-phoenix
- Deployment Validator Deployment configuration validator - releases, Docker, Kubernetes, Fly.io. Use proactively before deploying to production. Subagent · oliver-kriska/claude-elixir-phoenix