---
title: "Publish a new skill from markdown"
method: POST
path: "/v1/workspaces/{workspaceId}/skills"
tags: ["Workspaces"]
---

# Publish a new skill from markdown

`POST /v1/workspaces/{workspaceId}/skills`

## Request

- Base URL: `https://shareout.site`
- URL: `https://shareout.site/v1/workspaces/{workspaceId}/skills`
- Auth: HTTP bearer

Same publish as `POST /v1/publish` with `artifact_type: "skill"`, in the shape a form or an agent can send. Visibility is forced to `workspace`; the skill starts on the workspace's default edit policy.

## Request body

- object
  - `name` string, required
  - `markdown` string, required
  - `slug` string
  - `category` string

## Response `201`

Skill published

## Other responses

- `409`: Slug already used in this workspace

## Changes

- **2026-10-09** `1069d922d239`: 1 info
  - endpoint added

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

---

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