Skip to main content
persona.skills — /api/v1/developer/skills. A Skill is a reusable instruction (the prompt text given to an Agent that has it attached) plus an optional file bundle the Agent can read. Project-owned, or — with externalUserId — owned by that end user.

Methods

create(input, idempotencyKey?)

name, description, and instructions are required.
  • isPublic: true makes the Skill visible to every credential in the platform, not just this Domain.
  • The optional trailing idempotencyKey is sent as the Idempotency-Key header.
  • Returns the created Skill in raw Mongo shape — _id, not id.

list(params?)

Lists/searches Skills visible to this credential: this Project’s own plus any public Skills. Returns PaginatedResult<Skill>.

get(skillId)

Fetches one Skill by _id. isOwner is present only on the result of get() — it indicates whether the calling identity owns this Skill. It’s absent from list()/create()/update().

update(skillId, input)

Partially updates a Skill — only the fields you pass are changed. name/description/ instructions/isPublic/files are all optional. Important: files replaces the entire array — not a merge/append. Pass the full new file set.

delete(skillId)

Deletes a Skill. Rejects with PersonaApiError if any Agent still references it — call getUsage() first. Returns void.

getUsage(skillId)

ResourceUsage — the Agents referencing this Skill. agentCount is the real total; agents is a preview capped at 20. Check before delete().

bulkDelete(ids)

Best-effort batch delete — up to 100 ids per call, partial failures don’t throw.

Complete example