skills/http/SKILL.md
Plain HTTP fetch (GET/POST/etc.) for JSON or text endpoints, including localhost / LAN / Pasture's own dashboard. Use this instead of browse for non-rendered URLs.
npx skillsauth add bishwashere/cowcode HTTPInstall 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.
Make a plain HTTP request from the daemon process — same machine the user is on. Use this whenever the user asks you to check a URL, hit an API, poll a JSON endpoint, or verify a service is up, including local URLs like http://localhost:3000/.... No browser needed.
Why this exists: the browse skill drives a real headless Chromium via Playwright. That is correct for rendered pages (login, JS SPA, screenshots) but wrong — and brittle — for plain JSON. Cron jobs that "check an API every N seconds" should use http, not browse.
Localhost works. The daemon runs on the user's own machine. URLs like http://localhost:3000/api/..., http://127.0.0.1:8080, http://192.168.1.x, or *.local are reachable. Do not refuse to hit them.
{ status, body, json?, durationMs, contentType, truncated }. Use this for "check this API", "is the server up", "what does this endpoint return".content-type: application/json).Optional on every action:
{ "Authorization": "Bearer <token>" })The result is JSON with these fields:
ok — boolean (true when status is 2xx)status, statusTexturl, method, durationMscontentTypebody — text body, capped at 14000 charstruncated — true when the body was cappedjson — parsed body when content-type is JSON or the body parses as JSONOn failure (timeout, DNS, connection refused) the result is { "error": "...", "url", "method", "durationMs" }.
http_get
description: Fetch a URL with GET. Use for any plain HTTP/JSON endpoint, including http://localhost:* on this machine. Returns { status, body, json?, durationMs }.
parameters:
url: string
headers: object (optional)
timeoutMs: number (optional)
http_post
description: POST to a URL with an optional body and headers. Body may be a string or an object (object is JSON-encoded with content-type application/json by default).
parameters:
url: string
body: string (optional)
headers: object (optional)
timeoutMs: number (optional)
http_head
description: HEAD request — fetch only status and headers, no body. Use to check whether a URL is reachable / a service is up.
parameters:
url: string
headers: object (optional)
timeoutMs: number (optional)
tools
Policy-gated command execution for package managers, project generators, build/test scripts, dev servers, and one-off CLIs. Disabled by default; add "exec" to skills.enabled to expose it. Prefer go-read/go-write for stable filesystem primitives.
testing
Bridge conversation to dashboard Projects and Missions — list configured projects, register new ones with setup details, health-check, propose tasks, create missions after user approval, log progress, and update task status. Use when the user wants to work on, track, or manage a project.
documentation
GitHub integration. Read repos, list/read issues and PRs, create branches, post comments, create PRs. Requires GitHub token in ~/.pasture/secrets.json or GITHUB_TOKEN env var.
tools
Delegate a question or task to another configured agent and get its reply back. Use when the user wants you to coordinate a team of agents (e.g. a PM asking a specialist), or when another agent owns the knowledge/tools needed. Only works for agents in this agent's allow list.