Search, download, and inspect AI coding skills from playbooks.com using skill-dl.
Trigger boundary
Use this skill when:
- searching for existing skills on a topic before building a new one
- downloading one or more skills from playbooks.com for comparison
- building a corpus of skills for evidence-based skill design
- piping search results directly into batch download
- inspecting a downloaded corpus to decide what to inherit or avoid
Do not use this skill for:
- building or authoring a new skill from a corpus (use
build-skills) - testing a skill's instructional quality (use
enhance-skill-by-derailment) - general web research unrelated to skill discovery (use
run-research)
Prerequisites
Verify skill-dl is installed before doing anything else.
skill-dl --version
If skill-dl --version succeeds, continue. If it is missing, install with a saved-and-inspected installer, then verify again. On macOS, if bash --version is 3.x, install a newer Bash first with brew install bash.
curl -fsSL https://raw.githubusercontent.com/yigitkonur/cli-skill-downloader/main/install.sh -o /tmp/install-skill-dl.sh
sed -n '1,160p' /tmp/install-skill-dl.sh
# Run one of the next two commands.
# Linux, or macOS where `bash --version` is already 4+:
bash /tmp/install-skill-dl.sh
# macOS if `bash --version` is 3.x (the default /bin/bash is 3.2):
"$(brew --prefix)"/bin/bash /tmp/install-skill-dl.sh
skill-dl --version
Installation requirements: git plus curl or wget. The Bash 4+ requirement applies to the installer script, not to using a preinstalled skill-dl. No API keys are required for normal searches because skill-dl ships with built-in backend defaults. See references/download-patterns.md for output layout, batching, and troubleshooting.
Workflow
1. Define your search intent
Before your first search, read references/search-strategies.md, then write down:
- The topic or domain you need skills for
- Whether you need broad coverage (landscape scan) or targeted matches (specific technique)
- How the downloaded skills will be used (comparison, evidence, reference)
- Keywords from at least 3 different angles (technology, domain, activity, pattern, or scope)
Keyword diversity matters more than synonyms. This step determines search quality.
2. Search for skills
Run skill-dl search with 3-20 space-separated keywords:
skill-dl search typescript mcp server sdk patterns --top 20
Output is a markdown table ranked by keyword match count. Higher match count means the skill matched more of your keywords.
Search tuning flags:
| Flag | Purpose |
|---|---|
--top N |
Cap results to top N (default: all) |
--min-match N |
Only show skills matching N+ keywords |
Search backends: Serper API (Google), playbooks.com scraping (always active), Scrapedo proxy (fallback). All run automatically.
If the first search returns too many results, add --min-match 2 or narrow keywords. If results are sparse, broaden keywords or run a second search with different phrasing. Read references/search-strategies.md for multi-round search patterns.
3. Evaluate results and build a URL list
Shortlist 3-10 URLs using this order:
- Match count first — start with skills matching 2+ keywords. If the best results only match 1-2 keywords, treat the topic as niche and curate from the full list.
- Scope fit second — reject skills whose names clearly signal the wrong depth, domain, or task, even if they rank highly.
- Diversity third — prefer distinct repos or workflow angles over near-duplicate skills from one source.
- Owner/repo last — use familiar authors or repos as a tie-breaker, not as the primary signal.
For batch downloads, save selected URLs to a file (one per line, # comments allowed):
# React component skills
https://playbooks.com/skills/owner/repo/skill-one
https://playbooks.com/skills/owner/repo/skill-two
4. Download skills
Read references/download-patterns.md for the full download reference. Quick patterns:
Default layout: skill-dl writes to <output>/<auto-category>/<owner>--<repo>--<skill>/. Example: ./corpus/pro-and-review/mcollina--skills--typescript-magician/. Use --no-auto-category for a flat <output>/<owner>--<repo>--<skill>/ layout, or -c <name> to force a single category folder.
Single skill:
skill-dl https://playbooks.com/skills/owner/repo/skill-name -o ./corpus
For 2-4 ad hoc downloads, pass multiple URLs directly in one skill-dl command. Use a URL file when you need comments, reuse, or a larger batch.
Batch from file:
skill-dl urls.txt -o ./corpus --no-auto-category -f
Pipe search directly to download:
skill-dl search react hooks testing | grep -oE 'https://playbooks\.com/skills/[^ |]+' | skill-dl - -o ./corpus -f
Dry run first for large batches:
skill-dl urls.txt --dry-run
5. Inspect the corpus
After download, inspect what you got. Read references/corpus-inspection.md for the full inspection protocol.
Default auto-categorization puts SKILL.md one level deeper than flat mode, so the find ... -maxdepth 3 commands below work for both layouts. If tree is unavailable, use find ./corpus -maxdepth 3 -type d | sort for a directory view.
Quick inspection:
# Overview
tree -L 2 ./corpus
# Count skills and references
find ./corpus -name "SKILL.md" -maxdepth 3 | wc -l
find ./corpus -name "SKILL.md" -maxdepth 3 | while read f; do
d=$(dirname "$f")
echo "$(basename "$d"): $(find "$d" -type f | wc -l) files"
done
For each high-signal skill:
- Read its SKILL.md fully — understand trigger boundary, workflow, decision rules
- Tree its
references/directory — see structure and decomposition - Read the 2-3 most relevant reference files
- Check
scripts/,rules/, orexamples/if present - Note what to inherit and what to avoid
6. Use the end-to-end script (optional)
Only use this if you have the full skills-by-yigitkonur repo checked out locally. From the repo root, you can use skill-research.sh from the build-skills references for one-command search-to-inspect:
bash skills/build-skills/references/skill-research.sh "keyword1,keyword2,keyword3" ./corpus 6
This runs all three phases (discovery, download, inspection) with parallel execution.
Decision rules
- If you need fewer than 5 skills, download them individually. Batch only when building a corpus.
- If results exceed 50 rows, use
--min-match 2before manually scanning. For niche topics where max match count is 1-2, manually curate from the full list. - If a skill fails to download (
[ERR] Not found in repo), run with-vto see available skills in that repo. The skill may use a non-standard directory layout. - If you need skills from the same repo, put all URLs in one file —
skill-dlclones each repo only once. - If the corpus will feed into
build-skills, organize notes per skill before switching to that workflow. - If
skill-dlis unavailable and cannot be installed, search GitHub manually for repositories containing SKILL.md files.
Do this, not that
| Do this | Not that |
|---|---|
| Use 3-20 diverse keywords covering different angles | Use 1-2 generic keywords and wonder why results are thin |
Run --dry-run before large batch downloads |
Download 100 skills and then realize half are irrelevant |
| Inspect each skill's SKILL.md and references before deciding | Judge skills by name alone |
| Pipe search to download for quick corpus building | Manually copy-paste 30 URLs one at a time |
| Group URLs by repo in batch files for efficient cloning | Download each URL independently and re-clone repos |
Use --no-auto-category when you want flat output |
Fight auto-categorization after the fact |
Reference routing
| File | Read when |
|---|---|
references/search-strategies.md |
Formulating keywords, running multi-round searches, or tuning result quality |
references/download-patterns.md |
Downloading skills (single, batch, pipe, parallel) or troubleshooting download failures |
references/corpus-inspection.md |
Inspecting downloaded skills, assessing quality, or preparing notes for comparison |
Guardrails
- Do not search with fewer than 3 keywords.
skill-dlrequires a minimum of 3. - Do not exceed 20 keywords per search invocation.
- Do not skip the dry run for batches over 20 URLs.
- Do not treat downloaded skills as templates to copy. They are evidence for comparison.
- Do not download without first verifying
skill-dl --version. - Do not ignore download errors. Check with
-vand verify URLs.