agentsclimarketplace

Crawl sources

Skill yya007/SkillFinder/skills/crawl-sources

Local-first semantic search across tens of thousands of agent skills (SKILL.md) for Claude Code, Codex & OpenClaw — describe your task, get ranked matches with install commands. FAISS + Ollama, no API calls.

Install
npx -y skills add yya007/SkillFinder --skill crawl-sources

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Crawl all SkillFinder data sources (SkillsMP, ClawHub, SkillHub, Anthropic marketplace, GitHub topics) and write fresh raw JSONL files to data/raw/. Runs crawlers in parallel; supports incremental resume and per-source limits.

SKILL.md

4.9 KB, as published. Nobody here has run it

crawl-sources

Crawl all skill registries and refresh the raw data files in data/raw/.

This skill covers the crawl step only — it does not normalize, embed, or rebuild the index. Run update-index afterward to turn fresh raw data into a searchable index.

Prerequisites

  • GITHUB_TOKEN env var set (required by SkillsMP, ClawHub, and topic crawlers)
  • Python dependencies installed: pip install -r requirements-dev.txt

Agent Instructions

When this skill triggers, determine scope from the user's request:

User saysScope
"crawl everything" / "all sources"Run all five crawlers (default)
"crawl skillsmp" / "crawl github"SkillsMP only
"crawl clawhub" / "crawl openclaw"ClawHub only
"crawl skillhub"SkillHub only
"crawl marketplace" / "crawl anthropic"Marketplace only
"crawl topics" / "crawl github topics"Topic crawler only
"quick test" / "limit N"Add --limit N to each crawler

Step 1 — Check prerequisites

echo "${GITHUB_TOKEN:0:4}..."

If empty, stop:

"Set GITHUB_TOKEN before crawling: export GITHUB_TOKEN=ghp_..."

mkdir -p data/raw

Step 2 — Run crawlers

All sources (parallel — default):

python -m crawlers.skillsmp_crawler -o data/raw/skillsmp.jsonl &
python -m crawlers.clawhub_crawler  -o data/raw/clawhub.jsonl &
python -m crawlers.skillhub_crawler -o data/raw/skillhub.jsonl &
python -m crawlers.marketplace_crawler -o data/raw/marketplace.jsonl &
python -m crawlers.topic_crawler    -o data/raw/topic.jsonl --data-dir data/raw &
wait

Single-source variants (use when user targets one source):

# SkillsMP (GitHub code search for SKILL.md files; ~30 min full run)
python -m crawlers.skillsmp_crawler -o data/raw/skillsmp.jsonl

# ClawHub / OpenClaw (awesome-list + org/topic discovery)
python -m crawlers.clawhub_crawler -o data/raw/clawhub.jsonl

# SkillHub (HTML scrape with pagination)
python -m crawlers.skillhub_crawler -o data/raw/skillhub.jsonl

# Anthropic official marketplace
python -m crawlers.marketplace_crawler -o data/raw/marketplace.jsonl

# GitHub topic tags (claude-skill, codex-skill, agent-skill, …)
python -m crawlers.topic_crawler -o data/raw/topic.jsonl --data-dir data/raw

Useful flags (apply to any crawler):

FlagEffect
--limit NCap at N records — use for quick tests
--mode incrementalSkip repos already present in the output file (preferred over --resume)
--mode fullComplete re-crawl (default)
--mode metadataRefresh stars/ETags only, skip content fetch
--mode discoverOnly fetch repos pushed since last run (date-filtered search)
--resumeDeprecated — use --mode incremental instead
--since YYYY-MM-DDOnly include repos pushed after this date (SkillsMP)
--log-level DEBUGVerbose output
--filter-cache FILEPath to dedup cache (default: data/filter_cache.jsonl)

Orchestrator (runs all crawlers in the right order):

python pipeline/update_crawl.py --mode incremental
python pipeline/update_crawl.py --mode full --sources clawhub,skillsmp
python pipeline/update_crawl.py --mode incremental --chain  # also runs normalize/embed/build

Step 3 — Report record counts

After all crawlers finish:

for f in data/raw/skillsmp.jsonl data/raw/clawhub.jsonl data/raw/skillhub.jsonl data/raw/marketplace.jsonl data/raw/topic.jsonl; do
  [ -f "$f" ] && echo "$(wc -l < $f) $(basename $f)"
done

Report the counts to the user. Flag any source with 0 records as a potential failure.


Step 4 — Suggest next step

If crawl succeeded, offer:

"Raw data is refreshed. Run the update-index skill to normalize, embed, and rebuild the FAISS index — or run it now?"

If the user says yes, hand off to the update-index skill starting at its Step 3 (Backfill metadata).


Troubleshooting

SymptomLikely causeFix
SkillsMP returns 0 recordsRate limit or bad tokenCheck GITHUB_TOKEN; retry with --limit 50
ClawHub hangsGitHub API slowAdd --limit 200 for a quick run
SkillHub returns few recordsSite structure changedRun with --log-level DEBUG and inspect HTML
filter_cache.jsonl grows largeNormal — dedup cacheSafe to delete; will be rebuilt on next run

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.