opbox

Saved Prompts (Skills)

A per-user library of reusable AI prompts - playbooks, frequently-used instructions, complex multi-step queries. Stored as Knowledge Base documents in a private “Skills” folder so they’re full Tiptap rich text, searchable, organisable into subfolders, and editable in the KB.

Limit: 50 skills per user (counted across the entire Skills folder tree).

Where They Live

A “Skills” system folder is auto-created in your Knowledge Base on first KB visit (alongside the Transcripts folder). Each skill is a regular Document row inside that folder. You can:

  • Save new skills from the chat UI (“Save this prompt”).
  • Browse, edit, and reorganise them as rich documents in the KB.
  • Create subfolders to organise skills by category.
  • Delete skills directly from the KB or via the API.

Endpoints

MethodEndpointDescription
GET/api/ai/skillsList skill documents from the Skills folder tree, newest first. Plain text extracted from structured JSON.
POST/api/ai/skillsCreate a skill in the Skills folder. JSON body with title and content. Title max 120 chars, content max 5000 chars. 50-skill limit enforced.
DELETE/api/ai/skills/:idDelete a skill (must live under the Skills folder tree in the current org).
POST/api/ai/skills/:idMark skill as used. JSON body action: "use". No-op, kept for API compatibility.

Discovery from the AI Side

Skills are also exposed to the AI assistant via two read-only tools:

ToolDescription
list_skillsList the user’s skills with title and content snippet.
get_skillRetrieve a skill by ID.

This lets the AI suggest a saved skill (“you have a ‘Weekly review’ skill - want to run it?”) or pull one in as context for a multi-step task.

Use Cases

Skill typeExample
Recurring report”Summarise all matters that closed this month, grouped by board”
Domain primer”You are a UK CSP analyst. Use Companies House conventions when discussing filings.”
Compliance checklist”For this matter, verify: KYC complete, UBO declared, share register up to date.”
Multi-step workflow”Find matters past their due date in the SLA-Premium board, draft a status update, attach to the matter.”

API Examples

List

GET /api/ai/skills

Response:
[
  {
    "id": "cm...",
    "title": "Summarise matter progress",
    "content": "Give me a summary of the current matter including step status...",
    "createdAt": "2026-02-18T09:00:00.000Z"
  },
  {
    "id": "cm...",
    "title": "Weekly review",
    "content": "Summarise all active matters and flag anything overdue...",
    "createdAt": "2026-02-15T17:30:00.000Z"
  }
]

Create

POST /api/ai/skills
Content-Type: application/json

{
  "title": "Weekly review",
  "content": "Summarise all active matters by board, flag overdue, and propose top 3 priorities for the week."
}

The title is used as the KB document name. The content is stored as plain text (auto-converted to Tiptap structured JSON for storage so it’s editable inline in the KB).

Delete

DELETE /api/ai/skills/:id

Hard-deletes the underlying KB document.

Storage Detail

Skills are not a separate model - they’re regular Document rows. The “is this a skill?” predicate is “does it live under the Skills folder tree in the user’s KB?”. This means:

  • The 5000-char content limit applies on save via the API; manually editing in the KB lets you store more, though the AI may truncate when reading.
  • Subfolders inside Skills are honoured for organisation.
  • Skills inherit your normal KB permissions: only you can read/write your skills (they live in your private folder tree).
  • Backups of your KB include your skills.

See Also