Requires authentication. All custom skills endpoints require a Case.dev API key with
skills
permission scope.How It Works
Custom skills live in your organization and are the canonical way to manage private skills. When your agents search for skills via/skills/resolve, results from your custom skills are merged with curated skills in a single ranked list. If a custom skill has the same slug as a curated skill, the custom skill takes priority for your organization.
Each custom skill includes:
- Content in markdown, up to 64KB
- Vector embedding (generated automatically) for semantic search
- Tags for categorization and search boosting
- Metadata for arbitrary key-value data
- Optional companion files for Skills.sh-style
SKILL.mdbundles, scripts, templates, and references - Version tracking with automatic increment on updates
- Soft-delete so deleted skills can be recreated
Create a Skill
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Skill name (max 256 chars) |
content | string | Yes | Full skill content in markdown (max 64KB) |
slug | string | No | URL-safe identifier. Auto-generated from name if omitted |
summary | string | No | Brief description (max 1000 chars) |
tags | string[] | No | Tags for categorization and search boosting |
metadata | object | No | Arbitrary key-value metadata |
files | object[] | No | Companion files installed under the skill directory in agent sandboxes |
Bundled Skill Files
Usefiles[] when a skill needs scripts, references, examples, or templates in addition to its root SKILL.md instructions. The root content becomes <slug>/SKILL.md; each companion file is installed at <slug>/<path>.
cURL
. or .. segments, and cannot be SKILL.md. Send files[] again on PUT /skills/:slug to replace the companion tree; omit files to leave companion files unchanged.
Response (201):
Slugs are unique per organization. Reserved slugs (
resolve, custom) cannot be used. If you
omit slug, one is auto-generated from the skill name.Read a Skill
Retrieve a skill by slug. For authenticated users, custom skills are checked first, then curated skills.source field indicating whether the skill is "custom" (your organization’s) or "curated" (from the open-source library).
For bundled root skills, GET /skills/:slug also includes a bundle object:
Export a Skill Tree
UseGET /skills/:slug/export to inspect the exact files that will be installed into an agent runtime sandbox. Custom skills in your organization are resolved first; curated skills are used as a fallback.
cURL
skillSlugs when creating an agent runtime and Case.dev installs the right tree for that sandbox.
Install Skills in Agent Runtimes
When creating an agent runtime through a Case.dev integration that supports skills, passskillSlugs to install custom or curated skills into the sandbox before the runtime starts.
Case.dev installs the root SKILL.md and any companion files into the sandbox’s skill directory before the runtime process starts.
Use the same skillSlugs field for any Case.dev runtime that supports skill installation. Case.dev selects the correct sandbox paths for that runtime.
Search Skills
Use/skills/resolve to search across both curated and custom skills. Results are ranked by relevance using semantic search, BM25 text matching, and tag boosting.
| Field | Description |
|---|---|
slug | Skill identifier |
name | Skill name |
summary | Brief description |
tags | Practice area tags |
score | Relevance score (0-1) |
source | "curated" or "custom" |
List Custom Skills
List all custom skills in your organization, with optional filtering.| Parameter | Type | Description |
|---|---|---|
limit | integer | Results per page (1-100, default 50) |
cursor | string | Cursor from previous response for pagination |
tag | string | Filter by tag |
Update a Skill
Update one or more fields. The version is automatically incremented. If you change content-related fields (name, summary, or content), the embedding is regenerated.cURL
Delete a Skill
Soft-deletes a skill. It will no longer appear in search results or be accessible by slug.Deletion frees the slug. You can create a new skill with the same slug after deleting.
Permissions
Custom skills require theskills permission scope on your API key.
| Endpoint | Permission |
|---|---|
GET /skills/resolve | skills (read) |
GET /skills/:slug | skills (read) |
GET /skills/custom | skills (read) |
POST /skills | skills (write) |
PUT /skills/:slug | skills (write) |
DELETE /skills/:slug | skills (write) |
GET /skills/:slug/export | skills (read) |
Limits
| Limit | Value |
|---|---|
| Content size | 64KB per skill |
| Companion files | 100 per skill |
| Companion file size | 64KB per file |
| Name length | 256 characters |
| Summary length | 1,000 characters |
| Tag length | 100 characters per tag |
| Slug length | 128 characters |
| Slugs per org | Unlimited |
What’s Next?
Browse Curated Skills
Explore 870+ open-source legal skills
API Reference
Full endpoint documentation
Skills Overview
Learn about the curated skills library and MCP setup
Rate Limits
Understand request limits and pricing

