Skip to content
Back to skills

Using Iii

ASecurity

{/* TODO: Re-link worker references to https://workers.iii.dev/workers/<name> once the Worker Docs migration ships. */} {/* TODO: Add back once worker init is merged. <Note> This page covers using existing workers. For creating new workers (`iii worker init`), registering functions and triggers, and building or publishing worker images, see [Creating Workers / Workers](../creating-workers/workers). </Note> */}

  • 18,821 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
developmentbashexpressfastapidockertestingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 19 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add iii-hq/iii --skill using-iii --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Using Iii?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Using Iii
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iii-hq-using-iii-f1cd178a/badge)](https://www.skillsdirectory.com/skills/iii-hq-using-iii-f1cd178a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
<!-- generated by iii-skill-render. DO NOT EDIT (changes here are overwritten on the next render). Edit docs/0-12-0/using-iii/workers.mdx. -->

# Workers


{/* TODO: Re-link worker references to https://workers.iii.dev/workers/<name> once the Worker Docs migration ships. */}

{/* TODO: Add back once worker init is merged. <Note> This page covers using existing workers. For creating new workers (`iii worker init`), registering functions and triggers, and building or publishing worker images, see [Creating Workers / Workers](../creating-workers/workers). </Note> */}

## Worker lifecycle

Workers connect to iii over WebSocket. When a worker connects it becomes visible to the entire iii
system and every other worker within it. When a worker disconnects, its functions and triggers stop
being callable until it reconnects.

<Note>
  For the SDK calls that establish the connection from worker code, see [Creating Workers /
  Workers](../creating-workers/workers#connecting-to-the-engine).
</Note>

## Finding workers

We maintain a worker registry which you can explore at [workers.iii.dev](https://workers.iii.dev/).
The registry contains many workers that encapsulate common services. See
[Worker Registry](./workers-registry) for more information on the worker registry.

## Adding a worker

<Note>
  You need iii [installed](../install) and [running](./engine) before adding a worker. To
  spin up a temporary iii instance for testing, run `iii --use-default-config` (see [Default
  configuration](./engine#default-configuration)).
</Note>

`iii worker add <name>` installs a worker into your project:

```bash
iii worker add iii-state
```

The worker is added to `config.yaml` and started automatically. To force a redownload of an existing
worker, use `iii worker reinstall <name>` (equivalent to `add --force`).

<Note>
  For local paths, Docker / OCI images, and version pinning, see [Worker Registry / Adding a
  worker](./workers-registry#adding-a-worker).
</Note>

## Listing workers

`iii worker list` shows every worker declared in your project's `config.yaml` along with its current
status:

```bash
iii worker list
```

## Starting and stopping workers

Added workers start automatically with the engine. To control them manually, use the `start`,
`stop`, and `restart` commands:

```bash
iii worker start <name>     # start one worker
iii worker stop <name>      # stop one worker
iii worker restart <name>   # stop then start
```

<Note>
  To call functions inside running workers (directly with `iii.trigger` / `iii trigger`, or by
  binding them to events with optional condition gates), see [Triggers](./triggers).
</Note>

## Inspecting a worker

To check a specific worker's state, follow its logs, or run a command inside the worker's sandbox,
use:

```bash
iii worker status <name>             # config, sandbox state, recent logs
iii worker logs <name>               # stream the worker's logs
iii worker exec <name> -- <command>  # run a command inside the worker
```

## Worker skills

Every worker also ships with skills for Agentic work. Skills are managed by the `skills` worker, an
actively developed content-registry worker added to a project like any other.

Skill bodies load lazily. Top-level entries stay small; agents fetch deeper content via
`iii://<worker>/<leaf>` section URIs only when a function reference resolves to one.

We ship high level skills as well which make it possible for any agent to make immediate use of iii
and its workers.

{/* TODO: Re-document this section against the skills worker's stable API. The current text reflects v0.2.4 at https://workers.iii.dev/workers/skills, and the surface may change before stable release. */}

## Available functions and triggers

Functions and triggers come from connected workers. To use a trigger of a given type, you need the
worker that provides it to be connected. For example if you add `http` triggers via the iii-http
worker then you can now expose endpoints for your function just as you would in a web framework like
Express or FastAPI.

## Versioning and pinning

Workers are published with semver versions. Installing without a version specifier picks the latest
release. Append `@<version>` to a registry name to pin a specific release rather than tracking the
latest:

```bash
iii worker add iii-state@1.2.0
```

The pin is recorded in `iii.lock` and replays on every subsequent install, so the same deployment of
an iii system is reproducible across machines.

## Updating a worker

`iii worker update` re-resolves locked workers and writes the new pins back to `iii.lock`. Pass a
worker name to update one, or omit it to update every locked worker:

```bash
iii worker update <worker-name>   # one worker
iii worker update                 # every locked worker
```

## The lockfile (iii.lock)

`iii.lock` is a YAML file at your project root. It pins each managed worker to a specific version
and source so the same worker set installs the same way across machines and platforms. Binary
workers can pin per-platform artifacts (macOS, Linux, Windows) in the same lockfile.

Commit `iii.lock` alongside `config.yaml` for reproducible installs. Two commands operate on the
lockfile directly:

```bash
iii worker sync            # install workers exactly from iii.lock
iii worker sync --frozen   # CI form: verify the lockfile without mutating local files
iii worker verify          # report drift between config.yaml and iii.lock
```

`iii worker update` (above) is the third lockfile command; it re-resolves pins to the latest
permitted versions and writes them back to `iii.lock`.

{/* TODO: Add a dedicated lockfile reference page for the per-field schema (top-level fields, LockedWorker, BinaryArtifact, ImageSource, manifest hash format). The dx-improves source includes `docs/workers/managed-worker-lockfile.mdx` which can be ported. */}

## Removing a worker

`iii worker remove` drops a worker from `config.yaml` and the engine tears down the running worker
process:

```bash
iii worker remove <worker-name>
```

Downloaded artifacts remain on disk after removal. To delete them too, use
`iii worker clear <worker-name>`. Omit the name to clear every worker's artifacts.

## Authoring workers

Creating a new worker, registering functions and triggers in worker code, and building or publishing
a worker image are out of scope for this page. See
[Creating Workers / Workers](../creating-workers/workers) and
[Creating Workers / Worker Registry](../creating-workers/workers-registry).

Files in this skill

  • channels.mdx5.5 KB
  • channels.mdx.skill.md5.5 KB
  • cli.mdx2.8 KB
  • cli.mdx.skill.md2.8 KB
  • console.mdx7.4 KB
  • console.mdx.skill.md7.4 KB
  • deployment.mdx3.2 KB
  • deployment.mdx.skill.md3.2 KB
  • engine.mdx2.5 KB
  • engine.mdx.skill.md2.3 KB
  • functions.mdx2.9 KB
  • functions.mdx.skill.md2.9 KB
  • triggers.mdx5.8 KB
  • triggers.mdx.skill.md5.8 KB
  • workers-registry.mdx1.6 KB
  • workers-registry.mdx.skill.md1.7 KB
  • workers.mdx6.9 KB
  • workers.mdx.skill.md6.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.