Agent skill

iii-rust-sdk

Rust SDK for the iii engine. Use when building high-performance workers, registering functions, or invoking triggers in Rust.

Stars 15,297
Forks 1,022

Install this agent skill to your Project

npx add-skill https://github.com/iii-hq/iii/tree/main/skills/iii-rust-sdk

SKILL.md

Rust SDK

The native async Rust SDK for connecting workers to the iii engine via tokio.

Documentation

Full API reference: https://iii.dev/docs/api-reference/sdk-rust

Install

Add to Cargo.toml:

iii-sdk = { version = "0.10", features = ["otel"] }

Key Types and Functions

Export Purpose
register_worker(url, InitOptions) Connect to the engine, returns III client
III::register_function(RegisterFunction::new(id, handler)) Register a sync function using the builder API
III::register_function(RegisterFunction::new_async(id, handler)) Register an async function using the builder API
III::register_function_with(msg, handler) Two-arg convenience method for function registration
RegisterFunction Builder with .description() and auto-generated request schemas via schemars
III::register_trigger(type, function_id, config) Bind a trigger to a function
III::trigger(TriggerRequest) Invoke a function
TriggerAction::Void Fire-and-forget invocation
TriggerAction::Enqueue { queue } Durable async invocation
IIIError Error type for handler failures
Streams Helper for atomic stream CRUD
with_span, get_tracer, get_meter OpenTelemetry (requires otel feature)
execute_traced_request HTTP client with trace context propagation

Key Notes

  • Add features = ["otel"] to Cargo.toml for OpenTelemetry support
  • Use RegisterFunction::new("id", handler) for sync handlers, RegisterFunction::new_async("id", handler) for async
  • Handler input types that derive schemars::JsonSchema get auto-generated request schemas
  • Chain .description("...") on RegisterFunction to document the function
  • Keep the tokio runtime alive (e.g., tokio::time::sleep loop) for event processing
  • register_trigger returns Ok(()) on success; propagate errors with ?

Pattern Boundaries

  • For usage patterns and working examples, see iii-functions-and-triggers
  • For HTTP middleware patterns, see iii-http-middleware
  • For Node.js SDK, see iii-node-sdk
  • For Python SDK, see iii-python-sdk
  • For browser-side usage, see iii-browser-sdk

When to Use

  • Use this skill when the task is primarily about iii-rust-sdk in 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.

Expand your agent's capabilities with these related and highly-rated skills.

iii-hq/iii

iii-dead-letter-queues

Inspects and redrives jobs that exhausted all retries. Use when handling failed queue jobs, debugging processing errors, or implementing retry strategies.

15,297 1,022
Explore
iii-hq/iii

iii-cron-scheduling

Registers cron triggers with 7-field expressions to run functions on recurring schedules. Use when scheduling periodic jobs, timed automation, crontab replacements, cleanup routines, report generation, health checks, batch processing, or any task that should run every N seconds, minutes, hours, or on a weekly/monthly calendar.

15,297 1,022
Explore
iii-hq/iii

iii-http-invoked-functions

Registers external HTTP endpoints as iii functions using registerFunction(id, HttpInvocationConfig). Use when adapting legacy APIs, third-party webhooks, or immutable services into triggerable iii functions, especially when prompts ask for endpoint maps like { path, id } iterated into registerFunction calls.

15,297 1,022
Explore
iii-hq/iii

iii-channels

Binary streaming between workers via channels. Use when building data pipelines, file transfers, streaming responses, or any pattern requiring binary data transfer between functions.

15,297 1,022
Explore
iii-hq/iii

iii-event-driven-cqrs

Implements CQRS with event sourcing on the iii engine. Use when building command/query separation, event-sourced systems, or fan-out architectures where commands publish domain events and multiple read model projections subscribe independently.

15,297 1,022
Explore
iii-hq/iii

iii-agentic-backend

Creates and orchestrates multi-agent pipelines on the iii engine. Use when building AI agent collaboration, agent orchestration, research/review/synthesis chains, or any system where specialized agents hand off work through queues and shared state.

15,297 1,022
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results