Agent skill

HTTP

by iii-hq in iii-hq/workers

Expose registered functions as HTTP endpoints with the standalone http worker.

Apache-2.0Auto-check passed

Install HTTP

skills CLI
$ npx skills add iii-hq/workers --skill http -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install iii-hq/workers http --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/iii-hq/workers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/http/skills .claude/skills/http && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
http
GitHub stars
113
Token cost
~1.3k tokens
SKILL.md length
619 words
Files
1
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

Expose registered functions as HTTP endpoints with the standalone http worker.

  • Works in 2 steps: Register a handler:… → Register the trigger
  • SKILL.md covers When to Use, Boundaries and Reactive triggers
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

HTTP is an agent skill from iii-hq/workers. Expose registered functions as HTTP endpoints with the standalone http worker. Its whole surface is the http trigger type.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The licence is Apache-2.0.

Example prompts

  • “/http”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Register a handler: iii.registerFunction('orders::get', handler).
  2. Register the trigger

What it can do on your machine

Read from SKILL.md and the folder at commit d3c6b85. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript and yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

HTTP loads about 1.3k tokens when it runs. Until then it costs about 32 tokens; SKILL.md has 619 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~32
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from iii-hq/workers at commit d3c6b85, republished under its Apache-2.0 licence (© iii-hq). 619 words, ~1,257 tokens.

Download SKILL.mdSave it as .claude/skills/http/SKILL.md (or your agent's skills folder).
name
http
description
Expose registered functions as HTTP endpoints with the standalone http worker. Its whole surface is the `http` trigger type.
tags
http, routing, triggers, webhooks, endpoints

http

The http worker exposes registered functions as HTTP endpoints, turning a function into a route that browsers, webhooks, and external clients can call without using the iii SDK. It exposes no callable http::* functions; its entire surface is the http trigger type, bound through a worker SDK trigger registration such as iii.registerTrigger({ type: 'http', function_id, config }).

Install it with iii trigger compose::add worker=http. The legacy in-engine HTTP service must not run on the same engine because it also owns the http trigger type. Remove the legacy built-in from the engine config before starting this worker; the standalone worker refuses to boot when the builtin is active.

Incoming requests are matched by HTTP method and path. The invoked handler receives method, path, headers, query params, extracted :path params, parsed body, trigger metadata, and request/response stream channels. Returning a JSON value yields a buffered response; writing to the response channel yields a chunked streaming response.

When to Use

  • A webhook, browser, mobile app, or third-party service needs to call an iii function over plain HTTP.
  • You need route matching with path params such as /orders/:id.
  • A route should have per-route middleware or a condition function before the handler runs.
  • You need CORS, HTTP status codes, headers, JSON bodies, or chunked streaming responses at the edge of the engine.
  • Several external routes should dispatch into normal iii functions while keeping their handler code in workers you control.

Boundaries

  • No callable functions are exposed. Never invoke http::*; bind the http trigger type to one of your own functions.
  • This is inbound HTTP. For outbound network requests from an agent or worker, use web::fetch instead.
  • This is not a scheduler or event queue. For clock-based execution, use cron; for data-change reactions, use the relevant state, stream, queue, or database worker.
  • The legacy in-engine HTTP service cannot run beside this standalone worker on the same engine because both own the http trigger type.
  • Route shapes with the same method and equivalent path structure conflict: /orders/:id and /orders/:order_id are the same shape.
Show full SKILL.md (283 more words)Show less

Reactive triggers

Bind an http trigger when a handler should run automatically for each matching HTTP request. The handler runs through the engine as a normal function invocation, and the worker turns the handler's return value or stream writes back into an HTTP response.

Reach for it when:

  • A public or internal API endpoint should call a registered function.
  • A webhook provider should invoke an iii workflow without a custom server.
  • Middleware should authenticate, enrich, or reject requests before the route handler runs.
  • A handler should stream chunks to the client instead of returning one buffered body.
How to bind
  1. Register a handler: iii.registerFunction('orders::get', handler).
  2. Register the trigger:
typescript
iii.registerTrigger({
  type: 'http',
  function_id: 'orders::get',
  config: {
    api_path: '/orders/:id',
    http_method: 'GET',
    // condition_function_id and middleware_function_ids are optional.
  },
})

api_path is required. http_method defaults to GET. Path segments prefixed with : are extracted into path_params; query string values arrive in query_params; request headers arrive in headers.

Trigger config:

FieldRequiredDefaultDescription
api_pathyes-Route path such as /orders/:id; :name segments become path params.
http_methodnoGETHTTP method to match.
condition_function_idno-Function invoked before middleware and handler; a falsy result rejects the request with 422.
middleware_function_idsno[]Per-route middleware functions, run before the handler in list order.

Handler return values become buffered responses with status_code, headers, and body; status_code defaults to 200 and body defaults to an empty object. For streaming, write set_status and set_headers control messages plus body chunks to the request's response channel; return null or no final buffered body from the handler.

Configure the server through the central configuration entry for worker http:

yaml
port: 3111
host: 0.0.0.0
default_timeout: 30000
concurrency_request_limit: 1024
cors:
  allowed_origins: []
  allowed_methods: []
middleware: []

Global middleware runs on every route in ascending priority order. Per-route middleware_function_ids run after global middleware and before the handler. middleware and default_timeout hot-reload; port, host, CORS, and concurrency_request_limit take effect on the next restart.

© iii-hq, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in http/skills of iii-hq/workers.

Open the folder on GitHubat commit d3c6b85

Compare with similar skills

HTTP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

HTTP compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
HTTP this skilliii-hq/workers113—~1.3kAutomated safety check: PassApache-2.0
HTTP Endpointshashgraph-online/awesome-codex-plugins1.2k—~834Automated safety check: PassApache-2.0
Modifying HTTP Endpointsgolemcloud/golem1.5k—~1.2kAutomated safety check: PassCustom licence
Golem Add HTTP Endpoint Moonbitgolemcloud/golem1.5k—~2.5kAutomated safety check: PassCustom licence
Iot Registerruvnet/ruflo74k—~263Automated safety check: PassMIT
Developing StandaloneTriliumNext/Trilium38k—~3.4kAutomated safety check: PassAGPL-3.0

Similar skills

  • HTTP Endpoints

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when building an HTTP val — a web endpoint, API route, webhook receiver, or any val that responds to HTTP requests.

    1.2k GitHub stars~834 tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Modifying HTTP Endpoints

    golemcloud/golem

    Adding or modifying HTTP REST API endpoints in Golem services.

    1.5k GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Exposing a MoonBit Golem agent over HTTP with mount paths and endpoint annotations.

    1.5k GitHub stars~2.5k tokensUpdated today
    Backend & APIsAuto-check passed
  • Iot Register

    ruvnet/ruflo

    Register a Cognitum Seed device by endpoint and establish agent bridge

    74k GitHub stars~263 tokensUpdated today
    Auto-check passed
  • Developing Standalone

    TriliumNext/Trilium

    A skill your agent uses when working on Trilium's standalone in-browser build (apps/standalone, deployed at app.triliumnotes.org and embedded by the mobile app) — the service worker (sw.ts), the…

    38k GitHub stars~3.4k tokensUpdated today
    DatabasesAuto-check passed
  • Azure Functions

    davila7/claude-code-templates

    Expert patterns for Azure Functions development including isolated worker model, Durable Functions orchestration, cold start optimization, and production patterns.

    32k GitHub starsUsed in 1 repo~344 tokens
    Backend & APIsAuto-check passed

More from iii-hq/workers

All 19 skills in this repo
  • Cron

    iii-hq/workers

    Schedule any registered function on a 6- or 7-field cron expression with the standalone cron worker.

    113 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Email

    iii-hq/workers

    Send and read email from the iii engine — SMTP send, IMAP read, and real-time IDLE push as a subscribable trigger type.

    113 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Kanban

    iii-hq/workers

    File-backed kanban board: create, read, move and comment on tickets by key or uuid, assign agent profiles, and wake on comments through the kanban:comment trigger instead of polling.

    113 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Pubsub

    iii-hq/workers

    Fire-and-forget topic pub/sub: broadcast an event with publish and every matching subscribe trigger receives it.

    113 GitHub stars~989 tokensUpdated yesterday
    Auto-check passed
  • Release Sync

    iii-hq/workers

    Organize worker release tags into Linear release waves — one team document plus one release/<date label per same-day batch of worker releases, with shipped MOT issues labeled and linked.

    113 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • State

    iii-hq/workers

    Shared, adapter-backed key/value store addressed by scope and key, with a reactive state trigger so other functions can run on every create, update, or delete without polling.

    113 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Questions about HTTP

What does HTTP do?

Expose registered functions as HTTP endpoints with the standalone http worker. HTTP is an agent skill from iii-hq/workers. Expose registered functions as HTTP endpoints with the standalone http worker.

How do I install HTTP in Claude Code?

Run `npx skills add iii-hq/workers --skill http -a claude-code`. Or copy the skill folder (http/skills in iii-hq/workers) into .claude/skills/http in your project. Claude Code loads it when a task matches its description.

How do I install HTTP in Codex?

Run `npx skills add iii-hq/workers --skill http -a codex`. Or copy the skill folder (http/skills in iii-hq/workers) into .agents/skills/http in your project. Codex loads it when a task matches its description.

Can I use HTTP in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iii-hq/workers --skill http -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/http, .gemini/skills/http, .github/skills/http and .opencode/skills/http in your project.

What does HTTP need to run?

SKILL.md names no scripts, command-line tools or credentials: HTTP is instructions for the agent only.

Does HTTP access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is HTTP safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does HTTP use?

HTTP is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does HTTP use?

About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to HTTP?

Skills that share tags, products or a category with HTTP: HTTP Endpoints (hashgraph-online/awesome-codex-plugins, 1.2k stars), Modifying HTTP Endpoints (golemcloud/golem, 1.5k stars), Golem Add HTTP Endpoint Moonbit (golemcloud/golem, 1.5k stars) and Iot Register (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains HTTP?

iii-hq (a GitHub organization) maintains it in iii-hq/workers, which has 113 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 6, 2026.

Source: iii-hq/workers on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.