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

# Create skill

`POST /v1/skills`

Creates a workspace agent skill. Requires a token with write access.

## Request body

- object — Request body for creating a workspace agent skill. External callers must explicitly opt into auto-assignment.
  - `workspace_id` string, required
  - `name` string, required
  - `description` string, required
  - `body` string, required
  - `allowed_tools` string[]
  - `tags` string[]
  - `enabled` boolean
  - `auto_assign_to_existing_v2_agents` boolean

## Response `201`

Skill created

- object — Single workspace skill response.
  - `data` object, required
    - `id` string, required
    - `workspace_id` string, required
    - `name` string, required
    - `description` string, required
    - `body` string, required
    - `allowed_tools` string[], required
    - `tags` string[], required
    - `enabled` boolean, required
    - `created_at` string, required
    - `updated_at` string, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/conduit/apis/conduit-api.md) · [All operations](https://skmtc.dev/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conduit/conduit-api/revisions/3ad7e17f96ad/schema)
