Overview
The Skills API provides endpoints to list, retrieve, enable/disable, and install skills. Skills are extensions that provide specialized instructions and workflows to AI agents.List All Skills
GET /api/skills
Retrieve a list of all available skills from both public and custom directories
Response
List of all skills regardless of enabled status
Example Request
Example Response
Get Skill Details
GET /api/skills/{skill_name}
Retrieve detailed information about a specific skill by its name
Path Parameters
The name of the skill to retrieve
Response
Name of the skill
Description of what the skill does
License information
Category:
public or customWhether this skill is enabled
Example Request
Example Response
Error Responses
Skill not found
Update Skill
PUT /api/skills/{skill_name}
Update a skill’s enabled status by modifying the extensions_config.json file
Path Parameters
The name of the skill to update
Request Body
Whether to enable or disable the skill
Response
Returns the updated skill object (same as GET /api/skills/).Example Request
Example Response
Error Responses
Skill not found
Failed to update skill configuration
Notes
- This endpoint modifies the
extensions_config.jsonfile - The SKILL.md file itself is not modified
- Changes take effect immediately for new conversations
Install Skill
POST /api/skills/install
Install a skill from a .skill file (ZIP archive) located in the thread’s user-data directory
Request Body
The thread ID where the .skill file is located
Virtual path to the .skill file (e.g.,
/mnt/user-data/outputs/my-skill.skill)Response
Whether the installation was successful
Name of the installed skill
Installation result message
Example Request
Example Response
Error Responses
Invalid .skill file or validation error
Access denied (path traversal detected)
Skill file not found
Skill already exists
.skill File Format
A.skill file is a ZIP archive containing:
- SKILL.md (required): Markdown file with YAML frontmatter
- scripts/: Optional directory with executable scripts
- references/: Optional directory with reference documentation
- assets/: Optional directory with images, templates, etc.
SKILL.md Frontmatter
Naming Requirements
- Must be hyphen-case (lowercase letters, digits, and hyphens only)
- Cannot start or end with hyphen
- Cannot contain consecutive hyphens
- Maximum 64 characters
- Must be unique (no duplicates)
Validation Rules
The API validates:- File extension: Must be
.skill - ZIP format: Must be a valid ZIP archive
- SKILL.md exists: Required file with frontmatter
- Required fields:
nameanddescriptionin frontmatter - Name format: Must follow hyphen-case convention
- Description: No angle brackets, max 1024 characters
- No duplicates: Skill name must not already exist
Skill Categories
Public Skills
Public skills are bundled with DeerFlow and located in theskills/public/ directory. These are maintained by the DeerFlow team.
Custom Skills
Custom skills are user-created and installed in theskills/custom/ directory. These can be installed via the API or manually placed in the directory.
Use Cases
List Available Skills
Toggle Skill Status
Install Custom Skill
Related
Creating Skills
Learn how to create custom skills
Gateway Overview
Learn about the Gateway API