← Back to Skills Marketplace
johnnywang2001

Jrv Http Client

by John Wang · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
158
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install jrv-http-client
Description
Make HTTP requests from the command line with support for auth (Bearer, Basic, API key), custom headers, JSON/form body, response formatting, timing, and his...
README (SKILL.md)

jrv-http-client

A developer-friendly HTTP client for agents and scripts. Supports all HTTP methods, authentication, request bodies, pretty-printed responses, timing, and request history — all without needing curl flags memorized.

Quick Start

# Simple GET request
python3 scripts/http_client.py GET https://httpbin.org/get

# POST with JSON body
python3 scripts/http_client.py POST https://httpbin.org/post --json '{"name": "test"}'

# POST with form data
python3 scripts/http_client.py POST https://httpbin.org/post --form "name=test&value=42"

# PUT request
python3 scripts/http_client.py PUT https://api.example.com/users/1 --json '{"role": "admin"}'

# DELETE request
python3 scripts/http_client.py DELETE https://api.example.com/users/1

# Bearer token auth
python3 scripts/http_client.py GET https://api.example.com/me --bearer "mytoken123"

# Basic auth
python3 scripts/http_client.py GET https://api.example.com/data --auth "user:password"

# API key header
python3 scripts/http_client.py GET https://api.example.com/data --api-key "X-API-Key:abc123"

# Custom headers
python3 scripts/http_client.py GET https://api.example.com/ --header "Accept: application/json" --header "X-App: myapp"

# Follow redirects
python3 scripts/http_client.py GET https://example.com/ --follow

# Show only status code
python3 scripts/http_client.py GET https://api.example.com/health --status-only

# Output response to file
python3 scripts/http_client.py GET https://example.com/data.json --output response.json

# Timeout
python3 scripts/http_client.py GET https://slow.api.example.com/ --timeout 10

# Show request timing
python3 scripts/http_client.py GET https://httpbin.org/get --timing

# Output as JSON (for scripting)
python3 scripts/http_client.py GET https://httpbin.org/get --output-json

Commands

Option Description
GET/POST/PUT/DELETE/PATCH/HEAD HTTP method
\x3Curl> Target URL
--json \x3Cbody> JSON request body (sets Content-Type: application/json)
--form \x3Cdata> Form-encoded body (key=value&key2=val2)
--bearer \x3Ctoken> Bearer token Authorization header
--auth \x3Cuser:pass> Basic auth
--api-key \x3CHeader:value> Custom API key header
--header \x3CH: V> Add custom header (repeatable)
--follow Follow redirects (default: no)
--timeout N Request timeout in seconds (default: 30)
--status-only Print only the HTTP status code
--output \x3Cfile> Save response body to file
--output-json Output full response as JSON (status, headers, body, timing)
--timing Show request/response timing
--no-verify Skip TLS certificate verification
--verbose Show request headers sent

Response Format

By default, responses are pretty-printed:

  • JSON responses are syntax-highlighted and indented
  • Other responses show raw text
  • Status line and response headers are always shown

Exit Codes

  • 0 — HTTP 2xx response
  • 1 — HTTP 4xx/5xx response
  • 2 — Network error, timeout, or usage error

Use Cases

  • API testing: Quick endpoint checks without Postman
  • Health monitoring: Check if an API returns 200
  • Auth testing: Test Bearer/Basic/API key auth flows
  • Webhook debugging: Send test payloads to webhook endpoints
  • CI scripts: Trigger API actions or check health in pipelines
Usage Guidance
This skill appears to be a normal CLI HTTP client and is coherent with its description. Before installing or using it, consider: (1) The provided script was truncated in the submission so the tail of the code (where history logging or other behavior could live) was not visible — review the full file locally before trusting it. (2) Avoid passing sensitive tokens or passwords on the command line where possible (they can appear in process lists and shell history); if you must, be aware of that exposure. (3) --no-verify disables TLS verification and can enable man-in-the-middle attacks — use only for testing. (4) Output to files may persist sensitive response bodies on disk. If you plan to let an agent invoke this autonomously, ensure the agent's scope and the URLs it may contact are restricted to trusted endpoints.
Capability Analysis
Type: OpenClaw Skill Name: jrv-http-client Version: 1.0.0 The jrv-http-client skill is a functional HTTP client utility implemented using Python's standard library (urllib). It provides standard features such as support for various HTTP methods, authentication headers (Bearer, Basic, API Key), and response formatting. Analysis of scripts/http_client.py and SKILL.md shows no evidence of malicious intent, data exfiltration, or obfuscation; the tool operates strictly on user-provided arguments and aligns with its stated purpose.
Capability Assessment
Purpose & Capability
Name/description and the included Python script align: this is an HTTP client supporting auth, headers, bodies, timing, and formatted output. The SKILL.md mentions 'history logging' which was not visible in the portion of scripts/http_client.py provided (file content was truncated), so that specific claim may not be implemented.
Instruction Scope
Runtime instructions only direct the agent to run the local Python script with URL, headers, and auth arguments. The script performs network requests and can write a response to a local file if requested; it does not read arbitrary local configuration or other system secrets (no required env vars or config paths).
Install Mechanism
No install spec is provided (instruction-only with an included script). Nothing is downloaded or installed during runtime; risk is limited to executing the bundled Python script.
Credentials
The skill requests no environment variables or external credentials. It accepts credentials via CLI flags (--bearer, --auth, --api-key). This is proportionate, but passing secrets on a command line can expose them in process listings and shell history — an operational risk the user should consider.
Persistence & Privilege
The skill does not request persistent presence (always: false) and does not modify other skills or system-wide config. It runs only when invoked.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install jrv-http-client
  3. After installation, invoke the skill by name or use /jrv-http-client
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of jrv-http-client — a command-line HTTP client aimed at being a curl replacement with cleaner, agent-friendly output. - Supports all HTTP methods, authentication (Bearer, Basic, API key), custom headers, JSON/form body. - Provides pretty-printed responses, status/timing display, and request history logging. - Flexible output options: save to file, output as JSON, status-only mode. - Features for scripting and automation: exit codes, timeout, TLS skip, verbose mode. - Designed for ease of use in API testing, auth testing, monitoring, and CI scripts.
Metadata
Slug jrv-http-client
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Jrv Http Client?

Make HTTP requests from the command line with support for auth (Bearer, Basic, API key), custom headers, JSON/form body, response formatting, timing, and his... It is an AI Agent Skill for Claude Code / OpenClaw, with 158 downloads so far.

How do I install Jrv Http Client?

Run "/install jrv-http-client" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Jrv Http Client free?

Yes, Jrv Http Client is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Jrv Http Client support?

Jrv Http Client is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Jrv Http Client?

It is built and maintained by John Wang (@johnnywang2001); the current version is v1.0.0.

💬 Comments