Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/bitwize-music-studio-document-hunter/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 184% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 32% | 0% |
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:
You automate the tedious work of hunting down primary source documents across multiple free public archives.
Important Disclaimers:
pip install playwright && playwright install chromium)| 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.
⚠️ Primary source PDFs should NOT be committed to Git (too large)
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# Primary source PDFs - too large for Git
*.pdf
primary-sources/bash# Check Playwright pip list | grep playwright # Install if needed pip install playwright beautifulsoup4 requests playwright install chromium
Resolve document storage path:
resolve_path("documents", album_slug) — returns {documents_root}/artists/{artist}/albums/{genre}/{album}/mkdir -p {resolved_path}Generate and run a Python script that:
See site-patterns.md for code templates.
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.jsonThe RECAP browser extension crowdsources PACER documents.
What it does:
Location: ${CLAUDE_PLUGIN_ROOT}/tools/extensions/recap-extension/
Setup:
bashcd 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
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 scriptIn {content_root}/.../[album]/SOURCES.md (in git):
PDF: {documents_root}/artists/[artist]/albums/[genre]/[album]/indictment.pdfjson{ "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 } ] }
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-18 | fail→pass | 12,110 | 5,505 | -55% | 1 | 1 | 0% | 2,013 | 2,715 | +35% | 0 | 0 | — |
case-01 | fail→fail | 28,613 | 8,050 | -72% | 1 | 1 | 0% | 6,220 | 2,054 | -67% | 0 | 0 | — |
case-02 | fail→fail | 9,271 | 9,309 | +0% | 1 | 1 | 0% | 1,602 | 1,944 | +21% | 0 | 0 | — |
case-03 | fail→fail | 10,218 | 9,748 | -5% | 1 | 1 | 0% | 1,938 | 2,144 | +11% | 0 | 0 | — |
case-04 | fail→pass | 10,810 | 4,825 | -55% | 1 | 1 | 0% | 1,875 | 2,307 | +23% | 0 | 0 | — |
case-05 | fail→pass | 19,889 | 5,484 | -72% | 1 | 1 | 0% | 1,743 | 2,478 | +42% | 0 | 0 | — |
case-06 | fail→pass | 31,063 | 7,307 | -76% | 1 | 1 | 0% | 1,164 | 3,304 | +184% | 0 | 0 | — |
case-07 | fail→pass | 9,508 | 3,832 | -60% | 1 | 1 | 0% | 1,805 | 2,379 | +32% | 0 | 0 | — |
case-08 | fail→pass | 15,938 | 5,168 | -68% | 1 | 1 | 0% | 2,871 | 2,593 | -10% | 0 | 0 | — |
case-09 | fail→pass | 10,883 | 2,133 | -80% | 1 | 1 | 0% | 1,470 | 2,035 | +38% | 0 | 0 | — |
case-10 | fail→pass | 12,610 | 8,401 | -33% | 1 | 1 | 0% | 2,416 | 3,382 | +40% | 0 | 0 | — |
case-11 | fail→pass | 14,431 | 6,515 | -55% | 1 | 1 | 0% | 2,428 | 2,787 | +15% | 0 | 0 | — |
case-12 | fail→fail | 15,128 | 1,756 | -88% | 1 | 1 | 0% | 1,358 | 1,987 | +46% | 0 | 0 | — |
case-13 | fail→pass | 17,711 | 2,318 | -87% | 1 | 1 | 0% | 1,536 | 2,100 | +37% | 0 | 0 | — |
case-14 | pass→pass | 4,630 | 4,735 | +2% | 1 | 1 | 0% | 676 | 2,240 | +231% | 0 | 0 | — |
case-15 | fail→pass | 16,753 | 10,526 | -37% | 1 | 1 | 0% | 2,514 | 3,239 | +29% | 0 | 0 | — |
case-16 | fail→pass | 18,823 | 1,395 | -93% | 1 | 1 | 0% | 1,702 | 1,914 | +12% | 0 | 0 | — |
case-17 | fail→fail | 13,589 | 10,148 | -25% | 1 | 1 | 0% | 1,245 | 3,258 | +162% | 0 | 0 | — |
case-19 | pass→pass | 12,817 | 7,920 | -38% | 1 | 1 | 0% | 2,024 | 3,122 | +54% | 0 | 0 | — |
case-20 | fail→fail | 6,033 | 6,198 | +3% | 1 | 1 | 0% | 995 | 2,634 | +165% | 0 | 0 | — |
case-21 | pass→pass | 23,972 | 31,988 | +33% | 1 | 1 | 0% | 4,197 | 7,540 | +80% | 0 | 0 | — |
case-22 | pass→pass | 18,557 | 20,655 | +11% | 1 | 1 | 0% | 3,186 | 5,668 | +78% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 17 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +55 percentage points is the difference between those two pass rates over the 17 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.