---
title: "Create a skill"
method: POST
path: "/v1/skills"
tags: ["Skills"]
---

# Create a skill

`POST /v1/skills`

## Request

- Base URL: `https://blobsrus.omniapp.co/api`
- URL: `https://blobsrus.omniapp.co/api/v1/skills`
- Auth: HTTP bearer

<Note>
  This endpoint is currently in development and may change.
</Note>

Creates a skill owned by the calling user.

## Request body

- SkillCreateBody
  - `body` string, required: The instructions injected into the agent's context when the skill runs.
  - `description` string, required: What the skill is for. Shown in the skills list, and given to the agent when it chooses between skills.
  - `identifier` string, required: Slash-command handle, stored without the slash. Lowercase letters, numbers and hyphens, starting with a letter or number.
  - `name` string, required: A human-readable name for the skill.

## Response `201`

The created skill

- Skill
  - `createdAt` string, date-time, required: ISO 8601 timestamp of when the skill was created
  - `creator` SkillCreator, required: Details about the user that created the skill.
    - `id` string, uuid, nullable, required: Membership ID of the user that created the skill. Null when the creator has no membership or pending invitation in the organization.
    - `name` string, required: Display name of the user that created the skill.
  - `description` string, required: What the skill is for. Shown in the skills list, and given to the agent when it chooses between skills.
  - `id` string, uuid, required: Unique identifier for the skill
  - `identifier` string, required: Slash-command handle, stored without the slash. Lowercase letters, numbers and hyphens, starting with a letter or number.
  - `name` string, required: A human-readable name for the skill.
  - `updatedAt` string, date-time, required: ISO 8601 timestamp of the last time the skill was updated.
  - `body` string, required: The instructions injected into the agent's context when the skill runs.

## Other responses

- `400`: Invalid body, a blank field, or a value over its length limit
- `403`: Invalid bearer token, or skills are not enabled for the caller
- `405`: Method not allowed
- `409`: The identifier is already taken in this organization

## Changes

- **2026-11-03** `43290040f88f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omni/apis/omni-api/changes/v1/skills/post.md)

---

[API](https://skmtc.dev/omni/apis/omni-api.md) - [All operations](https://skmtc.dev/omni/apis/omni-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omni/apis/omni-api/revisions/43290040f88f?raw)
