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

# Create a skill

`POST /v1/skills`

## Request body

- CreateSkillRequest
  - `name` string, required — Skill name. Lowercase letters, digits, and hyphens only.
  - `description` string, required — Short description of when the skill should be used.
  - `content` string, required — Full skill instructions, typically Markdown.

## Response `201`

Skill created successfully

- CreateSkillResponse
  - `skill` Skill, required
    - `id` string, required
    - `name` string, required
    - `description` string, required
    - `isSystem` boolean, required
    - `updatedAt` string, required
    - `content` string, required
    - `createdAt` string, required

## Other responses

- `400` — Invalid request body
- `401` — Missing or invalid API key
- `403` — Forbidden
- `409` — Skill name already exists
- `503` — Authentication service unavailable

---

[API](https://skmtc.net/usenotra/apis/notra-api.md) · [All operations](https://skmtc.net/usenotra/apis/notra-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usenotra/notra-api/revisions/4e07496e06b0/schema)
