Class SkillRemoteLoader
Provides functionality to load Agent Skills from remote URLs.
Supports loading skills from:
- Direct SKILL.md file URLs
- ZIP archives containing skill directories
- GitHub repositories (raw content)
public sealed class SkillRemoteLoader : IDisposable
- Inheritance
-
SkillRemoteLoader
- Implements
- Inherited Members
Examples
Loading a skill from a URL:
var loader = new SkillRemoteLoader();
// Load from direct SKILL.md URL
var skill = await loader.LoadFromUrlAsync(
"https://example.com/skills/code-review/SKILL.md");
// Load from ZIP archive
var skills = await loader.LoadFromZipUrlAsync(
"https://example.com/skills-bundle.zip");
// Load from GitHub
var ghSkill = await loader.LoadFromGitHubAsync(
"owner", "repo", "skills/code-review");
Remarks
Security Considerations
Remote skills execute instructions in the agent's context. Only load skills from
trusted sources. Consider implementing URL allowlists in production environments.
Caching
Downloaded skills are cached in a local directory. Use ClearCache()
to remove cached skills.
Constructors
- SkillRemoteLoader(HttpClient, string)
Initializes a new instance of the SkillRemoteLoader class.
Properties
- CacheDirectory
Gets the cache directory used by this loader.
- DefaultCacheDirectory
Gets the default cache directory path.
Methods
- ClearCache()
Clears the local skill cache.
- GetCacheInfo()
Gets information about the cache.
- LoadAndRegisterAsync(string, SkillRegistry, bool, CancellationToken)
Loads and registers skills from a remote URL directly into a registry.
- LoadFromGitHubAsync(string, string, string, string, CancellationToken)
Loads a skill from a GitHub repository.
- LoadFromUrlAsync(string, CancellationToken)
Loads a skill from a direct SKILL.md URL.
- LoadFromZipUrlAsync(string, CancellationToken)
Loads skills from a ZIP archive URL.
The archive should contain skill directories, each with a SKILL.md file.