Claude Platform Docs

Create Skill

skills.create(SkillCreateParams**kwargs) -> Skill
POST/v1/skills

Create Skill

Parameters
files: Sequence[FileTypes]

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.

display_name: Optional[str]

Human-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter name when omitted at creation. Not unique.

Returns
class Skill:
id: str

Unique identifier for the skill.

The format and length of IDs may change over time.

created_at: datetime

ISO 8601 timestamp of when the skill was created.

formatdate-time
display_name: str

Human-readable, single-line label for the Skill. Maximum 255 characters. Always set: derived from the SKILL.md frontmatter name when omitted at creation. Not unique.

latest_version_id: str

ID of the newest Skill Version — what latest references resolve to. Always set: a Skill holds at least one version.

source: SkillSource

Where the Skill comes from.

Possible values:

  • "custom": authored by the platform user; private to their workspace
  • "anthropic": published by Anthropic; shared and read-only
  • "anthropic_example": Anthropic-published sample Skill
  • "plugin": resolved from an installed plugin
type: Literal["custom", "anthropic", "anthropic_example", "plugin"]

Where the Skill comes from.

Possible values:

  • "custom": authored by the platform user; private to their workspace
  • "anthropic": published by Anthropic; shared and read-only
  • "anthropic_example": Anthropic-published sample Skill
  • "plugin": resolved from an installed plugin
One of the following:
"custom"
"anthropic"
"anthropic_example"
"plugin"
type: Literal["skill"]

Object type.

For Skills, this is always "skill".

defaultskill
updated_at: datetime

ISO 8601 timestamp of when the skill was last updated.

formatdate-time

Create Skill

import os
from anthropic import Anthropic

client = Anthropic(
    api_key=os.environ.get(
        "ANTHROPIC_API_KEY"
    ),  # This is the default and can be omitted
)
skill = client.skills.create(
    files=[b"Example data"],
)
print(skill.id)
{
  "id": "skill_01JAbcdefghijklmnopqrstuvw",
  "created_at": "2024-10-30T23:58:27.427722Z",
  "display_name": "display_name",
  "latest_version_id": "latest_version_id",
  "source": {
    "type": "custom"
  },
  "type": "skill",
  "updated_at": "2024-10-30T23:58:27.427722Z"
}
Returns Examples
{
  "id": "skill_01JAbcdefghijklmnopqrstuvw",
  "created_at": "2024-10-30T23:58:27.427722Z",
  "display_name": "display_name",
  "latest_version_id": "latest_version_id",
  "source": {
    "type": "custom"
  },
  "type": "skill",
  "updated_at": "2024-10-30T23:58:27.427722Z"
}