Skills are reusable, modular capabilities that can be loaded into deep agents. They allow you to extend agent functionality in a composable way, similar to plugins.
Learn more: For creating and using skills, see the Skills documentation.
Skills provide a way to:
import { listSkills } from "deepagents";
const skills = await listSkills({
directory: "./skills",
});
for (const skill of skills) {
console.log(`${skill.name}: ${skill.description}`);
}
import { createDeepAgent, createSkillsMiddleware } from "deepagents";
const agent = createDeepAgent({
middleware: [
createSkillsMiddleware({
skillsDirectory: "./skills",
}),
],
});
List skills from user and/or project directories.
When both directories are provided, project skills with the same name as user skills will override them.
Parse YAML frontmatter from a SKILL.md file per Agent Skills spec.
Create backend-agnostic middleware for loading and exposing agent skills.
This middleware loads skills from configurable backend sources and injects skill metadata into the system prompt. It implemen