---
title: "Create Skill"
method: POST
path: "/v2/teams/{teamId}/skills"
tags: ["Skills"]
---

# Create Skill

`POST /v2/teams/{teamId}/skills`

## Request

- Base URL: `https://api.duvo.ai`
- URL: `https://api.duvo.ai/v2/teams/{teamId}/skills`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/duvo/apis/duvo-public-api/docs/v2/teams/:teamId/skills/post.ts> (a function with typed inputs; its response is checked against the schema)

Create or update a skill from a JSON body. The server constructs SKILL.md from the provided fields and stores it. If a skill with the same name already exists in the team, it is updated.

## Path parameters

- `teamId` string, required

## Request body

- object
  - `name` string, required: Skill name. 1-64 lowercase alphanumeric chars and hyphens; no leading/trailing or consecutive hyphens.
  - `description` string, required: 1-1024 chars describing what the skill does and when to invoke it.
  - `content` string, required: Markdown body of SKILL.md without YAML frontmatter. The server prepends the frontmatter from the other fields.
  - `license` string: Optional: license name or reference to a bundled license file.
  - `compatibility` string: Optional: 1-500 chars describing environment requirements.
  - `metadata` object: Optional: arbitrary key-value metadata.
  - `allowed-tools` string: Optional (experimental): space-delimited list of pre-approved tools.

## Response `200`

Default Response

- object
  - `skill` object, required: The created or updated skill
    - `id` string, uuid, required: Unique skill identifier
    - `name` string, required: Human-readable skill name
    - `description` string, required: Short summary of what the skill does
    - `team_id` string, uuid, required: ID of the team that owns the skill

## Other responses

- `201`: Default Response
- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `500`: Default Response

---

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