pub trait SkillSource: Send + Sync {
// Required methods
fn list(&self) -> Vec<SkillManifestRef>;
fn fetch(&self, id: &str) -> Result<Skill, String>;
fn layer(&self) -> Layer;
fn describe(&self) -> String;
}Expand description
Abstract skill source. Implementations are Send so we can hand
them to async code paths in the future; today everything is sync.
Required Methods§
Sourcefn list(&self) -> Vec<SkillManifestRef>
fn list(&self) -> Vec<SkillManifestRef>
Enumerate skills without loading bodies. Callers use this to produce the shadowing table before paying to read every file.