xh

xh is a skill for Claude Code, Codex from fmind/dot. It costs 14 tokens per session (776 once invoked), scanned A, original, MIT.

A guide for using xh, a command-line tool for making bounded, read-only HTTP requests to inspect web endpoints.

In plain words
What is it for?
Use it to inspect a trusted URL or API health endpoint, review headers, and fetch a limited portion of a response without printing secrets.
Why use it?
It helps check response headers, status codes, redirects, and small response sections while reducing accidental data downloads and credential exposure.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to inspect a trusted URL or API health endpoint, review headers, and fetch a limited portion of a response without printing secrets.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fmind/dot/xh
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add fmind/dot --skill xh
Clone the repo
git clone --depth 1 https://github.com/fmind/dot

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for xh

README.md
[![agentmods](https://agentmods.dev/badge/skills/fmind/dot/xh/github.svg)](https://agentmods.dev/skills/fmind/dot/xh)
Your own site
<a href="https://agentmods.dev/skills/fmind/dot/xh"><img src="https://agentmods.dev/badge/skills/fmind/dot/xh/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for xh

Your own site · 80×15
<a href="https://agentmods.dev/skills/fmind/dot/xh"><img src="https://agentmods.dev/badge/skills/fmind/dot/xh.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 14 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 776 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00014 $0.00776
Opus 5.5 $0.00006 $0.00310
Sonnet 5.5 $0.00003 $0.00155
Haiku 4.5 $0.00001 $0.00078

Measured 9d ago against content hash df00a5d536a5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

xh scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

1. **Protect credentials**: pass synthetic or environment-sourced authorization only to the intended origin. Use `--print=h` or `--body`; never `--verbose`, `--debug`, `--curl`, sessions, or request-header printing aroun
skills/xh/SKILL.md · 52 lines

How it starts

The opening of the file, as written. The whole thing — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.

xh HTTP Inspection

Use xh for bounded read-only HTTP inspection; debugging a known failure belongs to systematic-debugging, and API research to research-brief.

Workflow

  1. Confirm the target: use an explicit trusted URL, ignore stdin, and start with headers so redirects and advertised size are visible without fetching a body.

    xh --ignore-stdin --check-status --timeout 10 HEAD https://example.com/health
    
  2. Limit the displayed body: request at most 64 KiB and cap displayed output even when a server ignores Range; do not add --follow until the redirect target is reviewed.

    xh --ignore-stdin --check-status --timeout 10 GET https://example.com/api Range:bytes=0-65535 | head -c 65536
    
  3. Protect credentials: pass synthetic or environment-sourced authorization only to the intended origin. Use --print=h or --body; never --verbose, --debug, --curl, sessions, or request-header printing around secrets.

  4. Interpret honestly: in Bash, retain PIPESTATUS immediately after the pipeline and report truncation/SIGPIPE separately from HTTP success.

  5. Require authority for writes: POST, PUT, PATCH, DELETE, uploads, and state-changing form or JSON bodies need explicit authorization for the exact target and effect.

Gotchas

  • Supervise hard deadlines externally: --timeout covers an individual request, including response-body reads in xh 0.26.2, despite its help calling it a connection timeout. Use a process supervisor for a hard deadline across redirects, authentication retries, and output processing.
  • Range does not limit transfer: a Range request is not a guaranteed transfer limit; the byte cap bounds only displayed output.
  • Inspect redirects before following: --follow can forward a request to another origin; inspect Location first and never follow an untrusted redirect with credentials.
  • Never disable TLS verification: --verify=no disables TLS verification and is not an acceptable workaround.
  • Avoid persistent sessions: --session persists cookies and credentials; prefer no session, or use --session-read-only only with an explicitly approved synthetic fixture.

Read the full file on GitHub · 52 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 9d ago Changed · -1 lines df00a5d536a5
  2. 11d ago Changed f83b00767b90
  3. 12d ago Changed · +2 lines · -1 tokens per session 550913b7ec3e
  4. 23d ago Changed ed0852908745
  5. 26d ago Changed 34a9c21d9d91
  6. 29d ago Changed · +1 lines · -13 tokens per session 40d6adff4ac9
  7. 1mo ago Changed · +1 lines c26434e853d7
  8. 1mo ago First seen · 49 lines · 28 tokens per session scan A b1833628fd7b

Subscribe to this mod's changes

xh is a skill published in the GitHub repository fmind/dot (11 stars, last pushed today), licensed MIT. It adds 14 tokens to every session and 776 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.

Related

Other skills, from other repositories

python-stack

Build typed Python projects with uv, Ruff, ty, pytest, Litestar, and Typer. Use for packages, CLIs, web apps, tests, typing, or API verification.

fmind/dotfiles · 41 tokens

dotfiles-bootstrap

Bootstrap a workstation with the dotfiles framework. Takes a GitHub user / owner+repo / explicit clone URL and runs dot init (which shells out to chezmoi) with the right safety prompts. Honors the active agent profile (ask / plan / apply / audit) so it defaults to dry-run in safer modes and full apply in apply.

sebastienrousseau/dotfiles · 88 tokens

vibe

Delegate a coding task to a cheap AI model (Mistral Vibe by default, but any provider Vibe knows about — DeepSeek, Gemini Flash, etc.) and supervise the result via git diff. Claude orchestrates, the cheap model codes. Claude consumes 500-1500 tokens per delegation regardless of how many file reads the delegate does…

sebastienrousseau/dotfiles · 137 tokens

go-stack

Build Go projects, libraries, CLIs, TUIs, web apps, or ADK agents with the standard package layout and pinned tooling.

fmind/dotfiles · 31 tokens

hugo

Canonical Hugo static-site stack with the Hextra docs theme — Hugo Modules, mise tasks, dprint, lefthook, and GitHub Pages deploy. Use for documentation sites, project docs, and static websites.

fmind/dotfiles · 46 tokens

k8s-local

Create and manage local Kubernetes clusters (k3d or kind) and deploy to them with kubectl, helm, helmfile, and skaffold. Use for local k8s cluster setup, dev loops, and debugging.

fmind/dotfiles · 50 tokens