Back to Skills

iii-sdk-reference

Use when working with iii SDK APIs across Node.js, browser, Python, or Rust: package installation, worker initialization, function/trigger registration, invocation, channels, logging, OpenTelemetry, and language-specific caveats.

18,593stars1,244forksUpdated 8/17/2026

Security Assessment

Safe(95/100)
Security Score95/100

About iii-sdk-reference

iii-sdk-reference is a language-specific API reference skill for the iii SDK, covering how to install, initialize, and use the SDK across Node.js, browser, Python, and Rust. It solves the problem of remembering the exact package names, exports, and initialization syntax that differ between languages: which package to install (`iii-sdk`, `iii-browser-sdk`, `pip install iii-sdk`, `cargo add iii-sdk`), how to connect a worker, and where helper types like `Logger`, OpenTelemetry, and HTTP request/response live (the `@iii-dev/helpers` / `iii-helpers` packages).

The skill provides a common API map that lines up equivalent calls across the four languages — connecting a worker, registering local functions and triggers, invoking functions, durable enqueue, and channels — plus per-language code examples and caveats. It documents browser-specific security constraints (connect through an RBAC-protected listener, keep secrets server-side, do not expose the private engine worker port to untrusted browsers), Python sync/async handling via `trigger_async`, Rust typed handlers and schema extraction, and the channel API for streaming or large binary payloads. It explicitly defers architecture, deployment, and error-handling topics to sibling skills (`iii-core-primitives`, `iii-engine-config`, `iii-error-handling`).

The target users are developers building workers and functions on the iii platform who need precise, language-correct SDK syntax rather than conceptual guidance. Typical use cases include scaffolding a new worker, translating an example from one language to another, wiring up logging and OpenTelemetry, and understanding browser security boundaries when calling backend functions.

FAQ

Which languages and packages does this skill cover?

Node.js/TypeScript (`iii-sdk`), browser apps (`iii-browser-sdk`), Python (`iii-sdk` via pip), and Rust (`iii-sdk` via cargo), plus the companion helpers packages `@iii-dev/helpers` and `iii-helpers`.

When should I use this skill versus the other iii skills?

Use it for package names, SDK exports, initialization options, browser security constraints, channel API details, and language-specific syntax. For the common Function/Trigger/Worker model use `iii-core-primitives`; for deployment, RBAC listeners, and ports use `iii-engine-config`; for retryability and exception classes use `iii-error-handling`.

What are the browser SDK's security constraints?

Browser workers must connect through an RBAC-protected listener, cannot send custom WebSocket headers, and must not hold backend secrets. The private engine worker port should never be exposed to untrusted browsers.

How do async handlers work in Python?

Python handlers may be sync or async. Use `await iii.trigger_async(request)` inside async handlers and `iii.trigger(request)` in sync contexts.

Does this skill run any commands or modify my project?

No. It is a reference document. It shows install commands and code samples but does not itself execute or apply changes.

Install iii-sdk-reference

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

iii-hq/iii