Skills
Domain primers the assistant loads on demand — built-in, workspace, or personal.
A skill is a short markdown primer the assistant loads on demand. Skills
solve a specific problem: tool descriptions can't be long enough to teach the
model your workspace conventions, but you don't want a 50-page system prompt on
every turn either. Instead, the assistant browses a list of skills, decides
"I'll need the data_python primer for this question", and pulls it in
only for the turn that needs it.
The three scopes
Every skill lives in exactly one of three scopes, with the higher scope taking precedence on a name collision:
- Built-in (global)
- Ships in the platform. Maintained by the Dalea team. Every workspace sees the same set; cannot be edited or shadowed.
- Workspace
- Authored by workspace admins (anyone with the MANAGE_AI_SKILLS permission). Visible to every member of the workspace.
- Personal
- Authored by you, visible only to you. Use for personal shorthand, draft skills, or one-off domain notes that don't belong to the team yet.
The built-in skills
Three primers ship with the platform out of the box:
- editing_dalea_documents
- Authoring and editing documents — when to read a document outline vs the full content, how custom block fences work, how to safely round-trip grid blocks and registration tables.
- writing_python_in_dalea
- Writing Python in a document's embedded Pyodide block — the globals (get_block, get_sheet, get_cell), what the sandbox does and doesn't allow (no filesystem, no network).
- designing_data_environments
- Designing a data environment — entity tables vs result tables, the ten column types and their typeConfig shapes, displayPattern IDs, references, and atomic entity-row registration via bulk tools or registrationTable blocks.
The assistant pulls these in by name as it works; you don't usually need to do anything. Built-in skills are always enabled unless you explicitly turn one off.
Activating, deactivating, authoring
Settings → AI Skills shows every skill visible to you (built-in + workspace
- personal) with a toggle for each, and is where you author personal skills.
Workspace skills are authored from
Settings → Workspaces → <workspace> → AI Skills(requires theMANAGE_AI_SKILLSpermission). Deactivating a skill in the settings removes the capability for an agent (in-platform or through MCP) to read the skill.
The editor enforces the same limits as the API:
- Name
- Lowercase, starts with a letter, 2-64 chars, may include digits and underscores. Pattern: ^[a-z][a-z0-9_]{1,63}$
- Description
- 1-200 characters, single line (no newlines). This is what the assistant sees when deciding whether to load the skill — make it descriptive.
- Body
- Markdown, 1-20,480 characters (≈ 5,000 tokens, or roughly 500 lines of prose). This is the content the assistant pulls in once it decides to load the skill. The cap targets Anthropic's Agent Skills guidance — the body is returned as a tool-call payload that persists in the conversation, so big skills crowd context and disrupt prompt-cache reuse. If you need more, split into multiple skills the assistant can load on demand rather than one giant body.
You cannot publish a workspace or personal skill that shadows a built-in name — the API rejects it at write time.
Permissions
| Action | Who can do it |
|---|---|
| Activate / deactivate any visible skill | Anyone with workspace access |
| Create, edit, delete workspace skills | MANAGE_AI_SKILLS workspace permission (admins by default) |
| Create, edit, delete personal skills | The user only |
| Edit or delete built-in skills | Nobody — they ship with the platform |
How the assistant uses them
On every turn, the assistant sees the list of activated skills with their
names and descriptions in its tool catalogue. When a skill looks relevant, it
calls load_skill(name) to pull the body into context for that turn. The body
is not held across turns — the assistant re-loads any skill it still needs on
the next turn, which keeps idle context small.
This means a high-quality description matters more than you'd think: it's
how the assistant decides whether to look in the first place. "Authoring
ELISA result protocols including dilution and curve-fit conventions" beats
"ELISA things".
- House style for protocol authoring (mandatory headings, hazard tags, sign-off lines).
- Naming conventions your team uses for studies, samples, lots, instruments.
- Domain quirks that aren't in the wiki but everyone knows ("we always use ng/mL not pg/mL", "study IDs start with DLA-").
- Re-usable analysis recipes ("how we fit our standard curves").
Skills are pulled in only when the assistant decides they're relevant. If you want a rule to apply every turn — e.g. "always answer in French" — that's not a skill, that's a workspace-level setting (coming separately).