Install
openclaw skills install @grtwrn/recursive-findopenclaw skills install @grtwrn/recursive-findrfind)Use when the question is "where on this site / in these docs / among these
listings does X appear?" One rfind call replaces dozens of web_fetch calls
and returns only hit pages with short snippets, not page bodies. Headless port
of the Recursive Find Chrome extension (github.com/grtwrn/recursive-find).
Skip it for: reading one known page (web_fetch), JavaScript-rendered sites or
logged-in pages (browser), or general web questions (web_search).
rfind <url> "<query>" [--depth 1] [--within /docs/] [--max-pages 100] [--mode text|word|regex] [--case] [--main] [--first] [--json]
(rfind is scripts/rfind.mjs in this skill, symlinked onto PATH; Node 18+, no dependencies. rfind --help lists every flag.)
--within <path-prefix> whenever the content lives under one
path (e.g. --within /docs/). Keep the default --depth 1; use --depth 2
only with --within or a small site.--mode word for short words (cat won't match category), --mode regex
for patterns, --first when one hit answers the question.--main when the question is which pages discuss X: it searches only
the main content (<main>, role="main", <article>), so "Next topic" links,
sidebars and menus that merely name X don't count as hits.hit --max-pages, results are incomplete.
Narrow (--within, a deeper start URL) before raising --max-pages (max 1000).
It also flags pages over 32 MB that were only partly searched. Skipped
non-HTML links are normal, not failures.[[match]] inside snippets. Cite the page URL; web_fetch
it if you need more than the snippet.--any-site to leave it); honors robots.txt
(--ignore-robots only when the user asks); 4 parallel fetches; 10 s per page;
the whole crawl stops after 120 s (--max-seconds), flagged in the summary.