lynx-web-search
Lynx Web Search
Overview
Use lynx as a fast text-only fallback for web search and page retrieval.
This skill focuses on two repeatable tasks:
- Search engines from the terminal
- Fetch a URL and save a readable dump in
/tmp
When to Use
- Need quick web search from shell without GUI/browser automation
- Dedicated web tooling is unavailable
- Need plain-text output for analysis/summarization
- Need deterministic saved artifacts in
/tmp
When NOT to use:
- JavaScript-heavy pages requiring interaction/login flows
- Visual testing or DOM inspection (use browser automation tools)
Quick Reference
Engine URL templates
| Engine | URL template |
|---|---|
https://www.google.com/search?q=<query> |
|
| Brave | https://search.brave.com/search?q=<query>&source=web |
| Bing | https://www.bing.com/search?q=<query> |
| Yahoo | https://search.yahoo.com/search?p=<query> |
| GitHub | https://github.com/search?q=<query>&type=repositories |
https://www.reddit.com/search/?q=<query> |
|
| Reddit (less JS-heavy fallback) | https://old.reddit.com/search?q=<query> |
Core lynx flags from man lynx
-dump: render readable text and exit-source: dump raw source and exit-listonly: output links list only (good for extracting URLs)-accept_all_cookies: avoid cookie prompts-useragent=...: override UA when sites block default behavior
Implementation
1) Search any engine and save output to /tmp
engine="brave" # google|brave|bing|yahoo|github|reddit|oldreddit
query="lynx cli usage"
q=$(python - <<'PY' "$query"
import sys, urllib.parse
print(urllib.parse.quote_plus(sys.argv[1]))
PY
)
case "$engine" in
google) url="https://www.google.com/search?q=$q" ;;
brave) url="https://search.brave.com/search?q=$q&source=web" ;;
bing) url="https://www.bing.com/search?q=$q" ;;
yahoo) url="https://search.yahoo.com/search?p=$q" ;;
github) url="https://github.com/search?q=$q&type=repositories" ;;
reddit) url="https://www.reddit.com/search/?q=$q" ;;
oldreddit) url="https://old.reddit.com/search?q=$q" ;;
*) echo "Unknown engine: $engine" >&2; exit 2 ;;
esac
out="/tmp/lynx-search-${engine}-$(date +%Y%m%d-%H%M%S).txt"
lynx -accept_all_cookies -dump "$url" | tee "$out"
printf "\nSaved: %s\n" "$out"
2) Fetch a given URL and save readable dump to /tmp
url="https://example.com"
out="/tmp/lynx-page-$(date +%Y%m%d-%H%M%S).txt"
lynx -accept_all_cookies -dump "$url" > "$out"
printf "Saved readable dump: %s\n" "$out"
3) Optional: save raw HTML/source to /tmp
url="https://example.com"
out="/tmp/lynx-source-$(date +%Y%m%d-%H%M%S).html"
lynx -source "$url" > "$out"
printf "Saved source dump: %s\n" "$out"
Common Mistakes
- Forgetting URL encoding for multi-word queries → use
urllib.parse.quote_plus - Assuming Google always works in text mode (often blocked/JS challenge)
- Using only one engine when blocked → retry with Brave/Bing/Yahoo/GitHub/old Reddit
- Not saving outputs → always write to
/tmp/lynx-*.txtfor traceability - Expecting JS-rendered content from
lynx→ use browser automation for dynamic pages
More from zenobi-us/dotfiles
leaflet-mapping
Use when creating interactive maps in Obsidian using LeafletJS plugin - covers real-world maps, image maps, markers from notes, overlays, GeoJSON, GPX tracks, and common issues with bounds/zoom levels
73skill-hunter
Find and download skills. Use when you need to discover existing skills from GitHub repositories and store them in the correct local skills category. Results in discovered skills being downloaded into the users dotfile repo.
68using-superpowers
Use when starting any conversation - establishes mandatory workflows for finding and using skills, including using Skill tool before announcing usage, following brainstorming before coding, and creating TodoWrite todos for checklists
67deep-researcher
Use when delegating research tasks requiring verified information from multiple authoritative sources - crawls and fact-checks beyond surface-level findings, providing evidence of verification process with confidence levels for each claim
66chrome-debug
Use when debugging web applications in chrome via the remote debugging protocol. Provides capabilities for inspecting DOM, executing JS, taking screenshots, and automating browser interactions.
64projectmanagement
Skills for managing projects, tracking progress, and suggesting next actions.
64