Extract valuable patterns, ideas, and code from any GitHub repo, filtered for relevance to your projects.
v4 features: feedback loop (learns from your keep/skip decisions), cache layer (skip re-scans), multi-pass scanning (early stop on low-value repos), feedback reasons, normalized pattern tags, novelty detection, cumulative metrics.
- Multi-pass scanning β Pass 1 reads 15 signal files, Pass 2 goes deep only in promising directories
- Early stop β if 15 files yield nothing, stop immediately instead of wasting API calls
- Feedback loop β tracks which findings you keep vs skip, biases future scoring
- Cache layer β remembers scavenged repos by commit SHA, skips unchanged repos
- Smart file scoring β ranks files by relevance, reads only what matters
- Monorepo detection β automatically identifies and analyzes workspace-based repositories
- Auto dependency diff β compares their stack against yours, flags new tools worth checking
- Manifest comparison β filters findings against your existing capabilities and gaps
- Scavenge score rating β brutally honest 1-10 assessment of value (relevance x quality x adoptability)
Never clones repos. Uses GitHub API exclusively:
- Cache check β skip if already scavenged at same commit (use
--forceto override) - Fetch repository metadata and file tree (parallel)
- Load your manifest + past feedback (keeps/skips)
- Pass 1: Score files, read top 15 signal files, assess value
- Early stop if nothing promising β report immediately
- Pass 2: Deep scan only in directories that showed value in Pass 1
- Filter against manifest, diff dependencies
- Output concise report with grab-now items and scavenge score
- Save to memory with commit SHA
- Feedback loop β ask which findings to keep/skip, store for future scoring
Designed as a Claude Code slash command / skill:
# Standard scan (multi-pass: 15 signal + up to 50 deep)
/scavenge owner/repo
# Quick recon (metadata + deps only, ~30s)
/scavenge owner/repo --quick
# Deep scan (15 signal + up to 100 deep)
/scavenge owner/repo --deep
# Focus on specific area (boosts file scoring)
/scavenge owner/repo --focus hooks
# Force re-scan (bypass cache)
/scavenge owner/repo --forceHunt mode allows you to scavenge multiple repositories in a single session, perfect for competitive analysis or exploring a curated list of similar projects.
Create a hunt-list.txt file with repos to scan:
# TIER 1: Must Scavenge (direct competitors + high-value)
owner/repo | 7667 | competitor | Why this repo matters
another/repo | 3238 | category | Brief description
# TIER 2: High potential
...
Then run:
# Scan all repos from hunt-list.txt
scavenge hunt --list hunt-list.txt
# Filter by tier (e.g., tier 1 only)
scavenge hunt --tiers 1 --quick
# Filter by category and limit results
scavenge hunt --category competitor,claude --limit 5 --deep
# Force re-scan all (bypass cache)
scavenge hunt --force --delay 3000Search GitHub and scan matching repos on the fly:
# Search and scan repos matching query
scavenge hunt --search "whatsapp api typescript" --limit 10 --quick
# Filter by minimum stars and language
scavenge hunt --search "payment gateway" --min-stars 500 --language typescript--list <path>β Path to hunt list file (default: ./hunt-list.txt)--tiers <tiers>β Filter by tiers (e.g., "1,2" for tier 1+2 only)--category <cat>β Filter by category (competitor, claude, baileys, etc.)--limit <n>β Max repos to scan-q, --quickβ Quick mode per repo (metadata + deps only)-d, --deepβ Deep mode per repo (up to 100 files)--forceβ Bypass cache for all repos--delay <ms>β Delay between scans in milliseconds (default: 5000)--search <query>β Search GitHub instead of using hunt list--min-stars <n>β Minimum stars for search results (default: 100)--language <lang>β Filter search by language
After completion, you get:
- Summary stats β repos scanned, cached hits, errors, duration
- Top repos β ranked by scavenge score (relevance Γ quality Γ adoptability)
- Best findings β aggregated GRAB NOW and INTERESTING findings across all repos
- Full session β saved to
~/.scavenge/hunts/YYYY-MM-DD-HHmm.json
Perfect for:
- Competitive analysis (scan all competitors at once)
- Stack research (find best implementations of a pattern)
- Discovery (explore related repos in a domain)
- Trend spotting (compare approaches across projects)
Files are scored based on:
HIGH priority (+100 points):
- Paths:
hooks/,middleware/,plugins/,utils/,core/,lib/ - Keywords:
queue,cache,auth,session,hook,plugin,worker,rate-limit - Config:
package.json,CLAUDE.md,.claude/settings.json - Entry points:
index.ts,main.ts,server.tsin src/ root
MEDIUM priority (+50 points):
- Paths:
services/,routes/,controllers/,api/,providers/ - Keywords:
config,setup,init,factory,registry
FEEDBACK BIAS (+/-25 points, matched on normalized tags):
- Patterns similar to past keeps get +25
- Patterns similar to past skips get -25
FOCUS BONUS (+50 points):
- Any file path matching
--focus KEYWORD
SKIP (0 points): Tests, docs, assets, build artifacts, node_modules, workflows
Define your context in a JSON manifest:
- stack: Your tech stack (node, typescript, react, etc.)
- projects: Your active projects with one-line descriptions
- interests: Domains you care about (whatsapp, payments, testing, etc.)
- have: Capabilities you've already built (auth, rate-limiting, webhooks, etc.)
- gaps: What you're missing (testing patterns, monitoring, plugin systems, etc.)
See manifest-example.json for full structure.
Scavenge gets smarter over time:
- You scavenge a repo β findings presented
- You mark findings as keep or skip
- Decisions saved to memory (ai-iq compatible)
- Next scavenge loads past feedback β biases scoring
- Patterns you've kept before get priority; patterns you've skipped get deprioritized
Claude Code β drop scavenge.md in .claude/commands/ and call it like any slash command. Integrates with ai-iq for persistent memory.
Built by kobie3717:
- ai-iq β SQLite-backed persistent memory for AI agents
- wasp-protocol β WhatsApp Session Protocol
- baileys-antiban β Anti-ban utilities for Baileys
- softycomp-node β First unofficial Node.js SDK for SoftyComp
- paybridge β Unified payment gateway abstraction
MIT License β Copyright 2026 Kobus Wolvaardt