Web Fetch
/install shikamaru-web-fetch
Web Fetch
Use this skill when the target URL is already known and the job is retrieval, not search.
Common cases:
- fetch a documentation page the user already linked
- pull an article into readable markdown or plain text before summarizing it
- inspect raw HTML to debug markup, metadata, or page structure
- download a remote image to a local path for later inspection or processing
If the user needs help finding the right page first, use web-search before this skill.
Command
Run:
node ./fetch.js --url "https://example.com"
Optional flags:
--format markdown|text|html--timeout \x3Cseconds>--output \x3Cpath>for image responses
Choose the right format
Default to markdown unless the user clearly wants something else.
markdown: best for readable docs, articles, and summarizationtext: best when the user wants the cleanest plain-text extractionhtml: best when inspecting source markup, metadata, links, embeds, or page structure--output \x3Cpath>: use when the response is an image and you want a stable saved file path instead of a temp file
Examples:
node ./fetch.js --url "https://example.com/docs" --format markdown
node ./fetch.js --url "https://example.com/page" --format text --timeout 20
node ./fetch.js --url "https://example.com/page" --format html
node ./fetch.js --url "https://example.com/logo.png" --output /tmp/logo.png
How to work with the result
The CLI prints a \x3Cweb_fetch> block.
For text-like responses it includes:
titleurlmimeformatcontent
For image responses it includes:
titleurlmimeimage
After fetching:
- Read the returned fields carefully.
- Use only the parts relevant to the user's request.
- Summarize or quote concise excerpts instead of dumping the whole page unless the user asked for the full content.
- If you fetched HTML, explain notable structure or metadata rather than pasting large raw blobs unless needed.
- If you downloaded an image, tell the user the saved file path.
Behavior and limits
Keep these in mind while using the tool:
http://URLs are tried ashttps://first, then retried as plain HTTP if needed.- Default timeout is 30 seconds; maximum is 120 seconds.
- Responses larger than 5MB are rejected.
- Browser-like headers are used, with a retry path for some Cloudflare 403 challenge responses.
- SVG is treated as text, not as a binary image attachment.
Failure handling
If the fetch fails:
- verify the URL is complete and starts with
http://orhttps:// - retry with a different format only if the user's goal changed
- if the page is too large, blocked, or times out, tell the user plainly and suggest a narrower target URL or an alternate source
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install shikamaru-web-fetch - After installation, invoke the skill by name or use
/shikamaru-web-fetch - Provide required inputs per the skill's parameter spec and get structured output
What is Web Fetch?
Fetch a known URL and return the page as markdown, plain text, raw HTML, or a downloaded image file using the local fetch.js helper. Use this whenever the us... It is an AI Agent Skill for Claude Code / OpenClaw, with 332 downloads so far.
How do I install Web Fetch?
Run "/install shikamaru-web-fetch" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Web Fetch free?
Yes, Web Fetch is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Web Fetch support?
Web Fetch is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Web Fetch?
It is built and maintained by shikamaru-cc (@shikamaru-cc); the current version is v1.0.0.