---
title: "CreateSkillBody"
description: "Request body for creating a Skill."
section: "Reference"
group: "Types"
order: 190
---

## Definition

```ts
interface CreateSkillBody {
  workspaceId: string;
  name: string;
  kind: "concept" | "procedure";
  target: "cli" | "assistant" | "mcp";
  body: string;
  description?: string | undefined;
  resources?: Array<{ path: string; content: string }> | undefined;
}
```

## Fields

| Field         | Type                                                     | Notes                                                |
| ------------- | -------------------------------------------------------- | ---------------------------------------------------- |
| `workspaceId` | `string`                                                 | `required` — Workspace that will own the new skill.  |
| `name`        | `string`                                                 | `required` — Skill name                              |
| `kind`        | `"concept" \| "procedure"`                               | `required` — Content shape: concept or procedure     |
| `target`      | `"cli" \| "assistant" \| "mcp"`                          | `required` — Target consumer: assistant, mcp, or cli |
| `body`        | `string`                                                 | `required` — Markdown body                           |
| `description` | `string \| undefined`                                    | `optional` — One-line description                    |
| `resources`   | `Array<{ path: string; content: string; }> \| undefined` | `optional` — Bundled resource files                  |
