Agent Skills
› opensquilla/opensquilla
› http-fetch
http-fetch
GitHub轻量级HTTP请求工具,替代sub-agent执行单次GET/POST。支持配置超时与响应大小限制,直接返回文本结果,无LLM循环开销。适用于DAG中的简单数据获取,不适用于爬虫、JS渲染或复杂认证场景。
Trigger Scenarios
需要快速执行单个HTTP GET或POST请求
在元技能DAG中进行简单的数据抓取或API调用
Install
npx skills add opensquilla/opensquilla --skill http-fetch -g -y
SKILL.md
Frontmatter
{
"name": "http-fetch",
"metadata": {
"requires": {
"anyBins": [
"python",
"python3"
]
}
},
"entrypoint": {
"args": [
"--url",
"{{ with.url }}",
"--method",
"{{ with.method | default('GET') }}",
"--timeout",
"{{ with.timeout | default(30) }}",
"--max-bytes",
"{{ with.max_bytes | default(2000000) }}"
],
"parse": "text",
"stdin": "{{ with.body | default('') }}",
"command": "python {baseDir}\/scripts\/http_fetch.py",
"timeout": 60
},
"provenance": {
"origin": "opensquilla-original",
"license": "Apache-2.0"
},
"description": "Fetch a URL via HTTP\/HTTPS and return the response body as text. Lightweight entrypoint replacement for `sub-agent` steps whose only job is a single GET\/POST. Supports GET (default), POST\/PUT\/DELETE with a stdin-piped body, configurable timeout, and a max-bytes cap — no LLM agent loop, no custom-header injection (request goes out with urllib defaults). Use for simple data-fetch steps in meta-skill DAGs; for crawling, JS-rendered pages, or complex auth chains use sub-agent + scrapling instead."
}
http-fetch (sub-skill)
Direct shell wrapper for a single HTTP request. Replaces
sub-agent sub-Agent steps that just GET/POST a URL — order-of-
magnitude faster (no LLM round-trip, no tool surface, no iteration
loop).
Inputs (with:)
| key | required | default | notes |
|---|---|---|---|
url |
yes | — | absolute http(s) URL |
method |
no | GET |
GET / POST / PUT / DELETE (case-insensitive) |
body |
no | '' |
request body, piped via stdin (for POST/PUT); empty = no body |
timeout |
no | 30 |
request timeout in seconds |
max_bytes |
no | 2000000 |
response body cap; larger payloads truncated + suffixed … |
Output
- Success: response body on stdout (UTF-8 decoded, truncated to
max_bytesif larger; lossy decode replaces invalid bytes). - Non-2xx response: exit 1, stderr
HTTP <code>: <reason> <body[:200]>; stdout still carries the body for callers that want to inspect. - Network / DNS / timeout failure: exit 2, stderr cause.
When NOT to use
- Crawling multiple pages → use
scrapling(viasub-agent). - JS-rendered pages → use
sub-agent+ browser tools. - OAuth dance / multi-step auth → use
sub-agent. - Streaming responses → not supported (we buffer + return).
Fallback
If this skill is unavailable, callers should spawn sub-agent
with a curl/requests task — same result, ~10× the latency and a
non-deterministic tool loop.
Version History
- 7f72a32 Current 2026-07-05 18:38


