<< All versions
Skill v2.0.0
currentAutomated scan100/100osaurus-ai/osaurus-tools/fetch
+11 new
──Details
PublishedNovember 6, 2026 at 03:09 PM
Content Hashsha256:ba2bce3bc760050d...
Git SHAb0083c836f53
Bump Typepatch
──Files
Files (1 file, 2.6 KB)
SKILL.md2.6 KBactive
SKILL.md · 69 lines · 2.6 KB
name: osaurus-fetch description: Teaches the agent how to use the HTTP fetch tools — JSON APIs, Readability HTML extraction, file downloads, with built-in SSRF and size limits. metadata: author: Osaurus version: "2.0.0"
Fetch
Lightweight HTTP client for grounding agent work in real web content. Hardened by default: SSRF guard blocks private IPs, response size capped at 10 MB, downloads sandboxed to ~/Downloads.
When to use
- Calling a public JSON API (
fetch_json). - Reading the content of a static page or article (
fetch_htmlreturns Markdown). - Saving a file to disk (
download). - Anything where the page does not require JavaScript execution or a real browser session.
When NOT to use
- Pages that need login, JavaScript rendering, or interaction → use
osaurus.browser. - Web search → use the host's built-in
web_search(then feed top URLs tofetch_html). - Reaching localhost /
127.0.0.1/ private LAN IPs → blocked by SSRF guard. Setallow_private: trueonly if the user explicitly asked for it.
Canonical workflow
text
1. web_search(query) → list of URLs2. osaurus.fetch.fetch_html(url) → { markdown, title, byline, ... }3. Reason over the markdown
Or for APIs:
text
1. osaurus.fetch.fetch_json(url, headers, body)2. data is already parsed JSON in the response
Output envelope
json
{"ok": true,"data": {"status": 200,"final_url": "https://example.com/after/redirects","redirect_chain": ["https://t.co/abc", "https://example.com/..."],"protocol_version": "h2","headers": { "content-type": "..." },"body": "...", // fetch only"json": { ... }, // fetch_json only"markdown": "...", "title": "...", // fetch_html only"truncated": false}}{ "ok": false, "error": { "code": "...", "message": "...", "hint": "..." } }
Common error codes: INVALID_ARGS, SSRF_BLOCKED, TIMEOUT, RESPONSE_TOO_LARGE, HTTP_ERROR, EXTRACTION_FAILED, DOWNLOAD_PATH_INVALID.
Tips
- For long pages, prefer
fetch_htmloverfetch— the Readability extractor returns clean Markdown a model can actually use, whilefetchreturns the raw HTML body. auth: { type: "bearer", token: "..." }is a shortcut for anAuthorizationheader — use it instead of constructing headers manually.downloadrejects path separators,.., and absolute paths infilename. Pass a plain filename only.max_bytescaps the in-memory response. Default 10 MB. If you hittruncated: true, your data is incomplete.