> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vlm.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

> Create, edit, and manage reusable visual extraction skills on the VLM Run platform

<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/ubcpLluWjBs?rel=0" title="How to Create Skills with VLM Run's Visual Agent Orion" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen />

Skills are the building blocks of the VLM Run platform. A skill is a modular, reusable capability that tells Orion exactly **what to extract** from a visual input and **how to structure** the output. Once created, a skill can be referenced from any endpoint (images, PDFs, video, audio, or agent workflows), producing consistent, schema-validated results every time.

<Tip>
  Think of skills as "visual functions": define the input type, describe the task, set the output schema, and call it from anywhere.
</Tip>

## Skills Lifecycle

<Steps>
  <Step title="Create" icon="plus">
    Define a new skill through a [chat conversation](/platform/chat) or by [uploading a skill package](/skills/spec/overview). Specify the task description, output schema, and test it against sample files.
  </Step>

  <Step title="Edit" icon="pen">
    Refine the skill's prompt, schema, or metadata from the platform. Publish new versions without breaking existing integrations. Callers on a pinned version continue working unchanged.
  </Step>

  <Step title="Use" icon="play">
    Reference the skill in [chat](/platform/chat), the [REST API](/api-reference/v1/post-chat-completions), or the [SDK](/sdk-reference/getting-started). Combine multiple skills in a single request for complex extraction pipelines.
  </Step>
</Steps>

## Navigating Skills

<div className="platform-figure">
  <img src="https://mintcdn.com/autonomiai/31N4NFzIelpYJkPB/images/platform-skill-table.png?fit=max&auto=format&n=31N4NFzIelpYJkPB&q=85&s=51bd022c183a5d215a265404cf82e9d2" alt="Skills table view" width="2712" height="1512" data-path="images/platform-skill-table.png" />
</div>

The skills table lists every skill in your workspace. Filter by name, domain, or version, and click any row to open the detail editor. From here you can see usage stats, version history, and the current schema.

## Configuring Skills

<div className="platform-figure">
  <img src="https://mintcdn.com/autonomiai/31N4NFzIelpYJkPB/images/platform-skill-detail.png?fit=max&auto=format&n=31N4NFzIelpYJkPB&q=85&s=913570b047b374833a4dbced98f198c9" alt="Skill detail and editor view" width="2886" height="1600" data-path="images/platform-skill-detail.png" />
</div>

The detail view shows the full skill definition: task description, JSON schema, sample inputs and outputs, and version history. Edit any field and publish a new version directly from this page.

## Best Practices

| Principle                     | Why it matters                                                                       |
| ----------------------------- | ------------------------------------------------------------------------------------ |
| **Specific task description** | Narrow prompts produce more accurate, consistent outputs than broad ones             |
| **Tight output schema**       | A well-defined JSON schema eliminates ambiguity and makes downstream parsing trivial |
| **Representative test cases** | Testing against diverse samples catches edge cases before production                 |
| **Versioning**                | Pin consumers to a version so schema changes don't break integrations                |

## Dive deeper

<CardGroup cols={2}>
  <Card title="Create a Skill" icon="plus" href="/platform/skills/create">
    Step-by-step guide to creating a skill on the platform.
  </Card>

  <Card title="Edit a Skill" icon="pen" href="/platform/skills/edit">
    How to update prompts, schemas, and publish new versions.
  </Card>

  <Card title="Use a Skill" icon="play" href="/platform/skills/use">
    Reference skills in chat, API calls, and agent workflows.
  </Card>

  <Card title="Skill Specification" icon="file-code" href="/skills/spec/overview">
    The full specification format: skill.md, vlmrun.yaml, and schema.json.
  </Card>

  <Card title="Version Pinning" icon="lock" href="/skills/usage/version-pinning">
    Control which version consumers use in production.
  </Card>

  <Card title="Skills via API" icon="server" href="/skills/manage/create">
    Create and manage skills programmatically with the REST API.
  </Card>
</CardGroup>
