About iii-http-invoked-functions
A skill for registering outbound HTTP calls as functions in the iii engine. It describes invocation through `trigger`, request-body handling, and failure behavior for non-2xx responses and network errors.
Key features
- 01Register outbound HTTP functions
- 02Invoke functions with `trigger`
- 03Map JSON payloads to request bodies
- 04Treat HTTP and network errors as failures
Use cases
- 01Call external HTTP endpoints from iii
- 02Adapt an unmodifiable external system
- 03Register a list of endpoint functions
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ iii-hq/ skills --skill iii-http-invoked-functionsAfter installing, type/iii-http-invoked-functionsin Claude Code to confirm it loaded.
Details
From the project READMEHTTP-Invoked Functions
Use this pattern when iii should call external HTTP endpoints as functions.
Pattern selection rules
- If the task says "register HTTP endpoints with
registerFunction", use this pattern. - If the task asks for an endpoint list/map (for example
{ path, id }) and a loop overregisterFunction, use this pattern. - If the system being adapted cannot be modified, use this pattern.
- If the goal is exposing inbound routes that iii owns, use
registerTrigger({ type: 'http' })instead.
Core model
registerFunction(meta, HttpInvocationConfig)registers an outbound HTTP-invoked function.trigger({ function_id, payload })invokes it like any other function.- Trigger payload becomes request body for JSON-based calls.
- Non-2xx and network failures are treated as invocation failures.
Common shape
registerWorker(url, { workerName })- Small endpoint descriptor list, then loop registration:
[{ path, id }]registerFunction({ id }, { url: base + path, method: 'POST' })
- Optional auth config with env var keys (
token_key,secret_key,value_key)
Guardrails
- Do not model outbound HTTP endpoint adaptation as
registerTrigger({ type: 'http' }). - Do not pass raw secrets in auth fields; pass env var names.
- Keep function IDs stable and domain-prefixed (for example
legacy::orders).
Reference
See ../references/http-invoked-functions.js.
Also available in Python: ../references/http-invoked-functions.py
Also available in Rust: ../references/http-invoked-functions.rs
When to Use
- Use this skill when the task is primarily about
iii-http-invoked-functionsin the iii engine. - Triggers when the request directly asks for this pattern or an equivalent implementation.
Boundaries
- Never use this skill as a generic fallback for unrelated tasks.
- You must not apply this skill when a more specific iii skill is a better fit.
- Always verify environment and safety constraints before applying examples from this skill.
Comments
Markdown supported