waterr-skill.json manifest. Installing it creates
everything the agent needs — a meeting skill, its
tools, its screen renderers
and a webhook endpoint for the events it cares about —
as ordinary rows your workspace already knows how to run. Attach the install to a
scenario and the agent has the skill on its next call.
The manifest
errors.
What an install creates
Webhook-mode tools get a signing secret each, returned once as
tool_signing_secrets. Rows created by an install carry managed_by_install_id
and the normal edit/delete endpoints answer 409 managed_resource for them —
change them by upgrading the package.
Install response
Lifecycle
Acting as the install
POST /v1/skill-installs/{id}/keys mints a wsk_live_… key, shown once. It
is accepted by the Meeting Actions API as a
bearer and acts as the install:
- only on meetings whose scenario has the install attached (
404otherwise); - only the action types the manifest’s
scopesgrant (actions:context,actions:message,actions:say,actions:stage) —403 scope_deniedotherwise; stage.*only on the install’s own renderers.
actor: "skill:<package_id>". Revoke a key
with DELETE /v1/skill-installs/{id}/keys/{key_id}.
Not yet
- A catalog: packages are registered per workspace; sharing one between workspaces means registering it in each.
- Delivering
configandsecretsto your tool-call webhooks automatically — read them back fromGET /v1/skill-installs/{id}for now (secrets are never returned;secret_namestells you which are set). - Sharing config and secrets with your own tool webhooks — for now your backend reads config from the install and holds its own secrets.

