Gatana logoGatana Docs
Routes

Create Skill

Create a skill from a SKILL.md document, or from a name, a one-line description of when to use it and Markdown instructions, at root or in a collection

POST
/skills
AuthorizationBearer <token>

In: header

Request Body

application/json

markdown?string

The whole skill as one SKILL.md document: a frontmatter block with name and description, then the instructions. The three fields are taken from it, so name, description and content are not given alongside

Length1 <= length <= 204800
name?string

Name of the skill: lowercase letters, digits and single dashes, 1-64 characters, unique in the organization. The same rules as a Claude Code SKILL.md name

Match^[a-z0-9]+(-[a-z0-9]+)*$
Length1 <= length <= 64
description?string

One line saying when to use the skill, written for an agent deciding whether it applies

Length1 <= length <= 1024
content?string

The instructions as Markdown: the body of a SKILL.md without the frontmatter. Maximum 200 KiB

Length1 <= length <= 204800
visibility?string

'organization' (the default): every member of the organization can read the skill; 'private': only the creator and the users and teams it is shared with

Value in"organization" | "private"
collectionId?|

ID of the collection to put the skill in, or null for a skill at root. You must be able to read the collection

Response Body

application/json

curl -X POST "https://YOUR_ORG_ID.gatana.ai/api/v1/skills" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "name": "string",
  "description": "string",
  "visibility": "organization",
  "collectionId": "string",
  "collectionName": "string",
  "contentBytes": 0,
  "createdByUserId": "string",
  "createdByUserName": "string",
  "createdByUserEmail": "string",
  "sharedWithUserIds": [
    "string"
  ],
  "sharedWithTeamIds": [
    "string"
  ],
  "maintainerUserIds": [
    "string"
  ],
  "maintainerTeamIds": [
    "string"
  ],
  "collectionVisibility": "organization",
  "collectionSharedWithUserIds": [
    "string"
  ],
  "collectionSharedWithTeamIds": [
    "string"
  ],
  "collectionMaintainerUserIds": [
    "string"
  ],
  "collectionMaintainerTeamIds": [
    "string"
  ],
  "createdAt": "string",
  "updatedAt": "string"
}