Skip to main content
Updating a skill creates a new version with a new unique ID but the same name. Previous versions remain accessible via their version string.

Update from File

Upload a new skill zip to create a new version:
from vlmrun.client import VLMRun
from pathlib import Path

client = VLMRun(api_key="<VLMRUN_API_KEY>")

# Upload new skill zip
file = client.files.upload(file=Path("updated-skill.zip"))

# Update creates a new version
updated = client.skills.update(
    skill_id="<skill-id>",
    file_id=file.id,
    description="Improved invoice extraction with line item support"
)
print(f"New version: {updated.version}")

Versioning Behavior

ActionResult
Update a skillNew version created, same skill_name
Reference with version="latest"Resolves to the newest version
Reference with a pinned versionContinues to use the pinned version
Updates are non-destructive. Existing versions are never modified or deleted, so pinned references continue to work after an update.
See Version Pinning for best practices on managing versions.