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

# Create a skill

`POST /skills`

## Request

- Base URL: `https://api.mockflow.com/v1`
- URL: `https://api.mockflow.com/v1/skills`
- Auth: HTTP bearer

Plus and Max only. The skill is private to your workspace until the MockFlow team approves it for the library.

## Request body

- SkillCreate
  - `name` string, required
  - `description` string
  - `outputType` string, required
  - `category` 'general' | 'brainstorm' | 'diagrams' | 'planning' | 'media'
  - `systemPrompt` string, required
  - `placeholder` string
  - `tags` string[]
  - `model` string

## Response `201`

Created.

- Skill
  - `id` string
  - `slug` string, nullable
  - `name` string
  - `description` string
  - `outputType` string, nullable: The kind of item the skill shapes, in the skill library's own vocabulary (kanban, mindmap, markdown, swimlanediagram …).
  - `category` string
  - `tags` string[]
  - `placeholder` string
  - `scope` 'public' | 'team'
  - `author` object
    - `email` string
    - `name` string
  - `iconUrl` string, nullable
  - `uses` integer
  - `systemPrompt` string: Present on public skills and on your own.
  - `createdAt` string, date-time, nullable

## Other responses

- `402`: The workspace plan does not allow this, or AI credits are exhausted.
- `429`: Too many requests.

---

[API](https://skmtc.dev/mockflow/apis/mockflow-boards-api.md) - [All operations](https://skmtc.dev/mockflow/apis/mockflow-boards-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mockflow/apis/mockflow-boards-api/revisions/1a890390518c?raw)
