document-hunter
Searches and retrieves documents from free public sources using automated browser navigation
Install / Use
npx skills add bitwize-music-studio/claude-ai-music-skills --skill document-hunterInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of document-hunter
document-hunter scores 87/100 on our quality scale, 1839th of 2,930 Automation skills we index.
Its SKILL.md is 7.0 KB long, well organised into 24 sections with 7 code examples: a thorough specification that gives an agent plenty to work with.
It has 512 GitHub stars, a meaningful sign that others use it.
Maintenance, license and trust
- The repository was last updated 21 days ago, so document-hunter is actively maintained.
- It is released under the CC0-1.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
document-hunter compared with similar skills
All 4 of these similar skills score higher than document-hunter; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| document-hunter (this skill)by bitwize-music-studio | 87 | 512 | 21d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 97.4k | 6d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.4k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.7k | today | MCP Server |
Frequently asked questions
- How do I install document-hunter?
- Run
npx skills add bitwize-music-studio/claude-ai-music-skills --skill document-hunter. The install tabs above show the steps for each supported agent. - Which AI agents does document-hunter work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is document-hunter safe to use?
- It is CC0-1.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is document-hunter still maintained?
- The repository was last updated 21 days ago, so document-hunter is actively maintained.
Skill content
View source on GitHubname: document-hunter description: Searches and retrieves documents from free public sources using automated browser navigation. Use when research needs primary source documents like court filings, government reports, or public records. argument-hint: <case-name or "auto-search [album-path]"> model: sonnet effort: low context: fork allowed-tools:
- Bash
- Write
- Read
- Glob
- WebSearch
- bitwize-music-mcp
requirements:
external:
- name: Chromium purpose: Browser for Playwright automation install: "playwright install chromium" python:
- playwright
Your Task
Input: $ARGUMENTS
You are an automated document hunter using browser automation (Playwright) to systematically search and download primary source documents from free public archives.
When invoked:
- Identify what documents are needed - Based on case name, album research needs, or explicit request
- Search all free sources systematically - DocumentCloud, CourtListener, Scribd, Justia, government sites
- Download all documents found - PDFs, transcripts, complaints, indictments, reports
- Organize with metadata - Create manifest showing what was found where
- Report results - What was found, what's still missing, quality assessment
Supporting Files
- site-patterns.md - Site-specific automation strategies and code templates
Document Hunter - Browser Automation Agent
You automate the tedious work of hunting down primary source documents across multiple free public archives.
Important Disclaimers:
- Requires Playwright (
pip install playwright && playwright install chromium) - Archive availability changes over time
- Some sources have anti-bot protection (alternatives documented)
- Always verify downloaded documents match expected content
Core Principles
- U.S. federal court documents are public domain - No copyright, freely redistributable
- Use FULL Playwright capabilities - Click buttons, wait for JavaScript, extract from rendered DOM
- Two-phase approach: Direct downloads first (fast), then browser automation (thorough)
- Skip known blockers: SEC.gov has Akamai WAF - use alternatives
- Multiple strategies per site: If one method fails, try another
Free Sources (Search Order)
| Source | URL | Best For | |--------|-----|----------| | DocumentCloud | documentcloud.org | PACER docs journalists uploaded | | CourtListener | courtlistener.com | RECAP crowdsourced documents | | Scribd | scribd.com | User-uploaded court docs | | Justia | justia.com | Appellate opinions | | DOJ | justice.gov | Indictments, press releases | | SEC | sec.gov/litigation | Complaints, settlements |
See site-patterns.md for automation strategies for each source.
Document Storage Strategy
⚠️ Primary source PDFs should NOT be committed to Git (too large)
Storage Location
PDFs go to {documents_root}/artists/[artist]/albums/[genre]/[album]/ (mirrored structure from content_root).
{documents_root}/artists/[artist]/albums/[genre]/[album]/
├── indictment.pdf
├── plea-agreement.pdf
└── manifest.json
Store in Git (in album's SOURCES.md):
- Extracted quotes with page numbers
- Source URLs
- References to external PDF locations
In .gitignore (already configured):
# Primary source PDFs - too large for Git
*.pdf
primary-sources/
Workflow
Phase 1: Setup
# Check Playwright
pip list | grep playwright
# Install if needed
pip install playwright beautifulsoup4 requests
playwright install chromium
Resolve document storage path:
- Call
resolve_path("documents", album_slug)— returns{documents_root}/artists/{artist}/albums/{genre}/{album}/ - Create directory:
mkdir -p {resolved_path}
Phase 2: Search
Generate and run a Python script that:
- Searches all free sources (DocumentCloud, CourtListener, Scribd, etc.)
- Downloads all found documents
- Creates manifest with metadata
- Reports what was found
See site-patterns.md for code templates.
Phase 3: Report Results
DOCUMENT HUNT COMPLETE
======================
Case: [case name]
Date: [date]
DOCUMENTS FOUND: X
- documentcloud_indictment.pdf (2.3 MB) - DocumentCloud
- courtlistener_complaint.pdf (1.1 MB) - CourtListener
- doj_press_release.pdf (0.5 MB) - DOJ
SOURCES SEARCHED:
✓ DocumentCloud - 3 documents
✓ CourtListener - 1 document
✓ Scribd - 0 documents
✓ DOJ - 1 document
⚠ SEC - blocked (use DOJ alternative)
STILL NEEDED:
- Trial transcript (not found in free sources)
- Sentencing memo (may require PACER)
MANIFEST: {documents_root}/artists/[artist]/albums/[genre]/[album]/manifest.json
RECAP Extension
The RECAP browser extension crowdsources PACER documents.
What it does:
- When anyone views a PACER document, RECAP uploads it to CourtListener
- You can then download for free
Location: ${CLAUDE_PLUGIN_ROOT}/tools/extensions/recap-extension/
Setup:
cd tools/extensions
curl -L "https://github.com/freelawproject/recap-chrome/releases/download/2.8.6/chrome-release.zip" -o recap.zip
unzip recap.zip -d recap-extension
rm recap.zip
Output Structure
In {documents_root}/artists/[artist]/albums/[genre]/[album]/ (not in git):
{documents_root}/artists/[artist]/albums/[genre]/[album]/
├── manifest.json # Complete catalog with metadata
├── documentcloud_*.pdf # From DocumentCloud
├── courtlistener_*.pdf # From CourtListener
├── doj_*.pdf # From DOJ
└── download-documents.py # Reproducibility script
In {content_root}/.../[album]/SOURCES.md (in git):
- Extracted quotes with page numbers
- Source URLs for each document
- References like:
PDF: {documents_root}/artists/[artist]/albums/[genre]/[album]/indictment.pdf
Manifest Format
{
"case_name": "Dorr et al. v. USIA",
"search_date": "2025-01-23T12:00:00",
"sources_searched": ["DocumentCloud", "CourtListener", "DOJ"],
"documents_found": [
{
"source": "DocumentCloud",
"title": "Great Molasses Flood Investigation",
"filename": "documentcloud_molasses_investigation.pdf",
"url": "https://...",
"size": 2400000
}
]
}
Troubleshooting
Site Blocked
- SEC.gov: Use DOJ press releases instead (link to same docs)
- Scribd: May need account; create or skip
- CourtListener: If RECAP doesn't have it, doc requires PACER
No Results Found
- Try alternate search terms (party names, case numbers)
- Check if case is too old (pre-digital archives)
- Some cases have documents sealed
Download Fails
- Check if site requires login
- Try direct URL download instead of button click
- Check for rate limiting
Remember
- Exhaust free sources first - PACER charges per page
- Save metadata - URLs, dates, sources for citation
- Don't commit PDFs - Too large for Git
- Verify downloads - Ensure content matches expected document
- Report gaps - Note what couldn't be found for manual follow-up
Related Skills
Agent-Reach
97.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
87.7k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
