Skip to main content
Reference a skill by name instead of a pre-defined domain. Optionally pin a version.
Set the input type, the task, and the output schema.
Pass multiple skills in one request. Create a skill from a prompt, a chat, or a skill zip. Send a base64 skill zip in the request, with no pre-upload.

Skill Identifiers

Provide skill_name or skill_id. With skill_name, skill_version defaults to latest.

Skills vs Domains

We will be deprecating domains in the near future. Whenever possible, use skills instead of domains.
When skills are provided and domain is omitted, the platform creates a dynamic application from the skill’s prompt and JSON schema. You can still pass domain alongside skills if needed.

Where Skills Work

Skills lifecycle

Create

Define the skill in a chat conversation or by uploading a skill package. Set the task description and output schema. Test it on sample files.

Edit

Update the prompt, schema, or metadata. Publish a new version. Callers on a pinned version stay on that version.

Use

Reference the skill in chat, the REST API, or the SDK. Pass multiple skills in one request.
Skills table view
The table lists every skill in the workspace. Filter by name, domain, or version. Open a row for usage stats, version history, and the current schema.

Configuring skills

Skill detail and editor view
The detail view shows the task description, JSON schema, sample inputs and outputs, and version history. Edit a field and publish a new version from this page.

Best practices

Next

Quickstart

Get started with skills in under 2 minutes.

Create a Skill

Create a skill on the platform.

Edit a Skill

Update prompts and schemas, then publish a new version.

Use a Skill

Reference skills in chat, API calls, and agent workflows.

Skill Spec

The skill package format: skill.md, vlmrun.yaml, and schema.json.

Version Pinning

Control which version consumers use in production.

Skills via API

Create and manage skills programmatically with the REST API.