Claude Platform Docs

Create Skill Version

skills.versions.create(skill_id, **kwargs) -> SkillVersion
POST/v1/skills/{skill_id}/versions

Create Skill Version

Parameters
skill_id: String

Unique identifier for the skill.

The format and length of IDs may change over time.

files: Array[String]

Files to upload for the skill.

All files must be in the same top-level directory and must include a SKILL.md file at the root of that directory.

Returns
class SkillVersion { id, created_at, description, 3 more }
id: String

Unique identifier for this Skill Version. The id addresses the version in paths and pins it in references.

created_at: Time

ISO 8601 timestamp of when the skill was created.

formatdate-time
description: String

Description of the skill version.

This is extracted from the SKILL.md file in the skill upload.

name: String

The Skill's immutable kebab-case slug, set at creation from the first upload's SKILL.md frontmatter name (or its enclosing directory). Every later upload must resolve to the same value. Also the top-level directory of the Skill's mounted files and the base name of a downloaded archive.

skill_id: String

Unique identifier for the skill.

The format and length of IDs may change over time.

type: :skill_version

Object type.

For Skill Versions, this is always "skill_version".

Create Skill Version

require "anthropic"

anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key")

skill_version = anthropic.skills.versions.create("skill_id", files: [StringIO.new("Example data")])

puts(skill_version)
{
  "id": "id",
  "created_at": "2024-10-30T23:58:27.427722Z",
  "description": "description",
  "name": "name",
  "skill_id": "skill_01JAbcdefghijklmnopqrstuvw",
  "type": "skill_version"
}
Returns Examples
{
  "id": "id",
  "created_at": "2024-10-30T23:58:27.427722Z",
  "description": "description",
  "name": "name",
  "skill_id": "skill_01JAbcdefghijklmnopqrstuvw",
  "type": "skill_version"
}