Full detail for one function: schemas, owning worker, registered triggers that target it, and any matching how-to skill from skills_folder.
function_idstring*required
function_idstring*required
registered_triggersobject[]*required
trigger_typestring*required
related_skillsobject[]*required
Other skills (any `type`) that mention this function via either the literal `function_id` or the `iii://fn/<dotted/path>` URI. Body content is omitted; fetch on demand via `directory::skills::get`.
directory::skills::index
functionRender one short markdown entry per installed worker (skills with frontmatter `type: index`). Each entry is a `## <worker title>` heading, the first paragraph of the worker's overview, and a `Read <ns>/index.md` line the agent can follow via `directory::skills::get` for the full reference. Token-light by design; for per-skill rows use `directory::skills::list`.
bodystring*required
Rendered markdown document — one short `## <title>` block per installed worker (skills with frontmatter `type: index`), carrying the worker's first-paragraph overview and a read-more link pointing at the file path `<ns>/index.md`. Sorted lex by id.
workers_countinteger· uint*requiredmin 0
Number of worker entries rendered (i.e. the count of `type: index` skills that survived the filter). Cheap sanity check that doesn't require re-parsing the body.
Full denormalized detail for one registered trigger: instance config + trigger-type detail + function detail.
functionany of
Full function detail for `function_id`. `None` if the function has been unregistered between calls.
any of (2)
variant 1
function_idstring*required
how_guideany of
… expand 2 nestedcollapse
registered_triggersobject[]*required
… expand 3 nestedcollapse
trigger_typestring*required
related_skillsobject[]*required
Other skills (any `type`) that mention this function via either the literal `function_id` or the `iii://fn/<dotted/path>` URI. Body content is omitted; fetch on demand via `directory::skills::get`.
… expand 2 nestedcollapse
function_idstring*required
triggerany of
Full trigger-type detail for `trigger_type`. `None` if the type has been unregistered between calls.
any of (2)
variant 1
configuration_schemaunknown
SDK 0.11.3 surfaces a single `trigger_request_format` that doubles as the per-instance configuration shape; expose it explicitly so callers don't have to know the alias.
descriptionstring*required
instance_countinteger· uint*requiredmin 0
trigger_typestring*required
Download skills + prompts into skills_folder. Pass {repo, skill, branch?} to clone a single skill folder from a GitHub repo (git clone --depth 1 --branch <branch>; branch defaults to "main"), or {worker, version?|tag?} to pull from the workers registry (defaults to tag="latest" when neither version nor tag is given). Files in the destination namespace are overwritten file-by-file.
branchstring
Source A: branch to clone. Defaults to `"main"`. Pass `"master"` (or any other branch name) for repos whose default branch is not `main`.
repostring
Source A: GitHub repo URL. Pair with `skill`.
skillstring
Source A: subfolder under `skills/` inside the repo. Doubles as the destination namespace inside `skills_folder`.
tagstring
Source B: registry tag to pull (e.g. `latest`). Mutually exclusive with `version`. Defaults to `"latest"` when neither `version` nor `tag` is provided.
versionstring
Source B: explicit semver to pull. Mutually exclusive with `tag`.
workerstring
Source B: workers registry name. Pair with exactly one of `version` / `tag`.
prompts_writtenstring[]*required
skills_writtenstring[]*required
List registered trigger instances (the link rows between trigger types and target functions). Filter by trigger_type, function_id, worker, or free-text search.
registered_triggersobject[]*required
config_summarystring*required
Truncated (~80 chars) JSON preview of `config` so listings stay scannable. Use `directory::registered-trigger-info` for the full payload.
function_idstring*required
trigger_typestring*required
directory::prompts::get
functionFetch one filesystem-backed prompt by name. Returns the raw markdown body plus name, description, and modified_at — no envelope, no templating.
bodystring*required
Raw markdown body (post-frontmatter) from disk.
descriptionstring*required
modified_atstring*required
File mtime as RFC 3339.
Worker envelope plus the lists of functions, trigger types, and registered triggers it owns. The `worker` field has the same shape as directory::registry::workers::info so callers can switch between local + registry surfaces with the same parser.
functionsobject[]*required
function_idstring*required
registered_triggersobject[]*required
function_idstring*required
trigger_typestring*required
trigger_typesobject[]*required
descriptionstring*required
workerall of*required
Same shape as `worker-list` rows (and `registry::worker-info.worker`).
all of (1)
variant 1
active_invocationsinteger· uint*requiredmin 0
connected_at_msinteger· uint64*requiredmin 0
descriptionstring
Engine-side workers carry no description; field present for shape parity with `registry::Worker.description`. Always `None`.
function_countinteger· uint*requiredmin 0
idstring*required
Engine-assigned connection id (directory-specific).
namestring
Worker name as registered with the engine.
statusstring*required
Connection state (e.g. `"connected"`, `"disconnected"`).
versionstring
Worker version string from the worker's published manifest.
directory::prompts::list
functionList filesystem-backed prompts (name, description, modified_at) from skills_folder.
promptsobject[]*required
descriptionstring*required
modified_atstring*required
File mtime as RFC 3339.
List every function registered with the engine. Filter by free-text search, namespace prefix, and/or worker name.
prefixstring
Exact prefix match on `function_id` (e.g. `"mem::"`).
searchstring
Case-insensitive substring match against `function_id` and `description`.
workerstring
Exact worker-name match (the worker that registered the function).
functionsobject[]*required
function_idstring*required
worker_namestring
Worker that registered it (resolved via `WorkerInfo.functions[]`), or the first `::` segment of `function_id` as fallback.
List every trigger TYPE registered with the engine. Filter by search, prefix, worker. (For registered trigger instances, use directory::engine::registered-triggers::list.)
triggersobject[]*required
descriptionstring*required
List every worker currently connected to the engine. Filter by name substring, runtime, or status. Same row shape as directory::registry::workers::list so callers learn one envelope.
runtimestring
Exact runtime match (e.g. `"rust"`, `"node"`).
searchstring
Case-insensitive substring match against `name`.
statusstring
Exact status match (e.g. `"connected"`).
workersobject[]*required
active_invocationsinteger· uint*requiredmin 0
connected_at_msinteger· uint64*requiredmin 0
descriptionstring
Engine-side workers carry no description; field present for shape parity with `registry::Worker.description`. Always `None`.
function_countinteger· uint*requiredmin 0
idstring*required
Engine-assigned connection id (directory-specific).
namestring
Worker name as registered with the engine.
statusstring*required
Connection state (e.g. `"connected"`, `"disconnected"`).
versionstring
Worker version string from the worker's published manifest.
Full detail for one trigger type: configuration schema, return schema, owning worker, and current instance count.
configuration_schemaunknown
SDK 0.11.3 surfaces a single `trigger_request_format` that doubles as the per-instance configuration shape; expose it explicitly so callers don't have to know the alias.
descriptionstring*required
instance_countinteger· uint*requiredmin 0
List workers from the public registry (api.workers.iii.dev). Optional free-text `search` is matched fuzzily by the registry; omit it to browse by `total_downloads DESC`. Pagination is cursor-based with a server-authored page size — pass back `pagination.next_cursor` as `cursor` to fetch the next page. Shares the core `name` / `description` / `version` fields with directory::engine::workers::list. Results are cached for `registry_cache_ttl_ms` (default 60s).
cursorstring
Opaque cursor returned by a previous call's `pagination.next_cursor`. Pass back verbatim to fetch the next page; omit (or pass `null`) to fetch the first page.
searchstring
Optional free-text query. Forwarded to the registry as `?search=…`; the registry ranks results by `pg_trgm` similarity against `lower(name)` and `lower(description)`. When omitted, results are ordered by `total_downloads DESC`.
paginationobject*required
Pagination envelope returned alongside a worker-list page. Mirrors the OpenAPI `Pagination` schema.
next_cursorstring
Opaque cursor for the next page. `null` on the last page.
page_sizeinteger· uint32min 0
Server-authored page size. The client cannot override this.
workersobject[]*required
authorany of
any of (2)
variant 1
pfpstring
Profile picture URL. `null` when the author hasn't uploaded one.
configunknown
Free-form runtime configuration block from the publish payload.
imagestring
Container image tag, populated only for `type=image` workers.
supported_targetsstring[]
total_downloadsinteger· uint64min 0
typestring
Worker kind — `binary`, `image`, or `engine`.
versionstring
Latest published version (worker-list) or the resolved version (worker-info, when called with `version` / `tag`).
directory::skills::list
functionList filesystem-backed skills (id, title, type, description, bytes, modified_at) from skills_folder. `title` prefers the YAML frontmatter `title:` over the body H1, `type` is lifted from frontmatter `type:`, and `description` is the first paragraph of the body — so consumers can render a picker or indented index without one get per row.
skillsobject[]*required
bytesinteger· uint*requiredmin 0
descriptionstring*required
First paragraph of the body, empty when the file has only headings.
modified_atstring*required
File mtime as RFC 3339 (best effort; empty if unavailable).
titlestring*required
Frontmatter `title:` when present and non-empty, otherwise the first `# H1` line in the body, otherwise the bare `id`.
typestring
Frontmatter `type:` (e.g. `index`, `how-to`, `reference`). `null` when the file has no frontmatter or omits the key.
Fetch full registry metadata for one worker: worker envelope (same core fields as directory::engine::workers::info plus registry-only `type` / `config` / `supported_targets` / `total_downloads` / `dependencies` / `image`), readme, full API reference (functions + triggers schemas), and the tree of skill / prompt file paths fetched from the registry's /w/{slug}/skills endpoint. Pass either `version` or `tag` (defaults to tag="latest"). Results are cached for `registry_cache_ttl_ms`.
namestring*required
Worker name in the registry (e.g. `"resend"`).
versionstring
Mutually exclusive with `tag`. If neither is provided we fall back to `tag: "latest"`.
api_referenceobject*required
skills_treeobject*required
workerall of*required
Same shape as `directory::registry::workers::list` rows (and `directory::engine::workers::info.worker`).
all of (1)
variant 1
authorany of
… expand 2 nestedcollapse
any of (2)
variant 1
pfpstring
Profile picture URL. `null` when the author hasn't uploaded one.
configunknown
Free-form runtime configuration block from the publish payload.
dependenciesobject[]
… expand 2 nestedcollapse
imagestring
Container image tag, populated only for `type=image` workers.
supported_targetsstring[]
total_downloadsinteger· uint64min 0
typestring
Worker kind — `binary`, `image`, or `engine`.
versionstring
Latest published version (worker-list) or the resolved version (worker-info, when called with `version` / `tag`).
directory::skills::get
functionFetch one filesystem-backed skill by id. Returns the raw markdown body plus id, title, type, description, and modified_at — same flat shape as directory::prompts::get with `type` lifted from the YAML frontmatter and `title` preferring frontmatter over the body H1. Accepts a bare id (e.g. "directory/skills/list"), the same id suffixed with `.md` (e.g. "directory/skills/list.md"), or either form prefixed with iii://.
idstring*required
Skill id (the same string returned by `directory::skills::list`, e.g. `"directory/skills/list"`). Two ergonomic variants are also accepted: the file-path form `<id>.md` (the trailing `.md` is stripped) and the legacy `iii://{id}` URI form. Other URI schemes are rejected. The filename `SKILLS.md` is aliased to `index.md` to match the filesystem scanner.
bodystring*required
Raw markdown body (post-frontmatter) from disk.
descriptionstring*required
modified_atstring*required
File mtime as RFC 3339.
titlestring*required
Frontmatter `title:` when present and non-empty, otherwise the first `# H1` line in the body, otherwise the bare `id`.
typestring
Frontmatter `type:` (e.g. `index`, `how-to`, `reference`). `null` when the file has no frontmatter or omits the key.