Skill
The `Skill` entity.
Definition
TypeScript
interface Skill {
id: string;
workspaceId: string | null;
name: string;
description: string | null;
kind: "concept" | "procedure";
target: "cli" | "assistant" | "mcp";
body: string;
system: boolean;
resources: Array<{
id: string;
skillId: string;
path: string;
content?: string | undefined;
}>;
createdBy: string | null;
deletedAt: string | null;
retentionTier: "short" | "medium" | "long" | "none" | null;
createdAt: string;
updatedAt: string;
}Fields
| Field | Type | Notes |
|---|---|---|
id | string | readonly required |
workspaceId | string | null | required — Workspace that owns this skill; null for system skills. |
name | string | required — Kebab-case skill slug (e.g. 'aeontel-primitives'). |
description | string | null | required — Short description of what the skill teaches or does. |
kind | "concept" | "procedure" | required — Content shape: 'concept' for reference material, 'procedure' for step-by-step. |
target | "cli" | "assistant" | "mcp" | required — Consumer of the skill (assistant, mcp, cli, …). |
body | string | required — Markdown body loaded when the skill is retrieved. |
system | boolean | required — True for built-in system skills that cannot be edited or deleted. |
resources | Array<{ id: string; skillId: string; path: string; content?: string | undefined; }> | required — Bundled resource files available via skills.getResource. |
createdBy | string | null | required — User who created the skill; null for system skills. |
deletedAt | string | null | required — ISO-8601 timestamp of soft-delete; null while active. Cleanup worker hard-deletes once deletedAt + retentionTier.days passes. |
retentionTier | "short" | "medium" | "long" | "none" | null | required — Retention tier snapshotted at delete time. short=7d, medium=30d, long=90d, none=never. Null while active. |
createdAt | string | readonly required — ISO-8601 timestamp of creation. |
updatedAt | string | readonly required — ISO-8601 timestamp of the last update. |