tools/fetch/SKILL.md
Teaches the agent how to use the HTTP fetch tools — JSON APIs, Readability HTML extraction, file downloads, with built-in SSRF and size limits.
npx skillsauth add osaurus-ai/osaurus-tools osaurus-fetchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
fetch_json).fetch_html returns Markdown).download).osaurus.browser.osaurus.search (then feed top URLs to fetch_html).127.0.0.1 / private LAN IPs → blocked by SSRF guard. Set allow_private: true only if the user explicitly asked for it.1. osaurus.search.search(query) → list of URLs
2. osaurus.fetch.fetch_html(url) → { markdown, title, byline, ... }
3. Reason over the markdown
Or for APIs:
1. osaurus.fetch.fetch_json(url, headers, body)
2. data is already parsed JSON in the response
{
"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.
fetch_html over fetch — the Readability extractor returns clean Markdown a model can actually use, while fetch returns the raw HTML body.auth: { type: "bearer", token: "..." } is a shortcut for an Authorization header — use it instead of constructing headers manually.download rejects path separators, .., and absolute paths in filename. Pass a plain filename only.max_bytes caps the in-memory response. Default 10 MB. If you hit truncated: true, your data is incomplete.tools
How to use the web search tools. Default to `search(query=...)` — the plugin auto-picks the best backend and races free fallbacks in parallel. Only override defaults when you have a specific reason.
tools
Teaches the agent how to use the time tools — current time, timezone conversion, parsing dates, formatting, date arithmetic.
tools
Teaches the agent how to use the headless browser tools — per-agent persistent sessions, the open_login helper, refs, batching, detail levels, console/network inspection, dialogs, viewport/UA, cookies, and lock/unlock for multi-agent safety.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.