pub struct SkillSet { /* private fields */ }Expand description
A collection of loaded skills.
Implementations§
Source§impl SkillSet
impl SkillSet
Sourcepub fn load(dirs: &[impl AsRef<Path>]) -> Result<Self, SkillError>
pub fn load(dirs: &[impl AsRef<Path>]) -> Result<Self, SkillError>
Load skills from multiple directories. Later directories take precedence (skills with the same name from later dirs override earlier ones).
Sourcepub fn load_resilient(dirs: &[impl AsRef<Path>]) -> (Self, Vec<SkillError>)
pub fn load_resilient(dirs: &[impl AsRef<Path>]) -> (Self, Vec<SkillError>)
Load skills from multiple directories while isolating individual failures.
Successfully loaded skills are returned alongside every error encountered.
Later directories take precedence when a skill with the same name loads
successfully. A malformed override does not remove an earlier valid skill.
Nonexistent directories are skipped, matching Self::load.
Sourcepub fn load_dir(dir: impl AsRef<Path>, source: &str) -> Result<Self, SkillError>
pub fn load_dir(dir: impl AsRef<Path>, source: &str) -> Result<Self, SkillError>
Load skills from a single directory with a custom source label.
Sourcepub fn load_dir_resilient(
dir: impl AsRef<Path>,
source: &str,
) -> (Self, Vec<SkillError>)
pub fn load_dir_resilient( dir: impl AsRef<Path>, source: &str, ) -> (Self, Vec<SkillError>)
Load skills from a single directory while isolating individual failures.
Successfully loaded skills are returned alongside every directory-entry, file-reading, or frontmatter error encountered during the scan.
Sourcepub fn merge(&mut self, other: SkillSet)
pub fn merge(&mut self, other: SkillSet)
Merge another skill set into this one. Other’s skills override on name conflict.
Sourcepub fn format_for_prompt(&self) -> String
pub fn format_for_prompt(&self) -> String
Format skills for inclusion in a system prompt.
Uses XML format per the AgentSkills standard:
<available_skills>
<skill>
<name>weather</name>
<description>Get current weather and forecasts.</description>
<location>/path/to/skills/weather/SKILL.md</location>
</skill>
</available_skills>Returns an empty string if no skills are loaded.