Skill loader for CLI commands.
This module provides filesystem-based skill discovery for CLI operations (list, create, info, delete). It wraps the prebuilt middleware functionality from deepagents.middleware.skills and adapts it for direct filesystem access needed by CLI commands.
For middleware usage within agents, use deepagents.middleware.skills.SkillsMiddleware directly.
List skills from built-in, user, and/or project directories.
This is a CLI-specific wrapper around the prebuilt middleware's skill loading functionality. It uses FilesystemBackend to load skills from local directories.
Precedence order (lowest to highest):
0. built_in_skills_dir (<package>/built_in_skills/)
user_skills_dir (~/.deepagents/{agent}/skills/)user_agent_skills_dir (~/.agents/skills/)project_skills_dir (.deepagents/skills/)project_agent_skills_dir (.agents/skills/)user_claude_skills_dir (~/.claude/skills/, experimental)project_claude_skills_dir (.claude/skills/, experimental)Skills from higher-precedence directories override those with the same name.
Read the full raw SKILL.md content for a skill.
Returns the complete file content including any YAML frontmatter. Callers are responsible for parsing or stripping frontmatter if needed.
When allowed_roots is provided, the resolved path must fall within at
least one root directory. This prevents symlink traversal from reading files
outside known skill directories.