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

FieldTypeNotes
idstringreadonly required
workspaceIdstring | nullrequired — Workspace that owns this skill; null for system skills.
namestringrequired — Kebab-case skill slug (e.g. 'aeontel-primitives').
descriptionstring | nullrequired — 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, …).
bodystringrequired — Markdown body loaded when the skill is retrieved.
systembooleanrequired — True for built-in system skills that cannot be edited or deleted.
resourcesArray<{ id: string; skillId: string; path: string; content?: string | undefined; }>required — Bundled resource files available via skills.getResource.
createdBystring | nullrequired — User who created the skill; null for system skills.
deletedAtstring | nullrequired — ISO-8601 timestamp of soft-delete; null while active. Cleanup worker hard-deletes once deletedAt + retentionTier.days passes.
retentionTier"short" | "medium" | "long" | "none" | nullrequired — Retention tier snapshotted at delete time. short=7d, medium=30d, long=90d, none=never. Null while active.
createdAtstringreadonly required — ISO-8601 timestamp of creation.
updatedAtstringreadonly required — ISO-8601 timestamp of the last update.